Thanks for playing! Have fun going down the rabbit hole that is GBA development. And may the interrupts not cause too much pain. ;)
GitOut
Creator of
Recent community posts
The touch controls are literally just an invisible mapping for the buttons and the layout is just the generic default from my engine. I simply could not think of any sensible way of making this game work with touch using the system I have, so I just left it as is. I do wish that uploading an apk didn't cause such a strong implication of working touch support (which I don't have marked the game with), but alas, it seems to.
This is such a great example of a simple and obvious idea being pushed into something far beyond. Gameplay is challenging yet well balanced and the game is fun to play with tight controls. It is honestly impressive how well the elements work together considering how simple each one is. And good job with that snake AI, it actually does what you want it to.
If there are any future updates planned in my opinion separate stages or at least some form of checkpoints would be nice, whilst the "tutorial" is well done, replaying it does get a little old after the fifth time.
Great pixel art coupled with fitting music and sound effects, probably some of the best in the jam. The core concept is neat and very well executed, with all of the combination being very intuitive. The puzzles explore what the game has to offer well and it does not overstay its welcome.
Any actual complaints run down to frustration with moving platforms killing you in all sorts of nonsensical ways as well as the minor annoyance that is the shots passing through walls straight in front of you. But moving platform physics are something that are a major pain even in a full game, never mind a 48 hour jam game, so impressive still.
Very polished and enjoyable game! My biggest complain is also the tedious element when it comes to watching the robot move or drawing out the path. The puzzles that are in the game do have a nice progression, so there were no frustrating levels to be stuck on for me.
The concept is very interesting and fitting the theme well. It could be extended massively through interactive elements like doors, switches, jump pads, the mind goes wild with that. :)
After mucking about with it for a bit, the snake is rather prone to killing itself in the top right corner, so I managed wins with 2 and 3 friends lost, which does not crash, 4 or higher does crash until 13 being ok again. Pretty sure the longer win message crashes it just barely.
And yeah, getting around that limit can be painful at times, doing the snake on a background layer would help, but that tends to take more time to code.
Always nice to see another GBA game in this jam. :)
The idea is certainly a nice take on the theme and the snake AI does usually a good job at not killing itself, making it actually fun to try to trick it. Graphics are fairly simple, but that makes them at least clearly visible on the small washed out screens these devices have, so still a plus.
One slightly annoying problem I ran across, no idea if it is specific to real hardware, is that the game sometimes crashes when the snake dies, showing a screen claiming it ran out of sprites for displaying text. Not the win screen I was expecting, but hey, GBA development can be tricky at times, especially under time constraints.
Nice to see another GBA game on the jam! Played the whole game on my trusty old SP and was perfectly good fun. The mechanics are plenty intuitive and the levels are really well designed.
One very minor nitpick, maybe see about increasing the music volume in the game itself a little, might also reduce the hiss?
Switching between levels does reset the levels themselves, but beyond that it should still allow you to select it again. The level you were stuck on turned out to be the most difficult with someone playtesting as well, but it's also the second to last.
This year's theme sadly was prone to giving ideas that turn out to be an existing thing.
Thanks!
The windows and linux versions of the game just use winit (window), gilrs (gamepads), cpal (audio), glutin (opengl) and ash (vulkan), so nothing terribly special there. All the other versions I use my own bindings for.
The actual graphics (I just prepare a single texture and draw it to the window with opengl or vulkan) and the audio are handled by what amounts to half a gba emulator, lacking cpu emulation.
So sorry to disappoint, but I can't really give any more advice on what to use for non-gba games, as I've not dabbled with that too much in rust, and this is all very niche and custom (and I don't currently have the source code out there).
The levels themselves are built by hand and have a fixed order, however the dice, which can technically create every possible combination on every level, change the levels based on the character you play as, as well as banning one of the enemy types. The last two dice are just change the tileset and music.
The short answer is: a made my own engine to do this and it is complicated.
As a long answer, here's a basic overview:
- The game as it stands is just a GBA game written in Rust (actually the game code is transpiled from AssemblyScript, but "basic overview"), I use my own HAL (hardware abstraction layer, a library providing functions and data structures for talking to the hardware), but there are plenty of resources out there on how this can be done.
- For most other platforms (MS-DOS version excluded) the idea is the following: The game being Rust code means I could just recompile the whole thing, however the HAL normally makes that impossible. So I reimplement this HAL through software emulation, in a similar way to normal GBA emulators for things like screen drawing and sound channels. The game code however is natively compiled so I don't need CPU emulation, which tends to be the hardest and slowest part for the GBA. So it's somewhere between just packing the game with an emulator and doing a proper port.
- On top of this I then have a slightly more conventional engine that allows for things like drawing tile maps and sprites to make things more viable for a jam, because the GBA hardware, whilst insanely simple compared to modern systems, is still a bit of a pain to work with sometimes.