Update #66 - Context UI, Item Transferring, Tile Layers & More

Hey, how are you? I’m going to be with family on Friday, so this week’s update comes early. As you’ll see, I’ve got quite a bit of small, but important topics. Here are the minor changes:

  • Aeta UI: Renamed "IsMouseHover" to "IsContainsVector", adding a Vector2 as a parameter. More freedom!

  • Aeta UI: Added two useful methods to UserInterface. ContainsElement(Vector) checks for any elements containing the vector, whereas ContainsBackground(Vector) checks if any clickboxes contain the vector but no elements contain it.

  • Aeta UI: Renamed ActionQueue to TimeQueue, and cleaned up the code in that class.

  • Aeta UI: TimeQueue is now public. If you have a sub-class that needs to make use of the instance, it now can!

  • Aeta UI: Removed all methods relating to TimeQueue from UserInterface.cs. It makes more sense to call the class directly (Queue).

  • Aeta UI: Some variables in Camera now have default values.

  • Aeta UI: Added Max*Speed variables to Camera, where * is Move, Scale, or Rotation.

  • Koah Particles: Completely changing everything about how this is structured, replacing "Emitters" in favor of a ParticleManager.

  • Aeta UI: Completely removed the "Clickbox" class used by the UserInterface class to check for mouse clicks, replacing it with good ol' rectangles. Same functionality.

  • Aeta UI: Added OnResize event to the UserInterface class.

  • Website: The Community page now has a working link for the Discord invitation.

Art Assets


I’ve done a bit of work on textures. Mostly fodder, but it looks great. The blue pots were inspired by the ones found in Wind Waker, with the green being “earth-like” copies. The grass is nice, too!

Context UI

Pictured above, the context menu is opened by right-clicking an element (such as an item). In this case, it lists up to three item-specifc buttons, plus an option to get rid of the entire stack.

Similar to the Tooltip UI, I’ll set up a variety of different layouts for various situations.

Item Transferring

Shown above is the fluid transition of an item from the inventory being dragged into the game world. The improved particle engine and basic object physics are very noticeable, too!

Tile Layers

Tile layers are a simple solution to displaying the game world, primarily images that have little interaction and movement.

Each layer uses it’s own matrix for positioning, as well as it’s own rotation and scale which go into the matrix. This allows all tiles in a layer to move in unison. This functionality is pointless for backgrounds (like a grassy field), but great for things like large gates and towers that need to move.

Also, I’m using sheets for textures instead of individual images like I did in Pilgrimage of Embers. It’s much easier to manage a small collection of logically-named texture sheets (biome*Grass, town*Structures, etc.) instead of a few hundred images for a map region (grassCornerTL, grassEdgeLeft, etc.).

Final Words

Current Goals: Crafting UI, more world textures and code, character art style.
Future Goals: Pause UI (simple overlay), Escape key UI, Message UI. Simple character textures (pre-alpha).

If you have any support, ideas, constructive criticism, or just want to tell me how much you dislike my creations, you can:

  1. Send me an email.

  2. Tweet to @Soestae.

  3. Gab to @Soestae.

  4. Toot to @Soestae.

  5. Comment below.

Do you want to support my projects? Here's what you can do:

  1. Become a Patron here!

  2. Tell your friends and family about my projects!

  3. Retweetrepost, retoot, and share!

Thank you for reading!
Soestae, Emberium