Hey there, fellow indie game developers, coders, and fans of digital worlds! Welcome back to Throwing Pixels; it’s been a few cycles!
Less talking, more action, you just gonna see Cee coming
I just keep elevating, no losses, just upgrading — Level Up, Ciara
Real Life and Grimoires Progress
Lately, real-life work has been keeping me busy, helping to keep the lights on and food on the table. Though the TinyCon Kickstarter didn’t get funded, we have some new ideas about how to move it forward. I've also been working on some client projects involving black sorcery: Raspberry Pi, Docker, and Rails. Still, I’ve managed to carve out some time for Grimoires.
Funding remains a big challenge for indie game development; while other works come in, I gotta take it, which takes time. But for the passion and vision are alive. A big shoutout to Dead Revolver for Pixel Prototype Player—an invaluable resource for my current animation prototype. I'm no artist, but I dream to be, and this pack of animations has given me a great foundation to work with as I decouple the game's rule-based state from its visual representation. This approach feels fundamental for building a strong turn-based game foundation.
Grimoires is steadily evolving from a core idea into several informative prototypes. The heart of the game remains its turn-based wizardry, inspired by modern TTRPGs (tabletop role-playing games). A Vancian-inspired magic system is still at the core, providing players with challenging resource management as they face increasingly dangerous enemies while being hunted by rival mages and Templars.
feature/animation_command_queues
This latest prototype is a proof of concept for an animation queue paired with an underlying, non-visible game state. When resolving combat, the game state populates the animation queue as it processes each step. After the animations play out, the system resumes combat processing or moves on to the next state as needed. This separation allows for cleaner management of the game logic and visual representation.
I’ve implemented a component-based system (but not a full Entity-Component-System (ECS)) to allow animation and movement logic flexibility. NPCs, for example, are driven by commands through a queue system. Each entity can push movement or animation commands that get broadcast once an action is completed—allowing for fluid interaction between movement and animation. This approach keeps the game state logic decoupled from the graphics in a way that allows for playful experimentation with turn-based game mechanics.
I've been casting C/C++ via Dec Alphas/VAX since before the 08 crash. This has been a good opportunity to get up to speed on where modern C++ is. I dig the 'auto' keyword, I'm a bit cranky about 'Smart Pointers'’ I used them in this prototype. I am very much the mercenary about my tools, but they’re tools. I get the point of smart pointers. I don't like the feel/flow much yet.
#TODO
This current iteration is built around a combat loop inspired by BX D&D and The One Ring. I'll finish that out auto-battler style first. I'll need to figure out how to color or shade a set of these sprites. The Sprite pack comes with animations and accessories for nearly everything!
As you look over the latest animation clip, see if you can pick out the commands and what options might be present. Let me know in the comments.
Throwing Pixels is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.