Gameboy Development on Mac OS X

  1. Ludum Dare 38 - Contamination Mac Os Catalina
  2. Ludum Dare Games
  3. Ludum Dare Themes
  4. Ludum Dare 22

309

Ludum Dare 38 - Contamination Mac Os Catalina

Find games for macOS tagged Ludum Dare 38 like Petty Puny Planet, Shrinking Planet, Monolith, Secluded, Beyond the Deep on itch.io, the indie game hosting marketplace. At the neighbor Alakajam! Community, we have hosted something special this month: 8 games from Alakajam! And Ludum Dare have been handpicked for people to compete on them, post high scores, and climb the leaderboard! We’re having a lot of fun so far, and it’s quite a different experience to really play and try to master the games, rather than just test them to give feedback. Hello everybody this is our first participation to the Ludum Dare (38) We propose your a prototype of a puzzle game named 'Wake Up!' Is about a girl stuck in her dreams, help her to get out of them! As we were developing on azerty keyboard the controls are: Up/Down/Left/Right to move ( ZQSD for azerty keyboard users).

1

357294As I have gone more and more low-level over the past month, I was searching for a platform that is well understood/documented, not too fancy and thus allows me to use it for learning on different topics at once in a fun way. I.e. micro-processors/electrical-engineering, emulators, dev-tools.

Well, I found the old Gameboy to match that category:

  • Electrical Engineering: Building own game cartridges/ROMs, ROM-readers/writers and play around with other interfacing possibilities. As it happens, I still have my old Gameboy lying around… somewhere…
  • Emulators: Write a simple emulator for the Gameboy’s Z80 processor. Compared to others, the instruction of the Z80 is “quiet” small. Except for the CHIP-8 language, there are not many other processor that are this popular and have an as small instruction set.
  • Dev-Tools: Understanding how compiler and linker for this platform work and tinkering with it. As one of the most popular tool-chains (Rednex Gameboy Development System358295) is open-source and a comparably small project, this is hopefully not a month-long endeavor.
Ludum dare 38 - contamination mac os catalina

And I like doing game-development for fun anyway. With a quiet old and restricted platform like the Gameboy, this is a nice thing to do in with limited time and good results. Building only a simple game for PC or any of the latest Mobile-platforms (iOS, Android) can take month when you also have some sense for art and style. With a four-color 160×144 pixel display, you are so restricted on itself, that doing the graphics yourself is quiet easy; even for someone that is not a great artist. I was surprised what can be achieved on a 14 hour flight. Maybe I will even enter the next Ludum Dare359296 with a Gameboy game.

Themes

The first step required to dive into the world of Gameboy development is to set up the development tools, emulator and some more useful tools like tile-editors on your Mac. The main purpose of this post is to describe the steps I have taken. And as it was more then just click-click-finish at some stages, I hope this will also be helpful to others.

RGBDS360297 seems to be a popular set of developer tools for the original Gameboy. It contains four command-line tool for which two are the assembler and the linker. Unfortunately, there is no binary available for Mac OS. Fortunately, it is open source. With minor modifications I was able to compile the tools for Mac OS X Lion. You can find the compiled binaries (rgbds.tar361298) and the Makefile I used in my github repository362299.

Ludum Dare Games

Next thing I needed for development was an emulator with an embeded deugger. Who writes a working game with closed eyes, loads it onto a gameboy cartidge and it works? Well, at least not me.

The emulators I found to be the best matches are no$gmb363300 and bgb364301. Both are similar feature wise; bgb seems to have been implemented based on no$gmb, so both interfaces look alike and also shortcuts in the debugger are mostly the same. bgb is still actively developed and you can also get tips by the developer in the EFNet #gbdev IRC channel.

Both emulators are for windows originally and they are not open source. So, using Wine was the only real option. If you don’t have Wine yet installed, you might want to download MacPorts365302. It is a package manager for Mac OS and also allows to easily install said software. As you also need to have the X11 window server installed for Wine to work properly, best is to follow these instructions366303 for the whole installation.

The Installation of wine itself is straightforward: After the installing MacPorts type “sudo port” in the Terminal.app to start the MacPorts package manager. Supply your user’s password and the prompt of the package manager should appear. Type “install wine” and do something else for the next half hour. This will download all dependencies (a lot) and install Wine on your system. I got an error like

while installing Wine because it seemed to interfere with other packages I have already had installed. If you also encounter this problem, follow the workaround at the bottom of this bug-ticket367304:

Once you have installed wine successfully, you can start the emulator. I was not able to get bgb running yet but no$gmb works just fine. Get the 32-bit Windows version from here368305 and start it with “wine NO$GMB.EXE” from the commandline.

As said before, a quiet restricted platform like the Gameboy allows also a developer without a hand for art to create nice games. Still, you might want some tools to assist in the process. The Gameboy Tile Designer369306 and the Gameboy Map Builder370307 are two such tools. Easily generate tiles and maps and directly export them into an assembler-file containing the required data to directly work with the tiles/maps. These tools are again windows-only but work just fine with wine.

Unfortunately, as of this writing, the host for these tools seems to be shutting down its operation completely, so I hope the owner of these tools will find another host soon.

That’s about what you need if you want to get into Gameboy development and have some retro-fun. To point you in the right direction for getting started I can recommend the notes of the Wichita State University’s 2008 Z80 Assembler Programming lecture371308. Luckily, the exact same tools we just installed on our system are used 🙂

We're sorry, but your web browser (Microsoft Internet Explorer 6) is not supported.

This browser is very insecure, no longer supported by Microsoft, and generally extremely unsafe to use. Not to mention, we're doing some really cool stuff on this website, stuff that needs at-least a web browser from 2013. Things on the internet move extremely quickly. Don't be left behind!

We recommend the Google Chrome web browser, by far the most secure of the web browsers. It features sandboxing, a strong security feature that helps mitigate exploits.

Alternatively, Mozilla Firefox is a very good web browser. Both the Chrome and Firefox teams are pushing the envelope of next generation browser features, so either broswer is a good choice.

Need another choice? Check out the Opera web browser.

Finally, if you are on Windows 10 or better, you should be running Microsoft Edge instead of this web browser. If you're on Windows 7, 8, or 8.1, you can upgrade to Internet Explorer 11, but we would still recommend one of the above choices.

Ludum Dare Themes

If you are not on a computer (i.e. Xbox, Windows Phone, etc), we'd encourage you to switch to your computer, or to a smartphone purchased in the last couple years.

Ludum Dare 22

For more choices, visit whatbrowser.org