097 - Skill Progress Meter

December 13, 2020

Since the last journal entry I worked on presenting a visual indication that experienced was gained.

Now, when a player gains experience a circular meter appears showing how close they are to the next level, and some temporary text appears indicating the amount of XP gained.

There is supposed to also be an icon of the skill that experience was gained in, but I still need to make the icons for the different skills in the game.

A circular progress meter appears when you gain experience, along with some text indicating the amount of experience gained.

An Art Lesson Learned

In the last journal entry I showed an icon that I made for the Bowman skill.

It turns out that I need to toss it and make a new one.

I now know that small details that show up when at 1000x1000 resolution don't show up at 100x100 resolution.

A valuable lesson learned.


Most of this past week was spent working on the engine's rendering code in order to be able to render arbitrarily shaped UI elements.

Previously I could only render UI quads, but now I can add any arrangement of vertices to a buffer and then reference that buffer during a UI rendering pass.

As an aside, I can't wait to never work with WebGL ever, ever again after WebGPU is supported in all major browsers. I will not miss the arcane errors.

I'm using this new UI rendering capability in order to draw the disks that are used when rendering the skill progress meter in the video above.

I ended up learning that my approach leads to some fairly noticeable aliasing, so in the future I will move to using a specialized simple shader for drawing circles and disks instead of my current setup.

Other Notes / Progress

  • I started thinking about a Voodoo skill, where you could temporarily take full control of another creature in the world and make it do whatever you pleased in order to further your own interests. I'd like to prototype it later this month.

Next Journal Entry

I'm going to focus on the skeletal animation system this week.

First off, I'm going to update the skeletal animation system to be able to apply different animations the different bones in an armature.

I already had this in place before the recent refactor, so it shouldn't be hard to fit this into the new and improved system.

Supporting this again will allow the lower body to be walking while the upper body is firing a bow.

After that I plan to work on adding support for additive animation blending so that the bow animation can be adjusted in order to aim the bow based on the trajectory that it is being fired at.

I also plan to work on the user interface a bit, starting with making some skill icons.

Cya next time!