Top Banner
1 Got MIPS? The in On-line Games Wu-chang Feng Portland State University Sponsored by:
73

Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Jun 21, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

1

Got MIPS?The in On-line Games

Wu-chang FengPortland State University

Sponsored by:

Page 2: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 2

Outline

n From client to servern Humans as input devicesn Procedural contentn AI in breadthn Cheat detection and preventionn Large, detailed, persistent simulationsn Content generation via tools and users

Page 3: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 3

Humans as input devices

n Physical gamingn Blurring the real and virtual

n Physical motion initiating virtual equivalentsn Prevalent in high-end video arcades in Asia

n Faster CPUs at clients enabling richer HCIn Real-time image and sensor processingn Used for traditional video games & augmented reality games

Page 4: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 4

EyeToy

n Entire body as inputn Arm, leg, head trackingn Embedded in game or

driving game actions

Page 5: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 5

Karaoke Revolution

n Voice pitch as inputn Not enough MIPS to detect enunciation

n The humming cheat n BNL’s-”One Week” or REM’s-”It’s the End of the World …”n Simon would not be impressed

n But humming works in the American Idol game, too!

Page 6: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 6

Human Pacman

n Physical location as inputn Virtual overlaid on physical via gogglesn Picking up real cookiesn Catching ghosts

Page 7: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 7

Real Tournament

n Physical location and direction as inputn Virtual game world displayed on attached iPaqn Remote simulation

n Position and direction of gun determine where shot goes

Page 8: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 8

Future directions

n Higher-resolution inputn Real-time speech recognitionn Gesture-based input

n Accelerometer tilt sensorsn Gyroscopic motion sensors (Nintendo

Revolution magic wand controller)n Stereo EyeToy for depth

n Motion capture akin to current production of sports games

n Obviate the need for motion-sensor suits?n Facilitated by 100-fold increase in processing

n PS2, Xbox, Gamecube ~5-10 GFLOPSn PS3, Xbox 360 ~1-2 TFLOPS

Page 9: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 9

Future directions

n Multi-modal inputn Karaoke Revolution Party

n EyeToyn DDR padn Microphone

Page 10: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 10

Future directions

n Multi-modal inputn Weight sensors for balancen Not too far from a “Minority Report” interface..

Page 11: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 11

Future directions

n Multi-modal outputn Force-feedback controln Electric shock?

n Manipulate balance through ear

n Sensory surround experiencen Philips amBX system

http://ambx.comn Control ambient light, sound, heat,

and airflow during gameplay

Page 12: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 12

Outline

n From client to servern Humans as input devicesn Procedural contentn AI in breadthn Cheat detection and preventionn Large, detailed, persistent simulationsn Content generation via tools and users

Page 13: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 13

Procedural content

n Run-time generation of content n Why?

n Artists are a huge part of budgetn Higher resolutions exacerbate problem

n Increases development time and costn Content generation dominates cost of MMORPG after launch

n Increases storage and/or bandwidth costs of gamen Example: Everquest 2 on 10 CDs!

n Send new “tree generation algorithm” vs. new treesn Procedurally generate all objects, textures, and soundn Demo coders can generate a 3D game in 64KB

Page 14: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 14

Procedural content

n Examplesn Generate weathering effects

n Versus static pre-rendered images of discrete levels of decayn Simulate rust, stains, and moss growth

n See Chen et. al. SIGGRAPH 2005n MasterWorks talk “Computing Visual Effects is like Compiling Code”

Page 15: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 15

Procedural content

n Examplesn Generate character voices

n Call of Duty 2 (10/2005)n Battle chatter system with 20,000 lines of dialoguen Static levels of hoarseness and tonesn Takes up more space than original CoD!n 8% of $14.5 million budget on audio

n Run-time speech synthesisn Epson/Fonix multilingual TTS chip (11/2005)

n 5 languagesn http://www.tmaa.com/tts/engine_listing.htm

Page 16: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 16

Procedural content

n Examplesn Generate character aging

