Tech stories: From Gameboy to multiplatform
3 min read

Tech stories: From Gameboy to multiplatform

Letalis started as a pure Gameboy project, with the idea of releasing the product as a real full-supported Gameboy game.

The following story is about the technical transformation, and how an ambitious project has changed the design and production plan, from a pure Gameboy game to a multiplatform game.

First stage: GB Studio

We started using GB Studio 2.0, which is a great IDE to develop GB games without a single line of code, with amazing tools, specially to create platform or classic zelda-style games.

Our project was more ambitious, and we had some limitations with GB Studio, more related to complex logic that weren’t possible, or causing some performance issues due to loop validation overhead.

After that experience, we started to look for other alternatives...

GB Studio
A quick and easy to use drag and drop retro game creator for your favourite handheld video game system.

Second stage: ZGB

Leaving GB Studio behind, the next reasonable step for us was to move to a lower level tool and write our own source code, providing more flexibility, performance improvements due to limiting the code to specific use cases instead of having a more complex and generic logic.

GBDK 2020 is the development kit used for GB development using C language, and for us, this is a better alternative than using ASM (Assembly). Even better, later on we also found ZGB, an engine extending GBDK 2020 functionality, providing some common functionality for sprite management, collisions, assets, and more.

We had really nice progress during this stage, we were able to create the fighting scene, have a complete full battle cycle, include multiple characters, weapons, UI.

The learning curve for ZGB also was incredible fast, as the engine covers all the complex part, and we were focus mainly on the game logic.

Finally, we started to suffer some limitations related to memory space allowance, and the way how memory slots must be handled to unload and load data constantly. We had much more to do for the fighting scene, and the idea of having this limitation at a very early stage of development was a concern for us.

All the content that we expected to have in the game was at risk, so we had to take a decision, not only from the technical side, also a production and design decision…

GitHub - Zal0/ZGB: Game Boy / Color engine with lots of features
Game Boy / Color engine with lots of features. Contribute to Zal0/ZGB development by creating an account on GitHub.

Third stage: Unity 3D

This is our current development stage, we’ve moved everything to Unity 3D, which is much more familiar for us. We leave the Gameboy dream behind, in favour of a better gaming experience, and be able to include all the different features originally planned for the game.

The main advantages are not only the fact that we don’t have hardware and memory limitations as we had before, but we are also able to release a multiplatform game, and have more flexibility on game design decisions to include some modern style in a still Gameboy-stylish game.