Game Development and the Research Community How might they overlap? Larry Mellon PADS, 2003 1 Game Research Areas: Broad Topic… • Spans many domains • Complexity & scope growing quickly • Survey approach – Problem space – Current work – “Next steps” needed • Heavy Q&A emphasis – Focus on key areas 2 Talk Segments 3 Game Business Overview • Market size / scope / direction • What drives game developers • Research funding issues 4 Key Factors in Game Development • Types of games, technology overview • Driving requirements – Performance – Implementation 5 Technology & Issues • Current technology & problems – Graphics/ AI / simulation /… • Emerging problems – Development complexity • Team size, rapid design shifts – Application complexity • Internet / Scale / Features – Game play complexity • Community / storytelling / … 6 Wrapup • Who is doing what • Resources 7 Why Listen To Me? • Ex-University bum (University of Calgary) • Jade Simulations: TimeWarp, Sim++, network modeling, … • SAIC (DARPA&DMSO): DIS&ADS, HLA&RTI, … – Interest management, predictive contracts – Remote controller / cluster computing • Game development: three years+ – SAIC: internal R&D – Orcus: ASP (2000) – EA: TSO (time synch, distributed sim, automated testing) / Sims2 (agile programming) • I control no funding… 8 Outline Background 45 minutes – Market Growth: size / direction / complexity – Types of games and key technologies 3 min break 2+ hours Research Opportunities 15 min break – Complex problems important to success of current & future games Wrapup 3 min break ½ hour – Who is doing what already – Other resources Time 9 Game Industry: Background Market size $9B+ per year Bigger than Hollywood box office… Strong growth Console: coming soon, theatre quality graphics PC: less growth Online: highly desirable subscription model Wireless (projection): 0 to 125M players in 6 years “Interactive entertainment”: all of the above, together 10 Game Industry: Direction “Interactive entertainment” Fusion of AI / graphics / movies / reality Immersive experiences Rich, dynamic stories & characters Online: useful “accident of fate” Meta-verse emerging out of PSWs Right place, right time… Korea: useful indicator Gaming and society 11 Getting Research Money Tricky… NSF / NSERC: gaming not “serious” Game Companies – Tend to be restrictive • Publishing • Data flow out of company – Little pure research • Upsides – Good recruiting tool – Rapidly becoming a serious field, ala “Talking Pictures” – Many new problems being encountered by developers 12 Game Industry: Building Software Rapid, frequent design shifts Speed over quality / cost Development & performance Visual quality (delta, not absolute) Little software reuse Severe resource constraints CPU / memory / GPU / bandwidth Mass market considerations “Sponge” Application… 13 Console vs PC Cyclic behaviour for best performance Consoles: much larger game base PCs: patchable, more CPU, networkable, more RAM, … Consoles: becoming PCs… 14 Driving Requirements Time to market (development speed) Flexibility Game direction shifts implementation path, again, and again, and again… Performance Realtime / Min Spec “Playability” == FPS, simulator & network lag Validation / Reliability Online gaming: big focus SPG: less so 15 Application Types RTS (RealTime Strategy) Age of Empires … Fast twitch First-Person Shooter (Quake / Counterstrike / SplinterCell) Sports Fighters Adventure / Quest Baldur’s Gate / Bond Puzzle Alice / Myst Wireless Snake / Battleship MMP / persistent Ultima Online / EverQuest / The Sims Online 16 Underlying Technology • • • • • • Simulation / AI Graphics ‘Fun’ Cinematography / Presentation Agile programming Online – Comp sci: networking, cluster computing, time management – Social sci: relationships / player_bonding • “Smoke and Mirrors”: key tools… 17 Technology Challenges • What solutions are on the ground now • What is becoming problematic 18 All Games • Performance – Graphics: CPU hog, complex worlds – AI: need intelligence, but realtime • Resource constraints (“Min Spec”) – CPU / RAM / disk / CD: all limited • • • • • Raid development & shifting requirements Early prototype & early visualization Esthetics & content explosion Multi-player of some sort More complex storytelling 19 Internet • Scale (more later in MMP) • Latency (fair fight / fast twitch) • Quality & customer support (flaky internet, “griefers”, flaky servers) • Constant extensions – Normal games: rarely even patch – Here, constant releases & fixes 20 Persistent State Worlds • • • • • • PSW == MMORG == MMP Social bonding / community forming Running communities (self governing) Cluster computing Load balancing Network optimizations 21 “Fast Twitch” FPS / Sports / Fighters / Driving • Solo & Team AI • Networked – Latency – Fair fight (latency) – Fair fight (Cheaters) 22 General Research Areas 23 Graphics • • • • Real time, on Min Spec Animations: generation / reuse Photo Realism now a given Next up: – Immersion – Cinematography • Hardware: GPU, T&L, more – Polygon count & texture memory go up – CPU requirements drop considerably… 24 Visuals • Auto-pilots for “movie camera” to find best / dramatic shots in RT (or offline) • Animation (generation, sequencing, skeletal, editing, …) 25 Visuals • Content generation (esp 3D) • Variant generation, map laydown, fractals, … • Otherwise, nice cheap algorthims become expensive, cranky artists that want food & sleep & $$ 26 Software Engineering • Faster Construction – Data driven content – Object-based patterns • • • • Asset management Optimizing performance on N axis Rapid prototyping, agile programming Scale of application complexity & team size – Example:Automated Testing 27 Automation Phases & Tools Startup Control Repeatable, Sync’ed Test Inputs System Under Test System Under Test Python Scriptable Playsessions NullView Client & Collection & Analysis System Under Test Python Email/DB/Web 28 Analysis: Testing Isolated Features 29 Analysis: Testing Isolated Features 30 Regression Impact On Others Smoke Build days Bug Introduced Checkin Time to Fix Development Cost of Detection 31 Pre-Checkin Regression: don’t let broken code into Mainline. Regression Smoke Checkin Candidate Code Sniff Working Code Pass / Fail, Diagnostics Development 32 Resource Metrics Load Testing Team Debugging Data Client Metrics Load Control Rig Test Test Test Client Client Client Test Test Test Client Client Client Test Test Test Client Client Client Test Driver CPU Test Driver CPU Test Driver CPU Game Traffic System Monitors Server Cluster Internal Probes 33 Single, Data Driven Test Client Load Regression Reusable Scripts & Data Single API Test Client 34 Data Driven Test Client “Testing feature correctness” “Testing system performance” Load Regression Reusable Scripts & Data Single API Test Client Single API Key Game States Configurable Logs & Metrics Pass/Fail Responsiveness 35 Test Client == Game Client Test Client Game Client Test Control Game GUI State State Commands Presentation Layer Client-Side Game Logic 36 Gameplay: Semantic Abstractions Basic gameplay changes less frequently than UI or protocol implementations. View Logic NullView Client ~¾ Presentation Layer Chat Route Avatar … Enter Lot ~¼ Use Object 37 Scriptable User Play Sessions • SimScript – Set of Presentation Layer “primitives” – Synchronization: wait_until, remote_command – State probes: arbitrary game state • Test Scripts: Specific / ordered inputs – Single user play session – Multiple user play session 38 Scriptable User Play Sessions • Scriptable play sessions: big win – Load: tunable based on actual play – Regression: constantly repeat hundreds of play sessions, validating correctness – Development: repeatable ‘live’ input • P_Layer events logged as SimScript – Recorder (GUI) / Monitor (Remote) 39 Research On Game Playing • Socialogical / cultural • Obsessive playing • Emotive / therapeutic / educational (how can allure of games be used to affect some non-entertainment purpose) • Give examples of (online) • Suicide / marriage • Korean dating 40 Story Telling • Interactive • Canned • Emergent 41 Interactive AI • • • • • RTS / multi-level modeling Pathfinding Opponent AI: any type of game Team AI Interactive behaviours – Freeplay – Scripted stories • Emotion • “Killer App” for human-level AI? (John Laird) 42 AI Component Problems (Laird) • • • • • • • • • • Fast response RT environment sensing Seamless interaction (both sides) Route planning Tactics vs strategies Low development costs Low CPU cost Realism (human-like opponents) Tactical decision making SOAR quake bot – 3 Meg, 10% of 400Mhz CPU 43 Security • • • • • One of the driving costs Hackers galore Unhappy, paying, customers The usual DoS Exploits to steal / harass (seams in the world’s logic and/or implmentation) 44 Customer Satisfaction • • • • • • The driving cost in a subscription business Client uptime / server uptime Lag Hackers / griefers Graphics Constant new content 45 Distributed systems 46 Interest Management • • • • Pregenerated (BSP trees) Network oriented (more down than up) Variable data resolution Not the driving cost 47 Clustering / Load Balancing • Sharing the load across servers • “Fair play”, dynamic migration • Not the driving cost 48 Time Management • Mostly RT: Tick / wallclock • Local proxies • Discrete event not used much (yet) 49 Data Distribution • Wireless, bband, MMP, FPS, … • Channels, etc 50 Simulation • • • • • Physics World Sandbox Hierarchical modeling Engine (RT, event based, trigger based, subject/observer, …) 51 Other Resources • John Laird: AI Central • • • • • – http://ai.eecs.umich.edu/people/laird/gamesresearch.html GDC GDC academic summit (POC: Doug Church) http://www.maggotranch.com/bibliography.html http://www.etc.cmu.edu/ GATech: – Amy Bruckman (Moose) http://www.cc.gatech.edu/~asb/ – Augmented reality (WARPING?) • Jonathan Schaeffer – http://www.cs.ualberta.ca/~games/ 52