Wednesday, June 18, 2008

RubyWeekend Postmortem

This postmortem is about my first game entry for the first ever Ruby game programming competition. This game is called The CopyPirate.

What went right?

1. I finished my game before everyone else. This is probably because I was motivated by my previous failure to submit my game in time for PyWeek, the first contest that I participate in. The shorter time also don't give me breathing room so I forged ahead of everybody.

2. Merging and reusing my code was a snap. I was able to use most of the code from Twisted Shootout and SpaceFighterAce and merge them together. Very little time is spent on coding new gameplay elements. I was probably the laziest programmer in the entire contest.

3. There are little downtime. I did not have to waste 3 hours in tracking down bugs. Because the codebase was essentially finished even before there was even a codebase, the code I used were proven to work and are generally free of bugs.

What went wrong?

1. Readme's instruction manual were difficult to get it right. Because I did not use virtual machines, I have to relies on others to check my work. It took me several try to get it right. Even as I finished the instruction, I lack information on how to install rubygem, a package manager essential to the installing process.

2. My codebase have magic number syndrome. Even though my codebase was known to work, it was also entirely undocumented. This make future modification of the codebase in delicate and complicated areas risky operations.

3. The game have uncompelling gameplay. Due to my lack of knowledge about gamepplay design, my game wasn't able to compell anybody to vote for my game. Thus I probably rank dead last or near dead last in the contest.
What I learned.

1. People like to read programming journals. It also draws traffics, which boost ads revenues as a bonus.

2. Extreme but reasonable deadline and blogging are useful productivity tools. I look forward to using it outside of this contest.

3. I learned that what I see in my text editor isn't actually what I will actually see in my git repoistory. I was also advised not to use tab space, but instead, actual spaces. Tabs ruins formatting I believed I was told.

What I would do differently.

1. I would clean up, document, and port my map engine so I haave more time to work on the gameplay during the contest.

2. I would try a rush hour every 8 hours or so. The rush hour is when I just simply focus all my energy on coding rather than spending part of my time chatting on IRC.

3. I would try to find a teammate to do the artwork for me so I can focus purely on coding and gameplay design.

No comments: