Scott Phillips Saints Row 2 Project Design Architect

  • Slides: 67
Download presentation
Scott Phillips Saints Row 2 - Project Design Architect

Scott Phillips Saints Row 2 - Project Design Architect

ME! • Started at Volition in January 2002 • Worked on: – Red Faction

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

Saints Row 2 Sequel to the 2006 multi-million selling open world crime game Saints

Saints Row 2 Sequel to the 2006 multi-million selling open world crime game Saints Row • Released: October 14 th, 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

Breathing Life into an Open World: Outline • The Goal – Past Solutions •

Breathing Life into an Open World: Outline • The Goal – Past Solutions • Saints Row 2’s Solution: “LIFE” system – – – – Origin Overview Pre-Production Post-Production Trouble Areas Data Visualization • Conclusions – What Went Right – What Went Wrong

Bringing Life to Open Worlds: The Goal • Populate A Realistic City • Reinforce

Bringing Life to Open Worlds: The Goal • Populate A Realistic City • Reinforce World Style/Setting • Provide ‘Oh Wow’ Moments

Bringing Life to Open Worlds: The Problems • Memory/Speed • Density • Difficulty •

Bringing Life to Open Worlds: The Problems • Memory/Speed • Density • Difficulty • Prioritization

Past Game Solutions – Previous Console Generation (PS 2/Xbox) • GTA 3 • True

Past Game Solutions – Previous Console Generation (PS 2/Xbox) • GTA 3 • True Crime: Streets of L. A. • The Getaway Full sidewalks but not much else

Past Game Solutions – Current Console Generation (PS 3/Xbox 360) • Crackdown • Saints

Past Game Solutions – Current Console Generation (PS 3/Xbox 360) • Crackdown • Saints Row 1 • GTA 4 Full sidewalks, limited standing/walking variations, limited world interaction

Past Game Solutions: The Problems – Scope/Variety • Limited variety • Vast majority of

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?

Saints Row 2’s Solution: LIFE system

Saints Row 2’s Solution: LIFE system

Saints Row 2’s Solution: LIFE system – Inspiration • Initial idea came from watching

Saints Row 2’s Solution: LIFE system – Inspiration • Initial idea came from watching someone play SR 1 • 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

Pre-Production Phase Begins • Design – Define and prioritize scope • Everyone Else –

Pre-Production Phase Begins • Design – Define and prioritize scope • Everyone Else – Feasibility Gut Check

Pre-Production Phase – Define Scope • Started planning meetings with Environment Art, Character Art,

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 it’s 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

Pre-Production Phase – Identify High Level Work • • • • Simple animation variants

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 standing in lines Patrolling Music usage Suicide nodes Drunk AI Gang specific nodes

Pre-Production Phase • Scope – Wow. Huge. • Scope Control – Numerous features are

Pre-Production Phase • Scope – Wow. Huge. • Scope Control – Numerous features are cut at initial stage • Let’s Do It! – System organized and categorized – Huge lists of work for all disciplines

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Smoking Talking in Groups Suicide

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Smoking Talking in Groups Suicide Jumping Skydiving Playing Craps Tai Chi Yoga Browsing Clothes Hobos Begging

LIFE system: Action Nodes – “Action Nodes” • Navpoints placed in the world by

LIFE system: Action Nodes – “Action Nodes” • Navpoints placed in the world by designers, single and group

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on Objects Smoking • Benches Talking in Groups • Chairs Suicide Jumping • At tables Skydiving Prisoners in Cells Playing Craps Sunbathers Tai Chi Casino Games Yoga Browsing Clothes Hobos Begging

LIFE system: Object Linked Nodes – Object Linked Nodes • Nodes Linked in 3

LIFE system: Object Linked Nodes – Object Linked Nodes • Nodes Linked in 3 D Studio Max to World Objects

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on Objects AI Behaviors Calling Cops Smoking • Benches Using Umbrellas Talking in Groups • Chairs Acting Drunk Suicide Jumping • At tables Taking Pictures of Dead Bodies Skydiving Prisoners in Cells Playing Craps Sunbathers Tai Chi Casino Games Yoga Browsing Clothes Hobos Begging

LIFE system: AI Behaviors – AI Behaviors • Custom AI Code and Art for

LIFE system: AI Behaviors – AI Behaviors • Custom AI Code and Art for Each Behavior

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on Objects AI Behaviors Spawn Variants Calling Cops Roller-skating Smoking • Benches Using Umbrellas Skateboarding Talking in Groups • Chairs Acting Drunk Jogging Suicide Jumping • At tables Taking Pictures of Dead Bodies Carrying Objects • Books Skydiving Prisoners in Cells Playing Craps Sunbathers • Laundry Tai Chi Casino Games • Luggage Yoga Browsing Clothes Hobos Begging

LIFE system: Spawn Variants – Spawn Variants • Custom Animation Sets Assigned to Specific

LIFE system: Spawn Variants – Spawn Variants • Custom Animation Sets Assigned to Specific NPCs

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on

