After an incredibly irresponsible purchase at a local retro gaming store, I promised myself that I would finally get around to developing something that ran on a Gameboy.
Today was that day. Here is my first attempt, a 2048 clone that I'm sure somebody has done before but I'm not going to look into it.
With any luck, this project will support the base Gameboy hardware and have bonus color display options for Gameboy Color models.
I am not the creator of 2048, I am simple using it as a starting point to learn how to develop Gameboy games.
To build the project and use all make directives, ensure that the
following environment variables are set. These specify the paths to
the make directive dependencies.
SDCCDIR: Path to theSDCCproject directory (ends in/sdcc)GBDK2020: Path to theGBDK-2020project directory (ends in/build/gbdk)EMULICIOUS: Path toEmuliciousproject directory (ends in/Emulicious)GBSDDIR: Path to an SD card mount point to copy.gbfiles to.- I am currently using an Everdrive GB x7
make: Builds the project intobin/gb2048.gbmake run: Builds the product and launches it inEmuliciousmake deploy: Builds the product and copies the.gbfile to an SD Cardmake clean: Removes build files inbin/
This project is utilizing the GBDK-2020 cross-platform toolkit as its base, on Linux.
The compiler is identified by the environment variable GBDK2020, that
points to the install location to gbd-2020. In other words, this is the path
that contains bin/llc.
I was a madman and decided to build the project myself, so my path ends in
gdk-2020/build/gbdk.
I used Emulicious as the primary development emulator, accompanied with the Emulicious VS Code extension.
make run will build the project and then start Emulicious, so long as the
environment variable, EMULICIOUS is set and points to the directory
containing Emulicious.jar.
I used the new GBDK-2020 releases of the Gameboy Tile Designer & Gameboy Map Builder and ran them using wine.
Press Start to start a new game. Use the D-Pad to scroll tiles.
When the game is over, pressing Start will allow you to start a new
game.

