GDC 2011: Faster, Better, Cheaper: Pushing the Artistic Bar in Portable Game Development

Nathan Phail-Liff – Art Director
Ready at Dawn Studios

-          Introduction
o   This talk is about doing more with less - finding a passion for creativity born out of technical limitations (instead of lamenting what you couldn’t do)
o   Think of classic VFX in Hollywood. Creative people used creative ways to defy the expectations of the time
-          Studio Background
o   Company was founded in 2003 by former members of Blizzard & Naughty Dog Studios
o   38 people, Located in Irvine
o   Games: Daxter, God of War: Chains of Olympus, God of War: Ghost of Sparta (all PSP)
-          This presentation is not about this particular project, it’s about embracing limitations! (This is not an instruction manual)
-          Art Goals:
o   Wanted a more impressive atmosphere
§  Effects and weather systems
§  Making the world more alive – making the background more of a character
§  50% more Michael Bay
o   Higher quality materials and lighting
§  Specular lighting
§  Environment mapping
§  Ambient occlusion
o   Sprawling vistas and depth of field effects
§  Went with cinematic goals
-          Technical Limitations
o   At start of project, were informed that they could not make any new engine tools or tech
§  All resources not going into art were going into gameplay, as well as creating a real time editor
o   No loading screens
§  Any 2 adjacent packfiles must come in under 9.5MB combined (everything but Kratos for 2 levels = 9.5MB)
o   CPU Board
§  Avoid simulation cost (no particles)
§  Avoid any software rendering processes
-          Walkthrough of a level setup: Boat on a stormy sea
o   Stationary boat, everything else moves
o   Materials:
§  Faked it with vertex lighting – they built “glints” into parts of the environment (gold, metal)
§  Level uses 8 textures. Each was 16 colors, 128X128 pixels
§  Sense of wear and character to everything
·         Shader layer tool. One layer was ‘clean’ the other was worn, painted a blend between them (uses existing vertex alpha channel)
o   Skydome
§  Much easier to keep the boat stationary and move everything else
§  Added joint to tumble the horizon
·         One joint pins the innermost vertex ring of skydome so no clipping
§  Atmosphere: used geometry planes to fake atmospheric perspective
§  Sky: can’t do matte painting because it’s too big. Used 32 X 16 gradient for sky, and then hand painted vertex color of geometry
o   Lightning
§  Modeled ribbon strips of the path that the lightning would take
§  Shelled geometry around area that you wanted the lightning to illuminate
§  One single texture
·         Black with white blips on it
·         Used idea of a player piano, or music box – put those blips in a sequence and then animated the UVs. This way the lighting could have a more natural rhythm to it (as opposed to flashing regularly)
o   Ocean
§  For area where boat meets the water – geometry with vertex alpha and vertex lighting
§  Motion: It takes 4 joints to make an infinitely tiled ocean.
·         Think of 2 people holding a blanket.
·         Painted weights with no relation to joint position, then animated joints up and down
o   Rain
§  All scrolling texture!
§  Foreground rain
·         Same as lighting
·         Game draws 2-3 of these only around the camera
·         32X64 texture for the rain and the splashes where they hit the ground
§  Background rain
·         Big plane with texture
·         Also made depth of field happen through this sheet
§  Rain running down parts of ship
·         Geometry built for rain to travel down sides of ship
§  UVs spread out for acceleration and deceleration (as the water crests over the sides)
o   In general, try to come up with techniques before asking for new features!
-          Art and tech production philosophies
o   Avoid digital ego trips
§  Everything we add needs to serve the player
§  Philosophy was the same as Dead Space 2 – put the right details where they get the most bang for your buck
·         In the opening cinematic, Kratos has water running down him
·         As the camera pulls back, the water POPS off of him
·         He doesn’t have water running off of him in the rest of the level, but you show it in the start and then the impression has already been made
·         Since you see it at the start, the player’s mind fills in the details
o   Iteration is king!
§  Would much rather have low tech than one-off show pieces (example: don’t let an engineer do a full on ocean simulation for something that won’t be in the rest of the  game, have him work on something more useful)
§  Created real-time editor for lighting and camera
·         What engineers made instead of ocean sim J
·         Eliminates build process entirely. Removes frustration barrier for iteration
·         Lets you make tweaks – if something is going to take you 2-5min, you will hesitate (this system worked with lighting and cameras)
o   Instantiate data wherever possible
§  Template everything! (Art and design)
§  This lets a smaller team maintain a larger amount of content
§  Example: had an icy cavern level, the torchlights throughout the whole level were too bright. Could change the one master light to fix the content of the entire level
§  Can make global fixes safely
§  Last minute changes far less costly and risky
§  The entire game benefits from lessons learned late
o   UI – Markup driven tools
§  Self maintaining: programmers could focus on more important stuff
§  Programmers don’t have to do UI
§  Standardization of UI and editing paradigms, features and fixes always global
§  UI markup files parsed at build stage
§  Default values across game can be edited with a single text entry
o   Designers can edit one number – as opposed to going into all maya files
-          Q&A
o   Did you run into issues with the number of transparency levels? Yes! Couldn’t get away with very levels before taking a big performance hit. Had to count and be conservative
o   Impressions of the NGP? Can’t say. J
o   How did you handle fire? All the same techniques already mentioned. No particles, all scrolling undulating hand painted textures and pieces
o   How many lights could you use per level? 4 light limit for hardware. 3 static lights, 1 dynamic light reserved for Kratos’s blade. (Daxter was 100% dynamic lighting)

No comments: