4 ms·
As an ex Gamebody (pre Advanced) developer that got a great job doing professional development after playing around with developing on an open source emulator,
by kruhft 10y ago
As an ex Gamebody (pre Advanced) developer that got a great job doing professional development after playing around with developing on an open source emulator, I have to say that I got into doing it because it was just great fun.
These machines are small enough to fit in your head when you're developing, and you really learn to get 'down to the metal' when your builtin libraries are memory addresses and ranges. The development is fast and fun.
I totally recommend checking it out and making a couple of games on something like the Gameboy or Gameboy advance. An excellent learning experience.
- alphonsegaston 10y agoI was tinkering with Gameboy Dev using a C library(even bought one of those flashable cartridges), but found the resources/documentation to be kind of all over the place. Do you know of any better resources for learning Gameboy dev?
- kruhft 10y agoUnfortunately I am not aware of the modern documentation resources and a quick search shows they're just as scattered as when I was looking them up, possibly more now. The hard part back then was finding examples generally, but that's also the fun part in that you read all the specs for the machine you can find and let your imagination run wild. Assembly is kind of like that and the machines are small enough that, with enough background knowledge, they can be made to do some pretty interesting things. Like learning anything, just read the every doc you can find and write code is the best advice to get started :)
- alphonsegaston 10y agoThanks so much!
- joshuamorton 10y agoA good place to start would be poking around github for "CS 2110 gatech gameboy". CS2110 is the intro-to-low-level course at Georgia Tech, and about the middle third of the course could be described as "getting comfortable with C syntax in the completely foreign environment of a gameboy advance by writing games". As a result, there are some provided libraries that are very extensive. For everything else, there's tonc. Most of the time the course doesn't cover the more advanced features (mode 0? or was it 4, or 6 that did sprites and textures) but it was a fun introduction to something, and I got to write flappy bird in C when flappy bird was still culturally relevant.
- alphonsegaston 10y agoI'll check it out. Thanks for the tip!
- juliangoldsmith 10y agoThe Pan Docs, at http://problemkaputt.de/pandocs.htm http://problemkaputt.de/pandocs.htm , have pretty much all the bare metal information you could want. After you define macros for everything, it shouldn't be much lower level than most libraries. I actually have a bit of half-finished GB code that does sprites and backgrounds, without using libraries. If anyone cares for it, I can put it up on Github later.
- alphonsegaston 10y agoThanks for that! I'd love to see your code. Finding sane code examples was a big part of trouble I ran into.
- juliangoldsmith 10y agoIn the interest of actually getting this out tonight, I have a full 7z archive of my development environment up at https://juliangoldsmith.com/rgbds.7z https://juliangoldsmith.com/rgbds.7z . I'll most likely clean up the sources and put them up on Github later.
- alphonsegaston 10y agoWow! Thanks so much!
- marktangotango 10y agoDoing z80 assembler for gameboy color was the most fun I ever had programming. I learned an incredible amount. I think that's why I never had imposter syndrome so many complain of. After that, there's not a lot of mystery; its bits all the way down!