Sign-up for the Junkyard Newsletter!
Receive updates as soon as possible, by signing up for the Junkyard Newsletter. Get all the latest information delivered straight to your email box. New Tutorials, New Events, Game Reviews, Giveaways and more.
The Nintendo Gameboy may be over 30 years old, but it’s far from dead. This is the master page for my “How to make a gameboy game” tutorial series. I’m going to break down the gameboy game creation process into multiple high-level steps. Each step will have it’s own tutorial page. Also, each step will be included on this master page for easy access. I hope you find this series helpful and interesting.
NOTE: This site contains product affiliate links. We may receive a commission if you make a purchase after clicking on one of these links.
In around February of 2021 I started learning how to make a Gameboy game. Major credit goes to GBDK 2020, and Gaming Monsters on YouTube. GBDK 2020 is “An updated version of GBDK, A C compiler, assembler, linker and set of libraries for the Z80 like Nintendo Gameboy.” It allows developers to create Gameboy games in C, rather than Assembly. I do not personally know Gaming Monsters on YouTube, but he produced a very helpful “Learn how to develop your own gameboy games” playlist. I still reference that playlist to date.
NOTE: Jack Tech has an interesting video about the Gameboy on YouTube. In their video, they also go over the complexity of programming in Assembly.
I’m not an guru at how to make a Gameboy game. But I have learned SOME things in my time, that I feel might help others. With that said, let’s get started shall we?
You might think you’re alone when it comes to making games for the Gameboy. However, that is far from true. There are many individuals who are developing games for retro consoles. Here are a few published by Ferrante Crafts to start with:
If you have made any Gameboy games, please feel free reach out to [email protected] regarding being listed.
If you’re looking for physical published games, or want your game published, check out Incube8 Games. Their aim is to facilitate the publishing of retro video game cartridges. They already signed a number of homebrew games, including Genesis, Pine Creek, The Year After, Deadeus, The Machine, Magipanel, IndestructoTank!, Wing Warriors, Gunship, and more!
These 5 basic tutorials are going to teach you the basics of making gameboy games with GBDK and the C programming language. If you are not familiar with C, there are some basic tutorials here. Also, you can find C Programming books online. A popular book is “C Programming Language, 2nd Edition” by Brian W. Kernighan.
Firstly we’ll get started with a minimal template, and teach you how to compile your gameboy .gb file. Next, you will learn how to use backgrounds, which take up the whole screen and move as a whole. Thirdly, you will learn how to use sprites. These 8×8 or 8×16 objects can move around freely as individuals. Sprites can even be combined to represent bigger objects. Once you have a sprite on screen, you will learn how to move that sprite around using joypad input. Finally, you’ll learn how to play music and sound effects.
Those 5 steps should get you started on the gameboy game development process.
In this first tutorial you will get your computer setup and ready for Gameboy game development. This is required before we can get into gameplay mechanics or Gameboy GBDK concepts.
Check out Getting Started With 2020 GBDK
With your basic project setup, now we move onto actually doing things with our gameboy. This includes drawing & moving backgrounds and sprites, handling input, and playing sounds. If you want to better understand what goes into a minimal GBDK 2020 project, check out Looking at a minimal GBDK 2020 Project
Every game needs graphics. The next step in this tutorial is to show a background. Part 2 will extend from the minimal template used in Part 1. Besides during gameplay, backgrounds can be used as splash screens, large bosses, and even for menus.
If you you want to take a deep dive into graphics on the gameboy, check out Gameboy Graphics: The Background, Window, and Sprites
Along with backgrounds, every game needs sprites. These sprites can move around freely. Part 3 will extend the minimal template used in Part 1.
Now that you’ve learned about both sprites and backgrounds, maybe you’re interested in how they are stored. If that is the case, check out this post on Sprites and Backgrounds in GBDK 2020 . Otherwise move onto step 4: Handling Joypad Input.
Player input is an important part of games. It’s what separates games from videos. In step 4, we are going to draw a sprite to the screen and give the player control over that sprite.
Check out How to handle Gameboy Joypad input
Games would not be complete without proper sound. Good sound & music bring games to life. In this final part, we are going to go over how to play basic sounds in GBDK. This step will build on Part 4. Once you’ve completed this step, you’ll be ready to make ACTUAL gameboy games.
Check out How to play a sounds on Gameboy Hardware
Everything up until now has been very generic. This is intentional. There is a lot of knowledge that isn’t specific to any one game or genre. However, below will be Sub-Tutorials that build upon this knowledge. These tutorials will focus around specific popular games.
There are tons of gameboy emulators online for testing. Two that i’ve preferred are Emulicious and BGB. Both are free, and easy to use. However, there’s no beating testing on actual hardware. If you want to test out your game on an actual gameboy, you can run your game on a SD-Based Flash Cart like the EZ Flash JR or Everdrive. These both require SD cards , on which you can install multiple different games.