gbadev
Game Boy Advance homebrew development forum
Member
Joined:
Posts: 18

Hey guys, I hope this thread gets a little bit of attention.

With absolutely no software development or game design background, I jumped head first into whatever possible tools and development environments I possibly could to make anything I could call my own. Now that I've released a small project (with many things still on my todo list), I plan to fully explore the creative possibilities with the skills I've earned so far.

However!

Now that there's no time crunch to make a game in time for a jam, I want to go about this in a more proper way, learning the background knowledge and skills that are fundamental to making software for the Game Boy Advance. My only problem is that I don't know what I don't know. Where do I begin, and where do I go from there?

I hope to encourage some productive conversation, because despite the variety of resources available to aspiring developers, I can't be the only one intimidated by the massive amount of information out there.

The Resources page at our own gbadev.net seems to be a fantastic start.


-e9

Member
Joined:
Posts: 7

For most intents and purposes regarding GBA games, I'd recommend Butano. It's simple to use with some C++ knowledge, and there are already plenty of examples you can check and compile in order to see how to do something.

But if you want to go straight to the more advanced stuff that Butano can't do, there's Meson-GBA, a toolkit that supports many libraries like Libtonc and SDK-Seven.

Member
avatar
Joined:
Posts: 26

I see a lot of people asking for a GBStudio for the GBA.

I started working on a project which wasn't strictly the same, but the plan was for a GBA IDE (so you could write code, draw graphics, design palettes and tilemaps), but then support prewritten modules (such as a top-down RPG map or side-scrolling platformer) that link together to with the engine functionality. The end result would (hopefully) be a tool that is easy to start with for simple "no-code" games using GUIs, but allow the flexibility of writing code if you needed something new or maybe even to just customise the modules behind.

I've written a good chunk of the engine, which supports animated palettes, animated character/tile sets, and oversized maps; but there's no IDE yet to work it through

It has all crawled to basically a stop at the minute, with me falling out with the majority of GUI technologies (at least that I can use with C# and Linux), on top of my day job which is fairly consuming at the minute too.

IIRC, somebody else spoke to me about making a Maker tool, I might dig through my DM's and see if they ever got started on theirs.

Administrator
avatar
Joined:
Posts: 48

I want to go about this in a more proper way, learning the background knowledge and skills that are fundamental to making software for the Game Boy Advance

There's kind of a huge number of options for GBA dev nowadays, however if your goal is to get comfortable enough that you can make more advanced edits to the GBA Doom port, that simplifies things a lot:

  • Find a good book or tutorial on C programming.
    • You want something beginner-friendly that will teach you the foundations - compiling, variables & types, operators, includes, control flow, functions, arrays, pointers, structures.
    • Beej's Guide to C Programming seems promising, though assumes you have experience at least 1 other programming language. Still, it's the best free resource I could find after a fair bit of searching.
    • Expect to spend a few evenings doing non-GBA stuff. Try some exercises, make some terminal programs like a calculator, quiz, caesar cipher, battleships or a maze generator, etc.
    • Get to know your terminal, text editor, version control, debugger, etc. A good resource for this is The Missing Semester of Your CS Education (I'm not sure this is totally necessary since you're already using GitHub and stuff, but maybe it helps?)
  • Read TONC to learn GBA development.
    • Well, you don't have to read it cover-to-cover, but it's absolutely jam packed with useful information about both GBA programming and low-level C programming in general. Some people dislike its long, meandering style, but for me it was exactly what I needed when I was getting started.

I can't help all that much with the specifics of DOOM engines or 3D rendering or anything like that, so you'll have to look elsewhere for those... but I think all the stuff above is what you'll need to get the fundamentals you're after!

Member
Joined:
Posts: 18

Thanks so much for all the feedback guys! I'm cataloging all of this to study and practice when I can.

I was deliberately vague in my initial post, since hopefully future developers can use this advice as well. The more specific guidance is excellent too.


-e9

Member
Joined:
Posts: 1

Wow I literally just decided that I want to get into GBA development. This is so timely and helpful 😀