Here's a little temple to my own game creations.
Monster Milktruck# permalink
31 January 2009
(Originally released in May 2008)
This isn't quite a game, but it's kinda fun. You drive a "monster" milktruck through exotic locales. It's a demo of the Google Earth API. I did the original code and the milktruck model. Some of my colleagues helped improve it.
Despite its simplicity, Milktruck has worked great as a demo of what the Earth API is capable of, and as a seed for cool apps by other devs, such as the paragliding sim PgSim.
30 December 2008
I got an Android G1 phone recently. I was not super pleased with the selection of games on it, though there are a couple standouts. Having the hardware made me really want to write something for it. I have been pleased with Android as a game development platform -- the API is pretty easy to use, it has a very nice 2D graphics API, the G1 has lots of facilities like a good screen, vibrate, touch input, accelerometer, etc. The only thing I'm not wild about is having to write in Java, though coming from C++ it isn't too hard to adjust to and it does work OK.
Anyway, even in its very rough state, the game is on the Android Market and tons of people are playing it. Pretty cool.
15 March 2007
This is a tiny experiment to see if I could write a game using the Google Maps API. It's sort of OK on Firefox, worse on IE. Current browsers are noticably bad at doing smooth animation. On the plus side, it was amazingly easy and fast to write something presentable, complete with level editor.
BTW I wrote this game while in Botswana.
Oddworld: Stranger's Wrath
Released 26 January 2005
It took about three years to make this thing, which is a heck of a long time. There was a sort of false start where we spent nearly a year prototyping before almost completely turning over the design team, switching from Max to Maya, and rewriting many of the tools and the content pipeline.
I was one of the Senior Programmers. (Mobygames credits here.) Among other things, I wrote the offline lightmapper, implemented the real-time character shadows (using perspective shadow maps, whew), implemented the collision system, did a bunch of little effects (bouncing moolah bands and pieces of things you smash), implemented the menu system (using gameswf, whew), implemented a lot of the C++ introspection garbage, tweaking tools and infrastructure, some small bits of AI, and other stuff.
Deadly Dance Of The Robots
Game design, art & programming by me. Awesome IGJ2 physics engine by Atman Binstock, more infrastructure by Sean Barrett, Casey Muratori, etc.
It's kind of a fun toy as a single-player game, but I find it wildly hilarious when you actually play against someone. The robots are just barely controllable much of the time, but the physics makes it look completely fluid and sometimes you can pull off incredible moves.
I was told by Tom Francis of the English PC Gamer mag that they had been playing it furiously at the office, and one of the writers even pronounced it "the greatest beat-em-up ever made". I agree, half seriously. I'm not much of a player of fighting games, and perhaps one reason is because they are too deterministic and "digital". Of course there is enjoyable chaos that arises during gameplay between two players, but the moves themselves tend to be totally canned and unorganic, and executing them is based on rote memorization of button combos. The possibility space of those games is too small. (I'm probably not being fair because I don't know those games well enough.)
Anyway, what's cool about Robots is that the possibilities for individual moves are very rich, and there are suprising tactics as well. When something surprising happens, you can usually understand how and why on a visceral level, and it stimulates imagination about the possibilities within the game.
On the other hand, I think this is the third-best of my IGJ creations, behind Whack-A-Mole and The Dueling Machine. While it is indeed really fun playing head-to-head, that is a relatively easy format for creating fun. I think it falls short in that the robots are a bit too chaotic, and I'm not really sure you could reliably do cool moves, even with a lot of practice. I think a more trancendent game would let the player achieve near-mastery over advanced moves, leading to deeper play but still with chaos, surprise and near-misses.
Like nearly all my other IGJ games, the experience of writing this was initial enthusiasm, followed by extreme difficulty making progress, followed by implementation progress but complete unfun-ness, followed by flailing around for fun elements, followed by deep depression, followed by a mostly sleepless night, followed by a germ of direction, leading to a completed game. The completed game came late, so it lacks some of the niceties I might have wanted, like a single-player mode, or alternative arenas, or better robot tuning, etc.
Design/programming by me, art by Mike Linkovich and Ryan Ellis, sound by Michael Sweet, engine by Zack Simpson, lots of help from other jammers.
I started with the idea that I wanted to make a very physical game. I had the idea in mind of the Biathlon -- the Winter Olympics event where you cross-country ski for a while, and then have to stop and do target-shooting, and then more skiing, etc. If you push too hard with the skiing, it affects your ability to hold steady while shooting targets.
The gameplay comes in two distinct phases: first, there is a frenetic attack of gophers that you have to squash, rapidly, using your shadow. But you can't squash the flowers, so it's sort of like high-speed "Operation". Then, after a minute or so, hopefully when you're good and tired, the sky clouds over, rain starts falling, the gophers hide, and mushrooms start growing. You have to keep the mushrooms under your shadow so they don't reach maturity and pop, releasing spores that kill any of your nearby precious flowers. So the mushroom phase involves holding your body very still in a contorted pose, for 30 seconds or more.
Each round, the gophers and mushrooms get faster and more numerous, and the flowers reproduce more and more slowly. There is a bonus round where gophers attack like lemmings and you catch them on the tines of a rake for extra points.
I'm fairly proud of this game. It's a little more up my alley in terms of theme and gameplay, compared to The Dueling Machine, although the concept is not as hooky. It's cute/silly, a little violent/gross, analog/digital, very physical, has contrast in both mood and mechanics, follows an arcade-style conventions of pacing, difficulty ramp, bonus round, attract mode etc. Doug Church accused me of "pinstriping" it. I'm told it's a popular demo of the Shadow Garden system. My only regret is that it depends on very specialized hardware and I don't know where you can play it.
The Dueling Machine
Design/programming/sound by me, based on an engine by Chris Hecker, Casey Muratori, Sean Barret, Jon Blow and Zack Simpson. Help with graphics by Justin Hall and lots of testing and design advice from the likes of Mark Leblanc and Jon Blow and other jammers.
Anyway, the basic idea is that it's an FPS. You're walking through a city thronged with literally tens of thousands of people. You're looking for one specific individual fugitive out of the entire crowd, and you have exactly one bullet that you must use to kill him. You have three minutes to do it. To help guide your search, you have a sonar that you can ping, which returns a stereo & reverbed echo indicating the approximate distance and direction of the fugitive. However, the fugitive can hear your ping as well.
That's pretty much the game. You can play against the computer (always as the assassin), or against another human (one as the assassin, and one as the fugitive). The "user experience" tends to be an extremely tense three minutes of intense concentration, followed by either a rush of endorphins or a dousing of whatever the opposite of endorphins are, depending on whether you won or not.
Don't miss this Scott McCloud comic about the IGJ and The Dueling Machine.
Oddworld: Munch's Oddysee
Xbox launch title.
I was hired about six months before shipping to do programming, on a team that might have reached about 15 programmers at its peak. I did a lot of work on the camera system, and some various other miscellaneous things like memory profiling, 3D text output, explosive mines, transient graphical effects, optimizing memory use of animations. It was a headlong rush to ship the game, and in my opinion it turned out reasonably well under the circumstances.
One of the most fun things about this project was the bull sessions with the other team members. There were a lot of young but talented & enthusiastic people on site including gurus like Charles Bloom and Jonathan Blow, as well as some more experienced programmers lent to us by Microsoft. There were a lot of good fun discussion/arguments about game engineering, graphics, design, etc. That continued through the Stranger project although I wasn't on site as much, so I missed out on a lot of it.
Asteroids with gravity but no gun. This was a quick experiment in writing a game entirely in Lua. It's not very deep, but sort of interesting, and would make a cool screensaver except for the atrocious programmer art.
Windows PC, ported to Mac and Linux.
Programming & sound by me, design by me, John Lewis, Rob Podoloff, Mark Culliton, Mike Linkovich, art and more programming by Mike Linkovich. I invested a tremendous amount of effort and energy, not to mention money, in developing this game over the course of 2.5 years. The three noteworthy things are:
tweaky but open-ended physics-based gameplay
scalable terrain rendering based on real-world data
optional snowboard controller that you stand on and swivel
It's sort of an interesting failure. Some parts of it are quite excellent (IMHO), and other parts of it are lame.
(Games for VR machines, I was lead programmer & lead game designer for most of these. Bryan Lewis, Eliot Shepard and Kerry Kurian also did programming, Peter Lehman and Alex Weissman were the main artists, additional contributors included Mike Benjamin, Harvey Koselka, John Lewis, Charlie Caldwell, Dawna Paton, Aaron Bobick, Carl Greenaway, Jim Sweeney, Mike Sweeney, Duane Stark, Bob Starr, email me if I forgot somebody.)
This started out as a really enjoyable low-key goofy shooter with armored motorbikes and ballistic grenades, morphed into something like Battlefield 1942, and finally ended up being a glorified 3D version of Atari Combat as the deadline loomed. It's actually a fun frenetic game in its final form. The original demo might have been a more fun pure experience, and the middle stage could have been godlike had it been finished.
Not all of the gameplay elements turned out the way we planned, but overall I think this game turned out to be a lot of fun and very attractive to look at. Alex Weissman was the lead artist & Eliot Shepard did most of the game programming; together they did most of the game design.
This is a practically perfect game, IMHO, when played with four people. With only one person, the AI is too predictable, and with two people playing head-to-head, I find it's actually a little too intense to be enjoyable!
Rocky vs the Firebugs
This is my second favorite Tectrix game (after Aztec 2000), and my first favorite as a single-player experience. The premise is kind of bizarre, in the grand tradition of classic games. The gameplay doles out endorphins on a regular schedule.
Sweeney Town, St Benjamin Island, Penguin Peak
These were conceived as "virtual reality experiences" as opposed to pure games. I actually see a lot of the vibe of these titles in There.com although I'm sure there's no actual connection.