ctrl-alt-Development

Your hotkey to alternative software development

Mandatory Movies

I love movies, especially if they have a dystopian theme to it. Some of the best:

Fire Breath

A previously unreleased C64 Game - v1.1 out now!

Fire Breath

A relic from the past. I recently revived my C64 and found one of the games I made. I remember to have tried to get it published but the disk was returned witout comment so I suppose it was not good enough :-) Anyway, after having lied dormant for 26 years, I present to you: Fire Breath.

Fire Breath is a game about a fire breathing worm called 'Dozo'. He ate too much chillies, and jumped into the well to cool his tongue and now has to find its way above ground again.

Dozo cannot swim, so he must avoid water and the underground is populated with increasingly strange creatures that are deadly to the touch. Fortunately he has his fiery breath and various power-ups are lying around. To proceed to the next level all creatures need to be eliminated.

Can you guide Dozo back to the surface?

2018-12-14 ka-plus magazine has released a cover tape which features the v1.1 version of Fire Breath. If you want the full physical experience you can order a copy of the tape or deluxe box at the ka-plus shop.

If you don't, that is ok too, because you can download the bug fixed version (v1.1) here!

You can play Fire Breath in your favorite C64 emulator or on real hardware. Dozo is controlled by a Joystick in Port 2.

Screenshots

Title Screen The Well
First Level

Background

Inspired by Bubble Bobble and probably Creatures I wrote this game in the summer of 1990.

I remember to have lots of discussion about and play testing the game with a friend Raymond who also opted the name Dozo for the game's main character.

The game was written using the machine language monitor of the KCS Power cartridge and bits of paper to keep track of the addresses of the variables.

The music and sound effects were made with Ubik's Music and is (badly) borrowed from an album by Jean Michel Jarre.



Highscore screen

Fixing the Bugs

In the summer of 2018 I was contacted by ka-plus magazine if I would be interested in a physical release of the game. 'Sure!' I said - then came the request if I could fix the bugs in it :) So I set off to reverse engineer the code I wrote 28 years ago.

I had only the PRG file to work with, as the game was written using the machine language monitor of the Power Cartridge. No notes were preserved. So I wrote a 6510 disassembler (in Java) and one by one I rediscovered the meaning of the the various memory addresses used in the game. First making notes on paper and then incorporating it into the disassembler until I had a good idea what the code was up to (including all kinds of weird self modifying code).

Me (probably) coding Fire Breath behind the C64

Then of course the bugs need to be fixed. To convert the disassembly into something that could be assembled again was kind of impossible so I wrote an assembler/patcher which allowed me to redefine pieces of the code without upsetting the lookup tables that were scattered around everywhere. I found and fixed many bugs, including one that occasionally would draw a blank screen - which was caused by sharing a zero page address with the music routine :)

Also I reversed the level layout format so I could add a few extra levels and of course I added a proper game ending - lucky for me, the graphics for it were already there. The full list of bugs squashed and features added are below in the release notes. In short, this is the best version of Fire Breath ever!


Links

Videos

v1.1 release notes (2018-12-14)

  • Ending: After completing the last level the is a 'Well Done' screen. It even has some music :)
  • Intro: You can skip the intro when starting the game by pressing the fire button.
  • Controls: you can change the direction Dozo is facing without making a move if you're quick.
  • Controls: when you release the fire button the flame animation stops too (it used to run for 16 frames with Dozo unable to move).
  • Enemies: Fixed a bug in the enemy movement routine.
  • Enemies: Fixed enemy placement on later levels.
  • Enemies: Fish enemy now jumps!
  • Enemies: Fixed a bug in the Enemy firing routine (Bub&Bob enemy now fires more)
  • Levels: Reordered the sequence of levels. Bosses and bridge scene are now more evenly placed.
  • Levels: Added 3 extra levels.
  • Visuals: Title screen color adjustments.
  • Visuals: Score and lives color adjustments.
  • Visuals: The title screen has 'v1.1' above the logo.
  • Visuals: Water movement animation.
  • Visuals: Sprite placement adjustment for some tiles.
  • Bugs: Freeze powerup: freeze pattern corruption.
  • Bugs: Freeze powerup: enemies should not fire when frozen.
  • Bugs: Fixed screen corruption due to bad memory layout selection.
  • Bugs: Fixed screen corruption due to zero page shared usage.
  • Bugs: Fixed some corrupted characters on the highscore screen.
  • Bugs: Fixed a bug with the speedup bonus being kept in new game.

v1.0