From Idea to Cartridge: The Making of Fungus Foray DX

A behind-the-scenes look at the handmade process of creating a Game Boy Color homebrew release — from the first idea to the finished physical box.

When people hear, “I make Game Boy Color games,” they probably imagine someone sketching levels on graph paper and then, somehow, the rest of the game just happens.

In reality, game design—the fun part where you decide what a mushroom does or how high the player can jump—accounts for perhaps ten percent of the work that goes into a release like Fungus Foray DX. The other ninety percent is building tools, writing engine code, testing everything, and eventually turning the finished ROM into a physical object you can hold in your hands.

The Idea

The idea stage takes the fewest hours, but it provides the seed from which everything else grows.

The limitations of the Game Boy Color—small tiles, restricted palettes, and a limited number of colors—helped shape the game itself. A mushroom-identification mechanic works surprisingly well within these constraints. Instead of relying on fine details, the player learns to recognize mushrooms through their silhouettes and color combinations.

In a way, the hardware told me what the game wanted to become.

Tooling

The first major piece of work was creating a sprite editor.

I know what you’re thinking: why not just use Aseprite? I do use general-purpose graphics software, but the Game Boy Color has very specific requirements that these programs don’t enforce. Tiles are 8×8 pixels, sprites are 8×8 or 8×16, colors must come from limited palettes, and VRAM is divided into banks that need to be carefully managed.

 

That’s why I created P1Xel Editor. It’s a small graphics editor designed specifically around Game Boy Color limitations. The restrictions are applied while drawing, so every tile automatically uses only the colors available in the active palette.

Compatibility

Although Fungus Foray DX is designed for the Game Boy Color, I’m also working to make it compatible with the original monochrome Game Boy.

This means carefully adapting the tiles and sprites so they remain readable without color. Shapes, contrast, and patterns must communicate the same information that color provides on the GBC.

The goal is for the game to look and play well on both systems—not simply run on the original Game Boy, but feel like it was properly designed for it.

Color Proofing

Colors that look good on a modern computer monitor don’t always look the same on a real Game Boy Color screen. The original LCD has its own contrast, brightness, and color characteristics, so palettes need to be tested on the actual hardware.

To make this easier, I created a small palette previewer—a separate Game Boy Color project that displays color bars for each palette. I can load it onto a cartridge, view the colors on a real console, and compare different combinations side by side.

This helps me choose palettes with clear contrast and readable gameplay elements. Once a palette works on the original screen—not just in an emulator or on my monitor—I can confidently use it for the game’s tiles, sprites, and backgrounds.

Engine

Underneath all those sprites is the game engine.

For the Game Boy Color, that means working close to the hardware. I use GBDK together with handwritten Z80-style assembly whenever I need to squeeze more performance out of a demanding part of the game.

The engine handles things such as memory management, VRAM bank switching, sprite DMA, music and sound effects, controller input, save data, and the scrolling system that moves the world smoothly beneath the player.

Most of this work is invisible when you play—but without it, nothing else could exist.

Level Editor

Once the engine could load a tilemap, I needed an efficient way to build levels.

The obvious choice was Tiled, and I did try it. The problem was that the levels in Fungus Foray DX contain more than visual information. Many tiles also have gameplay logic attached to them. A boulder, for example, isn’t simply a background graphic—it’s an interactive object with its own behavior.

So I built lvlEd, a custom level editor. It allows me to paint maps like a traditional tile editor, while also attaching gameplay metadata to individual tiles when needed.

The editor exports all the required files, and after one compilation I can immediately test the updated level in the game.

Testing

Once the levels start coming together, the next stage is testing—and that means more than clicking around in an emulator.

I play the game on real Game Boy Color hardware to understand how it actually feels. I test the level logic, evaluate the puzzles, and try to judge the difficulty from a player’s perspective.

Sometimes moving a single object by one tile is enough to transform a level from frustrating or even impossible into an enjoyable challenge. This stage involves a lot of small changes, repeated playthroughs, and careful observation.

Post-production

This is the part that many development logs skip entirely.

The ROM is finished and the game works—but now it has to become a real, physical product.

Fungus Foray DX is released as an actual Game Boy Color cartridge, packaged in a printed box with a booklet, cartridge label, and keychain.

That requires a second creative toolchain: Krita, GIMP, and Inkscape.

Hero Image

The box cover begins as a hand-painted key illustration created in Krita.

This image becomes the visual foundation for the entire release. It appears on the packaging, website, advertisements, and promotional materials.

Any final adjustments are made in GIMP, where I prepare different crops, resize the artwork, and export it in the formats required for print and digital use.

Booklet, Stickers, and a Box

The booklet, cartridge label, stickers, and box layout are all assembled in Inkscape using templates I created for the project.

This stage brings everything together: the artwork, logo, screenshots, instructions, legal information, and print specifications. Every element has to fit correctly and remain readable at its final physical size.

Printing, Cutting

Finally, everything is printed and cut.

The cartridge receives its label, the booklet is folded, the box is assembled, and all the individual pieces are packed together.

After countless hours of design, programming, tooling, testing, painting, and printing, the game is finally ready to ship—a complete Game Boy Color release you can hold in your hands.

 

0 comments

Leave a comment