One of the biggest challenges of the game was the freedom of player movement and camera control. It was one of the major features of the game for the player to be able to move seamlessly in and out of an intricate interior in any mode of transportation. Therotically, we have to be able to stream from inside of a grocery shop filled with destructible props and allow the player to then jump into a car and speed 60mph down a straight road (or do any number of turns in a grid-city) for 30 blocks with long distance vista of important landmarks, and then crash into the store glass of another interactible interior.
Since this was the studio's first open world game, we had no existing tool set to deal with this type of data flow. Given the fluctuating workflow it was a supremely challenging environment for world art implmentation. The strict naming conventions and directory structure I helped ushered into our workflow later proved to be invaluable.
Little Italy
New York City was built mostly on a perfect grid. While we tried to remain faithful to the feel of long roads with far vistas, we had to build in some bends in the road in certain parts of town to control the data loading. In parts of Little Italy where there were heavily unique landmark assets, we would put in a nice bend like above. It is more fun to drive around curves too, won't you say? But that is the added difficulty of building a game on a real world city. How does one balance gameplay, technical constraints and the desire to showcase a faithful portrait of the landscape you're presenting?
Another nightscene of the game.
Collision in this game was another big challenge. We underestimated the need to tag various wall spaces for gameplay purposes. Every wall surface on the street and inside every interactive interior had to be tagged correctly for the proper player behavior to be signaled. There are hundreds of pieces of furniture in each interior. Ultimately I wrote a mel script that would generate the basic collision hull for each interior, which cut down our error rate and collision making time by a ton.
Brooklyn Heights
Here is another shot of the residential Brooklyn neighborhood, compared with a reference shot we took in Brooklyn. Given our very limiting technical constraints we actually achieved a relatively good fidelity of what the neighborhood feels like.
Brooklyn Heights
This is a residential part of Brooklyn. One of the main features of the game was that there would be no loading anytime from when the player goes from the street to inside an interior, or between different parts of the huge city. This design aspect constrained our static terrain to be very simplistic. Here in this screenshot, you can see that most of the backfrop buildings are very flat, however, when the game is in motion we realized that keeping it simple in fact helped player focus on the action of the gameplay.
One major regret I have about this that due to the newness of the game engine, our memory budgets were extremely constrained and thus we had to limit our texture variety of buildings to only a handful. It would have been helpful to investigate the possibility of tinting these limited textures to stretch the visual diversity.
Another obvious eyesore is the extreme straight edge of the curb. Our roads are assembled using a different method than our buildings, and unforunately one of the downsides is that we have less control over each piece of road. In an ideal world, I would have loved to break up the straight line on the curb since I think the areas of transition is where the most detail should lie. Having a more natural, rugged transition from the road to the curb alone create a much more believable world.
Due to the unreleased nature of Spore, I can't show anything I have done yet. Here are a couple of offiical screenshots of Spore for you to enjoy for the time being!
From Jan 2006 to Oct 2007 I was a Senior Artist on Spore. Our art team was relatively small in EA terms. We had one Art Director (Ocean Quigley was our daddy of the galaxy), 4 animators (who handled the procedural animation magic stuff), 3 FX artists (who did all effects and planet generation), and 7 generalist artists (of which I was one) who did everything else including modeling, texturing, rigging of procedural and static models and also a surprising amount of animation. During my tenure on Spore, I created a wide variety of assets on Spore: fully deforming parts in Creature Editor and Building Editor; most of the static art assets specific to the Tribe game and Creature game; some static plantery objects; collectible objects in Space; underwear for aliens... etc etc. I was proud that our small team created all of our assets in house without any outsourcing, and thanks to our wonderful art manager, we were able to churn out a truly impressive amount of complex and top quality content with pretty much no crunch period. For a detailed explanation of the work I did on Spore, go HERE. For more official information about Spore, please go here.
|