d0bd6a16562d4a80621e531c372854e3.ppt
- Количество слайдов: 52
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: Time. Warp, 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) / Sims 2 (agile programming) • I control no funding… 8
Outline Background 45 minutes – Market Growth: size / direction / complexity – Types of games and key technologies Research Opportunities 2+ hours 15 min break – Complex problems important to success of current & future games Wrapup – Who is doing what already – Other resources 3 min break ½ hour Time 9
Game Industry: Background Ø Market size Ø $9 B+ 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 125 M 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… Ø Performance ØRealtime / Min Spec Ø“Playability” == FPS, simulator & network lag Ø Validation / Reliability ØOnline gaming: big focus ØSPG: less so 15
Application Types Ø RTS (Real. Time Strategy) Ø Age of Empires Ø … Ø Fast twitch Ø First-Person Shooter (Quake / Counterstrike / Splinter. Cell) Ø Sports Ø Fighters Ø Adventure / Quest Ø Baldur’s Gate / Bond Ø Puzzle Ø Alice / Myst Ø Wireless Ø Snake / Battleship Ø MMP / persistent Ultima Online / Ever. Quest / 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 3 D) • 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 Python Scriptable Playsessions Null. View Client Collection & Analysis System Under Test Python Email/DB/Web 28
Analysis: Testing Isolated Features 29
Analysis: Testing Isolated Features 30
Impact On Others 31
Pre-Checkin Regression: don’t let broken code into Mainline. 32
Resource Metrics Load Testing Team Debugging Data Client Metrics Load Control Rig Test Test Client Client Test Client 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 Commands Presentation Layer Client-Side Game Logic 36
Gameplay: Semantic Abstractions Basic gameplay changes less frequently than UI or protocol implementations. View Logic Null. View Client Presentation Layer Chat Route Avatar … Enter Lot ~¾ ~¼ Use Object 37
Scriptable User Play Sessions • Sim. Script – 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 Sim. Script – 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 400 Mhz CPU 43
Security • • • One of the driving costs Hackers galore Unhappy, paying, customers The usual Do. S 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 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


