No Game Engine Game Dev: Word Sleuth 033: Doc cleanup, animation bugs, and start removing containers

11 months ago
15

Streamed on 2024-08-19 (https://www.twitch.tv/thediscouragerofhesitancy)

Game Engines are for sissies!

For a Monday warmup I started out by cleaning up my documentation a bit. I have changed my style a bit and had statistics data in the Journal that I don't need to keep any more. Now things are nice and consistent across all entries.

With that out of the way we started looking at two animation bugs. The first one was an issue where starting another animation before the first animation was done would result in the incomplete states from the first animation being copied into the state of the second animation. We fixed that and added some capability to have what I call "Free Animations" which are owned and their lifetimes are managed entirely by the Scheduler. This allowed me to start one part of the animation and forget about it in a way that let me separate the other part of the animation into a slightly different treatment.

The second animation bug wasn't really a bug. It just felt like a bug. Slowing down the animation it became clear that it was doing what it was told, which just looked discontinuous, with motion seeming to pop. With a little delay at the top, the animation looked much more natural.

And then we started on a refactor task: anywhere we find std::containers is ripe for an update. I usually use std::containers when I'm being lazy. In most cases I can refactor to not use them. We got through the Font treatment: we no longer look up Fonts by name, but by generated enumeration which is just as readable, faster, and simplifies an std::unordered_set into a single static array lookup. We'll be updating other parts of the code to behave similarly.

Loading 1 comment...