About two weeks ago I wrote this post about how we decided to try and change the focus on how we develop this game. We have for a long time coded on the “engine” part of the game, so we have something solid to build the game on. This is very exciting and very needed, we just started to hit a point where we felt like we needed to have something we could “show” people. We needed to have a simple “playable” prototype of the game that we could show people and they could try. There were mainly two reasons for this:
- We were starting to have a hard time finding the motivation to code on the project, as all the things we did were “non-visual”, like all the engine work, which didn’t gave anything to the game, visually or game play-wise. Motivation is a pretty important factor when you are doing a hobby project like this :)
- We are both (me and Allan Hansen) very interesting in designing code as good as possible, which is why we usually talk a lot of how we can do stuff before we start coding it. This actually a good thing, but in this case, we saw that we needed a different approach.
So, with the points from above in mind, we wanted to do something about it, which is what we did the last two weeks.
To help motivate our self, we set a deadline for when we needed to have a “playable” version of the game ready. Allan were holding his birthday/house-warning party Saturday 30th January 2010 and that became the deadline. It turned out that this deadline, even though it were just set by our self (keep in mind this is a hobby project) and no one really knew it or were expecting anything, help very much on the motivation for getting a “playable” version of Little Longhorn ready.
The last two weeks we have made major progress. We went from a kind of tech/developer/proof-of-concept version to a playable version with menu, better graphics (still just dummy stuff), music/sound, menu, game play flow like start->play->game over->restart->complete level and much more. The way we did this were to focus only on getting features implemented, even though we didn’t knew if we did it the “right” way, code-wise. It has turned out that we could get something together this way pretty fast and we now have many idea how to do stuff better. So this has really helped us a lot. Here are some before and after screen shots.
The good stuff is that we have something playable now, even though it is still of course far from what we have in mind for the final release. We can now look at the code we have and easily see how we can improve it and make it better, because we have something that actually works.
So the day arrived where we needed to have the game ready. We made it, but of course still had some last minute changes, right up to it were deployed on the Xbox. We started out by showing it where we played the game to explain people what the game were all about and that it were a early prototype etc. (You know, all the crap developers say to let “normal people” understand that this is NOT a final game :) ) Then we handed over the controller to some of the guests at the party and they started to play it. It were actually pretty funny to see people play the game and see how fast they understood the goal of the game, which is a very good thing and something that got noted by us (the developers). Even thought it is a prototype people actually found it pretty challenging and funny to play.
A funny thing that we discovered were that a minor change we did to some of the collision code, turned out to make the game lag like crazy after wave 5 or so. So from wave 5 to wave 8 (the game have 8 waves in all levels at this point) it were kind of a “slide show” :) That were funny by it self, but what were even more fun were that people insisted on keep playing, even though they saw 2 frame per second, because they wanted to see if the totems they placed could beat the enemies. Some of the guests actually managed to complete the level this way, pretty cool! I see this last thing as a good indication on that the game actually can become very funny and challenging to play.
We also recorded a video while we showed the game and people were playing it.
As mentioned before, we now have a kind of working game, but the code can be done much better many places. So what we need to do next is to go through the code and refactor. I’m not talking about performance improvements here, I’m talking about generally better architecture of the game. Well, we of course need to fix the collision bug I mentioned (lag from wave 5 to 8), but besides that, we will not do performance improvements yet, as it’s way to early to do that.
When we are done refactoring/cleaning up the code, we will start implementing an level editor. This will be for use internally by us at this point to make levels faster and easier (right now it’s raw XML editing when doing levels), but it might be possible for players to make levels also in the future, but no promises here.
Hope you enjoy following the progress of this game, please let me know what you think about it, by leaving a comment :)