Maker Hacks / chrisg avatar

Retro Roguelike Dungeon Crawler (Long Overdue Updates)

makerhacks

Published: 29 Jun 2026 › Updated: 29 Jun 2026Retro Roguelike Dungeon Crawler (Long Overdue Updates)

Retro Roguelike Dungeon Crawler (Long Overdue Updates)

Last time I did a devlog it was to say the code was refactored and cross-platform.

Big new changes are procedural generation is back and I added "fog of war", with conditional compilation. This means if it doesn't fit, those features can be disabled. It's more work that way but means I can reach more target computers. For eg. perhaps even those with 16KB of RAM.

If you are not familiar, procedural generation in this context means game mazes that are random but using an algorithm so they are always "solvable" (no dead-ends trapping the player).

Fog of war is the maze will be revealed as you move around.

image.png

If I was working only on a specific target computer I could have used a simpler approach, say using colour RAM to turn character cells from black on black into visible. This is cross-platform so I have to find ways to make the actual drawing quick regardless which machine it is running on. I realised after first screen draw only the new cells need to be drawn until I get to redevelop for Raylib for modern systems. The Raylib (game library with graphics) version has a kind of light halo for atmosphere, the 8-bit systems certainly do not!

Dogfooding and the joys of building a cross-platform IDE

Of course for compilation and testing in emulators I have been using my web-based IDE. I do have desktop emulators too, such as Vice for commodore systems, ZEsarUX (how is that pronounced??) for Amstrad/Speccy, etc, which is handy when I break the web based one.

A striking example of that is when C compilation worked perfectly for small programs but anything over 16KB started borking in execution. What I hadn't realised is in my haste to try different configurations, for example moving the start and end of memory banks etc, I had multiple copies of configs and varying versions of compilers, plus some compilers run on my linux server and others are in WASM. Days were lost through my own idiocy.

Fortunately the game now fits almost everywhere apart from BBC Micro (!?) - which being a 32KB system is strange, considering the game works fine on expanded Vic 20 which has less memory ... I think I might have to get my calculator out on that one ...

image.png

Procedural generation is even working on 48kb ZX Spectrum, though with 32 column screen.

Problem is, this is the bare-bones game, not the full finished thing, and there is no wiggle room for added features ... so fat-trimming continues.

image.png

As well as trying to get the thing to fit, I was able to move onto some cosmetics. Most of the target platforms do allow custom character sets, which will be nice on those where there is remaining 2kb+ of space, and many have colour in modes that fit the available memory, but good colour palettes with only 3 colours plus black are still challenging.

Turns out I had been using the wrong colour hex values for the Amstrad and had been blaming my compilation workflow. Still not the best colour choices even now but at least these are ones I chose!

image.png

Interested in coding software and games for retro computers and games consoles?

I now have a Retro Game Coders channel in the Retro Software Discord server:

https://discord.gg/eEsuHp3rYt

Leave Retro Roguelike Dungeon Crawler (Long Overdue Updates) to:

Written by

Maker and blogger from Calgary 🇨🇦 🇬🇧 [RPG/D&D/Wargaming, Art, 3d printing, arduino, raspberry pi, robots, laser engraving, CNC, programming, Retrocomputing ..]

Read more #software-development posts


Best Posts From Maker Hacks / chrisg

We have not curated any of makerhacks's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From Maker Hacks / chrisg