Friday, December 11, 2009

Instead of Writing a Research Paper, I Made A Game

This semester, I took a General Education class on Modern Japanese Literature. One of the cornerstones of the course was writing a lengthy research paper about one of the topics discussed in class. Happy to push my luck, I proposed to the professor that I build a game instead of writing a paper. I figured that creating a simple game to satisfy the assignment would only take a few days to make, and it would give me an excuse to work with Antonio Cade, a fellow classmate taking the course, and an excellent artist.

Our professor was intrigued with the idea, but only let us go ahead with it the project if we still wrote a 5-page paper to turn in with the game. Not too bad. That makes about 2.5 pages for each of us, and I could easily fill that space with discourse about the game design process. In fact, that's exactly what I did.

The game is pretty open-ended. You play as Godzilla, and can walk anywhere on the map. Beware that everything you walk into crumbles beneath your mighty feet. There are two ways to "win" the game. Either violently destroy all the buildings, or disappear into the ocean, never to be seen again. The point of the game is to reveal what the players think Godzilla should think and do. In actuality, understanding what Godzilla is about is a pretty sophisticated topic. The paper portion of the assignment discusses those issues in depth.

Antonio ended up writing the more "researchy" portion of the paper, while I wrote about the game design and vision. Frankly, writing about the game design process was one of the most fun things I have ever done in a writing course. The paper occupies the rest of this blog post. See if you can find where I stopped writing and Antonio began. ;)

Thursday, December 10, 2009

Semester in Review: FA 102

I took a Fine Arts Design course this semester to contribute to my minor in 2D Art For Games. The course had me do a lot of sketching and painting with a solid watercolor paint called Gouache. The stuff was slick, better than printer ink.

These pieces are created by painting two sheets of bristol paper with black and white paint. The shapes are then cut out of one sheet and glued onto the other. The result is crisp, clean, and delicious.

The course put a huge emphasis on the process of drafting art. All of our assignments began with several pencil thumbnails, the best of which became ink drawings, then full size drawings, and ultimately a final painted product.

We also had our fair share of technical painting exercises. I will never look at gray the same way again.

My only frustration with the course was that I could not submit any of my final drafts as a computer image (not even printed). The final piece needed to be assembled by hand.

Of course, that didn't stop me from coloring my sketches in Photoshop to determine color schemes. :)

The final product, a 14 by 17 inch poster.

The last class assignment was to redesign a CD album cover. I chose one of my favorite indie composers.

I liked the pattern in the original cover, and decided to expand upon it with imagery that the music triggered in my mind. To keep in line with the technically raw nature of the music, I repeated the simple primary colors and strong angular lines found in the pattern. Materials used were colored pencil, and drops of paint for the stars.

Overall, this art class gave me great practice in design and composition. I learned some useful skills for designing color schemes that will be essential for my digital art projects.

Wednesday, October 21, 2009

Designing Levels for Kory The Thief

Kory The Thief was an interesting exercise in level design. Thanks to the Edward Flash Platformer Engine, I was able to build sophisticated levels with relative ease the Flash IDE. In this post I will describe the my intentions when designing the levels, and why every piece has its place.

Tutorial Level
The purpose of the tutorial level is to introduce the player to the key elements of the game. One at a time the player learns to move, jump over obstacles, the nature of sloped surfaces, the consequences of touching lasers, and the behavior of fans and trampolines. Upon completing the tutorial level, the player is familiar with every element that commonly appears throughout the game's levels.

Dino Level 1
To complete a level in Kory The Thief, the player must first grab the level's jewel, then proceed to the door. Level 1 presents the jewel in plain sight, making the goal clear. However, the player needs to circle around the entire level to grab it. In this process the player will likely see the door and find it inactive. After grabbing the jewel, the player has no hint of where to go except to the door. Thus the requirements for level progression are learned.

Dino Level 2
This level lets the player get some air time with fans and trampolines. It adds a welcome change of pace compared to the previous two levels. Like the previous level, the jewel is in an easy-to-see but hard-to-reach location. Moving laser beams are also introduced, increasing the play difficulty a bit.

Dino Level 3
Naturally, a dinosaur themed set of levels should have a giant dinosaur skeleton. The player is pretty smart at this point, so I set a few simple laser traps. They can be easily avoided through caution or trial and error.

