Game development for the Atari 2600
This is the first piece of art I have finished for Deepstone Catacomb’s manual. It’s slowly but surely coming along. I tend to sit down with a nice hot cup of coffee and draw throughout the night. Taking my time with it and enjoying the whole process.
I sent ZeroPage Homebrew the first beta to play/review on their show. The first show went quite well but a small bug involving the Master Sword appeared. I made some last minute changes to how the Master Sword Appears the night before and kind of broke it 😬. The bug basically made the Master Sword only appear in the game about 50% of the time.
I thought about it at work and kind of realized it would be an easy fix. Fixed it when I got home that morning. The next day (Friday) I tuned into ZeroPage on their Twitch live show, and they happened to finish the game they were playing (Spider Fighter) early and decided to give Deepstone Catacomb another go. So the second video below is that play through with the updated binary of the game (Master Sword bug fixed version).
Please Like and Subscribe if you enjoy it. ZeroPage plays great new homebrews for the 2600 a couple times a week and some other retro consoles on rare occasions.
I finished up the Game 3 variation. There is now random enemy swarms on each floor. I also made it so after floor 64 (if anyone ever gets that far, I doubt I even will), the game will no longer drop helpful items like chicken or mushrooms for the player. I also made an enemy speed limit so the game doesn’t ever break. The fastest an Enemy can move now is 6.0 pixels per frame, which is insanely fast. However the fireballs can reach up to 8.8 pixels per frame which is very insanely fast. They may get stuck in a wall here or there going this speed but should be able to bounce back out. The average player will never get to see them go this fast, god knows if anyone ever will. If someone were to manage to get to Floor 100, it will appear as floor 00, and then roll back to floor 01 after that. The speed will still remain maxed out at that point however. If you are that good, you are no longer human… you are a machine.
At the very end I managed to squeeze in a few more sound effects. I got the steps down the ladder sounds at the end of each level in there now.. This made a huge difference. I always wanted that in there but didn’t think it was gonna fit. I also added another sound for the beginning of each floor. This also makes a big difference I find, in feeling like a real game. Which I guess it really is at this point. So I guess it’s safe to say…
The game is fucking done guys!
This was a crazy challenge that I managed to do in 30 days over a period of six months. I took this on as a small side project to kind of wrap up quickly. Gave myself a 30 day deadline but really didn’t realize that while working a 12 hour night shift and also having fun/spending quality time with my girlfriend, that it was really hard to get 30 free days to program.
It doesn’t end here though. I’m going to beta test the hell out of the code (which I’ve been doing all along as well) and begin creating the artwork for the manual, cartridge, and box. I will also need to create a page dedicated to this game as well on this site. This should be really fun. I will share all of this as I go along as well, but from here on out it definitely won’t be daily updates. They will be very far and few between.
A lot more work ahead, but man does it feel good to have a complete, working, playable game.
Also, I have emailed Albert Yarusso from AtariAge and sent him the version of the game I have completed so far to see if he would be interested in selling this game in cartridge form.
- Changed the Dragon’s Lair a bit. It’s now a different shape and helps it stand out a bit more from all the other rooms
- Added Torches to the two rooms just before the Dragon. Gives the player a sense that something big is coming up
- Added sound effects for when the monsters shoot at the player
- Made a few adjustments on the overall difficulty. I’ve been playing this for so long it is hard to tell if it’s too easy or too hard for the average player. Only way I’m going to find that out is by watching people play it, or through feedback online. I may have to release a beta soon, I hope you will help me with that 🙂
A funny story.. So with just enough free graphic space to create a single frame 8×8 sprite, I thought to myself… What should I do with this? Since I was working on placing torches in the room leading to the endboss, I thought “I know! I’ll make a door mat! In Zelda there is often a symbol on the floor right in front of the door to the endboss. Wouldn’t that be cool if this game had one as well?”
So I did just that. And yes I liked it but really, it didn’t add that much to the game play, so I thought, what if I used it to make another enemy instead? I have more than enough space now since I freed up 600 bytes. So I removed the door mat and created a fire ball. I created probably 4 or 5 different graphics of fireballs before I settled on the one that I liked the most. I made the fireball appear in some of the later levels and just had it move back and forth, bouncing between the two walls in the room, but also moving faster than any of the other enemies in the room.
This was way better than a door mat lol. This actually added a little variety and something new to the gameplay. I found this story quite funny. I was telling my friend Paul at work about creating a door mat first then replacing it with a fireball, and how stupid it would have been to go with the floor mat when something clicked…
The beginning of each floor has a cross symbol to let the player know he is back at the beginning.. What if I took that same cross symbol, stretched it out in code, and used it as the doormat as well. As long as it looked good stretched and wasn’t seen as confusing to the player. So I tried it, and yeah, it looked pretty good. So I managed to have both the fireball and the floor mat without sacrificing anything for cosmetics. 🙂
Today I wrote the code that spawns the final endboss of the game. The code simply checks if the last dragon is dead, if so it then places the final endboss at the bottom of the screen. I also placed the tracking missile object in Y location value 199. This is far below the screen so it doesn’t appear for a while as it makes it’s way up to the player. I did this to give the player a little more of a chance to get some free hits in because I feel the game may be difficult enough as it is. Plus it’s a nice short break in between battles.
One thing I thought would be really cool to add to the game is a reward for killing the Dragons. Where the most treasure I can drop in a given room is three coins, this isn’t really possible. I would like a little bit bigger of a reward for slaying a difficult Dragon. So what I came up with was to turn the entire next floor after the dragon into a treasure floor. This way it kind of feels like the Dragon was guarding it’s treasure and you get to collect after slaying the beast. The way I did this was to just basically make the Atari kill all the enemies on the Treasure floor as soon as the player enters the room. This way, no monsters are seen and the coins appear in every room for the reward. I also made all of the treasure floors gold in colour to emphasize this.
One thing I found with the treasure floors was that it wasn’t very smooth or fun to run through with some of the rooms being rooms with obsticles (walls) in the way that you had to navigate to get to the next room. So I solved this by making every room a corridor (hallway). So it’s more of running through a series of tunnels collecting gold then rooms. Pretty happy with how this turned out.
I also changed the way the code colours each floor. This will also help for making the Game 3 Random dungeons randomly coloured as well.
Quick notes on some other things I squeezed in:
- Redesigned some of the monsters a bit and added a cool Skeleton guy that ended up being mine and my girlfriend’s favourite enemy.
- Play tested the crap out of it, trying to set the difficulty to a fair pace.
- “Think” I fixed a bug where the player will hit an enemy just on the top of it’s head, the sound effect will play as if it were hit but no damage was taken by the enemy.
- Removed Easter Egg Room which saved enough graphic space to add a cool Easter Egg (Telling you more about this kind of defeats the purpose of the Easter Egg so I guess I’ll just leave it at this. :p )
I Found Huge amount of unused Code in Bank 5 (I completely forgot I set this chunk of code aside a long time ago in case I needed to go back to it), Deleted it and saved 600 Bytes to play with 😀 Not sure what I am going to do with it yet…. Maybe try rearanging some code into Bank 5 and free some space in Bank 6 to have sound effects for the Enemies shooting (Throwing projectiles) 😮