April 24, 2010

I am taking part in the Ludum Dare #17 48 hour game challenge this weekend, and hence taking a bit of a break from Infinite8BitPlatformer programming this weekend. Follow me on the competition blog if you're interested! I will be releasing all of the sourcecode from my game at the end of the competition.

Incidentally, I have fixed up many of the Infinite8BitPlatformer bugs that were reported during the pre-alpha, and had some more great contributions from Crispin, such as a spray-can tool for in-game editing and some fun levels. Also last week I finished a bunch of tweaks, features, and bug fixes on the PodSixNet code, so next on the agenda is the multi-player code. Hopefully I'll be able to fit that in around the contract work I have on next week. Exciting stuff!

Anyway, back to the competition.

April 14, 2010

Wow, today marks a huge milestone in the life of Infinite8BitPlatformer, thanks to my friend Crispin. He's written some code which adds a line tool to the existing suite of pencil and fill tools, and he created a level with it. This is the very first substantial code submitted from someone else, and the very first user contributed level, and the game isn't even released yet! In case you can't tell, I am super excited.

This was also the first opportunity for me to experience the proof-of-concept of exploring a level someone else created. I must admit that it lived up to my expectations. Running around in the new level, exploring, and finding items was a genuinely enjoyable experience, and one I can't wait to repeat many more times as the game matures and gets further contributions. Good times.

Thanks, Crispin!

PS The game is currently in pre-alpha testing. If you'd like to try it out, drop me an email and I'll send you the link.

March 12, 2010

Staying motivated on your personal side projects is really quite hard! Moose and I have moved closer to the city, so now I have a bit more time and space and have been hacking on Infinite 8-bit Platformer again. Here is a graph of commits-per-month on the project:

Infinite Platformer commits per month to March 2010

I prefer to think of them as "experience points" rather than commits, because making games should be the meta game. :)

I also made a page on the website where you can see the commit log.

I set up a twitter stream for the commits too: http://twitter.com/infinite8bit, and also an identi.ca account if you're that way inclined: http://identi.ca/infinite8bit

You can subscribe to the RSS feed of those commit messages: http://twitter.com/statuses/user_timeline/121975057.rss

click for detail

On my current contract with RjDj I have to work as close to London time as possible, so this means that I have some mornings somewhat free, and I've been spending the hours between 8am and 11am drinking coffee and working on my game.

As you can see, even at the beginning of this month there have been almost as many commits as there were last month, hooray! There are 37 line-items left in the TODO file at the moment. My rule of thumb is about two line-items per working day. If I can work at roughly 3 half-days per week I should have the beta release ready for testers in about three months. That's assuming that the networking library I previously wrote, PodSixNet, is up to the task of linking everyone together into some kind of platformy MMO goodness. If I do a release without the networking stuff it means I can get something in front of people in probably one month. That's a very motivating thought! The important thing is that I don't rush myself though. Slow software development makes better quality software (although implemented software is better than vapourware).

I have found that the best way to stay motivated is never to feel guilty about not working on something. If I don't feel like it I just forget about it and do something else. Eventually if the project is worth it I'll get excited about it and naturally come back to work on it again. Judging by the graph, that seems to be exactly what happens. Some months I leave it entirely (zero commits), but over the long term progress continues because somewhere deep inside I know this project is worth it. One of life's great lessons is that at some point we must always let go of the things we love, and I think this really applies to staying motivated about projects too!

Ok, time to write some more code. :)

Boring stuff

Here is the very small bash shell script which produces the csv file used to generate the graph (unfortunately it skips empty months so you have to add those manually):

#!/bin/sh
bzr log --short --forward | sed -n -e 's/.*\([0-9]\{4\}-[0-9]\{2\}\).*/\1/p' | uniq -c | sed -n -e 's/\ *\(.*\)\ \(.*\)/\2\,\1/p'

Here is a very small bash shell script that I wrote for turning emails into tweets:

!/bin/sh
header="START"
# concatenate all lines (ignore email header)
while read line; do
    if [ "$header" == "" ]; then
        message=`echo $message $line`
    else; header=$line
    fi
done
# post to twitter
wget -O - --user=xxxx --password=xxxx --post-data="status=$message" https://twitter.com/statuses/update.xml

That last line is a handy one-liner for posting to twitter!

To post to identi.ca, change the url to "identi.ca/api/statuses/update.xml".

March 10, 2010

Feb. 27, 2010

Some "Lego" I bought in Hong Kong at a street market recently. Space Lego + cheapfakes + Hong Kong is pretty much my personal nexus of awesome.

You can buy this stuff on ebay very cheaply too, and it's compatible with the real bricks. I can't really tell much of a difference in quality. The idea of Lego is too good to be monopolised - I wonder if anyone has tried 3d printing lego parts?

I am really looking forward to when those "fake" Android phones & tablets start to perform better (and cheaper) than the official stuff. The smart thing about Google's Android strategy is that they benefit from that kind of Wild East tech cowboyism. It's like if Windows 95 had have been Free Software instead of pirated globally.