Scott Phillips Saints Row 2 Project Design Architect
- Slides: 67
Scott Phillips Saints Row 2 - Project Design Architect
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 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 • 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 World Style/Setting • Provide ‘Oh Wow’ Moments
Bringing Life to Open Worlds: The Problems • Memory/Speed • Density • Difficulty • Prioritization
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 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 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 – 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 – Feasibility Gut Check
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 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 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 Jumping Skydiving Playing Craps Tai Chi Yoga Browsing Clothes Hobos Begging
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 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 D Studio Max to World Objects
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 Each Behavior
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 NPCs
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 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 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 – 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 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 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, 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 system assets as needed but didn’t do specific work on LIFE systems
Production Phase: Effects/Characters/Props • Build Required Assets
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, how many, and who would need the lines
Production Phase - Troubles
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 - 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 - 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 - 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 – 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 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 was difficult – Enter Tableau – Visualization FTW
End of Production Phase : Tableau – Visualization (3/9/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 (6/26/2008)
End of Production Phase : Tableau – Visualization (7/15/2008)
End of Production Phase : Tableau – Visualization (Ship)
Conclusion
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 Slow/Too Late Implementation • Not Enough Focus on Everyday Things
Conclusion: Lessons Learned • Focus on Programmatic Implementation • Preview Tools • Bang For Your Buck • Implement Core Systems and Test Early • Obvious, right?
QUESTIONS?
Scott Phillips Saints Row 2 - Project Design Architect
- Saints row designers
- Is row row row your boat binary
- Single row functions in sql
- Betty botter bought a bit of butter
- Scott phillips md san antonio
- Software architecture design patterns
- Prayers of saints revelation
- Saints of uk emblems
- William j. irons sing with all the saints in glory
- John milton on the late massacre in piedmont
- Susan wolf md
- Litanie des saints paroles
- Lemert primary deviance
- Interesting facts about all saints day
- Romeo and juliet act 1 scene 5 summary
- Diffused responsibility
- Patience of the saints
- Polish saints female
- Baytown saints soccer
- All saints day poland
- Urban saints westbrook
- Saints in caesar's household
- Virgin and child between saints theodore and george
- Learning task 2 im an architect
- Architects act 1967
- Scratch interface labeled
- Lominger team architect
- Architect turbulent
- Risc os
- Enterprise architect requirements management
- Platform architect synopsys
- Rational software architect
- Rational software architect
- Prosessikaavion piirtäminen
- Architect's home in the ravine
- Dpm architect
- Chief network architect
- Xbrl taxonomy editor
- Akta arkitek 1967
- American architect canada
- The architect of french absolutism was
- Activity diagram enterprise architect
- Vikram goyal architect
- Zaki yasin architect
- Diagonālšķēlums
- Benwell towers
- Number system in computer architecture
- Rational software architect
- Enterprise architect subversion
- Architect big ben
- An architect's blueprints call for a dining room
- Tenple
- Schroder house architect
- Uurloon stagiair architect
- How to read 1/4 scale
- Icss bms
- Keith burns architect
- Rational software architect
- Architect meaning in english
- Digital signage architect
- David olson architect
- Duty of architect
- Mark lyon architect
- Bill thomas architect
- Acquia content hub
- Rational software architect
- Webench
- Kenneth turner architect