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".

Oct. 18, 2009

Three bits of news to do with Infinite 8Bit Platformer.

  • I finally found some time and motivation to work a little bit on it. I made some icons to replace the ugly text buttons and had to write an image based radio-button class to support that. Here's a half-size screenshot of the new icons:

Infinite 8Bit Platformer

  • I've decided to release the source code to the game under a GPL license. Some of the library code which I've used in other projects will be released under an LGPL license. You can find bzr repositories of both codebases here.

  • I am looking for contributors to help me bring the game to completion along the lines of my massively-multiplayer-user-created-content-platformer vision. If you're interested in joining the effort, email me and I'll put you on the dev mailing list we have going. Feel free to check out the code, look at the TODO list and start hacking. Patches welcome!

I really need to do a lot more work on the website, like integrating a forum, blog feeds, and authentication. Next thing in the TODO list is a save button for saving the level you are working on. Should be pretty easy so I'm going to use it to try and stay engaged with the codebase.

July 19, 2009

I was having a really dull time trying to port my GameJam0509 entry to anything other than the development platform, Debian GNU/Linux. I managed to get it running under Mac OSX 10.5, but Windows was giving me a really hard time, so I've done is what any self-respecting internet slacker would do and made a game trailer instead. This is all ingame footage (sorry about the low framerate but the game is heartily unoptimised).

The Infinite 8-Bit Platformer concept is an idea I had ages ago, and the basic game design is this:

  • There is no shooting or killing in this game. The primary game mechanics are exploratory and social. You can run, jump, go through portals to new levels, and collect things.
  • Content is user generated. As you can see in the video, the game includes an in-game editor. You can edit levels, portals (connections between levels), and items.
  • It's massively multiplayer in the same way that a MUD is massively multiplayer. As you explore the levels you can see other people doing the same, and you can stop and chat with them, give them items, etc. (this bit isn't implemented yet).

So basically I was hoping that if enough people used the game enough we'd end up with a massive, social, network connected platformer which you could explore for hours and hours, always finding new and interesting things, places, and people. Maybe I'll finish it one day, we'll see. In the meantime, all there is is this trailer and blog post. :)

Anyway, one things that GameJam0509 taught me is that the old way of making games kind of bites, and the web based entries kicked butt. From now on I think I'm going to try and do game development in the open, on the web.

May 17, 2009

GameJam0509

This screenshot is as far as I got during the latest GameJam, which has been running in my home town, Perth. I joined remotely from here in London, but unfortunately I just didn't manage to squeeze in the time to make the game I was hoping to. I did manage to advance the MinimalistPlatformer codebase quite a bit further than it was towards the larger platformer game I have cooking away in the back of my mind though, so that's quite positive. Hopefully I'll get some more time to continue this work, and maybe even produce some binaries of my GameJam entry at some point.