Last Time on I Won’t Die


I figured it’d be good to write a little news roundup about what’s been going on with I Won’t Die for the last few weeks. I’ve been working on a lot of under-the-hood stuff, so there haven’t been many opportunities to post fun screenshots. Things have still been progressing steadily, though, despite the radio silence!

A* Pathfinding

Most recently, I’ve implemented an A* pathfinding algorithm, to use for NPC AI. For the laymen in the audience, A* a method to help find a path from somewhere (like an enemy) to somewhere else (like you) which will pass around obstructions like walls, trees, or other NPCs. I’ve done this a few times, professionally, so the recent version went really smoothly, which was a very pleasant surprise. (That said – half of the time working on it was still spent bug fixing!)

Goodbye, Threads

Before that, I actually removed a fairly big feature that had been in for a while – having graphics drawing in a separate thread from the actual game logic. While conceptually it was nice, maintaining such a structure was a bit out of the realm of my experience – and had the nasty side-effect of making the game very unstable. It turns out that fiddling with what should be on screen while you’re in the middle of putting it on screen can lead to unpredictable (and crashy) results! In the end, the performance benefits of writing in pure C++ have made any gains I was getting from separating the threads completely negligible. I Won’t Die still runs way faster than 60 fps when the framerate isn’t capped, with threading or without.

That said, I do still thread other aspects of the game – like loading assets from disk. In the future I also still plan to implement a separate thread for world generation. Long term concurrent threading was creating more problems than it was solving for the game in the mean time, however.



The final big change I’ve made recently was to build up engine support for a sprite editor named Aesprite. Up to this point I was only using Photoshop for image editing. While I haven’t used it a ton yet, Aesprite has some cool game-dev specific features like animation previews, which have been a great help for someone like me who isn’t a pixel artist by nature. The app exports useful metadata that I parse through with my Manifest Builder (a separate app I wrote to help maintain I Won’t Die‘s assets – which will probably be an article itself at some point) in order to generate code describing the sprite sheet information. In the end that means way less work on the programming end when it comes down to actually integrating assets.

If you’re interested in hearing more about any of these topics, drop me a line! To get the ball rolling on my actual “dev blog” I’ll probably write up a post about the scrolling cloud layer and blowing wind effects, but if there’s something else that piques your interest, by all means let me know.

Until next time, stay safe, stay warm and stay hydrated. It’s a dead world out there.


What’s New

It was high time for me to put together a place to collect my thoughts, show my art, and share my Game Dev updates. So – to that end, welcome to!


  • First up, in art news, I recently showed at Rochester Brainery’s Bazaar, where I sold prints, my books, and stickers. Next month, on August 13th, I’ll be in Buffalo to sell the same at the Jack Craft Fair.


  • Most of my creative efforts, these days, are going into development on a new game titled I Won’t Die. It’s a turn-based roguelike, set on a run down, western inspired planet Mars. I’ll be talking more about the gameplay and story in the coming weeks as I flesh it out further. In the mean time, I plan to make a series of posts about the development process, using Git commit comments as launch points for the stories.

Thanks for visiting, and I hope you stick around to see what’s to come! It’s going to be a fun ride!