Game Development and the Research Community

advertisement
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
Download