game development and the research community how might they overlap?

52
1 Game Development and the Research Community How might they overlap? Larry Mellon PADS, 2003

Upload: neith

Post on 11-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

Game Development and the Research Community How might they overlap?. Larry Mellon PADS, 2003. 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. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Game Development  and the Research Community  How might they overlap?

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

Page 2: Game Development  and the Research Community  How might they overlap?

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

Page 3: Game Development  and the Research Community  How might they overlap?

3

Talk SegmentsTalk Segments

Page 4: Game Development  and the Research Community  How might they overlap?

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

Page 5: Game Development  and the Research Community  How might they overlap?

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

Page 6: Game Development  and the Research Community  How might they overlap?

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 / …

Page 7: Game Development  and the Research Community  How might they overlap?

7

WrapupWrapup

• Who is doing what• Resources• Who is doing what• Resources

Page 8: Game Development  and the Research Community  How might they overlap?

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…

Page 9: Game Development  and the Research Community  How might they overlap?

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

Page 10: Game Development  and the Research Community  How might they overlap?

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

Page 11: Game Development  and the Research Community  How might they overlap?

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

Page 12: Game Development  and the Research Community  How might they overlap?

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

Page 13: Game Development  and the Research Community  How might they overlap?

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…

Page 14: Game Development  and the Research Community  How might they overlap?

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…

Page 15: Game Development  and the Research Community  How might they overlap?

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

Page 16: Game Development  and the Research Community  How might they overlap?

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

Page 17: Game Development  and the Research Community  How might they overlap?

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…

Page 18: Game Development  and the Research Community  How might they overlap?

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

Page 19: Game Development  and the Research Community  How might they overlap?

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

Page 20: Game Development  and the Research Community  How might they overlap?

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

Page 21: Game Development  and the Research Community  How might they overlap?

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

Page 22: Game Development  and the Research Community  How might they overlap?

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)

Page 23: Game Development  and the Research Community  How might they overlap?

23

General Research AreasGeneral Research Areas

Page 24: Game Development  and the Research Community  How might they overlap?

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…

Page 25: Game Development  and the Research Community  How might they overlap?

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, …)

Page 26: Game Development  and the Research Community  How might they overlap?

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 & $$

Page 27: Game Development  and the Research Community  How might they overlap?

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

Page 28: Game Development  and the Research Community  How might they overlap?

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

Page 29: Game Development  and the Research Community  How might they overlap?

29

Analysis: Testing Isolated Features

Analysis: Testing Isolated Features

Page 30: Game Development  and the Research Community  How might they overlap?

30

Analysis: Testing Isolated Features

Analysis: Testing Isolated Features

Page 31: Game Development  and the Research Community  How might they overlap?

31

daysBug

Introduced

Development

Checkin

Smoke

Regression

Build

Time to Fix

Cost of Detection

ImpactOn

Others

Page 32: Game Development  and the Research Community  How might they overlap?

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.

Page 33: Game Development  and the Research Community  How might they overlap?

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

Page 34: Game Development  and the Research Community  How might they overlap?

34

Test Client

Single, Data Driven Test Client

Single, Data Driven Test Client

Regression Load

SingleAPI

ReusableScripts & Data

Page 35: Game Development  and the Research Community  How might they overlap?

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”

Page 36: Game Development  and the Research Community  How might they overlap?

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

Page 37: Game Development  and the Research Community  How might they overlap?

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.

Page 38: Game Development  and the Research Community  How might they overlap?

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

Page 39: Game Development  and the Research Community  How might they overlap?

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)

Page 40: Game Development  and the Research Community  How might they overlap?

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

Page 41: Game Development  and the Research Community  How might they overlap?

41

Story TellingStory Telling

• Interactive• Canned• Emergent

• Interactive• Canned• Emergent

Page 42: Game Development  and the Research Community  How might they overlap?

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)

Page 43: Game Development  and the Research Community  How might they overlap?

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

Page 44: Game Development  and the Research Community  How might they overlap?

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)

Page 45: Game Development  and the Research Community  How might they overlap?

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

Page 46: Game Development  and the Research Community  How might they overlap?

46

Distributed systemsDistributed systems

Page 47: Game Development  and the Research Community  How might they overlap?

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

Page 48: Game Development  and the Research Community  How might they overlap?

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

Page 49: Game Development  and the Research Community  How might they overlap?

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)

Page 50: Game Development  and the Research Community  How might they overlap?

50

Data DistributionData Distribution

• Wireless, bband, MMP, FPS, …• Channels, etc• Wireless, bband, MMP, FPS, …• Channels, etc

Page 51: Game Development  and the Research Community  How might they overlap?

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, …)

Page 52: Game Development  and the Research Community  How might they overlap?

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/