CartRunner
A Game Developed in Three Hours


The Game
You are Mario, a disgruntled supermarket employee who is tasked with the monotonous chore of collecting the shopping carts that stupid customers have left all over the parking lots. You are fed up with your station in life... it's time to go nuts. Collect carts and take out your frustrations on your hapless coworkers.


Download (394 KB, ZIP)
View Screenshot

Source Code (Visual Studio .Net 2003, 10 KB, ZIP - here there be dragons!)




The Making of CartRunner
The 3H-GDC m.IV rules allowed prewritten base code to be used to make the games. Since the theme of the actual contest was not announced until the three hours began, the amount of code that would be useful was limited. I had a simple block of code for doing basic text-console stuff in Windows, so I decided I'd give this contest a shot using that style.

When I first started out with my game development fixation, I was using stuff like QuickBASIC and QuickC in MS-DOS. That meant text mode, because for several years I didn't have the resources or the craftiness to figure out the more advanced graphical stuff. A lot of what I did was inspired by games like the Kroz series by Scott Miller. That provided both a good nostalgic reason to do the game in this style, as well as plenty of base experience; at one point in time I could bang out a Kroz clone in QuickBASIC in under an hour.

Times have changed, though; this is the era of Windows, and QuickBASIC is a bit out of vogue. I also didn't have my copy handy, so that meant using what I did have - C++ base code for Win32 text consoles. A little bit of dirty hackery and some color features, and the groundwork for CartRunner was layed.

Friday night before the contest was great; me and the Spectral Samurai stayed late at work eating pizza and screwing around, doing stuff like scaling the inventory shelving in the warehouse area, and riding a cargo dolly around in the parking lot, street-louge style (which, by the way, I highly recommend; get a nice dark parking lot, lay down face first on the dolly, and roll down a hill. The rush is indescribably insane and it looks absolutely hilarious. But I digress.) We then rented Full Metal Jacket and Shaun of the Dead to ensure that we didn't get enough sleep. I've discovered that sleep deprivation is essential to insanity, and insanity is a large part of coming up with a game idea and implementing it in three hours.

Saturday morning we got up and started hammering F5 on the contest page waiting for the theme announcement. Finally the word came: "CARTS." For about twenty minutes, we just started throwing around ideas. Early on we latched on to the concept of pushing around shopping carts. First it was a Flash-style "hit the power meter at the right spot to launch the cart" sort of thing, but we ended up moving on from that. Eventually we settled on a GTA2-style, top-down steering model, with the idea to collect shopping carts. (We have a deep sentimental attachment to the concept of launching shopping carts in parking lots, but the reason for that really doesn't need to be confessed to the general public...)

As is normal with game development, we started with dozens of ideas. First we had some hoodlum shoving around carts, gathering a "train" of carts to smash into cars and pedestrians. At one point we considered having cops run out and give the player some Rodney King action when he lost. Unfortunately, it became clear quickly that the "cart train" concept would take too much time to properly develop and test, so we fell back to having a single cart, and just magically "collecting" the others.

From there the concept took shape: grab all the carts to open the exit, run over coworkers for bonus points, and grab powerups to increase your speed and steering. It took some serious self-restraint to focus on the essentials first and not mess around with side features like the powerups; eventually, we ran out of time, and didn't get to do the powerups at all, but it worked out OK because the core gameplay was solid.

Getting the basic system down with the cart collection, level time limit, and scoring system took about two hours. Once that was done, we had a playable game, but only one level - and it was clearly missing something. Hitting the little green coworker guys was funny, but it lacked the vital ingredient: audio.

The Samurai began a campaign to find and rip some audio samples; eventually, due to the omission of powerups and cops, we reduced the effects to a "ching" for picking up carts, and a thunking noise for hitting the side walls. The only thing missing was splatters and screams for the little green buggers. We dug out an old lapel microphone of mine and got to work. I made a long sequence of screams, yelps, grunts, groans, squishes, splats, splorts, and schplucks. Eventually we picked three of each, and the Samurai mixed them together for the final game audio effects.

With twenty minutes left, we found ourselves with a hilarious game, but only one level. Making levels by hand took too much time, so I banged out a fast Visual Basic app to randomly generate them based on generic "difficulty" parameters. We then cranked out four quick levels to round out the game.

The final touches were bonus points for finishing a level with extra time, and "named" levels - so instead of Level 1, Level 2, etc. you crash your way through the Left Side Lot, Right Side Lot, Loading Docks, and so on. Finally, with only seconds to spare before deadline, I crammed together a ZIP file and sent it in for judging.

After several minutes of hyperactive yelling and generally running around in a state of pants-wetting euphoria, I sat down to play our masterpiece. I finished the first level handily... and the game exited. Bug! I slapped together a quick fix and resubmitted it, about seven minutes after deadline; time alone will tell if the judges are nice enough to look at the multi-level version.

With that out of the way, we hit up the other respectable submissions to the contest, and generally snagged everyone in the area we could find and forced them to listen to our squishy sound effects of hitting people with shopping carts. Once all of the important stuff was done, I sat down to quickly brain-dump this post-mortem for posterity.

So there you have it. Exciting, glamorous, and all that crap. Quit reading this retarded page and go play the game!



Written and directed by Mike "Apoch" Lewis.

Lettered in Verdana (or Arial, if your browser is brain-dead).
Crafted with loving care in Notepad.


Gratuitous and meaningless copyright notice.
December 10, 2005