No Game Engine Game Dev: Word Sleuth 032: A couple of loose ends and then code metrics

3 months ago
8

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

Game Engines are for sissies!

I started out hunting for issues with the cursor position. This ended up being more of a rabbit hole than I wanted, but we finally got the cursor to position correctly with empty text and whitespace only text. Ultimately the "updateText" function used to be only for updating the renderable bits, but now it's also in charge of computing cursor position. So, it was hidden behind a quadCount check, and if there were no quads, the cursor position never got recomputed. Moving this quadCount check to the actual render and not to block updateText fixed everything.

Then we went to the About scene and added some more text. At the very least it has the proper attribution for the game that I'm making an homage of. However, I discovered that there was a bug where text was being truncated. I tracked it down to a string length being truncated silently by being cast to a uint8_t. I wish the compiler would warn of things like that. With a simple type change to handle all 32 bits of the return, we now support longer text.

Then I wrapped things up by writing the beginnings of better code metrics to measure productivity. This is implemented as Python scrips running git commands. In the end it wasn't as painful as I thought. I thought I would have to manually parse diffs, but there was an option that gave me what I needed in a digestible format. With a bit more work it could be quite handy across multiple projects.

Loading comments...