Postmortem





Background
I might as well admit it. By now it's clear that I have a game jam addiction.
Despite promising myself to cut back to spend more time away from the computer, I love the thrill of creating something from scratch. Besides, outdoors, fresh air and exercise is overrated. Right?
As developers we spend a lot time maintaining legacy systems, carefully following specs to the letter, writings test and a ton of other 'admin' tasks. So, there's nothing quite like the promise of a blank canvas.
Idea
When the gamedev.js 2026 theme was announced, I just had too many ideas to sit aside and do nothing.
Firing up GIMP I started doodling ideas with drone style robots which soon solidified into the idea of a humans vs robots twin stick shooter.
During development I switched out the humans for cats and hit upon the idea of rescuing trapped kitties from the evil machines. The rescuing mechanic also added a bit of depth beyond mindless shooting. The player has to prioritize rescuing and protecting.
Pixels
Modern games are undoubtedly amazing, but I'll always have a soft spot for old-fashioned 8-bit arcade action. Setting a limit of 8x8 pixels per sprite keeps things refreshingly simple, though it makes details like outlines and shadows tricky. I solved this by programmatically adding them - a straightforward trick that helps the characters "pop" against the background.
SFX
Luckily, I was able to fallback on a library of sounds I had created and collected using the amazing zzfx.
For music I reached for Snabisch's amazing pico8 tracks. Lively chiptune complemented the action perfectly. Playback was handled by pico8-music allowing the tracks to be played with javascript. One benefit of this approach is that there was no need for heavy ogg or mp3 files.
On vibecoding
Last year, when vibecoding was all the rage, flavor of the month, I attempted to vibe code a game. One thing I felt pretty fast was a loss of understanding of the whole. Making it harder to debug and tweak as the code base grew. Turns out this is a recognised phenomemeon: cognitive debt.
For Robocide, I took a hybrid approach: I manually defined the project structure and core logic, then leveraged LLMs to fill in specific functions or spot performance bottlenecks. This kept me in the driver's seat while maintaining the speed AI provides.
A powerful engine
I've rolled my own game engines in the past but since discovering the amazing LittleJS it's the first tool I reach for when thinking about gamedev.
Performance is truly amazing, the API is simple, clear and incredibly easy to get up and running quickly. To be honest, I'm surprised it's not a lot more popular. It feels like I stumbled on a secret cheat code for making games!
Well, what are you waiting for??
Play & Rate
Source Code Latest version of game

Leave a comment
Log in with itch.io to leave a comment.