1 / 52

Game Development and the Research Community How might they overlap?

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.

neith
Download Presentation

Game Development and the Research Community How might they overlap?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Game Development and theResearch Community How might they overlap? Larry Mellon PADS, 2003

  2. 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

  3. Talk Segments

  4. Game Business Overview • Market size / scope / direction • What drives game developers • Research funding issues

  5. Key Factors in Game Development • Types of games, technology overview • Driving requirements • Performance • Implementation

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

  7. Wrapup • Who is doing what • Resources

  8. 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…

  9. Outline 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 3 min break 2+ hours 15 min break 3 min break ½ hour Time

  10. 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

  11. 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

  12. 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

  13. 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…

  14. Console vs PC • Cyclic behaviour for best performance • Consoles: much larger game base • PCs: patchable, more CPU, networkable, more RAM, … • Consoles: becoming PCs…

  15. 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

  16. 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

  17. 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…

  18. Technology Challenges • What solutions are on the ground now • What is becoming problematic

  19. 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

  20. 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

  21. Persistent State Worlds • PSW == MMORG == MMP • Social bonding / community forming • Running communities (self governing) • Cluster computing • Load balancing • Network optimizations

  22. “Fast Twitch” FPS / Sports / Fighters / Driving • Solo & Team AI • Networked • Latency • Fair fight (latency) • Fair fight (Cheaters)

  23. General Research Areas

  24. 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…

  25. Visuals • Auto-pilots for “movie camera” to find best / dramatic shots in RT (or offline) • Animation (generation, sequencing, skeletal, editing, …)

  26. Visuals • Content generation (esp 3D) • Variant generation, map laydown, fractals, … • Otherwise, nice cheap algorthims become expensive, cranky artists that want food & sleep & $$

  27. 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

  28. Startup & Control Collection & Analysis Repeatable, Sync’ed Test Inputs System Under Test System Under Test System Under Test Python Scriptable Playsessions NullView Client Python Email/DB/Web Automation Phases & Tools

  29. Analysis: Testing Isolated Features

  30. Analysis: Testing Isolated Features

  31. Impact On Others

  32. Pre-Checkin Regression: don’t let broken code into Mainline.

  33. Resource Debugging Data Load Testing Team Metrics Client Metrics Load Control Rig Test Test Test Test Test Test Test Test Test Client Client Client Client Client Client Client Client Client Test Driver CPU Test Driver CPU Test Driver CPU Game Traffic Internal System Server Cluster Probes Monitors

  34. Single, Data Driven Test Client Load Regression Reusable Scripts & Data Single API Test Client

  35. Data Driven Test Client “Testing feature correctness” “Testing system performance” Load Regression Reusable Scripts & Data Single API Test Client Single API Key Game States Pass/Fail Responsiveness Configurable Logs & Metrics

  36. Test Client Game Client Test Control Game GUI State State Commands Presentation Layer Client-Side Game Logic Test Client == Game Client

  37. Chat Enter Lot Use Object Route Avatar … Gameplay: Semantic Abstractions Basic gameplay changes less frequently than UI or protocol implementations. NullView Client View ~ ¾ Presentation Layer Logic ~ ¼

  38. 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

  39. 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)

  40. 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

  41. Story Telling • Interactive • Canned • Emergent

  42. 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)

  43. 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

  44. 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)

  45. Customer Satisfaction • The driving cost in a subscription business • Client uptime / server uptime • Lag • Hackers / griefers • Graphics • Constant new content

  46. Distributed systems

  47. Interest Management • Pregenerated (BSP trees) • Network oriented (more down than up) • Variable data resolution • Not the driving cost

  48. Clustering / Load Balancing • Sharing the load across servers • “Fair play”, dynamic migration • Not the driving cost

  49. Time Management • Mostly RT: Tick / wallclock • Local proxies • Discrete event not used much (yet)

  50. Data Distribution • Wireless, bband, MMP, FPS, … • Channels, etc

More Related