Pocket Dash (or Geometry Dash Pocket/GDP) is a demake of Geometry Dash for the DMG and GBC Game Boy!
Info: The project was renamed to Geometry Dash Pocket, and was formerly known as GB DASH
Experience the ultimate rage-inducing rhythm platformer, scaled down to 4 shades of green (or gray) and a crisp 160x144 resolution! Built from scratch for original Game Boy hardware.
Unlike GB Dash by TiTi, this one features a Famidash-style gameplay with the actual original levels, and support for the original (DMG) Game Boy!
This game is being actively developed (coding and music) by Sotospro24 and ElAngel378
- All levels up to Xstep
- Gameplay (Cube, Ship, Ball)
- Accurate Physics
- Collision (Death and block collision)
- Music Covers, played by a Furnace-accurate Game Boy driver (more info)
- All 1.0 - 1.2 mechanics including inverted gravity, mirror mode
- Level End screen
- Game Boy Original and Color support!
Download the latest Nightly build here: DOWNLOAD
WARNING! These are constantly changing and might be broken.
Requires GBDK-2020 (gbdk-2020 v4.2.x or newer) and GNU Make.
- Windows: download the latest GBDK releases, unzip it, and point the build at it. The default search path is
C:/gbdk; override it with theGBDKvariable (e.g.make GBDK=C:/dev/gbdk-2020). - Linux/macOS (and GitHub Actions): fetch and extract the
gbdk-linux64release from the GBDK releases, then runmakewithGBDK=/path/to/gbdkexported.
Build the ROM:
make clean
make -j8
The output is bin/POCKETDASH.gb.
The game's music is made in Furnace and played by fur2gb, a Game Boy music driver made for this project. The older songs made in hUGETracker are still in the game and play through hUGEDriver when the LEGACY setting is on; its prebuilt lib/hUGEDriver.lib is included in this repository, so you don't need to install anything extra to build.
How to add songs and how the driver works: docs/MUSIC.md.
Levels are made in Tiled, with Pocket Dash's own object and sprite tilesets (1.5 and 1.6 blocks, slabs, saws, breakable blocks, portals, orbs, pads...).
How to make a level, from an empty map to playing it: docs/LEVEL_BUILDING_GUIDE.md. Adding new objects: levels/objects/README.md.
| Contributor | Contribution |
|---|---|
| Sotos_24 and ElAngel378 | Project creators and lead developers |
| Sotos_24 | Code (main code), Music, Graphics when I feel like it |
| ElAngel378 | Code (optimize), Music, Graphics |
| Crafty Jumper | Music, Graphics |
| Ziqiangao | Tools, Music, Graphics |
| PBaxx | Graphics |
| Finntendo | Graphics |
| Switchroot | Graphics |
| BobAJoeJoe | Graphics, Music |
| Ranedom | Graphics |
| NerdBoy628 | Music |
| UserSniper | Music |
Music credits: which song was made by whom is listed in docs/MUSIC.md.
- Add all objects, mechanics, levels up to 1.5
- A proper menu and level select
- Decoration (supported only in GBC mode)
- Graphical improvements
Ways of Contributing
- Join the Discord
- Pull Requests
- Contacting the main devs
- Do NOT open issues for a discussion.
- Any issues can be reported in the issues tab.
To TFDSoft , the Famidash team for assets (such as level files, graphics)
AI tools (LLMs) are used in this project. Up to release 0.3 they were only used for things like boilerplate code, optimizing parts of the code and brainstorming solutions.
After release 0.3 there is some vibecoding. Development is much faster that way, and as I have school and other things going on, it lets me keep working on the game while focusing on my studies. It also generally makes the whole process easier, and in my experience it leads to fewer bugs and optimizes very well.
Developing for the original 1989 Game Boy with GBDK 2020 still requires a solid understanding of things like memory management, bank switching, hardware registers and low-level C/Assembly optimization, so the direction, decisions, testing and debugging are still done by us.







