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 www.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.
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.
So the saying is, “it’s not the tool, but the artist”. Masterpiece works of art have been created, for example, using crayons. I’ve seen amazing art created using Windows Painter (if you don’t know, it has a pretty minimal list of tools). Anyway, here is a YouTube video of how four guys staged a World War II invasion in a few days… it’s not the tool, but the artist – sounds right.
Here is an example of one of the exercises in Bobby Chiu’s Digitial Painting class. The first image is the sketch that Bobby provides. Then you watch the lessons and paint over the sketch (mine resulted in the second sketch). This particular exercise uses a technique that makes the painting look like cross hatching. Very cool. Anyway, you can click on the second image to see a larger version of the painting.
That sort of rhymes, doesn’t it (update and 2008)? I have trouble with rhyming… I think that words rhyme and my wife and kids laugh at me. You would think by now I would have a complex.
Anyway, I hope you had a great Christmas holiday and are enjoying a happy new year! The tail end of 2007 was really busy – as you can see I didn’t post much between September and December. I worked on a number of things, one of which was a project which involved a bunch of animations for TV commercials. That kept me on my toes. So many animations in so little time – extreme animating. It should become a sport or something.
In my spare time I’ve been programming again. I had forgotten how much I really enjoyed it. My university degree is in Computer Science and for my first 20 years in the work force I was a systems analyst and software developer. I had also forgotten how much programming is actually an art form. Maybe I’ll delve into that more in another post.
So what have I been coding? I’ve been playing around with XNA Game Studio – Microsoft’s framework for creating games on Windows and the XBOX 360. It’s kind of neat seeing your project on a console! I’m currently writing a small game I should be able to release in a couple of months. So in the process I’ve had to learn a new programming language (C#), re-learn object oriented programming, learn XNA, and learn all about Game Artificial Intelligence – what a blast!
At the tail end of last year I also completed Bobby Chiu’s Digital Painting course over at schoolism.com. It is a 9 week course and covers a lot of material. I totally recommend this class if you have the time and the funds and want to improve/learn digital painting.
Each week you get a video lesson and an assignment based on the lesson. Bobby gives you a drawing and you have to paint over it based on the lesson. There was only one lesson I didn’t have time to complete, but man, that course was awesome. This year I’ll be taking Stephen Silver’s Character Design course… it starts in a few days – I hope I’m up for it!
For Christmas we bought a Wii (Of course we had to buy it during the summer when they were available!). Pretty cool console. So now I have five consoles and a couple of hand held gaming consoles:
PS3
XBox 360
PS2
Wii
Nintendo 64
PSP
Gameboy Advanced
Who could tell I’m into gaming? Which ones are my favorites? All of ‘em! It all depends on the game.
So here are some comments concerning the ‘big’ three (PS3, XBox 360, and Wii). It’s interesting to see and use the user interface for each of these consoles. Using only one word, here is how I would classify each User Interface: PS3 – refined, 360 – industrial, and Wii – simple. Of the three I enjoy using the PS3’s interface the most. It satisfies the artsy side of me. Anyway, the UI isn’t what ‘defines’ the console. Of the three I’d say that the PS3 is the most ‘advanced’ as far as graphics quality and speed. The 360 would come second and the Wii third.
But that’s the gotcha – that doesn’t really matter either! Well, it does if you are into the ‘coolness’ factor, but having played games on all three consoles over the holidays, I would say that the amount of enjoyment you get from playing a game doesn’t depend on the console, but rather on the game and how it plays. I know this sounds obvious, but sometimes the obvious needs to be said! Of course if you have great game play and better graphics or controls, well then its a lot more fun!
Take for example the Wii Sports games that came bundled with our Wii. It has a tennis game which has fairly low quality graphics and it contains character models that are basically spheres and cylinders with disembodied hands. They are cute (and customizable so they can sort of look like you). They certainly aren’t 8k poly models that have been massaged in Zbrush by a team of artists. But the game is a hoot!
The Wii game controller really helps to make that game a lot of fun (just remember to have some room around you when you are swatting the virtual tennis ball in your living room). The neat thing is the game was designed so that your characters are moving themselves into the best position and so all you have to worry about is the timing of hitting the ball. If the ball is within a influence zone around your character and you swipe at it – it will, 80% of the time, hit the ball – if you are a little bit late it goes a little off course, if you are a lot late (or early) you miss. So you don’t have to even worry about accuracy. The simplicity of the game and the controller add up to an enjoyable game.
On the other hand we played Uncharted: Drake’s Fortune on the PS3. I must say that I’m disappointed. We were expecting a lot more from ‘Naughty Dog’, the makers of one of our family’s favorite series of games (Jak and Daxter). It has the fancy models and elaborate sets that take advantage of the graphics and speed of the PS3. But the strength of the PS3 became a weakness in this game. The visuals are so detailed that there is so much noise that often it is difficult to see the important things in the game. The texturing – especially when things were supposed to be ‘wet’ was over done. The specular reflections on everything made the entire screen shimmer and hurt the eyes.
On top of that, the camera control drove me crazy. They switched between a camera mode where it is following you (3rd person mode) to a camera used for shooting (almost a first person view). That switch was counter intuitive. They did a *much* better job of controlling the camera in Jak and Daxter – the camera worked with you (not against you) in that game. What happened? Yes, the direction of movement of the camera is customizable, but that didn’t help. The switch shouldn’t have happened.
Moreover, there were times that you would be watching a cinematic and it would end with the camera pointing you in one direction and then the game play would start and the camera would flip so now you were looking in the totally opposite direction of the cinematic – disorienting you totally and pulling you out of the game.
Speaking of cinematics, the amount of cinematics at the beginning of the game was ridiculous – if I want to watch a movie, I’ll buy a movie. It was more of an interactive story than a game. They could have given you the backstory through game play, but instead they threw in one cinematic after another. Also, there were times between cinematics that you controlled the character, but it didn’t involve any game play. Almost an entire sub level where you just opened doors to find a skeleton at the end. So here we have a game with all the graphics bells and wonderful frame rates, but the game wasn’t fun.
That’s not to say that the PS3 doesn’t have any great titles. One example I would say is Ratchet and Clank: Tools of Destruction. Great game, nice graphics – Insomniac does it again!