A gamer is building his own D&D game for a 27-year-old console that you probably still have in your basement

A gamer is building his own D&D game for a 27-year-old console that you probably still have in your basement

Game development isn’t for everyone, but one programmer wanted to find out: He developed a DnD game for the Game Boy Color, and after several months of hard work, you can now dive into the pixelated fantasy world.

What game is it about? A new game for an iconic console: Labyrinth of the Dragon is the title, and it was developed by programmer Ryan from the YouTube channel “NesHacker” for the Game Boy Color.

It is an 8-bit dungeon crawler set in the universe of Dungeons & Dragons. As for the story, you find yourself as a hero in a dungeon and need to solve puzzles, defeat enemies, challenge bosses, collect items, and of course, survive.

He himself describes the development as exciting, for even though the game is now out and looks simple, thousands of lines of code and months of work are behind it. The result is impressive, and those who want can even test and play the game themselves.

A little DnD adventure on the go

What does the game offer? Labyrinth of the Dragon provides a lot of content, for you can expect the following:

  • 12 monsters/bosses
  • 8 dungeons to explore (with all sorts of puzzles)
  • 4 playable characters

The only problem is the lack of a save option. If you close it, you have to start over the next time you turn on your console or emulator. However, NesHacker shares on itch.io that he is working on implementing a save feature.

How did the development go? Ryan split the development. He was responsible for the code and the assembly of the game himself. For the designs, he hired a professional artist and funded it through donations from the community.

To build the game (the code), he now faced the choice of engine, but Ryan didn’t want to use a pre-made program. So he decided to build his own using the C programming language and GBDK (Game Boy Development Kit).

However, there were various problems:

  • The map needs to load a large maze for each dungeon, which requires a lot of resources.
  • As development progressed, managing various items like chests and their different sprites (computer graphics) became difficult.
  • The combat system is intended to resemble the classic JRPG style and take place in the first person, but realizing it proved complex.

How were the problems solved? As for the map, he divided it into a 16×16 pixel grid system to save memory. Additionally, he used the “stream-loading” method, which allows the game to load the surrounding, non-visible map while the protagonist moves – just like in Mario.

Regarding the management and updating of individual sprites, Ryan utilized a hash table. Hash tables are data structures that ensure data is stored efficiently for access. This sped up his endeavor. Additionally, Ryan used dynamic memory allocation, also known as the heap. This secured space in RAM to temporarily store data and graphics whose size is not known at compile time.

Last but not least, there was the combat menu, which had multiple areas like the main, sub, and combat menu. Depending on the situation, one wants to quickly switch between these menus, and to achieve this, Ryan used a trick.

He utilized the “interrupt” command in C. This creates split-screen scrolling to quickly fade in and out menu items. The result: a seamless combat experience with a nostalgic touch.

How can I play the game myself? You can download the game for free on itch.io (Source: neshacker.itch.io) and play it with an emulator on your phone or PC. However, if you own a flash card, you can even load the game onto it and play it on the Game Boy Color and Nintendo DS.

NesHacker also provides the source code of his game on GitHub so you can develop and extend the game further if you have the skills. So if anyone wants to implement additional bosses, feel free to do so, especially considering the possibilities from DnD: Dungeons & Dragons: 10 powerful villains you should know

Deine Meinung? Diskutiere mit uns!
0
I like it!
This is an AI-powered translation. Some inaccuracies might exist.
Lost Password

Please enter your username or email address. You will receive a link to create a new password via email.