Upload
neal-dawson
View
217
Download
1
Tags:
Embed Size (px)
Citation preview
1
Game Development and the
Research Community
How might they overlap?
Game Development and the
Research Community
How might they overlap?
Larry MellonPADS, 2003
Larry MellonPADS, 2003
2
Game Research Areas:Broad Topic…
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
• Spans many domains• Complexity & scope growing quickly• Survey approach
– Problem space– Current work– “Next steps” needed
• Heavy Q&A emphasis – Focus on key areas
3
Talk SegmentsTalk Segments
4
Game Business OverviewGame Business Overview
• Market size / scope / direction• What drives game developers• Research funding issues
• Market size / scope / direction• What drives game developers• Research funding issues
5
Key Factors in Game Development
Key Factors in Game Development
• Types of games, technology overview• Driving requirements
– Performance– Implementation
• Types of games, technology overview• Driving requirements
– Performance– Implementation
6
Technology & IssuesTechnology & 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 / …
• 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 / …
7
WrapupWrapup
• Who is doing what• Resources• Who is doing what• Resources
8
Why Listen To Me?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…
• 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…
9
OutlineOutline
Time
45 minutes
Background– Market Growth: size / direction / complexity– Types of games and key technologies
Research Opportunities– Complex problems important to success of current & future games
Wrapup– Who is doing what already– Other resources
Background– Market Growth: size / direction / complexity– Types of games and key technologies
Research Opportunities– Complex problems important to success of current & future games
Wrapup– Who is doing what already– Other resources
2+ hours
½ hour
3 min break
15 min break
3 min break
10
Game Industry: Background
Game Industry: Background
Market size$9B+ per yearBigger than Hollywood box office…
Strong growth Console: coming soon, theatre quality graphics PC: less growthOnline: highly desirable subscription model Wireless (projection): 0 to 125M players in 6 years“Interactive entertainment”: all of the above, together
Market size$9B+ per yearBigger than Hollywood box office…
Strong growth Console: coming soon, theatre quality graphics PC: less growthOnline: highly desirable subscription model Wireless (projection): 0 to 125M players in 6 years“Interactive entertainment”: all of the above, together
11
Game Industry: Direction
Game Industry: Direction
“Interactive entertainment”Fusion of AI / graphics / movies / realityImmersive experiencesRich, dynamic stories & characters
Online: useful “accident of fate”Meta-verse emerging out of PSWs Right place, right time…
Korea: useful indicatorGaming and society
“Interactive entertainment”Fusion of AI / graphics / movies / realityImmersive experiencesRich, dynamic stories & characters
Online: useful “accident of fate”Meta-verse emerging out of PSWs Right place, right time…
Korea: useful indicatorGaming and society
12
Getting Research Money
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
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
13
Game Industry: Building Software
Game Industry: Building Software
Rapid, frequent design shiftsSpeed over quality / cost
Development & performanceVisual quality (delta, not absolute)Little software reuseSevere resource constraints
CPU / memory / GPU / bandwidthMass market considerations“Sponge” Application…
Rapid, frequent design shiftsSpeed over quality / cost
Development & performanceVisual quality (delta, not absolute)Little software reuseSevere resource constraints
CPU / memory / GPU / bandwidthMass market considerations“Sponge” Application…
14
Console vs PCConsole vs PC
Cyclic behaviour for best performanceConsoles: much larger game basePCs: patchable, more CPU, networkable,
more RAM, …Consoles: becoming PCs…
Cyclic behaviour for best performanceConsoles: much larger game basePCs: patchable, more CPU, networkable,
more RAM, …Consoles: becoming PCs…
15
Driving RequirementsDriving Requirements
Time to market (development speed)Flexibility
Game direction shifts implementation path, again, and again, and again…
PerformanceRealtime / Min Spec “Playability” == FPS, simulator & network lag
Validation / ReliabilityOnline gaming: big focusSPG: less so
Time to market (development speed)Flexibility
Game direction shifts implementation path, again, and again, and again…
PerformanceRealtime / Min Spec “Playability” == FPS, simulator & network lag
Validation / ReliabilityOnline gaming: big focusSPG: less so
16
Application TypesApplication 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 / persistentUltima Online / EverQuest / The Sims Online
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 / persistentUltima Online / EverQuest / The Sims Online
17
Underlying TechnologyUnderlying 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…
• 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…
18
Technology ChallengesTechnology Challenges
• What solutions are on the ground now• What is becoming problematic• What solutions are on the ground now• What is becoming problematic
19
All GamesAll 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
• 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
20
InternetInternet
• 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
• 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
21
Persistent State WorldsPersistent State Worlds
• PSW == MMORG == MMP• Social bonding / community forming• Running communities (self governing)• Cluster computing • Load balancing• Network optimizations
• PSW == MMORG == MMP• Social bonding / community forming• Running communities (self governing)• Cluster computing • Load balancing• Network optimizations
22
“Fast Twitch” FPS / Sports / Fighters /
Driving
“Fast Twitch” FPS / Sports / Fighters /
Driving • Solo & Team AI• Networked
– Latency– Fair fight (latency)– Fair fight (Cheaters)
• Solo & Team AI• Networked
– Latency– Fair fight (latency)– Fair fight (Cheaters)
23
General Research AreasGeneral Research Areas
24
GraphicsGraphics
• 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…
• 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…
25
VisualsVisuals
• Auto-pilots for “movie camera” to find best / dramatic shots in RT (or offline)
• Animation (generation, sequencing, skeletal, editing, …)
• Auto-pilots for “movie camera” to find best / dramatic shots in RT (or offline)
• Animation (generation, sequencing, skeletal, editing, …)
26
VisualsVisuals
• Content generation (esp 3D)• Variant generation, map laydown, fractals,
…• Otherwise, nice cheap algorthims become
expensive, cranky artists that want food & sleep & $$
• Content generation (esp 3D)• Variant generation, map laydown, fractals,
…• Otherwise, nice cheap algorthims become
expensive, cranky artists that want food & sleep & $$
27
Software EngineeringSoftware 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
• 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
28
Automation Phases & Tools
Automation Phases & Tools
Startup&
Control
System Under Test
Python
Repeatable, Sync’edTest Inputs
System Under Test
Scriptable PlaysessionsNullView Client
Collection&
Analysis
System Under Test
PythonEmail/DB/Web
29
Analysis: Testing Isolated Features
Analysis: Testing Isolated Features
30
Analysis: Testing Isolated Features
Analysis: Testing Isolated Features
31
daysBug
Introduced
Development
Checkin
Smoke
Regression
Build
Time to Fix
Cost of Detection
ImpactOn
Others
32
Working Code
Candidate Code
Pass / Fail,Diagnostics
Development
Checkin
Smoke
Sniff
RegressionPre-Checkin Regression: don’t let broken code into Mainline.
Pre-Checkin Regression: don’t let broken code into Mainline.
33
ClientMetrics
Game Traffic
ResourceMetrics
Debugging Data
Test Driver CPU
Load Control Rig
Server Cluster
Load Testing Team
System Monitors
Internal Probes
Test ClientTest
ClientTest
Client
Test Driver CPU
Test ClientTest
ClientTest
Client
Test Driver CPU
Test ClientTest
ClientTest
Client
34
Test Client
Single, Data Driven Test Client
Single, Data Driven Test Client
Regression Load
SingleAPI
ReusableScripts & Data
35
Test Client
Data Driven Test ClientData Driven Test Client
Regression Load
SingleAPI
ReusableScripts & Data
SingleAPI
ConfigurableLogs & Metrics
Key Game StatesPass/Fail
Responsiveness
“Testing feature correctness” “Testing system performance”
36
Test Client == Game Client
Test Client == Game Client
Test Control
State
Game GUI
Client-Side Game Logic
Commands
State
Presentation Layer
Test Client Game Client
37
Gameplay: Semantic Abstractions
Gameplay: Semantic Abstractions
NullView ClientView
LogicPresentation LayerChat Enter Lot
Use Object
…Route Avatar
~ ¾
~ ¼
Basic gameplay changes less frequently than UI or protocol implementations.Basic gameplay changes less frequently than UI or protocol implementations.
38
Scriptable User Play Sessions
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
• 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
39
Scriptable User Play Sessions
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)
• 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)
40
Research On Game Playing
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
• 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
41
Story TellingStory Telling
• Interactive• Canned• Emergent
• Interactive• Canned• Emergent
42
Interactive AIInteractive 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)
• 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)
43
AI Component Problems (Laird)
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
• 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
44
SecuritySecurity
• 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)
• 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)
45
Customer SatisfactionCustomer Satisfaction
• The driving cost in a subscription business• Client uptime / server uptime• Lag• Hackers / griefers • Graphics• Constant new content
• The driving cost in a subscription business• Client uptime / server uptime• Lag• Hackers / griefers • Graphics• Constant new content
46
Distributed systemsDistributed systems
47
Interest ManagementInterest Management
• Pregenerated (BSP trees)• Network oriented (more down than up)• Variable data resolution• Not the driving cost
• Pregenerated (BSP trees)• Network oriented (more down than up)• Variable data resolution• Not the driving cost
48
Clustering / Load Balancing
Clustering / Load Balancing
• Sharing the load across servers• “Fair play”, dynamic migration• Not the driving cost
• Sharing the load across servers• “Fair play”, dynamic migration• Not the driving cost
49
Time ManagementTime Management
• Mostly RT: Tick / wallclock• Local proxies• Discrete event not used much (yet)
• Mostly RT: Tick / wallclock• Local proxies• Discrete event not used much (yet)
50
Data DistributionData Distribution
• Wireless, bband, MMP, FPS, …• Channels, etc• Wireless, bband, MMP, FPS, …• Channels, etc
51
SimulationSimulation
• Physics • World• Sandbox• Hierarchical modeling• Engine (RT, event based, trigger based,
subject/observer, …)
• Physics • World• Sandbox• Hierarchical modeling• Engine (RT, event based, trigger based,
subject/observer, …)
52
Other ResourcesOther 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/
• 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/