What started as an art challenge with Game Boy Color restrictions evolved into a learning endeavor, allowing me to explore classic platformer mechanics, game feel, challenging "hardware" restrictions and most importantly, the Godot Engine.
This project was something I tinkered with on and off for quite a while.
It originally started as a simple art challenge: create a Halloween-themed game concept that strictly adhered to Game Boy Color (GBC) hardware restrictions. After studying the limitations deeply, I put together a mockup GIF that showed off the ‘gameplay’. It turned out pretty cute and was positively received within the community, which inspired me to actually make it functional.
I had already been dabbling with Godot, so I decided to use this project as a way to further my skills with the engine.
This ended up being a rewarding journey. It helped me form a concrete vision of how to architect games within Godot, and more importantly, it pushed me to learn GDScript. Transitioning to a fully typed/scripted language (rather than the purely visual Blueprint scripting I had done previously) was a very enjoyable learning experience.
After making the core loop functional, the project essentially became a sandbox for platformer mechanics. I experimented with corner-grabbing, rope-climbing, and swimming – honestly, some of these were less about improving the game design and more about the technical challenge of just figuring out how to build them. It gave me a profound newfound appreciation for the game feel of the classic platformers I grew up with.
One of the most interesting design hurdles I stumbled onto was a question of resolution and atmosphere.
The initial concept was built around the GBC’s native 160x144px (10:9) resolution. It looked authentic, but playing with massive black pillars on modern widescreen monitors felt off. Letting go of my self-set constraints, I started testing a 256x144px (16:9) aspect ratio instead.
While this felt more modern, the game lost some of its atmosphere.
The original 10:9 ratio felt restrictive, punishing, and claustrophobic because you couldn’t see what was coming, a big component of game feel for a Halloween themed game like mine (and classic GBC games like Metroid II).
I didn’t want to lose that tension, so I built an artificial darkness system to bring the claustrophobia and game feel back. Even though the game was now wide-screen, I still wanted the GBC feel, so I didn’t use a simple light mask. I built a flexible entirely custom, sprite-and-code-based system to dynamically obscure the screen instead.
I had big plans to flesh this out into a larger demo, but ultimately ended up tabling it. To reach the quality bar and create the amount of content I envisioned, it would have required a massive time investment that I just didn’t have for a free-time side project.
I’ve never stopped thinking about returning to it, but given the years that have passed and the engine iterations since, returning feels intimidating. I’m far more likely to start something fresh.
A classic game dev conundrum!