How to make a Game Boy Color game with AI (a real .gbc ROM)
Also in: Español · Deutsch · Français · Português · Italiano · Nederlands · Svenska · Norsk · Bahasa Indonesia · Türkçe · Polski · Tiếng Việt · Русский · 日本語 · 한국어 · 繁體中文
To make a Game Boy Color game with AI, open Shiny Gen (in a browser at shinygen.ai/play, or the app on iPhone, iPad and Android), press +, choose New, pick the GBC Engine, and describe the game you want. Its AI agent writes the game, compiles it into a real Game Boy Color cartridge, plays it to find and fix bugs, and you download the .gbc ROM, which needs any one purchase, from a $2.99 starter pack. The ROM runs in Game Boy Color emulators and on real hardware through a flash cart.
This guide walks through it, then covers what kinds of games suit the machine, the limits, and the questions people ask most.
What the GBC engine is
The GBC engine is an engine we wrote that compiles new games from your prompt. It is not an emulator for other people's games and not a ROM loader: it cannot open or play commercial or third-party ROMs.
Your game is written in a small C-like language (the file is main.sgba). Shiny Gen compiles it to the Game Boy Color's own machine code on your device, fits your art into the machine's palettes, turns your music into its four sound channels, and plays the result. There is no separate preview: the game you play in the app is the cartridge you can download.
What you need
- A modern browser, or the Shiny Gen app from the App Store or Google Play.
- A free Shiny Gen account. New accounts start with free gems, which is what the AI spends.
- To download the ROM: any one purchase, from a $2.99 starter pack.
- To play on real hardware: a flash cart for a Game Boy Color, or for a console that plays Game Boy Color cartridges. Emulators need nothing else.
Step by step
1. Start a new game and choose the GBC engine
Press the + button, choose New, and on the Choose an engine screen pick GBC Engine.
A new cartridge opens in the editor. It starts blank on purpose: an init() that runs once, a frame() that runs sixty times a second, and one word on the screen. The agent builds what you describe instead of editing a template you did not ask for.

2. Describe the game
Open the Agent tab and type what you want. A good first message says what kind of game it is, what the player does, the controls, the goal and the look. The Game Boy Color has a D-pad, A, B, Start and Select, and no shoulder buttons, so plan the controls around those.
For example: "Make a Game Boy Color farming game. A kid tends a small garden: walk with the D-pad, A to water or harvest, B to open the seed bag, Start to pause. Days pass, crops grow, and the shop buys what you pick. Save at the bed."
3. Watch the agent build it and play it
The agent knows it is working on a Game Boy Color cartridge and reads that machine's own language reference. It writes the code and builds it; if the build fails, the compiler says what and where (line, column, and often what to write instead), and the agent fixes it. Then it plays the game itself: it runs the cartridge, takes screenshots of the 160 x 144 screen, presses the buttons, and reads back values the game reports, so it can tell that the hero moved instead of guessing.
It can also make the art and the music. Art is fitted to the machine's four-color palettes when it goes into the cartridge, and music plays on its four sound channels. Generating assets spends gems.
4. Change it by talking to it
Keep going in the same chat with small, specific requests: "Add a title screen", "Make the shop close at night", "The watering can still shows after I put it away." Say what you saw rather than guessing the cause; the agent can reproduce it by playing.
You can also open the Code view and edit main.sgba yourself. Editing code by hand costs nothing. Every build reports how full the cartridge is (code, memory, stack, video tiles and palettes), so you see a limit coming.
5. Play it
The game plays in the editor and from your game's card. On a phone or tablet the controls are on screen. On a computer, the keyboard plays it: arrow keys, Z for A, X for B, Enter for Start and Shift for Select. A game controller works too. The game keeps its own battery save, so you come back where you left off.

