bombChase!

In the last month or so I’ve been trying to do the following:

  • relearn object oriented programming
  • learn C#
  • learn the basics of artificial intelligence (AI)
  • learn XNA Game Studio 2.0
  • In order to do all those things, and mind you I didn’t expect to do them all exhaustively, I decided to enter Microsoft’s little ‘warm up’ contest for XNA Game Studio developers. The contest was about using XNA, C# and creating a game that uses AI. So it seemed like a good fit. The result of all that is my little attempt at a new game I call bombChase. The idea is to blow up all the sheep. You play the game over and over again (only one level, but it plays differently each time) accumulating your score. The best I could do is about 3750.

    You can download the little game here. It is only 3.7Mb, and all you need to do is unzip the files into a folder on your machine. Then just double click on bombChase.exe in the bombChase folder. I’ve scanned the files with the best anti-virus software I could find and it says they are squeaky clean.

    The only gotcha is that you have to have the following Microsoft packages installed before you can play the game. Some packages may already be installed on your machine, but that’s okay, they will let you know. The downloads are free and can be found here:

  • Microsoft .NET Framework Version 2.0
  • Microsoft XNA Framework Redistributable 2.0
  • DirectX End-User Runtime Web Installer
  • I’m learning how to create an install package, but that’s going to take a bit of time so this is the best I could do in the interim – it is pretty painless. Anyway, if you have any difficulties feel free to drop me a note (paul at lostpencil.com).

    There is online help with the game so if you need to know what to do it should help you out. Player control is arrow keys or the ‘WASD’ keys. Basically, stay away from the bombs and get the sheep to run into them. The sheep are scared of you and the bombs. The bombs are attracted to you and don’t really care about the sheep. When all the sheep and bombs are gone, you get to play again – adding more to your remaining score (you start with 2000 points and every second you lose 10). If a bomb touches you, well… game over. Your highest score is recorded, your current score reset to zero and you can play again.

    There are a lot of enhancements and changes that I would do if I had the time: adding high score saving, adding more levels, adding more complex enemies, adding things like flocking behavior and so on. I’d animate the characters, of course, but all I had time for was to add a little programmed ‘hop’ when a bomb or sheep saw something of interest.

    I developed the entire game (programming and building the content – that includes making the music – good old acid loops!). It took me about a month of part time playing around. So if it doesn’t work, or you don’t like it then you only have one person to blame. It ended up being just short of 6500 lines of C# code, but at least half of that was code that was already developed that I simply had to integrate and modify. I’m really starting to understand ‘gaming’, not only from a player point of view, but also the developer point of view. Two games down, now on to my more serious game project. That one will take longer than a month. I really want to spend time on it and do it right. Onward!

    Edit: I forgot to mention that your video card needs to be able to handle Vertex Shaders 1.1 (possibly 2.0) and Pixel Shaders 2.0. If it doesn’t then you will experience crashes or other weird anomalies when trying to play the game.

    Money

    So this is a quote of a quote from a book… but the source is pretty reliable, so here goes:

    “We have no obligation to make history. We have no obligation to make art. We have no obligation to make a statement. To make money is our only objective.” Michael Eisner (ex-CEO of Disney)

    You know, I’m not against capitalism, I’m not against making money (one does need to earn a living, after all), but this hit me like a brick. It’s not that it surprised me – after all, corporations are mainly trying to appease their shareholders so you would think the bottom line would matter to some degree (even to a high degree). But it’s not just ’some’ or a ‘high’ degree. It’s often the whole ball of wax. No wonder many artists are going independent and publishing their own work – creating and distributing their own properties. For those of you not wanting to be part of the machinery that is driven solely by greed… all the power to you and I hope you can make enough to make a decent living promoting your own work. Or if you stay, I hope you can make a difference.

    Correction: Please see this post regarding the original quote by Eisner.