Amazing Animations and Fancy Foley
In which audio makes a triumphant return, and the player sprite receives a makeover.

Greetings everybody! What’s new in the world of Innkeep?
March was another very busy month for development. With the locking-in of some core game mechanics surrounding eavesdropping and conversations a few months ago, we’ve shifted to working on an early build of the game that internal playtesters can get their hands on. This has meant writing a lot of dialogue that uses the new system we’ve designed, but also getting other parts of the experience up to scratch: sound and graphics.

On the sound front, we now have our own foley recorded SFX brought into the game, replacing earlier stock SFX. Our composer and sound designer have done an amazing job. The difference is all the more stark when compared with the temporarily silent build we were working with for a while aftering stripping the old sounds out. Without getting too technical (maybe we can dive deeper in a sound focused blog post in the future), we not only have new SFX, but a new system for handling those SFX. FMOD is a bit of an industry standard for doing sound in games, and fortunately we were able to get it integrated with GameMaker, which Innkeep is built with. It let’s you run ‘events’ in the game, instead of specific .ogg or .mp3 files, with those events capable of being edited on the fly in FMOD in all kinds of creative ways. Basically, it gives you more control over what your sound does, letting you have it respond in a more dynamic fashion to what is going on in the game, and also letting you apply all kinds of subtle effects for specific situations.
Let me give you one example of the above. Previously, if I wanted footsteps to have more of an echo in a larger room, I would have to apply that echo effect to the .mp3 for those footsteps, saving them as different sound files, and then running them in GameMaker. With FMOD, we can simply send information about where the player is, and it can then dynamically apply appropriate echo / reverb / muffle etc. to the same sound files. Neat, right?

On the graphical side of things we’ve also had a lot to do. Our artist Ben gave our sorceress character Morgan a much needed redesign. However, this did require a lot of animation work to be redone! (Note to any aspiring developers out there, if at all possible, get your character designs locked in -before- you spend much time animating them. Hehe.)

This character’s walk animation is not quite there yet (the feet need a little work), but it’s close! You can see there’s a lot involved because of the dress + cloak combo.
An even larger job has been reanimating the player sprite, which has also undergone its final transformation.

Looking good, right? It’s come quite a way from the initial version I made in 2015! (By the way, if you’re interested in some tips on how you improve your pixel art, I previously wrote up a detailed analysis of Ben’s upgrades to my initial designs. Oh, and don’t mind that blood stained apron. You get to clean it eventually!)
Yet again though, this redesign has meant animation reworks. And in this case, we were looking at a lot of them. The player character changes clothing several times in the beginning of the game, and is also drawn differently when holding different objects such as firewood, barrels, tankards, trays, or bodies. All of these variations require their own animations. On top of this, we have special animations for cutscene events. We didn’t want to simply describe things happening to the player in dialogue, but to actually draw them, making use of the gloriously detailed sprites we have. Here’s a few examples!



The sound and visuals for the prologue are now coming together, alongside the written content to explore in the form of dialogue you can engage with or eavesdrop on. Next we are revisting the theft minigame, tying it all together for our playtesters.
Looking forward to sharing more development news and behind-the-scenes goodies at the end of the month!
[Wishlist Innkeep on Steam!] [Follow me on Bluesky] [Join the Discord Channel]