Questions or comments? Email me!

Age 16: a Postmortem

The product of four years of learning programming. A thousand lines of code per month. Year sixteen.

Summer 2012

What Went Right

At this time I took the plunge and fully abandoned Windows for Ubuntu Linux. I also chose SFML as my main game development library. Both of these important choices changed a lot of things for me, most all of them for the better.

What Went Wrong

Dodger (uncompleted) wasn't well organized code-wise. I wasn't very productive (with the exception of some web coding).

Next Time...

I need to learn to be more productive as well as structure my code better.

Fall 2012

What Went Right

An abstraction layer for SFML ended up making migration to new libraries massively easier (like SFML 2.0). I also successfully implemented SAT collision detection and response. Collision coding still troubles me.

What Went Wrong

No games were made fall of 2012 (I'm counting Initio in winter), and the SAT code was absolutely horrid.

Next Time...

I need to plan more and be more productive.

Winter 2012

What Went Right

My first game, Initio, had a very versatile class design that made it extremely easy to implement new pieces of the game. The development of Initio was very smooth.

What Went Wrong

In order to speed up development (and follow KISS), I used the STL for all dynamic data structures. This ended up being a great decision except that when I was porting to Windows I learned that I wasn't using the STL exactly as intended. I fixed the problem and have used the C++ STL successfully since. Also, Initio's source code was very messy.

Next Time...

I need to learn how to debug better as well as test across platforms more often.

Winter 2013

What Went Right

In winter of 2013 I implemented my own tile map system and tile map editor for a custom map file format.

I also swapped out SFML 1.6 for SFML 2.0 in my "base" game library. This ended up proving the power of the abstraction layer in that most all of my games could be compiled for SFML 2.0 without even batting an eyelash, especially because I learned how to make statically linked libraries.

Oh Ship! was the first game I made for #1GAM. Oh Ship! will be discussed in What Went Wrong :).

February brought Primus and SideStep to light. SideStep had a butter-smooth development lifetime and was my first game to integrate sound and music. I also decided to limit the color palette for the "art" of SideStep, which ended up looking a little better than my other games. I made all fourteen songs (a huge accomplishment for me) for #FAWM, which became a collection/album of game music called Primus.

I was ultra productive in February and met all of my goals.

What Went Wrong

I had to crunch for #FAWM to get the last few songs out the door. Crunch also rampaged Oh Ship!, which was where the name came from.

SideStep from a game design perspective was a little shaky, mainly because there was no win condition or concrete goal. I also released a broken version of the game for the first three or so hours since it went live.

Next Time...

Planning for delays would be an excellent way to avoid crunch. I should also test the final packages on more computers before I release the game.

Spring 2013

What Went Right

A game template seriously sped up my game development pipeline. I also improved my makefile (starting with Altar) that sped up development a bit. Originally my Primus game music maxed out the volume levels, so I went song by song and remastered them for games. This ended up proving very convenient for Altar. The use of open art made Altar look better than my other games.

What Went Wrong

Procrastinating on games you need to make is a very bad idea. Also, the gameplay for Altar wasn't very original and was pretty rough.

Next Time...

I shouldn't wait until the end of the month to make an entire game!


In Conclusion...

Sixteen has been a really good year for me!