SNES Game Jam devlog, for Love
Participating in SNES GAME JAM 2026 Start (GMT) : July 31st 2026 at 11:00 PM Deadline : October 31st 2026 at 10:59 PM

I intentionally did not learn the tools ahead of time, but did familiarise myself with the hardware basics with Retro Game Mechanic Explained's youtube series
Tools used:
2026/08/01
Project started, pvsneslib installed.
I didn't do too much this day besides reading up on the hardware spec and finishing up another project I didn't want to leave in a messy state.
2026/08/02
Drew a 8 direction 32x32 car sprite. As no theme is specified and I want something that can be scoped easily, I intend this to be a top down "Crazy Taxi" kinda game.
2026/08/03
I laid out a basic game framework and have a car sprite driving around on the gamepad inputs;

This is following my typical program layout, shared.c owns a GameMode U8 set to enum { MODE_GAME, MODE_MENU } (and more if needed) and the main loop uses that to select a simple function that sets up it's own needs, sticks into a loop and then tears itself down before handing control back.
void ModeGame()
{
setupGameStuff();
while(GameMode == MODE_GAME) { doGameStuff(); };
killGameStuff();
}
Smaller systems in my software projects tend to follow a similar pattern with a very clear and simple data lifetime. It's space and speed efficient, although not strictly great software design as any game object with access to the right header can poke the GameMode variable to instantly end a game session, all state is very public.
For the sake of not overcomplicating it, most of the game will be composed of singletons and a lightweight entity slot system.
2026/08/04
Mostly engine work today and correcting a few of my assumptions about how the SNES sprite system works. The previous car sprite from yesterday was displaying because some mistakes lined up in a way that happened to work, adding a second sprite was a serious head-scratcher because I completely misunderstood the first one. Unlike the megadrive, which i'm comfortable working with, the SNES and this toolchain both assume that you've fully read the manual.
I'm considering writing some asset tools to help out, the pvsneslib supported path of manually breaking a sprite down and putting it in an include file manually, making sure it's all linked etc, is long winded and pretty annoying. In my Megadrive/32X project which is heavily customised to my wants and needs, I'm using a resource compiler branched from SGDK's where you create a resource file suffixed .res (enemies.res, levels.res) and fill with entries and their attributes, which are automatically encoded, chopped and compressed as a pre-build step, populating the right headers. I'd like to work in an environment like that, so I'm poking around with the existing tooling and figuring out how to shim something like that in between myself and the gfx4snes asset compiler.
Going forward, I'll be uploading ROM files when there's something noteworthy worth showing.
2026/08/05
Setting, setting, setting, I want to SET my game somewhere. I've been toying with the idea of making a game inside an o'neill cylinder (See: Gundam, Next Senki Ehgeiz, Rendevous with Rama), a sci-fi (As in, real science, these could exist NOW if we really really really wanted one and had infinite money) concept artificial world where the habital volume is on the inside of a cylinder spinning at centrifugal speeds to create artificial gravity. This futuristic setting should also sufficiently explain the very slightly sci-fi design of the car with big thingies hanging off the sides where the wheels should go.
This would naturally let the game map wrap on one axis, which I've chosen to be X, so the players location can be quite tidily represented with a scrolling minimap display that loops at the sides;

All 3 zones would be plainly visible, with the edges showing a bit of the loop with a dither fade effect applied ontop to blend it into the black status bar. I think it's a kinda neat concept.
World layout isn't final or really anything past a sketch, the concept I have in mind is loosely based on ZZ Gundam's Shangri-la colony, a cylinder that is long past it's prime with run down industrial sectors and trash heaps, a gross patina of grime over cutting edge 1980s concept technology, giant robots with a few nice lakes and meadows.
Rough mockup of the screen layout with the HUD included :

256x224 resolution, Tiles from : https://canarigames.itch.io/canaripack-8bit-topdown (purchased tileset)
Figured out how to upload background tiles to video ram and a tilemap, it's not any different to what I'm used to with other platforms, writing to an array encoding tile the layout and then pushing to VRAM.
