Maze of Death by hamrathdoesldjam
Maze of Death is my second C64 game for Ludum Dare. You have to find your way through a dangerous maze where all walls are poisoned. To reach the exit you have to die - a lot! Luckily you can collect your dead bodies to get back your lost live and continue your search for the right way to the exit.
Attention: You need a real C64 or an emulator like WinVICE to play this game. ~~I'll add more options to play later in the evening.~~
Unfortunaly I'm not able to provide you with a HTML5 version, as I can't get VICE.js to work with gamepad or keyboard. Nonetheless you can download a proper C64 emulator for your system here: http://vice-emu.sourceforge.net/.
Running on Windows
Download WinVICE from above site and unpack the files in a folder of your choise. Copy everything from the Commodore 64-zip (mazeofdeath.zip) into the WinVICE folder. Run start.bat to automatically run Maze of Death in the emulator. Use numpad to play the game. If you prefer a gamepad go to Settings > Joystick settings > Joystick settings... and select your gamepad from the select box of Joystick #2. In this dialog you can also create your personal control scheme.
Running on other systems
Unfortunaly I can't provide any help to make Maze of Death work on OSX or Linux. But steps should be similar.
Compiling the source
To compile the source code you need CBM prg Studio (http://www.ajordison.co.uk/). Beware: The game is much slower, if compiled from sources. Maze generation takes over a minute, also moving the player is slower.
You'll need a BASIC compiler for C64 to make the game faster. For Maze of Death I used Austrospeed. Other compilers like Basic-Boss or BASIC 64 might also work, but need some compiler directives to run properly. Speed improvements are subtle with other compilers.

| Commodore 64 | https://hamrath.itch.io/maze-of-death |
| Source code | https://hamrath.itch.io/maze-of-death |
| Original URL | https://ldjam.com/events/ludum-dare/43/maze-of-death |
Ratings
| Overall | 284th | 3.333⭐ | 35🧑⚖️ |
| Fun | 334th | 3.031⭐ | 34🧑⚖️ |
| Innovation | 204th | 3.309⭐ | 36🧑⚖️ |
| Theme | 204th | 3.603⭐ | 36🧑⚖️ |
| Graphics | 270th | 3.243⭐ | 37🧑⚖️ |
| Audio | 324th | 2.667⭐ | 29🧑⚖️ |
| Humor | 296th | 2.54⭐ | 27🧑⚖️ |
| Mood | 267th | 3.103⭐ | 31🧑⚖️ |
| Given | 58🗳️ | 3🗨️ |
I'll see tomorrow if I can run it
The core game mechanics are solid and work as intended. No bugs that I can tell! I didn't get to the end, unfortunately. I think what might improve it would be a way to set your own spawn, or have the algorithm put some checkpoints along the way. The only reason I didn't complete it was because I got really far, but didn't feel like going through it all over again.
Can you share a little information about how you made the game? I've been interested in starting another homebrew game and wanted to try making some C64 homebrew, is it all in BASIC, or did you use some other tools? I'm really interested to see what your process for this was like. Thanks!
Yeah, I also see room for improvement. Eg. different level sizes to make a game easier. Seed based labyrinths would also be cool for highscores. Also extras would be cool, eg. randomly reveal part of the labyrinth, get an additional life, etc.
The idea is based on a rather unknown game for C64 called SHIFT. It was a mix between Sokoban and Chip's Challenge and had a bonus level similar to Maze Of Death. Only difference was the level was not randomized and it was insta-death.
For development I used CBM prg Studio, an IDE for Windows. You can code in BASIC or Assembler, draw sprites, charsets, etc. and test it directly in an emulator like WinVICE after compilation.
Maze of Death was completely written in BASIC, except for a little routine in Assembler, which activates the charset modifications. After I felt happy with the result I compiled the code with Austrospeed, an old BASIC compiler for the C64 (saved the code to a disk image, launched Austrospeed in WinVICE and compiled the code in the emulator). Without it the maze generation takes almost a minute. The compiled code generates it within around 15 seconds.
One thing I think might improve the game is to make it a little more Minesweeper-like by letting you mark possible walls. Whenever you hit a corner, there's a chance of taking the right direction, which is actually bad for mapping purposes, so I was sacrificing lives just to indicate both edges of corners.
Nice, that you thought of Minesweeper. In the end I think of it as a mixture of Minesweeper, Simon Says (because you have to remember the way you walked) and a maze game. I already have some ideas for improvement like bonuses that reveal part of the maze.
For mapping I sometimes die on purpose.
Played it for a while and having to remember the route I took made exploring more exciting since I couldn't just run through it (at first). Having to do the same route over and over again was rough on my hand and in my 3rd run I got as far as the picture below shows before I had to take a break.

Loved the concept and had fun. Hope this project doesn't end here!
I really like the idea of saying how many free directions there are, it both provides a little information, and provides some sense of security (I knew that I had not missed a possible path to the exit).
For the game itself... I have a question: when you were developing this, how many times did you finish a level? Because it took me 15 minutes and I wasn't even a quarter of the way through! I stopped after I started getting pain in my wrist from pressing arrow keys ;)
I love the craziness of it - but that's slightly too much. I think it would be better if brown walls were no-longer poison (it sucks to die while trying to get back to where you were - even though you can see everything!), and dying should expose more than 1 block: perhaps all 9 spaces around where you died.
Also, I think it would be good that somehow the uncovered corridor pieces (more than 2 tiles in straight line) - that are obviously walls and you will never hit - would become visible over time... then it will be more visually "busy" and look cool I reckon.
Lastly, wacky ideas, you can sacrifice one of your lives for a "light bomb" that exposes a bunch of the map, BUT, your corpse is then located in a random location (preferably somewhere in the path to the exit) - so it's hard to recover.
Anyhoo... I really enjoyed this! I was thinking of doing a C64 game (instead I just stole the color palette!), now you've inspired me for the next LD!
Great work!
I finished the game once or twice during development, but was very lucky with the starting points. ;) Every level generated is possible to solve, but you're right (as some other mentioned also): the game takes too long. Almost anyone commenting said that and all of you are right.
Some of your ideas will make it to a better version of the game. Honestly I already had thought of some of them - but the concept of the "light bomb" is new and sounds very interesting to me. I had thought of that, too. But wanted to solve it another way - your suggestions sounds much better.
This is already my second C64 game on LD. The other one was a buggy mess and I also did not thought the end game through. I need to improve that in the future. Still people liked it a lot and I'm already working on an improved version.
Next time I hopefully can do one in Assembler.
Thanks again for playing and voting(?) for my game. I already voted for yours a few days ago. ;)
Incredible to see a retro game made in old tech in just 48 hours.
The graphics are good for the technology and the game concept is solid for its era.
The game overall is very hard since each step closer to the goal increases the game's complexity so this leads to a significant slowdown over time. Maybe a teleporter system could have alleviated this.
I had no sound, which was a pity because I was totally looking forward to hearing the good old SID chip again. Whether that was due to some technical issue or whether the game has no audio I cannot tell.
Overall it's a neat entry that took me back on memory lane. Thanks a lot!

Yes, there's sound, but it's only a stepping noise at the moment. You didn't miss much. ;)