January 1, 2011

Best. Gift. Ever.

Last night, Erin and I opened presents that had arrived in the mail from my parents. One of them was a folded, unassuming manilla envelope, and inside was another folded manilla envelope. I unfolded the inner envelope to reveal a 5x5 floppy disk which, at first, confounded me. Looking at its label I immediately recognized my mother’s handwriting; it identified the disk as “Chris’ Game.” It was accompanied by a note from her, stating “The floppy disk may have Chris’s first programming efforts - a game in Q-basic, I think.” These simple words are precious.

My family is not one of technophiles, and in fact they might be better described as technophobic. They worked at a small college with a quaint computer lab, and one day a friend told me I could use that to make a game. My mind was blown! He then introduced me to the computer that would become my first workstation: an IBM (compatible) 80286 with a turbo switch. It was running a later version of DOS with a menu-driven UI called DosShell. Having almost no previous exposure to computers, I didn’t know how to be picky.

My friend didn’t know much, but he knew that much more than I did. He showed me how to navigate the system, how to start the QBasic environment, and how to evaluate simple statements (print to the screen, basic operators and math functions). I didn’t know what any of this stuff was, but I soaked it up with wonder and learned quickly. I don’t remember the exact date, but this must have been in the summer of 1992 or 1993. In the following weeks I spent countless solitary hours exploring the computer, spending most of my time in QBasic. A day or two in, I started writing my game.

I remember this game. I remember its source code. It was a text-based game of monsters, magic, and battle. I remember the depression I felt when I concluded that it was impossible to randomize the output of a fight, a problem on which I had spent a day or two hacking to no avail. And then I discovered the interpreter’s help system, which eventually led me to the RAND function (a pseudo-random number generator). This proved to be a solution to my problem, and behold, nondeterministic battles! Anything was possible! I did what I wanted, coding with pure joy and blissfully ignorant of any consequence other than bugs in my game. Everything I did, I did to make the game better: I added stronger monsters, magic, shops, items, weaponry, and commerce (you could buy and sell items and weapons). It was awesome! More than awesome, it revealed a lasting passion in me at a fairly young age: I loved to program.

I’ve received many gifts of sentimental value in my life, but never one I’d describe as “grounding.” In a month I’ll be 30 years old. 30! We change and we grow, and sometimes an analysis of who we are compared to who we were leaves us puzzled. To hold this 5x5 floppy disk in my hand; to reflect on the stumbling, clueless child that I was as I elatedly copied my source code to and from its magnetic memory some 17 years ago is truly grounding. What lies encoded on this disk is an immutable fragment of me; a reminder of who I am. I cannot imagine a better gift!

Happy New Year to all. To open 2011 I impart this simple declaration to myself and you all alike:

Do what you love and do it with passion. If you aren’t happy, do something else.

blog comments powered by Disqus
  1. iamchrislewis posted this