Aqua Level 1
A new environment theme. By this point, the player knows to get the jewel then proceed to the door, so the jewel is not in plain sight like previous levels.

Aqua Level 2
The difficulty ramps up a bit here, requiring synchronized jumping with the motion of the lasers. I am particularly happy with how the 3 lasers at the end of the level almost squeeze the player into getting caught. Once the player gets to the door, well, mind the gap.

Aqua Level 3
This stage breaks from the theme of dodging lasers to solving a simple, but tricky puzzle. When the player jumps from a high enough height into the fan updraft, the player will fall past the updraft, hit the trampoline, and shoot up to the ceiling where the jewel is.

Egypt Level 1
This stage introduces conveyor belts and some tough lasers to dodge. The player is smart enough at this point to navigate stages without guidance, so I placed an impassable laser path between the jewel and the door to throw the player off.

Egypt Level 2
This stage introduces lasers that pulse on and off. I torment the player in this level by making the room with the jewel difficult to find. I expect many players to at first skip past the room and catch a glimpse of the jewel while falling down the corridor on the right. Of course, by then it's too late. :P

Egypt Level 3
The final stage looks more difficult than it actually is. There are many lasers in the level, but most are easy to dodge, except the lasers on the conveyor belts. Once the player has spent a few lives figuring out how to grab the jewel, the rest of the level only requires some simple, cautious jumping before the player is out of the museum and scot-free.

In Summary
-Thanks to the linear nature of the game, I was able to design the difficulty curve to tightly coordinate with the player's ever-increasing skill set.
-In designing levels, I gave each stage its own unique shape and progression. Unique levels are memorable.

If you are interested in designing your own levels, download Edward and give it a go.

Have fun,

Tuesday, July 07, 2009

3D Models

Last semester, I took an introductory course in 3D modeling for video game engines. All the students in the class made assets to help senior game design students with their final game projects. I had a blast working with Maya and made some pretty sweet objects.

After running through a couple weeks of tutorials, our professor let the class loose to create 3D model from scratch. He sent us to a website full of blueprints from World War 1 vehicles and told us to build anything that was not already in USC's Online Asset Database. I picked the Sopwith Triplane and got to work.

Modeling the object was pretty straight-forward. Since this 3D model is meant to be run by a videogame rendering engine, I needed to keep the shape geometry as simple a possible so that the engine could render it quickly.

Texturing the model was a completely different process from building it. The procedure for texturing a 3D object involves mapping its surface in 2D space on a square image. The process, called UV mapping, is much like peeling an orange, ripping the peel into cleverly shaped chunks, and then pounding all the peel chunks together to form a perfect square. Oh, and the computer usually treats automatic UV mapping with the same finesse as a paper shredder, so I needed to do this process manually.

Cool! So where's the texture? Well, I had to make that from scratch too. Making good textures required a comprehensive search of images on Google and liberal use of Photoshop's clone stamp tool.

Eventually everything fits together like a tight game of Tetris and you've got yourself a complete 3D model. I think this plane took around 16 hours to build from start to finish.

My second model was a grocery store for a Dubai-style strategy game. It's meant to be seen from a Gods-eye view, so again I kept the geometry agonizingly simple (perhaps too simple). The class learned a lot about the particulars of Arabic architecture, particularly the flat roofs and bleached building colors.

I loved working on this one. The building is a simplified version of the US Bank Tower, the tallest building in downtown Los Angeles. I managed to work a massive amount of texture detail into the model by patterning the window texture vertically along all sides of the building.

I wasn't even required to make this airport tower. I happened to need one for a Java 3D project and figured it would be good exercise. There are control panels inside the top part of the building, but you can't see them from here.

Score one for effective asset reuse!

Our final project was a bit more involved than the previous models. We were expected to make our model twice as complicated and our textures four times as detailed. Our source material were some science-fiction robot figurines that are popular among hobbyists. Many of the models are carved with insane detail, including realistic rust marks, oil stains, and warped metal all where one would expect. I found some fantastic photos of my model, the SAFS Raptor, for my texture work.

My resource luck aside, the Raptor was extremely difficult to model. The main body was a complex collection of bulging, rounded plates of metal that did not lend itself easily to a mashing of cubes and spheres. I needed three days to get the modeling done properly, and another two to apply the textures. It was incredible that I survived all my finals that week.

Building 3D models was a blast. Next semester, I will be animating them.