n Static pre-rendered models of discrete agesn 3 pre-rendered ages of Sims in original (baby, kid, adult)n Black & White fixed age titan models

n Simulate aging and continuously update modeln Avoid 1000 renderings of same character

Page 17: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 17

Will Wright’s Spore

n Procedural character generation and agingn Sims 2: 22,000 animationsn Spore: dynamically generated animations based on

player’s character designn GDC 2005 talk

Page 18: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 18

Future directions

n Better algorithmsn Can we write good artwork generators?

n Need trees not fractalsn Applying film CGI tools to gamesn Film and game production tools

n NaturalMotion Ltd.’s endorphin http://www.naturalmotion.comn Lucasfilm

Page 19: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 19

Outline

n From client to servern Humans as input devicesn Procedural contentn AI in breadthn Cheat detection and preventionn Large, detailed, persistent simulationsn Content generation via tools and users

Page 20: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 20

AI in breadth

n George Lucas at SIGGRAPH 2005n “The next breakthrough in games will be artificial intelligence and

voice recognition”n “..where you can talk to the game and it will talk back” n “..change games from first person shooters narratives to intelligent and

challenging first-person shooter type dramas”

n AI providing more separation in games vs. graphics and artn 7-fold increase in CPU time devoted to AI since 1997n Killzone (PS2) devotes 12% of CPU to AIn NPCs no longer need to “cheat”

Page 21: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 21

AI in breadth

n State of AI in gamesn Dominant at static, turn-based games

with strict rules of movementn Example: Chess and Deep Blue

n AI developers have difficulty withn Games with heavy independent

thought and actionn Dynamic, open-ended games with

emergent behavior (Counter-Strike)n Games with diverse virtual characters,

allies, and opponentsn Need better breadth!

Page 22: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 22

Path-finding

n Age-old AI problem still consuming most of CPUn Find shortest, safest,

most tactically advantageous path

n Consumes 40% of CPU for bots on FPS gamesn Map complexityn Updates every 50ms

n Path-finding in WoWn Too difficultn Too many creaturesn Mobs go directly to

points in world

Page 23: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 23

“Unscripted” AI

n Minimally scripted behaviorn Riots in State of Emergencyn Soldiers in Metal Gear Solidn Police tactics in GTA3n Platoons in Far Cry

Page 24: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 24

Role-based intelligence

n Cooperative (allies)n Coordinating attacks in Halo

n Providing cover firen Flanking maneuver

n Protection in Munch’s Oddyseen Automating roles in WoW?

n Fix class imbalancen Everyone wants to be the heron No one wants to heal the hero

Page 25: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 25

Role-based intelligence

n Adversarial (opponents)n Synthesizing tactical strategy in Killzone

n Suppression fire to pin down opponentn Tactical withdrawal

n Based on skills, experience, equipment, race, etc.n Beyond scripted AI of WoWn Richer sets of MMORPG characters

n Opponent-specific adaptationn Play at the level of the person paying you moneyn Play to keep customer happy

n FreeCell 70% win threshold

Page 26: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 26

Goal-oriented activity

n Enabling free-will button in The Simsn Sims taking care of themselves

Page 27: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 27

Personality training and acquisition

n Pavlov dog training on a grand scalen Mimicry and penalty-reward trainingn Nintendogsn Black & White Titans (pets)

n Continuous training to train titan (pet)n Glutton, killer, care-taker, athlete, etc.n Eat enemy villagers but not your ownn Heal your own villagers but not the enemy’s

n Non-programmed behaviorn Eating its own arm when starvingn “My ape couldn’t find someone to heal. He got

pretty upset. So he threw a guy against a mountain. Then he healed him”

Page 28: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 28

Game Master replacement

n Humans that keep game running at a huge cost to publishersn Detect and ban cheatersn Observe and ban griefersn Free players who are stuckn Provide technical support

n Game Master automationn Currently primitiven HLGuard for cheatersn Swear filter AMX plug-in for Counter-Strike for griefers

n See it in action at cs.mshmro.com

Page 29: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 29

Future directions

n Hardware accelerationn AIseek AIS-1 “AI chip”

n Path-finding and terrain analysisn Squad formation and movement

n Is there an AI ISA that works across games?n Counter-Strike vs. Chessn Civilization vs. Nintendogs

n Combining a variety of techniquesn http://www.cgf-ai.com/links.html

Page 30: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 30

Outline

n From client to servern Humans as input devicesn Procedural contentn AI in breadthn Cheat detection and preventionn Large, detailed, persistent simulationsn Content generation via tools and users

Page 31: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 31

Cheat detection and prevention

n Cheating impacts bottom-line of any gamen Wrecks virtual economiesn Causes legitimate, paying players to quitn Creates bad word-of-mouth to discourage new players

Page 32: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 32

Information exposure cheats

n Server or peer sends complete information to other clientn Cheat reveals information that should be hidden

n Wallhackn Quake 4 – released 10/18/2005n Call of Duty 2 – released 10/25/2005

Page 33: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 33

Information exposure cheats

n Maphack (reveal map and enemy units)n Warcraft without Maphack

Page 34: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 34

Information exposure cheats

n Maphack (reveal map and enemy units)n Warcraft with Maphack

Page 35: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 35

Information exposure cheats

n Counter-measures (MIPS to the rescue!)n Remote rendering

n Currently, games symmetrically designed with both sides running simulationn Client gets all data about worldn Bad for preventing cheating

n Sending the deck in on-line pokern Server rendering

n Fixes information exposure problemn Can aid mobile game playing as well

n Client no longer has to be powerful enough to run full engine

n Example: PS3 to PSPn Problems

n Not scalable, only simple gamesn Latency issues

Page 36: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 36

Information exposure cheats

n Counter-measures (MIPS to the rescue!)n Data culling

n Cull data based on player’s location and field of viewn Example: Cheating-Death (client only)

n Does not work for P2P gamesn No authoritative server (Starcraft)?n No trusted third-party (i.e. non-player)

Page 37: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 37

Information exposure cheats

n Counter-measures (MIPS to the rescue!)n Bit-commitment

n Distributed game simulation (can’t trust each other)n Data culling combined with move and game state signing

followed by post-game verificationn Shameless plug #1: see our work in NOSSDAV 2005! ☺

n http://www.thefengs.com/wuchang/work/cstrike

Page 38: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 38

Automation cheats

n Automate game activities via Botsn Aimbots

n Automate aiming in FPS

n Macros and game bot farmingn Automate wealth acquisition via

programs

Page 39: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 39

Bots and farming cheats

n Counter-measures (MIPS to the rescue!)n Continuous player performance monitoring

n Example: HLGuardn Machine learning of reasonable human reaction timen Ban those who react too fastn Prone to false positivesn Cal-I (Cyberathlete league) players

n Reverse turing testsn Captchas

n Solve a hard problem in pattern recognition to cheat

n Personal favorite academic idea: secure mice/keyboardsn Hardware signing its movement and clicks

n Solve a hard problem in robotics and image processing to cheat!

Page 40: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 40

Bots and farming cheats

n Automating game activitiesn Real-world farming

n Use workers in third-world countries to generate wealthn Counter-measures

n Machine learning of language and behaviorn Lawyersn http://www.gameguidesonline.com/guides/articles/ggoarticleoctobe

r05_01.asp

Page 41: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 41

Bug exploitation

n Exploit inconsistencies and errors in game coden Item duping

n Disconnect while dropping itemn Ambiguity in whether event happened globally

n Other game glitches and errorsn Magic “pizza” machine in The Sims On-linen Vending machine and pawn shop hack in Lucasfilm’s Habitat

n Counter-measures (MIPS to the rescue!)n Formal verification

n NetGames 2004n Wealth heuristics

n Analyze “Gross Game Product” continuouslyn Check per-player anomalies (i.e. use credit card fraud detection

algorithms)n Personal favorite

n Monitor currency devaluation on Ebay ☺ (Eve On-line)

Page 42: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 42

Other cheats

n Collusionn On-line poker, bridgen StarCraft ladders

n Look-ahead (timing) cheatn Strategy games

n Speed-hackn Half-Life

n Disconnect cheatn Madden on-line

n Denial-of-servicen Time-sensitive P2P games with remote score trackern Go, Chess

n Performance enhancing drugs

Page 43: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 43

Future directions

n Generic solutionsn Use of cryptographic mechanisms

n Authenticityn Attestationn Non-repudiation

n Scannersn Continuously scan memory for foreign libraries and cheats

n Steam and VAC, PunkBustern Heuristics not perfect: Steam and modified OpenGL drivers

Page 44: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 44

Future directions

n Generic solutionsn Trusted computing

n Softwaren Ensure no other foreign library is loadedn Binary modification detection (Second Life)

n Peripheralsn Keyboard, micen Secure remote screenshots

n PunkBustern Sign geometry info or raster output

n Trusted network outputn Cryptographic timestamping/orderingn Prevent look-ahead cheats

n Issuesn Customization vs. Trusted Computing

n Mods and macros are successful parts of gamesn Counter-Strike, Neverwinter Nights, and Second Life

n Work currently being sponsored by Intel

Page 45: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 45

Future directions

n Generic solutionsn Machine learning, clustering, anomaly detection

n Learn normal behavior, flag abnormaln HLGuard for reaction-time (see Bots and Farming cheats)n Wealth acquisition for MMORPG (see Bug Exploitation)

n Security folks: sound familiar?

Page 46: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 46

Outline

n From client to servern Humans as input devicesn Procedural contentn AI in breadthn Cheat detection and preventionn Large, detailed, persistent simulationsn Content generation via tools and users

Page 47: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 47

Large-scale sims

n Scaling users in a FPSn FPS games historically monolithic, single-server games

n Limits maximum player numbers to 32-64 on a servern Planetside ~200-300

n Parallel and clustered FPS server implementationsn Parallel Quake II (Glenn Deen, OptimalGrid, IBM Research, ICPP 2005)

n Clustered implementation with 70ms transition between nodesn http://www2.dnd.no/icpp2005/keynote_icpp2005.pdf

Page 48: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 48

Large-scale sims

n Scaling users in an MMORPGn Single server limited to thousands

n Socket, thread, memory limitationsn Must resort to realms, sharding, and instancingn WoW ~ 8,000 per continent in a realm

n Fundamentals of MMORPG server internalsn Common use of scripting languages

n Programmability, maintainability, extensibilityn Thread per-player or per-object (> 10k)

n Event-driven approaches too difficult to debug and maintainn Examples

n Lua (WoW)n UnrealScript (Lineage II, Unreal games, America’s Army, Deus Ex)n Python (Civilization, Eve On-line, Kaneva engine)

Page 49: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 49

Large-scale sims

n Scaling users in an MMORPGn Improving MMORPG server internals

n Issues with massive threading and scriptingn Scheduling and synchronization overheadn Memory footprint 1MB per pthread if OS threads usedn Inability to migrate threads

n Next-generation scripting with Stackless Pythonn http://www.stackless.com/n Cooperative user-level multithreading with heap-based stacks and

an O(1) RR schedulern Tasklets, microthreads (i.e. user-level threads and co-routines)n Minimal need for objects to synchronize

n Massive thread scaling with slight heap overheadn Add “pickling” (think Java serialization) to swap to disk and to

migrate to other processors

Page 50: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 50

Large-scale sims

n Scaling users in an MMORPGn Database limitations

n DB performance forces MMORPGs to restrict players in realm/shard

n Most games use relational DB backends, but don’t need flexibility of relational model

n Application-specific databases (XML and hierarchical DBs)n Restrictive queries and data representations but extremely fastn Hierarchical DBs no longer taught in database classes, but used

prevalently in credit card transaction processingn Large MMORPGs need transaction rates akin to credit cards

Page 51: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 51

Large-scale sims

n Hosting infrastructure for large workloadsn Enabling games on grids

n IBM on-demand services for games, Butterfly.netn Dynamically allocate resources based on predicted loadn Reduce risk in hardware purchasing at game launchn Shameless plug #2: See our game workload studies at IMC 2005

n http://www.thefengs.com/wuchang/work/cstrike

Page 52: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 52

Large-scale sims

n Supporting “emergence”n Process of complex pattern formation from simpler rules

n Characterized byn Unscripted interactionsn Varying game play under same set of rulesn Large number of outcomes and end-states

n Keeps game interesting for players

n CPU advances enable certain modes of emergencen Create larger behaviors by simulating many smaller interactionsn Occurs at all levels and genres

n SimCity, Civilization, Black & Whiten Counter-Strike, World of Warcraft, The Simsn Spore

Page 53: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 53

Detailed sims

n Physicsn Modern game engines do per-polygon collision detection

n CPU becoming a severe bottleneck

n Advanced physics for…n Vehicles (cars, planes)n Weapons (gun recoil, bullet ricochets, shrapnel sprays based on

environment)n Activities (parachuting, sailing, snowboarding, canoeing)

n SIGGRAPH virtual canoe with algorithm-driven fluid resistance oar

n Environmental simulation

Page 54: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 54

Detailed sims

n Graphicsn 3D, HD rendering

n Increased polygon countsn Parallel rendering on clusters

n Chromium (Stanford)

n Out-of-core renderingn Streaming large maps on-

demand?n Does one need to deliver

worlds on CD or download them entirely beforehand?

Page 55: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 55

Detailed sims

n Audion 3D and HD audio

n Mixingn Environmental effects (wind, gunfire, etc.) on sound propagationn Doppler effects (bullet localization)n Per-player VoIP mixing based on virtual player positions

n Creative X-Fi (Extreme Fidelity)n 51 million transistors, 10,000 MIPS

n Procedural generation of speech vs pre-recorded scriptsn See previous slides

Page 56: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 56

Detailed sims

n Serious games (non-entertainment training games)n http://www.seriousgames.org/n http://www.gamasutra.comn Large-scale simulations for education, training, and forecasting

n Made possible by recent CPU advancesn Can finally simulate something useful

n Economicn Japanese Finance Minister game:

http://www.mof.go.jp/zaisei/game.htmln Education

n University management game http://www.virtual-u.org/n Health

n Trauma care trainern Healthcare games http://gamesforhealth.org/

n Biologyn ImmunoAttack (see next talk)

Page 57: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 57

Detailed sims

n Serious games (non-entertainment training games)n Leadership

n Virtual leader: http://www.simulearn.net/

n Businessn Business War Games: http://www.prisim.com/

n Planning and governmentn Traffic simulators http://www.traffic-simulation.de/n Government (Civilization, SimCity, Diplomacy)

n Culturaln Voice interaction with allies and (see USC/DoD)

Page 58: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 58

Detailed sims

n Serious games (non-entertainment training games)n People

n PsychSim http://www.isi.edu/isd/carte/proj_psychsim/n Bio-terrorism

n University of Chicago: http://www.uic.edu/sph/caden Science

n Aerospace simulatorsn Vehicles

n Cars (GT4, Need for Speed)n Airplanes (Flights Simulator)

n Teamsn Sports managementn Tournament Dreams http://www.400softwarestudios.com/tdcb

Page 59: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 59

Persistent sims

n Dynamic persistent worldsn Deformable maps and worlds

n Currently, server and client have identical maps, textures, & models

n Want persistent and shared effectsn Persistent "worlds" not just "characters“n Terrain that reflects results of the day’s battles

n Digging a hole and covering it up with grassn Multiple players interacting with map itself

n Enabled via remote rendering, out-of-core rendering?

Page 60: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 60

Persistent sims

n Dynamic persistent worldsn Dynamic lighting

n Fixed levels of lighting in virtual worlds (FPS and MMORPG)n Shadows and lighting pre-

rendered in textures/mapsapriori and shipped to client

n Want procedural generation of lighting effects

Page 61: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 61

Persistent sims

n Dynamic persistent worldsn Dynamic lighting

n Terrain that reflects time of day and available light sourcesn Dynamically simulated lighting

n Global illumination simulation (photon mapping)n Photon maps calculated at server based on virtual worldn Allow server to control time of day on mapn Allow player “flashlights”, shooting lights out, opening doors, etc.n See Henrik Jensen’s animations

n http://graphics.ucsd.edu/~henrikn Roughly approximate?

n Pre-generated global illumination simulation compiled into levels

Page 62: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 62

Future directions

n Hardware accelerationn Identify common functions, put in hardwaren Ageia PhysX physics acceleration chip

n 120 million transistorsn Go from 200 objects to 32000 (physics and collision detection)

n Havokn GPU-based physics acceleration

n Other lower-level simulationsn Physiological simulation?n Evolutionary simulation?

Page 63: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 63

Outline

n From client to servern Humans as input devicesn Procedural contentn AI in breadthn Cheat detection and preventionn Large, detailed, persistent simulationsn Content generation via tools and users

Page 64: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 64

Content generation via tools

n Development engines CPU-hungryn Most games 3D

n 3D FPS popularized by Doom (1993)n 3D MMORPG popularized by Everquest (1999)n 3D RTS popularized by Warcraft III (2002)

n Applying film CGI tools for gamesn Modeling, rendering, animation on large clustersn See previous slides

n Consolidation of engines for FPS, RPG, RTS (genres blurring)n Unreal Engine 3 (Epic)

n Deus Ex, Lineage II, Splinter Cell, Unreal II, AA, etc.n Kaneva, Emergent

Page 65: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 65

Content-generation via users

n Content generation is the largest cost after launchn Many successful “user-driven” games

n Counter-Striken Neverwinter Nights

n Second Lifen First MMORPG with user content explicitly designed forn Remote execution of code written by players in VMs

Page 66: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 66

Future directions

n Ensuring safetyn Virtual machines

n Vanderpool?

n Language-level mechanismsn Code inspection, analysis, and verificationn Execution monitoring

Page 67: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 67

Crystal ball

n Games have only just begun …n Networks and graphics were key in last 10 yearsn Supercomputing and AI will be key in next 10 years

n Research from AI and Supercomputing has not been applied to games

n The killer application for multi-core CPUsn Both at the client and servern Most functions in talk are independent

n Rapidly growing CPU budget allows for interesting new combinations

n New system requirement?n # of cores along with GHz, RAM, disk space

Page 68: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 68

Acknowledgements

n Sponsorsn Intel Research Council awardn IBM Faculty Partnership award

n The Game Group at Portland State Universityn http://games.cs.pdx.edu/n Faculty - Bryant York, Wu-chi Feng, Melanie Mitchelln Students - Chris Chambers, Jim Snow, Ed Kaiser, Francis Chang

n ACM NetGames and mshmro.com communities

Page 69: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 69

Final note

n You can upgrade the CPU in the computer, but not the one in the personn http://www.ebaumsworld.com/asianarcade.html

n Questions?

Page 70: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 70

Extra slides

Page 71: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 71

Caveats about talk

n Gaming landscape is massiven Talk is not

n MIPS numbers hard to come byn Not really publicized by makersn Talk is qualitative not quantitative

Page 72: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 72

Other CPU draws

n OS/Networking issuesn Lots of tiny packets and low bandwidth connectionsn Unicast work in NOSSDAV 2005n Overhead miniscule reallyn Not much here for us networking folks, move along

n Servicesn Geographic server selection

n http://www.thefengs.com/wuchang/work/cstrike

n Sharing game replaysn Spectator networks

Page 73: Got MIPS? The in On-line Games - thefengs.com · Got MIPS? The Need for Speed in On -line Games, SC|05 MasterWorks, 11/15/2005 15 Procedural content n Examples n Generate character

Got MIPS? The Need for Speed in On-line Games, SC|05 MasterWorks, 11/15/2005 73

Doom (1993)

Doom 3 (2004)