Friday, December 11, 2009

Video games

As a child I loved video games. No really, I liked video games more than just about anything else in life. I grew up in the golden age of arcade machines and I spent hours watching people play Pacman, Donkey Kong, Tron, Mr. Do, Mario Bros. (just the regular, not the super), Spyhunter, Dragon's Lair, and many others. And when I say I loved video games more than anything, well, here's a few examples.

In grade 2, I had a huge crush on Leah Hilson. My very generous sister somehow manage to arrange a playdate over at her house on my behalf. I went over to Leah's house and her mom asked me what I wanted to do, listing the swimming pool, treefort, board games, and the Atari. Bingo! I sat and played Pitfall for 6 hours and didn't speak to Leah once.

When I went on ski vacations with my family, the lodge had an arcade on the second floor. Many days I would claim I didn't feel like skiing in the beautiful Wasatch mountains and instead spent the day hanging around the arcade watching people play video games. Of course there was always that dead time between 10 and 3 where everyone was out skiing and there was no one playing in the arcade and I didn't have any quarters. But I didn't mind. I'd just watch the endless 15 second loops of sample game play that the machines used to lure you in.

During the summer holidays, there was nothing I liked better than to bike to downtown Burlington and spend my day hanging out in the Golden Nugget Arcade. It was a dark, grimy, smoke filled, heavy metal playing, drug dealing pit. But I couldn't be happier than when I was hanging around there watching video games. Every so often, I'd find a quarter on the floor, or a leftover credit on the machine, and then joy of joys, I actually got to play video games.

Naturally I wanted a home system so that I could play video games all the time. I really hoped that my mom would buy me an Atari, or a Colecovision, heck I would have even settled for a Vectrex. Instead she got me a TRS-80. Unlike the previous consoles I mentioned, the TRS-80 actually had a full keyboard, and a pretty good embedded BASIC system so that you could learn something about computers. You could even play great games like Dungeons of Daggorath.


This attempt to sneak something educational into my life was surprisingly effective. Rather than spend money on expensive games, my mom bought me a book of code listings. Yes, I could play a game if I just first transcribed multiple pages of dense BASIC code onto the computer. Luckily you only had to type all the code in once, so long as you had an attached tape recorder to save your work. Any boombox would do, so long as it had a record button. Old BASIC code is terrible. Rather than naming the slots that store your scores with descriptive names like PlayerScore and HighScore, the severe memory restrictions of the computer meant that these slots would be called PS and HS, or as was often the case AA and BB. So it wasn't easy to learn anything from transcribing these listings, but I did get a sense of how to branch execution, assign values, and abuse GOTO statements.

In High School I started taking some programming courses. But I was bored with all the data structures and information processing. I wanted to make video games, and you couldn't easily access the graphics hardware from Basic or Turbo Pascal. So I purchased a copy of Borland's C++ and learned to program by reading the manuals that came with the compiler. Ouch. Later I found a great book on graphics programming, and wrote a few games using the secret Mode X VGA resolution of 320 x 200 (just a wee bit smaller than the iPhone's resolution of 320x480). Then it was off to University, with dreams of becoming a great programmer, and hopes that I might one day work for a real video game company like Blizzard.

Sadly, in University I was exposed to women, socialists, and scientists, and my dreams of becoming a video game programmer started to crumble. Instead my 20s saw me through a string useful, but dull programming jobs:

Writing scheduling software for Inco - oh the girls are out to bingo and the boys are getting stinko and there'll be no talk of Inco it's a Sudbury Saturday night. Yes, that Inco.
Writing cash register software, or point of sale software as we liked to call it.
Working for the investor ripoff con ModernGroove.com.
Writing a filter to import Outlook 2000 mailboxes into Outlook 2001.
Writing plant control software for Lehigh Cement.
Writing translation filters to import data from PeopleSoft into Business Objects.
Developing visualization software to overlay microarray data onto protein interaction networks (yes Masters degrees are fun.)
Writing software for high throughput analysis of flow cytometry data.

I was once offered a job to develop a massively multiplayer online 3D game. But as it turned out, that game was poker, and I didn't really fancy getting involved in online gambling. In the meantime, Eddy, game designer extraordinaire, had been busily working on his hobby project Osmos. I played some early prototypes in Montreal and thought it was pretty darn fun, but when I saw the finished project I was blown away. I knew I needed to be a part of it. Luckily at that time, Eddy was nearing a total breakdown, and he was happy to offload some of the work. And so it was that I quit my cancer research job, and finally returned to the dreams of my youth to program video games. I've spent the past 2 months furiously working on the Mac version of Osmos, and it has been released today! But this time, I didn't skip any ski days for video games.

Go check it out at Hemisphere Games: http://www.hemispheregames.com/osmos/.




Addendum: I should point out that the finished product was incredibly awesome, thanks not only to Eddy's work, but also the rest of the team, Dave, Kun, Andy, and many more.

1 comment:

Nature Nerd said...

Hello? Hello? Have you decided to give up outdoor activities, music and quirkiness to play video games forever? It sure seems that way from your blog.