Mastodon

How to make Games for Gameboy

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.

Quick Background

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?

Video Playlist
1/5 videos
1
How To Make a Game For Gameboy - Creating the Minimal Project with GBDK 2020
How To Make a Game For Gameboy - Creating the Minimal Project with GBDK 2020
03:14
2
How to make Games for Gameboy - Drawing Backgrounds with GBDK-2020
How to make Games for Gameboy - Drawing Backgrounds with GBDK-2020
05:24
3
How to make a Games for Gameboy Color. GBDK 2020 Tutorial Part 3: More with Backgrounds
How to make a Games for Gameboy Color. GBDK 2020 Tutorial Part 3: More with Backgrounds
05:36
4
How To Make Games for Nintendo Gameboy - Drawing Sprites with GBDK 2020
How To Make Games for Nintendo Gameboy - Drawing Sprites with GBDK 2020
05:36
5
How to Make Games for Gameboy - Joypad Input - GBDK 2020 Tutorial
How to Make Games for Gameboy - Joypad Input - GBDK 2020 Tutorial
05:28

Who else is making Gameboy games?

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!

The Basics

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.

#1. Getting Started with 2020 GBDK

Getting started with the 2020 gbdk.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

#2. Drawing on the Background and Window Layers

How to show a background in gbdkEvery 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.

Check out Drawing on the Background and Window Layers

 If you you want to take a deep dive into graphics on the gameboy, check out Gameboy Graphics: The Background, Window, and Sprites

#3. Drawing & Moving sprites in Gameboy Games

Drawing and Moving Sprites in GBDKAlong with backgrounds, every game needs sprites. These sprites can move around freely. Part 3 will extend the minimal template used in Part 1.

Check out Drawing and Moving Sprites in Gameboy Games

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.

#4. How to handle Gameboy joypad input

How to handle joypad input in GBDKPlayer 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

#5. How to play a sound on Gameboy Hardware

How to play sounds in GBDKGames 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

Advanced Topics

Once you’ve got the basics, here are some more advanced topics. Later, full games will be explained, some of these games will utilize these advanced topics. They are very much worth a read.

How to make ACTUAL Games

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.

Space Invaders Tutorial for Gameboy

How to make space invaders for gameboy.
Space Invaders is a classic video game. It’s simple, but fun mechanics have entertained many generations on virtually every gaming platform. In this tutorial, we’ll

How to make Flappy Bird for the Nintendo Gameboy

How to make flappy bird for gameboy.
Flappy Bird was a popular hyper casual mobile game released in 2013 by Vietnamese video game artist and programmer Dong Nguyen. Flappy Bird is a

How to make Pacman for Gameboy

How to make Pacman for Gameboy
In this tutorial you will learn How to make Pacman. It will be based around a “starter repository“, which will have all files, variables, and

Brick Breaker Tutorial for Gameboy

Brick Breaker Tutorial for Gameboy
Brick Breaker is a classic arcade game, and excellent beginner project. This break breaker tutorial is part of my Re-Creating popular Games for the Gameboy

How to make Tetris for the Nintendo Gameboy

How to make tetris for gameboy
Tetris is an iconic puzzle game. Players must position and rotate “tetrominos” to avoid overfilling the playing area. This is going to be a sub-tutorial

How to test your Gameboy game?

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.