Making an Atari game – Day 24

My first (ugly) attempt at a title screen
My first (ugly) attempt at a title screen

I have played around with using the Title Screen Kernal however I found it just took up too much space that I wasn’t willing to give to it. I thought I would mention also that when I ran one of the example title screens from the kernal (The colour by flicker example with Yoshi), it really messed with the display on my MacBook. Even after I shutdown Stella, I could still see Yoshi burned into the screen of my Mac. This freaked me out quite a bit. I tried everything to get rid of it. Rebooted several times and nothing seemed to be working. Thought I really damaged my computer for a bit, but I think all it took was time? I shut the Mac down for a while and after a couple hours when I opened it back up, Yoshi was finally gone. Thank god for that, but the experience has kind of scared me away from color by flicker. So I decided to code my own simple title screen which I am really happy with how it turned out. Also created a little intro sequence for when the player starts the game, the player will walk over towards the entrance to the Catacomb and begin to walk inside it. Perfect.

The start of the title design
The start of the title design
The finished title screen
The finished title screen

Not a bad looking title screen for not using the title screen kernel, if I can toot my own horn for a moment lol. The number 1 on the screen there is the selection of game variations. I plan on having 3 but I’ll talk more about that later.

I also fixed a bug where the game would crash and reset on the actual 2600 hardware when the player entered the exit room with the ladder in it. It was caused by incorrectly using the “return” command with the draw player subroutine. Once I added the Title Screen intro sequence, this bug was born. This is when I changed the subroutine to execute a return command instead of a goto statement because I needed it to send the computer back to the title sequence when called instead of the main game loop as usual. This caused a nested return sequence that needed to be fixed. This bug could never be replicated during the emulation,  Stella seems a bit more forgiving with nested return commands.