6. Download the .gbc ROM
Press Share, then Export .gbc ROM. This needs any one purchase, from a $2.99 starter pack; without one, the button takes you to the store. Shiny Gen builds the cartridge from your current code, boots it in a fresh emulator to check that it starts, and gives you a .gbc file named after your game. The ROM opens on a short Shiny Gen splash screen.
The ROM saves on its own: it declares a battery-backed save (32 KB), which emulators and flash carts pick up. It does not include your own save, so a copy you give someone starts fresh.
In a browser the file downloads; in the iPhone and iPad app it goes to the Save to Files sheet. The Android app does not offer the export yet, so open your game at shinygen.ai in a browser to download it, which needs the same one purchase.
7. Play it on real hardware
Copy the .gbc file onto your flash cart's memory card, put the cart in the console, and pick the game from the cart's menu. We have played Game Boy Color ROMs made this way on a real Game Boy Advance and a ModRetro Chromatic. To play without hardware, any Game Boy Color emulator opens the file.
With a ModRetro Chromatic you can also send the game over Wi-Fi: on the Chromatic choose SYSTEM, DOWNLOAD, RECEIVE GAME to see a six-character code, then in Shiny Gen press Share, then Send to my Chromatic, and type the code. Sending your own game needs the same one purchase as the export. Send a ROM file to my Chromatic sends a .gb or .gbc file you pick instead; it appears only in the Share popup of a GBC game. Sending replaces the game and the save on the Chromatic's cartridge.
What kinds of games suit the Game Boy Color
Games built from tiles and small sprites suit it best: top-down adventures and RPGs, farming and life games, platformers, puzzle games, arcade games and small fighters. Our Game Boy Color games show the range, and you can play them free in the browser and remix any of them into your own copy:
- Monster-collecting RPG: Shiny Monsters Color, which trades and battles over the internet with Shiny Monsters Advance (GBA) and Shiny Monster Duo (DS).
- Life and farming: Shiny Village Color, with fishing, bug catching and a garden.
- Fighting: Shiny Fighter Color, a platform fighter with eight fighters.
- Racing: Shiny Kart Color.
- Arcade: Shiny Crosser, a lane-hopping road crosser.

Limits
The engine is bounded the way the real machine is:
- A small screen and few colors. 160 x 144 pixels. Eight background palettes and eight sprite palettes of four colors each (on sprites, one of the four is transparent). Detailed art comes back simplified, and the image editor's GBC preview shows what the cartridge will carry before you build.
- Few sprites. 40 on screen, 8 x 8 or 8 x 16 pixels, at most ten on one line.
- Little memory. About 4.5 KB for your game's variables. Whole numbers are 16 bits, and there is no floating point, so positions are whole pixels (a small fixed-point type covers fractions).
- Four sound channels: two pulse, one wave and one noise.
- No 3D. For 3D, pick the N64, GameCube or DS engine on the same screen.
- New games only. It cannot open a ROM someone else made, and you cannot import a ROM to edit.
- Downloading needs a purchase, and the Android app does not offer the export yet. Exporting the ROM needs any one purchase, from $2.99; on Android, download it from a browser.
A cartridge starts at 64 KB and grows as the game needs: code, data tables and art are banked automatically, up to several megabytes.
GBC or GBA?
Pick GBC for the classic look: four colors a tile, a small screen and chiptune sound. Pick GBA for a bigger screen (240 x 160), 16-color palettes, more and larger sprites, sampled sound, and rotating "Mode 7" floors. Both work the same way in Shiny Gen, and the GBA guide covers that engine.
FAQ
Can AI make a Game Boy Color game?
Yes. In Shiny Gen you choose the GBC engine and describe the game; the AI agent writes the code, compiles a real Game Boy Color cartridge, plays it with the buttons to find bugs, and fixes them. You can download the .gbc ROM after any one purchase, from $2.99.
Is it a real .gbc ROM?
Yes. It is a standard Game Boy Color cartridge image with a valid header and a battery-backed save, compiled to the machine's own code. Shiny Gen boots every ROM in a fresh emulator before handing it over.
Does it work on a real Game Boy Color?
It is made to. We have played Game Boy Color ROMs made this way on a real Game Boy Advance and a ModRetro Chromatic through flash carts. Any console that plays Game Boy Color cartridges should run it from a flash cart.
Do I need to know how to code?
No. You describe the game and the agent writes and tests the code. You can read and edit the code in the Code view if you want to; editing it by hand costs nothing.
Can it play Pokemon or other commercial ROMs?
No. The GBC engine compiles new games you make in Shiny Gen. It is not an emulator for other games and cannot open commercial or third-party ROMs.
Can I sell a Game Boy Color game I made?
Yes. You own what you make and may use it commercially (Terms of Service, section 4, Content), and Shiny Gen takes no revenue share. You can sell the ROM file itself; exporting it needs any one purchase, from $2.99.
Is it free?
Making, playing and sharing games is free. AI generation and the built-in agent use gems, and new accounts get free gems. Downloading the ROM needs any one purchase, from a $2.99 starter pack. The full list is on the pricing page.