Thursday, February 22, 2007

Projects I Will Complete Someday #2

This is another video game related project I've been working on. I want to program an Atari 2600 game, and maybe even sell a copy or two. I started this a couple years ago and my interest has been renewed recently.

A few years ago I discovered a website called Atari Age.com This was a great site to find out stuff about Atari, especially the earlier years. It had many old catalogs and a big database for Atari roms and instruction manuals. It also has a couple tutorials for programming.

I thought it would be really cool if I could make an Atari game, but I put it off for a while. It wasn't until the beginning of 2005 where I had too much free time. I found a pdf file with a tutorial for programming and it included 24 steps. I skimmed it and thought it would be perfect. I downloaded the tutorial and DASM, a program that converts Atari 2600 code to roms.

I enjoyed reading the tutorial for the first several chapters. It helped me learn about how televisions work and it gave me an opportunity to apply some of the stuff I've learned about binary numbers.

Sadly, I eventually learned that the tutorial wasn't complete. Further more, even though the Atari is primitive enough that one programmer is enough to do everything, it's also really difficult. You have to program every single horizontal line on the television, and you also can do only so much on one line before you need to move on to the next. The Atari 2600 was originally designed with Pong in mind, and nobody at the time (probably) could foresee all the classic games that Activision made in the early eighties. You only have a ball, a couple sprites, and a couple missiles to work with, and manipulating those so you can make it appear that you have more was way beyond me. So it looked like my dreams of making an Atari 2600 game was over.

I bounced around a couple other projects. I tried to learn to program for the Atari 800, which was a computer I played with as a kid, and the NES, which used the same machine language that the Atari did. Then, during the summer of 2005, someone released something that could solve the problems I had before. A guy named Fred Quimby - if that's his real name! - released Batari BASIC, which allowed people to program for the Atari 2600 with a much easier to use language. This thing was incredibly exciting, and I downloaded it immediately.

I spend several weeks trying to make my first game. I had a decent idea in mind when I started learning how Batari BASIC worked. The first release of Batari BASIC was very primitive, in that it expected you to space everything properly and it required line numbers. Which I didn't care about because I just wanted to be one of the first people to release a game on a forum that was created for this. It was one of the few times where I started a project and saw it through to the end without quitting.

My game was "Homsar" which was based on the Strong Bad email of the same name. The basic idea I had was a reverse Kaboom!, where you had to dodge something instead of catching it. Instead of a paddle I let the joystick control Homsar as he dodges back and forth avoiding heavy weights (actually just blocks that are part of the playfield.) I threw in a missile that had to be avoided, because I could. It took me a long time just to get the timing of the weights right.

Of course, just dodging back and forth wasn't enough, even if it had a funny Internet character. I had to throw in as much gimmicks as I could. I created a title screen and included all the email text from the cartoon. Since Batari BASIC lets you have a 6 digit score, I threw in three short intervals. You could see Homestar, The Cheat, and Trogdor, but I made the necessary scores very high. I even added some sound, but mostly a death sound and the song that Strong Bad sings at the beginning of the email. I eventually released it to the forum.

It now has almost 250 downloads, and I've even gotten a couple emails about it. There's just one problem with it that stops me from releasing it as a game. Well, two, if you count the fact that I don't own the copyright to the characters. The problem with the game is that it's not what I would call complete. The blocks always fall at the same speed. The missile never gets faster. The game should get more and more frantic while staying fair to the player, but instead it just stays the same. Part of the reason is that the first primitive version of bB made it really difficult to update code. Also, I had moved on to other bB projects that ultimately went nowhere.

After I released Homsar, bB 0.2 and 0.3 were released, which removed annoying stuff like whitespace issues and line numbers. Despite that I struggled making a second game, my ambitions way bigger then my skills as a programmer. The only successful thing I did afterwards was make a "video" for Lita on her 25th birthday. I would show it at youtube but it uses her real name and it tells a lot of jokes that only a dozen or so people would get.

So that stop my dream for a while. Quimby eventually released a .99 version of bB, which included the ability to have more then two sprites on the screen, but I never got far with that. I guess my heart wasn't into it. I had a notebook filled with a couple ideas, but I haven't touched it in a while. Plus, I had recently gotten a job, so my too much free time became just a lot of free time. I moved on to other stuff, like the portable NES project I WILL SOMEDAY DO, REALLY!.

Yesterday, I saw what resurrected my interest in making a game. I was looking at my rss feeds at My Yahoo and saw an update for Atari Age. Quimby had just released bB 1.0. I haven't kept up on the features of Batari BASIC, but hopefully I can eventually find the time to sit down and write a few programs. Maybe one day I can advertise a game cartridge that was programmed by me. Then I could make like five bucks and travel to retro game expos begging people to buy my game. My friends will buy a copy of my game just to shut me up! It'll be great!

No comments: