Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Engine/software?

A topic by Eli Haun created Apr 20, 2021 Views: 861 Replies: 6
Viewing posts 1 to 5

Hello.  Im interested in this jam, but don't know of any software to make a game for the GBA.  Is there any engines that can export to the GBA?  I don't have time to learn C :p

Jam HostSubmitted

Hi! The easiest engine for GBA dev right now is Butano, but it requires C++ skills.

Don't underestimate yourself though! With the right learning material (e.g. book or video tutorial) it's possible to gain some C++ language experience in a few weeks, then you'd still have 1-2 months left to actually make something for the jam :)

We have a dedicated Butano channel in our discord too for help with the engine itself.

(+2)

I hear you. I felt the same way, at first. But then I fell under the sway of the GBA!

So far, I recommend either Butano or GBALua or FreePascal – but Lua is way easier to learn! Of course, FreePascal can compile to DOS. But – and help me out here, especially if I’m wrong – I think that GBALua can compile to binary and link with stuff compiled from C or C++ on DevKitArm… Right? (I’m learning this stuff as quick as I can, I swear!)

I’m just doing this jam to learn all of it as fast as I can. I don’t really care if I finish in time. I’ve become obsessed with coding the GBA! (And then the DS after that, then the GameCube or Wii! Mwahahahaha!)

Seriously, find some sample code, modify it, compile. Repeat. After I get the basics of Object-Pascal and Lua down (and refresh my memory of C++), I’m going to do that as much as I can. No idea what I’ll submit! :D

GBALua might work. I know a bit of Lua from dicking around with the TIC-80 Engine and LOVE.  Thanks for the Suggestion!

Jam HostSubmitted (3 edits) (+1)

It sounds appealing but sadly it hasn't been updated since 2002, it's using a very old version of Lua and the examples are not beginner friendly :(

local counter
local OAMPos=OAM
for counter=1,128 do
  MemFill16(OAMPos,168,1)
  OAMPos=OAMPos+8
end

Compare with C using libtonc:

// Hide all sprites
for (int i = 0; i < 128; i++) {
  obj_mem[i].attr0 = ATTR0_HIDE;
}

Or my own library in the Nim programming language:

# hide all sprites
for obj in mitems(objMem):
  obj.hide()

FreePascal sounds fun, they seem to have a libgba wrapper, but neither the original or the wrapper are very well documented.

There's a user (PlakRast) in our Discord who's making an Ada-based toolchain, which seems very exciting. So if anyone is looking for a Pascal-like language you might wanna ask them about that :D

(+1)

Thanks for the examples! I’m going to add Nim to my list of things to learn (aiming to learn one language per week, more-or-less :) and check that out!

GBALua may be old, but that just means I could maybe adopt it and make a remix of it. I’m already reading a book that describes making a game engine in Lua, so why not? And assembly was my favorite class in college. I’m insane and a computer scientist, so I’ll just believe I can do it all and try really hard. It’ll be fun!

Maybe I’ll make a blog about learning all these languages and libraries… :D Just a thought!

(+1)

An updated version of GBALua could be amazing!