Register Today for Game Career Seminar

Get Your Digital Subscription to Game Career Guide

media partners
 
all partners




Get the latest Education e-News    
  • 48-Hour Development Contest: Part I

    [03.18.08]
    - Vishnu Desaraju
  •  The University of Michigan hosts an annual game development challenge, in which small teams of students have just 48 hours to develop a video game. The event is run by the campus' game development club, Wolverine Soft.

    The 48-Hour Game Development Contest is one of my favorite events that our club puts on. I first participated in the contest two years ago, not knowing what to expect. Though I am studying electrical engineering, I don't have a particularly strong programming background, so I entered the contest as an artist. This was not a completely random decision on my part though, as I had several years of experience with graphics software such as Photoshop, 3ds Max, and Microsoft Paint.

    The contest has a team balancing policy, which allowed my friend and I to partner with a very skilled programmer. We won the contest that year with a 2D top-down game.

    The following year, I partnered with two other friends, one programmer and one musician, and took first place with a 3D side-scrolling game. So now, coming into this contest, expectations are high from other club members -- but no pressure.

    Friday
    6:30 p.m. Teams were just announced and the theme is to be unveiled at 7:00 p.m. I'm with the two people I expected to be partnered with: one friend, John, who is new to the contest and another friend, Dale, who is more experienced in programming and game development. Given Dale's experience, we will be using the Zenipex library, which was developed by the current president of Wolverine Soft and is the engine both Dale's team and my team used last year in the contest. Once again, I will focus primarily on graphics.

    8:00 p.m. The contest officially started at 7:00. This year's theme is "Honoring Stephen Colbert." It's quite an unusual choice, given past themes such as "In your dreams" and "Fight!"

    We go into the other room that was reserved for the contest and set up in there. Something that I learned from my first contest is to use the whiteboard that's provided for brainstorming. We start by listing several genres, game mechanics, graphics styles, and plot ideas and dedicate the next hour to refining these lists.

    Our plan is to make a 2D side-scroller with pre-rendered 3D images for sprites. The environment will actually be 3D though, and the path will turn corners to give a feeling of depth. This odd blend of 2D and 3D will hopefully give us the graphical benefits of 3D art while maintaining 2D game mechanics, such as collision detection based on sprite boundaries rather than bounding boxes.

    The plot is this: President Stephen Colbert sends the main character to defeat bears and robots that are threatening to take over the country. The idea comes from Colbert's real attempt at running for president and plays on his apparent fear or hatred of bears and robots, as often described on his show.

    11:00 p.m. The main models I have to create are a bear, a robot, and the main character. The bear will probably be the most difficult because I've done very little animal character modeling. I decide to model it first so that I don't run out of time to make it look decent. I also decide that the bear will be walking upright to make it seem more menacing.

    I start by drawing a sphere for the head and modifying it to create other features, like the snout. Google's image search is a blessing for finding reference images. Modeling the head takes a little more than an hour, and I decide to animate the mouth before modeling the rest of the bear to make sure the head will animate well.

    This proves to be a bit more complicated than I expected because rotating the jaw is causing some rather ugly interactions between the jaw and the head. Luckily, a bend modifier helps me to get a similar motion for the jaw without this issue.

    For the next 90 minutes or so, I work on the rest of the bear's body. I try modeling the body as a separate object and then aligning it with the head, but it looks terrible. A few attempts even looked humanoid, so that's something to keep in mind for when I model the main character. Finally, I decide to extrude polygons from the bottom of the head and adjust those to create the rest of the body. So far I have a rough model of the entire torso, and it looks pretty good, or at the very least looks far better than my previous attempts.

    I just started extruding some polygons from the body to create the arms, but we need to take a break and eat dinner before all the nearby restaurants close. Things seem to be going okay so far. Dale is working on setting up the environment and getting the camera to turn a corner while also rotating the sprite so that it faces the camera at all times. He seems to have taken the same approach I did: working on the difficult part while he's still fresh. John is working on the physics engine, which will hopefully save Dale some time. True to his training as an electrical engineer, he's implementing the engine as a series of second-order differential equations, which made our club president groan and shake his head when he heard about it.

    Saturday
    4:00 a.m. After dinner, I make some minor adjustments to the bear's upper body, and I finish the arms and claws. It's not too bad so far, with this method of extruding some polygons and adjusting their vertices, but I'm a little concerned about how easy it will be to animate.

    I also decide to add hair of some sort because the bear was looking rather bald. I try using a bump-mapped hair texture, which doesn't work very well. So I fall back on an odd technique I learned for modeling grass, which I had also used in the contest two years ago to create facial hair for our title-screen image. I create a small, thin triangle and use the scatter tool to scatter thousands of those triangles all over the bear.

    3ds Max has a cap of 65,000 instances for the scatter tool. That's a shame, but I suppose it looks all right, albeit a bit like a porcupine.