Title: Game Development and the Research Community How might they overlap?
1Game Development and theResearch Community
How might they overlap?
2Game Research AreasBroad Topic
- Spans many domains
- Complexity scope growing quickly
- Survey approach
- Problem space
- Current work
- Next steps needed
- Heavy QA emphasis
- Focus on key areas
3Talk Segments
4Game Business Overview
- Market size / scope / direction
- What drives game developers
- Research funding issues
5Key Factors in Game Development
- Types of games, technology overview
- Driving requirements
- Performance
- Implementation
6Technology 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 /
7Wrapup
- Who is doing what
- Resources
8Why Listen To Me?
- Ex-University bum (University of Calgary)
- Jade Simulations TimeWarp, Sim, network
modeling, - SAIC (DARPADMSO) DISADS, HLARTI,
- Interest management, predictive contracts
- Remote controller / cluster computing
- Game development three years
- SAIC internal RD
- Orcus ASP (2000)
- EA TSO (time synch, distributed sim, automated
testing) / Sims2 (agile programming) - I control no funding
9Outline
- 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
45 minutes
3 min break
2 hours
15 min break
3 min break
½ hour
Time
10Game 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
11Game 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
12Getting 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
13Game 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
14Console vs PC
- Cyclic behaviour for best performance
- Consoles much larger game base
- PCs patchable, more CPU, networkable, more RAM,
- Consoles becoming PCs
15Driving 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
16Application Types
- RTS (RealTime Strategy)
- Age of Empires
-
- Fast twitch
- First-Person Shooter (Quake / Counterstrike /
SplinterCell) - Sports
- Fighters
- Adventure / Quest
- Baldurs Gate / Bond
- Puzzle
- Alice / Myst
- Wireless
- Snake / Battleship
- MMP / persistent
- Ultima Online / EverQuest / The Sims Online
17Underlying 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
18Technology Challenges
- What solutions are on the ground now
- What is becoming problematic
19All 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
20Internet
- 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
21Persistent State Worlds
- PSW MMORG MMP
- Social bonding / community forming
- Running communities (self governing)
- Cluster computing
- Load balancing
- Network optimizations
22Fast Twitch FPS / Sports / Fighters / Driving
- Solo Team AI
- Networked
- Latency
- Fair fight (latency)
- Fair fight (Cheaters)
23General Research Areas
24Graphics
- Real time, on Min Spec
- Animations generation / reuse
- Photo Realism now a given
- Next up
- Immersion
- Cinematography
- Hardware GPU, TL, more
- Polygon count texture memory go up
- CPU requirements drop considerably
25Visuals
- Auto-pilots for movie camera to find best /
dramatic shots in RT (or offline) - Animation (generation, sequencing, skeletal,
editing, )
26Visuals
- Content generation (esp 3D)
- Variant generation, map laydown, fractals,
- Otherwise, nice cheap algorthims become
expensive, cranky artists that want food sleep
27Software 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
- ExampleAutomated Testing
28Automation Phases Tools
29Analysis Testing Isolated Features
30Analysis Testing Isolated Features
31Impact On Others
32(No Transcript)
33(No Transcript)
34Single, Data Driven Test Client
Regression
Load
Reusable Scripts Data
Single API
Test Client
35Data Driven Test Client
Testing feature correctness
Testing system performance
Regression
Load
Reusable Scripts Data
Single API
Test Client
Single API
Key Game States
Pass/Fail Responsiveness
Configurable Logs Metrics
36Test Client Game Client
37Gameplay Semantic Abstractions
Basic gameplay changes less frequently than UI or
protocol implementations.
NullView Client
View
¾
Presentation Layer
Logic
¼
38Scriptable 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
39Scriptable 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)
40Research 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
41Story Telling
- Interactive
- Canned
- Emergent
42Interactive 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)
43AI 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
44Security
- One of the driving costs
- Hackers galore
- Unhappy, paying, customers
- The usual DoS
- Exploits to steal / harass (seams in the worlds
logic and/or implmentation)
45Customer Satisfaction
- The driving cost in a subscription business
- Client uptime / server uptime
- Lag
- Hackers / griefers
- Graphics
- Constant new content
46Distributed systems
47Interest Management
- Pregenerated (BSP trees)
- Network oriented (more down than up)
- Variable data resolution
- Not the driving cost
48Clustering / Load Balancing
- Sharing the load across servers
- Fair play, dynamic migration
- Not the driving cost
49Time Management
- Mostly RT Tick / wallclock
- Local proxies
- Discrete event not used much (yet)
50Data Distribution
- Wireless, bband, MMP, FPS,
- Channels, etc
51Simulation
- Physics
- World
- Sandbox
- Hierarchical modeling
- Engine (RT, event based, trigger based,
subject/observer, )
52Other Resources
- John Laird AI Central
- http//ai.eecs.umich.edu/people/laird/gamesresearc
h.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/