My Life Story: Programming

Posted Jan. 5, 2014, 6:48 p.m.
tags: Personal

Early Days

My interest in programming started in high school when I realized that I could write my own scripts on a TI83 calculator. Math teachers would routinely hand out a script for solving quadratic expressions, so I busted it open to see how it worked. I was able to reverse engineer some calculation scripts of my own. Students would line up after chemistry class to link with me and get the latest shortcuts I came up with for each unit. I saw a few games for the TI83 floating around, but never imagined that I could make one.


Part of my required college curriculum was a class on Matlab. It was pretty bad - the professor would write scripts for us and we would insert parameters to get the desired output. Most students learned just enough to be scared of programming and fled at the mention of Matlab after the course was over. I tried to embrace it and put in extra time to understand how the scripts worked while learning Python at the same time. It ultimately paid off, as two of my senior-year projects were written entirely in Matlab.

I was encouraged by my experience with Matlab and continued to learn Python. My first few games were simple - guess the number and hangman - but I started to make more complex text-based games. I made one about planetary colonization that allowed the player to discover and terraform new worlds. A roommate challenged me to make a procedurally-generated text adventure, which I was able to do in about a month. It seemed like anything was possible if I put my mind to it.

The Real World

In 2010 I began learning Pygame, which let me put graphics into my games. Though exciting, it added a layer of complexity that I may not have been ready for. My projects became more ambitious as I tried to make a game similar to Golden Axe, but I hit the limits of my understanding and got overwhelmed. My code became a disorganized mess and I stopped programming for almost a year.

In 2011 I stumbled upon Game Dev Radio, which recommended the tools and books I use to this day. I ordered Challenges for Game Designers - which I highly recommend for anyone interested in making games - and began working through the exercises. I learned how difficult it is to design interesting game systems, and was intrigued. I learned Stencyl through their excellent tutorials, but didn't get far before discovering one of the best sites on the internet: Codecademy.

I spent the first half of 2012 blasting through the web development track on Codecademy. HTML and CSS were simpler and more immediately rewarding than my experience with programming, which spurred me on. Around the holidays my brothers and I got together and played a tabletop RPG, which reminded me of my childhood. We had the sort of fun you can only gave gathered around a table, which was becoming less common as we grew older. That gave me the idea for my first web project - Ludimus - which aimed to let us be creative and stay in touch throughout the year. I picked up a Python-based web framework called Django and took the first quarter of 2013 to finish the project.


Mid-2013 saw me taking an online class in game development with Python through Coursera. It showed me how to organize my code, removing some of the frustration I was having with Pygame. Though the weekly projects were heavily guided, it felt great making games with my own code.

One of my goals for late 2013 was to participate in a game jam - a rapid game-making competition. I took a deep breath, re-familiarized myself with Stencyl, and headed to a site in Eugene for Ludum Dare 28. It was an extremely positive experience. It gave me energy and courage to work on other projects in my off time, including this website.