Quest GUI first draft

Alright, two things this week, a small and a big one, both GUI-related.

Font/Background colour finder for accessibility/readability purposes

As a continuation from last week, I did a little bit of work on a python tool that tests text/background contrast for accessibility/readability purposes. Here it is. It does not win any beauty contests, but it does this little task as needed and it's fast. To clarify its use a bit more:

Say you have a particular background colour you want to use, and you try to find font colours that have an acceptable contrast ratio (precise values for "good" contrast ratios can be found online, and they depend on factors like font size). With this tool, you can select "Colour 1" and set it to the background colour, and now you can go through the slider (which changes the red value) to see the associated RGB colour cube slices (with that red slider value) displaying the colours that pass the contrast ratio test, otherwise the value will be transparent. This makes it easy to check if with the given contrast ratio and your chosen colour, what are your options. You can hover over a particular pixel to see the exact RGBA value as well.

Say you have 1 or more text colours you want to use, and you want to find a suitable background colour. You apply the same process, but choose up to the 3 colours provided. The RGB cube slices will now only show colours that pass the test for all given colours.

That's it. Disclaimers: the code sucks and UI is ugly, but no point in working on this further.

Quests

Ok, with that done (and after using it to choose and even darker shade of brown) I'm back to more fun things, which currently is the quest UI. There are three UI areas where quest stuff will be visible:

  • Journal screen: a separate window showing the quest list and information for a selected quest
  • HUD info box: somewhere on the top right, I want quest information if something changed, e.g. you got a new quest, failed/succeeded an objective, etc
  • Map icons for location tracking: some quest objectives have map information, to help you find them a bit, for a bit of QoL. It's going to be controllable though, to force the player to explore for a lot of the quests.

I've done quite a bit of work so far (more GUI iterations next week), and my base inspiration is Avowed. Again, mega thanks to gameuidatabase for being an awesome source of countless UI examples. Here's a first version of the two latter bullet points, in the video above.