top of page

Week of Shrub Model and UI System Framework

  • Writer: Liam Healey
    Liam Healey
  • Oct 11, 2022
  • 2 min read

Updated: May 22, 2024

Syrup

This week I created a model for the shrub, created damage animations for plants, created a system for creating user interface elements in world, and started work on the plant health bar.


Shrub Model

I created 3 models in 3 color scheme of the shrub for my team to pick between. These models needed to fill up a diamond shape and be visually interesting and stand out from the ground since they were the players primary way of interacting with the world at the start of the game. I got some feedback on my design and the ones below are the responses to that feedback.

UI System Framework

For the UI system, I needed a way to create a dynamic web of linked widgets that would appear and disappear based off of what object is selected. For example, if you click on a plant it should show UI elements above the plant for its stats, UI elements above anything that the plant is affecting, and elements above anything that is affecting the plant. basically, each UI element needed to appear dynamically depending on multiple selection states that that UI element is linked to. This system also needed to be easy to register new elements in and to create new widget types for.


Currently, the system allows a user to create a label at a location linked to another source location, then whenever a label of the same type is created at that location again they will merge their data. For example, a user could create two incoming damage labels above a plant and they would merge them into one widget with the combined damage of the two so that the damage indicators could be created at different times and places and not need to know about other sources. To create a widget for this system it just needs to derive from a C++ class and optionally implement methods detailing how widgets of the same type should merge / unmerge be copied.


Right now the system is over complicated and could use some UX improvements so that it is easier and less logic-intensive for artists to create widgets in this system.

Commentaires


bottom of page