I want to be a game programmer (sort of)
One of my not-so-secret obsessions is game programming. Last year, or the year before, I bought Maneesh Sethi’s first edition of Game Programming for Teens. The book is straight forward, a fun read, and gives you lots of fun examples.
What I really liked about it is something that Maneesh helped me find in myself: the creative wonder I had when I first started programming.
My first programming experience was on a Commodore 64. My parents gave it to me for Christmas as the “big gift”. I was dissapointed because I really wanted an IBM clone or an Apple. Apple had those really cool magazine advertisements with the cluttered desk. For some reason, that appealed to me. I had no idea how cool the C64 was at the time.
With my Commodore, I also got a Dataset and some blank cassettes. I hooked it up to an ancient black and white television that was left at the house when we bought it. I used one of those video game switches that converts the signal to two antenna prongs. It was the same thing you used for Atari 2600s and other computers at the time.
With a much-cherished subscription to Family Computing magazine, I would hunch over the keyboard entering line-by-line of the programs in the magazine just to see what they would do. After entering hundreds of lines of cryptic gobbledy-gook I would either be rewarded with some not-so-exciting maze game that just wouldn’t seem to work correctly, or coldly punished for fat fingering something which I just could not find. Sometimes the program would not fit on my 30 minute cassettes or wouldn’t load. Good times.
Eventually I got a cool color TV/Monitor, a dot matrix printer, and a Commodore 1541 single floppy diskdrive. I don’t think my drive had the pretty Commodore colors on it, but I’m not sure. With the floppy drive, my save/load times were finally tolerable. I got a copy of SSI’s Pool of Radiance and a random lot of computer games, including Alien from Argus. I used the Atari joysticks until I got some super-cool looking joystick of my own. The Atari ones were still better, though.
I remember many nights staying up playing Pool of Radiance with a fan blowing on the Commodore power converter to keep it cool. If it would get too hot, the computer would just shut off. I figure out that I could play longer on hot summer nights if I tipped my fan over on the big black block on the power cord.
But what I really wanted to do was write my own programs. I had a spiral-bound book of graph paper that I used to map sprites. I would sit in my classes in school trying to figure out how to make something interesting out of the pixels.
The most advanced thing I managed to make was something that looked like a first person shooter. It had a crosshair like a World War II gun in the center. When you pressed the spacebar, lines would come out from the bottom corners and move toward the crosshair. The idea was to make an alien shooter with moving aliens that would fly around you. You would have to use the joystick to rotate until you found them. So they could attack you from behind. It was a goal that was never realized. The math involved to calculate relative movement in a programming language I barely understood was just part of the problem.
I eventually did some programming in TRS-DOS in High School and found my way to college where I tried Pascal. The class didn’t seem very interesting and I probably wasn’t really ready for college. I withdrew and didn’t program for several years. When I returned to college, I took the same Introduction to Programming class which was still using Turbo Pascal. This time, I did well enough and was interested enough to make Computer Science my major. After learning C, C++, Perl and Java, I managed to become a professional programmer.
But, what I really miss is that creativity of programming a game. Maneesh’s book reminded me how fun it was. Maneesh uses BlitzBasic as the programming language. The language is obviously a BASIC derivative. It’s easy to write, easy to understand, and geared toward game programming.
Games are much more advanced these days than when I was hacking around on the C64. I know I have no hope of writing a commercial quality game. But, writing a game is just so fun. It rewarding to be able to goof around with something you wrote. In contrast, it’s not so much fun to run Telecommunications software over and over. It’s challenging, sure. And it pays the bills. But most of the time, it’s not what I would call fun.
Inspired by Game Programming for Teens, I decided to write a simple game of my own. At the time, Blitz Coder was still an active web community. There was a wealth of information available on the site and it’s too bad that it’s gone now. The replacement isn’t as good, in my opinion. I saw many, many posts from people asking “what’s the easiest way to write a MMORPG?” Seeing how ridiculous that was, I decided on TicTacToe. I know TicTacToe doesn’t sound very glamorous but to write it, you need to do go through the process of doing what you would need to do for a bigger game. Once you have the mechanics down, the difference between games is game logic and slick graphics. TicTacToe is a great simple game that would allow me to exercise the BlitzBasic language and get into the groove of writing a game.
I used BlitzPlus and Protean IDE to develop EDH:TicTacToe. Protean is now open source. I paid for my copy at the time.
As with most indie-games, EDH:TicTacToe is incomplete. I haven’t added multi-player support and I didn’t make a way to choose the difficulty of the computer opponent.
If you enjoyed this post, make sure you subscribe to the EricHolsinger.com RSS feed!















Leave your response!