LIFE system: 4 Top Level Categories “Action Nodes” Drinking Object Linked Nodes Sitting on Objects AI Behaviors Spawn Variants Calling Cops Roller-skating Smoking • Benches Using Umbrellas Skateboarding Talking in Groups • Chairs Acting Drunk Jogging Suicide Jumping • At tables Taking Pictures of Dead Bodies Carrying Objects • Books Skydiving Prisoners in Cells Playing Craps Sunbathers • Laundry Tai Chi Casino Games • Luggage Yoga Browsing Clothes Hobos Begging

Production Phase Begins • Design – Implement all hand placed nodes – Write dialog

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

Production Phase: Design – Hand Place All Action Nodes • ~20, 000 Nodes at

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)

Production Phase: Design Tools Used • Table File Editor – Universal XML editor –

Production 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

Production Phase: Design Tools Used • In-Game Editor (IGE) – Runs in real-time on

Production 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”

Production Phase: Programming • Build Foundation of LIFE System • Obviously all systems required

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 didn’t exist

Production Phase: Animation • Setup all environment art objects – Chairs, hot dog stands,

Production Phase: Animation • Setup all environment art objects – Chairs, hot dog stands, stripper poles, etc • Setup all props – 40 ozs, beverages, cigarettes, traffic cones • Capture/Clean Up All Animation – SR 2 uses ~95% mocap

Production Phase: Environment Art • Build the world – EAs had to incorporate LIFE

Production Phase: Environment Art • Build the world – EAs had to incorporate LIFE system assets as needed but didn’t do specific work on LIFE systems

Production Phase: Effects/Characters/Props • Build Required Assets

Production Phase: Effects/Characters/Props • Build Required Assets

Production Phase: Audio • Design audio SFX – Road construction crews with jackhammers, hedge-trimmers,

Production Phase: Audio • Design audio SFX – Road construction crews with jackhammers, hedge-trimmers, etc • Record/Clean Up Persona Lines – SR 2 had 70, 000+ dialog lines • Implement Music – Peds playing guitars, steel drum players, cheerleaders

Production Phase: Writing • Define/Write/Record All Required Lines – Determine which nodes needed lines,

Production Phase: Writing • Define/Write/Record All Required Lines – Determine which nodes needed lines, how many, and who would need the lines

Production Phase - Troubles

Production Phase - Troubles

Production Phase: Troubles • Spawning Limitation Issues – Who can use this node? –

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?

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Spawning

Production Phase: Troubles - Props • Prop Orientation – Ugh • Prop Textures –

Production Phase: Troubles - Props • Prop Orientation – Ugh • Prop Textures – Purple madness • Dropping Props – When do Pedestrians drop props?

Production Phase: Troubles - Props

Production Phase: Troubles - Props

Production Phase: Troubles - Props

Production Phase: Troubles - Props

Production Phase: Troubles - Props

Production Phase: Troubles - Props

Production Phase: Troubles - Interaction • Interaction with the World – Collision is a

Production 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

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Interaction

Production Phase: Troubles - Streaming • Streaming – Is anyone available to use the

Production 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?

Production Phase: Troubles - Scale • Sheer number of nodes in the world –

Production Phase: Troubles - Scale • Sheer number of nodes in the world – Scope of work to hand place nodes underestimated – Had to additional time to other designers to assist • IGE Scale – Running out of memory – Framerate near 0 – Wasn’t designed to handle the sheer magnitude

End of Production Phase Begins • Design – Finalize placement of all nodes in

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

End of Production Phase : Tableau • Data Visualization – Identification of dead spots

End of Production Phase : Tableau • Data Visualization – Identification of dead spots was difficult – Enter Tableau – Visualization FTW

End of Production Phase : Tableau – Visualization (3/9/2008)

End of Production Phase : Tableau – Visualization (3/9/2008)

End of Production Phase : Tableau – Visualization (4/17/2008)

End of Production Phase : Tableau – Visualization (4/17/2008)

End of Production Phase : Tableau – Visualization (5/12/2008)

End of Production Phase : Tableau – Visualization (5/12/2008)

End of Production Phase : Tableau – Visualization (6/26/2008)

End of Production Phase : Tableau – Visualization (6/26/2008)

End of Production Phase : Tableau – Visualization (7/15/2008)

End of Production Phase : Tableau – Visualization (7/15/2008)

End of Production Phase : Tableau – Visualization (Ship)

End of Production Phase : Tableau – Visualization (Ship)

Conclusion

Conclusion

Conclusion: What Went Right • Organization • Variety • Cooperation • Quick Turn Around

Conclusion: What Went Right • Organization • Variety • Cooperation • Quick Turn Around (at the end) • It Shipped!

Conclusion: What Went Wrong • Standardization • Scope • Insufficient Preview Tools • Too

Conclusion: What Went Wrong • Standardization • Scope • Insufficient Preview Tools • Too Slow/Too Late Implementation • Not Enough Focus on Everyday Things

Conclusion: Lessons Learned • Focus on Programmatic Implementation • Preview Tools • Bang For

Conclusion: Lessons Learned • Focus on Programmatic Implementation • Preview Tools • Bang For Your Buck • Implement Core Systems and Test Early • Obvious, right?

QUESTIONS?

QUESTIONS?

Scott Phillips Saints Row 2 - Project Design Architect

Scott Phillips Saints Row 2 - Project Design Architect