Title: Breathing LIFE into an Open World
1Scott Phillips Saints Row 2 - Project Design
Architect
2- ME!
- Started at Volition in January 2002
- Worked on
- Red Faction 2
- The Punisher
- Saints Row 2
- Project Design Architect on Saints Row 2
- One half of Lead Designer position
- Responsibilities
- Activities, Diversions, AI, Combat, Controls,
Cameras
3- Sequel to the 2006 multi-million selling open
world crime game Saints Row - Released October 14th, 2008 on Xbox 360 and
Playstation 3 - Developer Volition, Inc
- Staff over 100 at peak on site, plus outsourcers
- Development time 3 years (core staff)
- Lifetime to date Saints Row 2 has sold over 2.6
million copies
4- Breathing Life into an Open World Outline
- The Goal
- Past Solutions
- Saints Row 2s Solution LIFE system
- Origin
- Overview
- Pre-Production
- Production
- Post-Production
- Trouble Areas
- Data Visualization
- Conclusions
- What Went Right
- What Went Wrong
5- Bringing Life to Open Worlds The Goal
- Populate A Realistic City
- Reinforce World Style/Setting
- Provide Oh Wow Moments
6- Bringing Life to Open Worlds The Problems
- Memory/Speed
- Density
- Difficulty
- Prioritization
7- Past Game Solutions
- Previous Console Generation (PS2/Xbox)
- GTA 3
- True Crime Streets of L.A.
- The Getaway
Full sidewalks but not much else
8- Past Game Solutions
- Current Console Generation (PS3/Xbox 360)
- Crackdown
- Saints Row 1
- GTA 4
Full sidewalks, limited standing/walking
variations, limited world interaction
9- Past Game Solutions The Problems
- Scope/Variety
- Limited variety
- Vast majority of pedestrians still sidewalkers
- NPC World Interaction
- Continued limited interaction with chairs,
benches, etc - Focus
- Very easy to populate with world with side
walkers so why do more?
10- Saints Row 2s Solution
- LIFE system
11- Saints Row 2s Solution LIFE system
- Inspiration
- Initial idea came from watching someone play SR1
- Gestated over lunch conversations
- Create a system that can generate AI objectives
when a player is within a certain distance of a
ped or vehicle for a certain amount of time. For
example, a player following a ped would get a
comment or something similar. Things that could
be done by the AI include going to nearby
stores, hailing taxis, talking to another AI,
park at and head into an attraction such as a
theater - Pre-Production Begins
- Seemingly simple initial proposal, but Scope was
large -
12- Pre-Production Phase Begins
- Design
- Define and prioritize scope
- Everyone Else
- Feasibility Gut Check
13- Pre-Production Phase
- Define Scope
- Started planning meetings with Environment Art,
Character Art, Effects Art, Animation,
Programming, Audio, and Design - Brainstorming
- Wanted NPCs to be able to
- Walk holding hands
- Hail taxis, get in, and go to a destination
- Randomly start conversations with other
pedestrians - Pull out umbrellas when its raining
- Break-dance
- Drink beer on lawn chairs
- Work in a multiple person Road Construction Crew
- Stand in Lines
- Go on Patrol around areas
- Play guitar on street corners
- Walk in a Chinese New Years day parade
- Commit suicide
- And the list goes on and on
14- Pre-Production Phase
- Identify High Level Work
- Simple animation variants
- Synched NPC animations
- Vehicle interaction specific
- Vehicle AI specific
- Dialogue system
- Environmental condition responses
- Prop interaction
- World Objects spawning with NPCs
- Vehicles spawning with NPCs
- NPCs standing in lines
- Patrolling
- Music usage
- Suicide nodes
- Drunk AI
- Gang specific nodes
15- Pre-Production Phase
- Scope
- Wow. Huge.
- Scope Control
- Numerous features are cut at initial stage
- Lets Do It!
- System organized and categorized
- Huge lists of work for all disciplines
16LIFE system 4 Top Level Categories
Action Nodes
Drinking Smoking Talking in Groups Suicide
Jumping Skydiving Playing Craps Tai
Chi Yoga Browsing Clothes Hobos Begging
17- LIFE system Action Nodes
- Action Nodes
- Navpoints placed in the world by designers,
single and group
18LIFE system 4 Top Level Categories
Object Linked Nodes
Action Nodes
Drinking Smoking Talking in Groups Suicide
Jumping Skydiving Playing Craps Tai
Chi Yoga Browsing Clothes Hobos Begging
- Sitting on Objects
- Benches
- Chairs
- At tables
- Prisoners in Cells
- Sunbathers
- Casino Games
19- LIFE system Object Linked Nodes
- Object Linked Nodes
- Nodes Linked in 3D Studio Max to World Objects
20LIFE system 4 Top Level Categories
Object Linked Nodes
Action Nodes
AI Behaviors
Drinking Smoking Talking in Groups Suicide
Jumping Skydiving Playing Craps Tai
Chi Yoga Browsing Clothes Hobos Begging
- Sitting on Objects
- Benches
- Chairs
- At tables
- Prisoners in Cells
- Sunbathers
- Casino Games
Calling Cops Using Umbrellas Acting Drunk Taking
Pictures of Dead Bodies
21- LIFE system AI Behaviors
- AI Behaviors
- Custom AI Code and Art for Each Behavior
22LIFE system 4 Top Level Categories
Object Linked Nodes
Action Nodes
AI Behaviors
Spawn Variants
Drinking Smoking Talking in Groups Suicide
Jumping Skydiving Playing Craps Tai
Chi Yoga Browsing Clothes Hobos Begging
- Sitting on Objects
- Benches
- Chairs
- At tables
- Prisoners in Cells
- Sunbathers
- Casino Games
Calling Cops Using Umbrellas Acting Drunk Taking
Pictures of Dead Bodies
- Roller-skating
- Skateboarding
- Jogging
- Carrying Objects
- Books
- Laundry
- Luggage
23- LIFE system Spawn Variants
- Spawn Variants
- Custom Animation Sets Assigned to Specific NPCs
24LIFE system 4 Top Level Categories
Object Linked Nodes
Action Nodes
AI Behaviors
Spawn Variants
Drinking Smoking Talking in Groups Suicide
Jumping Skydiving Playing Craps Tai
Chi Yoga Browsing Clothes Hobos Begging
- Sitting on Objects
- Benches
- Chairs
- At tables
- Prisoners in Cells
- Sunbathers
- Casino Games
Calling Cops Using Umbrellas Acting Drunk Taking
Pictures of Dead Bodies
- Roller-skating
- Skateboarding
- Jogging
- Carrying Objects
- Books
- Laundry
- Luggage
25- Production Phase Begins
- Design
- Implement all hand placed nodes
- Write dialog specific to each node
- Programming
- Implement core systems
- Animation
- Mocap all animation and setup all props
- Environment Art
- Standardize props and implement
- Prop Art
- Create all required props
- Audio
- Capture all dialog and create SFX
26- Production Phase Design
- Hand Place All Action Nodes
- 20,000 Nodes at Ship
- Initial Plan for 1 Designer to Place All
- Eventually 6 Designers pitched in
- Review Everything
- Tools Used
- Table File Editor
- In-Game Editor (IGE)
27Production Phase Design Tools Used
- Table File Editor
- Universal XML editor
- Used by all disciplines for tweaks
- LIFE System Usage
- Action_node_groups
- Top Level
- Action_node_npcs
- Lower Level
28Production Phase Design Tools Used
- In-Game Editor (IGE)
- Runs in real-time on the Development Kit
- Main tool for placing objects
- LIFE system Usage
- Place action nodes
29- Production Phase Programming
- Build Foundation of LIFE System
- Obviously all systems required had to be built by
programming - 1 programmer dedicated to LIFE system for entire
project - Phased Implementation
- Broke up work into multiple phases during
production cycle - Interweave Into Existing Streaming Spawning
- This probably ended up probably being the most
difficult - Co-op made this even tougher since those systems
didnt exist
30- Production Phase Animation
- Setup all environment art objects
- Chairs, hot dog stands, stripper poles, etc
- Setup all props
- 40ozs, beverages, cigarettes, traffic cones
- Capture/Clean Up All Animation
- SR2 uses 95 mocap
31Production Phase Environment Art
- Build the world
- EAs had to incorporate LIFE system assets as
needed but didnt do specific work on LIFE systems
32Production Phase Effects/Characters/Props
33Production Phase Audio
- Design audio SFX
- Road construction crews with jackhammers,
hedge-trimmers, etc - Record/Clean Up Persona Lines
- SR2 had 70,000 dialog lines
- Implement Music
- Peds playing guitars, steel drum players,
cheerleaders
34- Define/Write/Record All Required Lines
- Determine which nodes needed lines, how many, and
who would need the lines
35- Production Phase - Troubles
36- Production Phase Troubles
- Spawning Limitation Issues
- Who can use this node?
- When can they use it?
- How many of this node can be used?
- How many of a certain type of pedestrian
- can be spawned by a specific node?
37Production Phase Troubles - Spawning
38Production Phase Troubles - Spawning
39Production Phase Troubles - Spawning
40Production Phase Troubles - Spawning
41Production Phase Troubles - Spawning
42Production Phase Troubles - Props
- Prop Orientation
- Ugh
- Prop Textures
- Purple madness
- Dropping Props
- When do Pedestrians drop props?
43Production Phase Troubles - Props
44Production Phase Troubles - Props
45Production Phase Troubles - Props
46Production Phase Troubles - Interaction
- Interaction with the World
- Collision is a difficult problem
- Fake vs. Real Collision
- Interaction with NPCs
- Collision sometimes turned off
- Co-op issues
47Production Phase Troubles - Interaction
48Production Phase Troubles - Interaction
49Production Phase Troubles - Interaction
50Production Phase Troubles - Interaction
51Production Phase Troubles - Interaction
52Production Phase Troubles - Streaming
- Streaming
- Is anyone available to use the node?
- How many people are being requested?
- Are the props streamed in/preloaded and
available? - Are the animations streamed in/preloaded and
available? - How does this work in Co-op?
- When the player goes inside how full of people is
it and where do those extra people come from?
53Production Phase Troubles - Scale
- Sheer number of nodes in the world
- Scope of work to hand place nodes underestimated
- Had to add additional time to other designers to
assist - IGE Scale
- Running out of memory
- Framerate near 0
- Wasnt designed to handle the sheer magnitude
54- End of Production Phase Begins
- Design
- Finalize placement of all nodes in the world
- Review all implemented features
- Cut scope on features that were weak
- Programming
- Implement core systems
- Iterate to make sure that all of the spawning and
streaming issue are solved - Animation, Environment Art, Props, Audio
- Respond to last minute Design changes
55End of Production Phase Tableau
- Data Visualization
- Identification of dead spots was difficult
- Enter Tableau
- Visualization FTW
56- End of Production Phase Tableau
- Visualization (3/9/2008)
57- End of Production Phase Tableau
- Visualization (4/17/2008)
58- End of Production Phase Tableau
- Visualization (5/12/2008)
59- End of Production Phase Tableau
- Visualization (6/26/2008)
60- End of Production Phase Tableau
- Visualization (7/15/2008)
61- End of Production Phase Tableau
- Visualization (Ship)
62 63- Conclusion What Went Right
- Organization
- Variety
- Cooperation
- Quick Turn Around (at the end)
- It Shipped!
64- Conclusion What Went Wrong
- Standardization
- Scope
- Insufficient Preview Tools
- Too Slow/Too Late Implementation
- Not Enough Focus on Everyday Things
65- Conclusion Lessons Learned
- Focus on Programmatic Implementation
- Preview Tools
- Bang For Your Buck
- Implement Core Systems and Test Early
- Obvious, right? ?
66 67Scott Phillips Saints Row 2 - Project Design
Architect