The Start of My Games Programming Journey

I started programming games on my Apple IIgs (yes, our family was fancy and we had the high-end “Graphics and Sound” Apple II). It was 1989 and I was 12 years old. Looking back, that does seem surprisingly young to be programming; I even remember getting into bit operations and some 6502 assembly. But really, on a national and global scale, it was not that strange. Many programmers I know of or know personally started around that age as well, and compared to some, you might even say I was a late bloomer.

I suspect a good reason for this was simply how accessible programming was back then, even to-the-metal programming. When you booted your Apple II (or most other home computers of the day) if there was no disk available, it would load straight into a BASIC language interpreter. In so many ways programming was the primary thing you did with computers (whereas nowadays, youtube and instagram seem to be the things - and I’m as guilty as anyone). Furthermore, the simplicity of the machine (the 6502 only has 4528 transistors. Modern CPUs have billions) and the thinness of the software layers on top meant that there was not much between the user the bare metal. These factors together meant a person with a lot of time could get a very low level understanding of how the machine worked.

So the environment was right to get into programming, and I did. I was also encouraged by working with a good friend of mine (Mark, who was the same age). I always say we taught each other how to code, as so much of my early programming experience was working on games and projects with him. As a result, I worked on many little games over years, eventually graduating to PCs and C++, such that by the time I started my CS degree in college I had a decent leg up.

Below are some of those earliest projects we worked on. Unfortunately, I don’t have any record of the very first Apple II/BASIC era stuff. But perhaps that’s for the best. I’m sure none of it was all that good anyway! But the projects here, all on PC in C++, are at least, if nothing else, non-trivial, and show the energy and love of game programming that Mark and I both keep to this day.



“Human Extinction Prevention Protocol”

'Space'


How about that for a game title! Good thing MS-DOS 6.22 only allowed for 8 character filenames. On disk the game was just called “Space”, and that’s generally what we called it as well.

Anyway, Space was some kind of Galaga clone. Mark and I were both “shmup” fans, and so trying to make one was a no-brainer.

Note, the video capture above is from the DOSBox PC emulator. For some reason the game runs pretty slow in it.



“Escape”

'Escape'


At one point in high school I was famous (or infamous if you asked the teachers) for having made a game for the TI graphics calculators we all used called “Pi Eater”. It was a character based game where you played a Pi character (chosen because it has legs) and your goal was to walk around a map, eat all the food pellets, and then escape to the next map. It was rather simple, but my classmates seemed to enjoy it, and it wasn’t long before the game had been copied on to many other calculators. You could say it was my first hit! Years later, well out of high school, I even heard that the kids were still playing it, and that when their teacher said he knew the person who wrote it, nobody believed him!

Anyway, the success of the simple calculator game inspired me to try to make a more complicated version of that game on PC. Unfortunately, I never did get very far. What’s here is really all there was to the game before I stopped.

Note, in the video above, I’m only moving up because I was not able to figure out how to get my controller working in DOSBox.



Anodyne

'Anodyne'


This was one of the last games Mark and I had worked on before graduating and moving on to college. Perhaps interesting, it was meant as a entry to a video game content run by Enix software (of Dragon Warrior fame). I believe Enix was looking for fresh ideas and the winner would get their game made somehow. In any case, we didn’t win, but it was fun to try, and as a consequence, this is one of the more complete projects we’d ever worked on. It has a start, middle, and end, at least. And it also has a fairly novel design, that’s got hints of things like Power Stone and Smash Brothers, though those game did not yet exist.

As with the other projects, the video above is of the game in DOSBox, and so it’s running quite slowly.



Test Maker

'Test Maker'


This isn’t a game, but I’m including it here because it was another large-ish project that Mark and I worked on, and one of the few (like Anodyne above) that reached something of a feature-complete, state.

Also, this project is special to me because it was for class credit, under an independent study setup that my math teacher, Richard Anderson organized just for Mark and I! I could write a whole series of blog entires about how lucky I was with all the incredible teachers I had in my youth, and Mr. Anderson was among the best of them. He noticed our interest in software programming, knew the value in supporting that (he was into computers and programming too!), and then, most importantly, he proactively did so, by giving us this for-credit project, and doing all the extra work required to guide us, and review the work.

Sadly, I believe Mr. Anderson is no longer with us. I regret that I was never able to go back and thank him in person. His support was a meaningful step along the path that led me to getting my CS degree and into professional game development.