Gamecraft

This blog is all about the craft of making games, and in particular, computer games. Gamecraft involves a broad range of topics, including design, development, quality control, packaging, marketing, management, and life experience.

Name: Gregg Seelhoff
Location: East Lansing, Michigan, United States

Monday, October 24, 2005

My First Programming Experience

I have been programming computer games for more than a quarter century.

After reading the diversity report from the IGDA, which concludes, among other things, that the average tenure in the game industry is only 5.4 years, I started to think back to my very first programming experience all those years ago. I dug out an old posting where I recalled the day that my career started. Forgive me while I reminisce...

On Friday, December 22, 1978, I met up with a friend, Harold Stewart, while visiting my father in East Lansing during Winter break. It had been only half year since I had moved to Houston, but there were changes in town. Harold took me to a new place called New Dimensions in Computing. There he introduced me to a friend of his, Rob Raisch.

The big selling point of the visit was "video games", so Rob sat me down at an Exidy Sorceror where a game of Wizard's Castle was in progress. In retrospect, given that I was already an expert in the (then very limited) area of video games, with a growing interest in Dungeons & Dragons, a text-based RPG in BASIC was probably the best possible introduction.

I was hooked by the concept of being able to play whenever I wanted, at a deliberate pace, without having to feed in quarters. The interaction was novel, and I could even play different games on the same machine!

Then it happened...

In the game, I walked "N" into a room with an angry monster. Without a chance to do anything but panic, it attacked, hit, and "You are dead." Bummer. Rob heard my sigh and told me to hit the [Control] and [C] keys at the same time, and I followed his instructions. I thought I broke something, which I discovered I had.

"Type 'LET H=100'. Good. Now hit [Enter]. OK. Type 'CONTINUE' and hit [Enter]."

I did as instructed and, lo and behold, my character was back to life. Not only back to life, but powerful. That is the way I felt, too. Not only could I play different games on one machine, at my leisure, but I was in control. My character could be immortal; I felt omnipotent.

Anyway, after some discussion, and more than a little coaxing from Rob, I decided to relinquish the current game. (Remember, the idea that one would actually quit a game in progress was new to me, being contrary to the idea of arcade video games.) He wanted to show me something even cooler, but not a game.

In the course of a few minutes, I learned about "NEW" and "RUN", line numbers, variables, "FOR" loops, and the "GOTO" command. I was able to use earlier knowledge to get out of that early BASIC program everybody writes consisting of an infinite loop of "PRINT" with ones own name.

The seed was planted, and I realized that things were going to change. I returned the next day, met a college student who was trying to figure out why his program to distinguish among prime, abundant, deficient, and perfect numbers was not producing the correct results. Honestly, I just wanted him to finish so I could try this programming thing again.

After the student spent a few minutes explaining the concepts of perfect, abundant, and deficient numbers (primes I already knew), I looked through the program listing on the screen with him and spotted the error. Debugging on my second day, and helping a college student (while still only in 7th grade myself )... I was definitely hooked.

I had no real agenda when I returned to NDIC that Saturday afternoon other than to get my hands on the machine again. After helping to fix the number theory program, we started to make more changes, working together to try to discover patterns in the relationships of abundant numbers to primes, just because we could.

Alas, it took me three and a half years, and the proceeds from my first professional programming job, before I actually got a personal computer of my own, but I spent the intervening years begging and borrowing access whenever and wherever I could. When that failed, I actually wrote game programs, twenty or thirty pages long, in pencil on lined paper, to be typed in when I next got computer access. (I still have a few.)

Now, all these years later, I am still programming computer games. Most importantly, though, I still really enjoy what I do.

0 Comments:

Post a Comment

<< Home