Course Organization CISC 877 Video Game Development Week 1: Introduction
T.C. Nicholas Graham [email protected] http://equis.cs.queensu.ca/wiki/index.php/CISC_877 Winter term, 2010 equis: engineering interactive systems
Topics include… Timeline and Marking Scheme
Video game design Gaminggp platforms and fundamental technolo gies Activity Due Date Grade January 26, Game development processes and pipeline Project Proposal (2-3 pages, hand-in) 10% 2010 Software architecture of video games Progress Presentation (involves Mar 2, 2010 20% Video games as distributed systems presentation and online report) Game physics Informal progress reports Weekly 5% GAIGame AI April 6, 2010 Scripting languages Final Project Presentation / Show 10% (tentative) Game development tools Final Project Report April 9, 2010 45% Social and ethical aspects of video games Class Participation 10% User in terf aces of gam es
equis: engineering interactive systems equis: engineering interactive systems Homework
Project proposal (for next week) Wiki contains detailed description of project ideas, game you will be extending The Project Proposal to be posted on Wiki – create yourself an account Form your own project groups – pick project appropriate to group size OGRE tutorials (over next two weeks) …see Wiki for details Download URL: http://equis.cs.queensu.ca/~graham/cisc877/soft/
equis: engineering interactive systems equis: engineering interactive systems
The Game: Life is a Village The Game: Life is a Village
Goal is to build an interesting village Travel world to find resource nodes Drop off villager who starts gathering nodes Spend resources to construct buildings Scales to player’s fitness Initial nodes easy to get to For more advanced resources , must go further, into harder terrain Intended to be played over long time Cooperation Exploration
equis: engineering interactive systems equis: engineering interactive systems Project Ideas Project Ideas
Multi-player play: Life is a Village is currently a single-person Mounts: Players can chase after mounts (e.g., horse, unicorn, game. Change it to allow multiple players to interact. Each player giant spider). If the player catches the mount, they can jump on top should have their own villaggge and villagers. of it,,g gainin g benefits such as increased s peed. Zones: The game currently takes place in one relatively small Level of detail AI: Modify the AI manager to allocate time to AI terrain. Change it to allow any number of such terrains to be linked, entities consistently with their importance in the game – part of with some mechanism of transitioning from one zone to another. scaling to very large scenes or networked play. ZihthdilldiffttlZones might have radically different styles - e.g., dtdesert, Physics: Currently, the world has rather strange physical moonscape, etc. You can use the EQUIS Terrain Generation tools properties. Collision detection: Physical objects such as buildings to generate zones for experimentation. and trees are currently blocked off so that players cannot enter Persistence: The game currently terminates when the player exits . them. These rules should be relaxed, e. g., so that a player can When the player returns, the game starts afresh. Change the game jump off a mountain and land on the roof of a building. It should be to be a persistent world, where the game keeps running even if the possible to charge towards a ramp, and fly into the air in a player is not there, allowing the player to rejoin the world in physically realistic fashion. This work is best done with the Open progress. Persistence should be compatible with multi-player play. Dynamics Engine.
equis: engineering interactive systems equis: engineering interactive systems
Why Study Game Development?
Games have become an important medium, ranking with television, movies, books Why Study Video Games? Game development is a fascinating problem Brings together many disciplines: artists, computer scientists, writers, actors , musicians Video games are an emerging artistic medium In computer science, combines the hard problems of graphics, artificial intelligence , database, distributed systems, human-computer interaction, computer-supported cooperative work, software architecture, quality assurance, project management
equis: engineering interactive systems equis: engineering interactive systems Games as an Important Medium Canada in Game Development
Money Largest Game Development Studio World-Wide World wide video game sales were $24.5 billion in 2004 Larger than Hollywood’s box office take Electronic Arts, Vancouver Demographics Second Largest Game Development Studio World- Average age of gamers: 30 43% female Wide Average hours played: ~75hrs/week7.5 hrs/week Ubisoft, Montreal, > 1, 500 employees 22 hrs/week for MMORPG players Effect on Real Life Most popular modeling tools About 50% of MMORPG players consider themselves to be Maya (Alias, Toronto), XSI (SoftImage, Montreal), 3ds Max addic te d (Discreet, Montreal) Virtual property is the cause of real-life crime, even murder 40% of MMORPG players feel that their online friends are Most popular animation tool comparable to or even better than their real life friends Motion Builder (Alias, Montreal) Lawsuits allege video games lead to antisocial behaviour
Sources: Entertainment Software Association, Daedalus Project, Business Week Online, BBC News
equis: engineering interactive systems equis: engineering interactive systems
Platforms for Gaming
Consoles PC’ s Platforms for Gaming Portable Game Devices Mobile Devices
equis: engineering interactive systems equis: engineering interactive systems Consoles Consoles: Xbox 360
Released November 22, Typical life cycle: 5 years 2005; CDN $199+ 3 x 3.2 GHz dual core Cutting-edge on introduction; behind the curve PowerPC processor on retirement 1 VMX-128 vector unit per core Typically difficult to program – games improve 1 MB L2 Cache in quality over console’s life as developers Custom ATI R500-based Graphics Processor improve tools HD Resolution up to 1920x 1080 (16: 9, vs Current generation of consoles normal 4:3 TV) 512 MB 700 MHz GDDR3 Xbox 360 RAM PlayStation 3 Up to 4 wireless game controllers Wii 802.11A/B/G Ethernet Photo c////o http://www.xbox.com Optional 20+ GB HD Source: http://en.wikipedia.org/wiki/Xbox_360
equis: engineering interactive systems equis: engineering interactive systems
Consoles: PlayStation 3 Consoles: Nintendo Wii
Released December 2006 Released November Sales price: $299+ 2006 3. 2 GHz Cell Processor 7 SPE’s – 128 bit SIMD C$CCost: $269 CDN RISC processor 802.11B/G wireless via connected by 10 GBps bus Nintendo hotspots 1 PPE as controller Controller – simplified 2.3 MB SRAM (512 KB L2 design (TV remote), Cache, 1.79 MB per SPE) C“Custom “Reality Synthesizer ” positional sensing Graphics Processor 6 DoF Accelerometer (NVIDIA/Sony) IR-based pointing Resolution: up to 1920x1080 (1020p) 512 MB RAM 3 Gbps Ethernet ports, ATI “Hollywood” GPU 802.11G, Bluetooth 2.0 No HD support Up to 7 Bluetooth controllers Source: http://en.wikipedia.org/wiki/Playstation_3 Source: http://en.wikipedia.org/wiki/Nintendo_Revolution
equis: engineering interactive systems equis: engineering interactive systems Consoles: Programming Consoles: Development
Two consoles introduced significantly different programming architectures Proprietary software development kit available 6 cores in Xbox 360 for Windows PCs 7 cores in PlayStation 3 Develop, debug on PC Extensive vector processing capabilities Difficultyyg of finding this much parallelism in games Cross-compile to console Obvious candidate: AI E.g., XNA for Xbox 360 Difficulty of concurrent processing In Xbox 360,,y GPU and CPU share memory Developers do not necessarily make it easy to Will certainly take developers 5 year span of consoles’ life cycle to port to other consoles learn how to develop for new consoles Battle for which console is “native” implementation, as it will be better than ported ones Will be particularly interesting with new architectures
equis: engineering interactive systems equis: engineering interactive systems
Consoles: Software Delivery PC’s
Typically CD/DVD/Blu-ray delivery Enormous variety of hardware platforms OS Traditionally consoles have no/small HD, Wind ows, M acOS , Linux games played directly from DVD Windows PC’s have open hardware/software environments Imppppypglies no opportunity for patching Video card , CPU, memory differ in capability by orders of Compare to PC games where patches routinely magnitude Different versions of DirectX, video card drivers cause delivered after release, reqqyuire download by enormous difficulties with QA Compare to consoles which offer completely uniform players environment E.g., Battlefield 1942: patch to version 1.6.19 is Tendency of new games to support higher-end PC’s 267 MB E.g ., recommended system for Civilization 4: 3.2 GHz Pentium, 256 MB Video Card Requires rock-solid software engineering, QA Drive hardware sales processes Limit games to serious hobbyists
equis: engineering interactive systems equis: engineering interactive systems Portable Game Devices PlayStation Portable
Handheld devices for gaming 170x74x23 mm Extension into other entertainment areas – 480x272 pppyixel display movies, MP3’s 222 MHz dual core MIPS32R2 CPU EgE.g. 32 MB RAM PlayStation Portable Graphics chip: 166 MHz, Nintendo DS 2MBRAM2 MB RAM 802.11B Wireless networking
Source: http://en. wikipedia. org/wiki/PlayStation_ Portable
equis: engineering interactive systems equis: engineering interactive systems
Nintendo DS Nintendo DS
Dual screen Dual screen allows Upper screen is out put- innovative game design only Over 10 million units Lower screen offers sold so far touch-sensitive input Microphone input Wireless hotspots
Source: http://en.wikipedia.org/wiki/Nintendo_DS
equis: engineering interactive systems equis: engineering interactive systems Mobile Devices
Cell Phones, PDA’s Devices not primarily intended for gaming Short games Input Devices Very simple input Typically programmed using Java 2 Mobile Edition or Objective C Enormous market Programming challenge in diversity of devices
Image Source: http://www.airshiptwo.com/crystalalliance.php
equis: engineering interactive systems equis: engineering interactive systems
Input Game Controllers: Logitech PS2
Input devices significantly direct the kinds of games offered Consoles Game controller PC’s Keyy,board, Mouse
equis: engineering interactive systems equis: engineering interactive systems Game Controllers: Logitech PS2 Game Controllers
Jog dial
Buttons
PS3 Controller
Joysticks
+F+ Force-fdbkfeedback Xbox 360 Controller
equis: engineering interactive systems equis: engineering interactive systems
Game Controllers Wiimote Game Controller
Controller joysticks less accurate than mouse No poss ibility o f tex t en try Choices generally limited to 4, or using awkward scrolling mechihanism Great for sofa, floor use In general – games involving text entry, presentation of lots of data, requiring detailed selection tasks are PC-only Wiimote
Sensor Bar
equis: engineering interactive systems equis: engineering interactive systems Images c/o Wikipedia Other input devices Other Input Devices
Logitech Driving Force EX Logitech Freedom 2.4 Cordless Joystick with force feedback
equis: engineering interactive systems equis: engineering interactive systems
Other Input Other Input Devices
Logitech G7 Laser Cordless Mouse 2000 dpi resolution Sparco Racing Cockpit Pro
equis: engineering interactive systems equis: engineering interactive systems Project Natal
Game Genres
equis: engineering interactive systems equis: engineering interactive systems
Game Genres First-Person Shooter (FPS)
First-Person Shooter Played in first-person Racing Games Lots of shooting Interactive Fiction Role-Playing Games Capture the flag gameplay Massively Multiplayer Online Games Often multiplayer , team-based Real-Time Strategy Games Among the most violent games in existence – Turn-Based Strategy Games often hyper -realistic graphics, sometimes God Games situations based on real-life events Puzzle Games StGSports Games E. g., Modern Warfare 2, Half-life, Counterstrike, Simulations Battlefield 1942 Car d Gam es
equis: engineering interactive systems equis: engineering interactive systems Battlefield 1942 Racing Games
Racing cars Around track Rally Combine reflexes,,gy, strategy, car fantasies Ideal multiplayer game E.g., Gran Turismo, Colin McRae Rally
equis: engineering interactive systems equis: engineering interactive systems
Gran Turismo Gran Turismo
equis: engineering interactive systems equis: engineering interactive systems Interactive Fiction 4K Adventure
Typically text-based, sophisticated natural language parsers User navigates world, solves puzzles Adventure, Zork Less popular since advent of graphical user interfaces Emphasis on story-telling somewhat lost in modern games
Source: http://www.wurb.com/if/game/321
equis: engineering interactive systems equis: engineering interactive systems
4K Adventure 4K Adventure
equis: engineering interactive systems equis: engineering interactive systems 4K Adventure 4K Adventure
equis: engineering interactive systems equis: engineering interactive systems
4K Adventure 4K Adventure
equis: engineering interactive systems equis: engineering interactive systems 4K Adventure Role-Playing Games
Lineage from Dungeons and Dragons role playing game (paper and pencil) Focus on quests, story-telling, character development CbCan be open-enddded, or c lose ly gu iddided Characters gain levels/skills over time Usually involve combat, fantasy E.g., Neverwinter Nights, Dragon Age: Origin Metagame – players create own stories (modules)
equis: engineering interactive systems equis: engineering interactive systems
Neverwinter Nights MMOGs
Massively Multiplayer Online Games Also MMORPG, MMOFPS, MMORTS, … Permit thousands of players to play together in immense online world Some worlds would take days of real-time to traverse end to eednd Players cooperate, or fight with each other Often open-ended gameplay – can have career as warrior, crafter, merchant, interior decorator Some devotees spend as much as 30-40 hours a week in these virtual worlds, make friends there Interesting sociological phenomenon as well as technical E.g., World of Warcraft (~8 million players), Eve Online (> 19,000 concurrent players), Star Wars Galaxies, Everquest
equis: engineering interactive systems equis: engineering interactive systems MMOGs TBS
Turn-Based Strategy Lineagg(g)e in Board Games (war games) Turn-based One player performs a set of moves NtlNext player per forms a set tf of moves… Typically deep games with complex rule sets Mainly appeal to niche player group Difficult, involving, poor graphics Adapt poorly to network play E.g., Europa Universalis, Gary Grigsby’s World at War, Civilization 4
equis: engineering interactive systems equis: engineering interactive systems
TBS: Europa Universalis RTS
Real-Time Strategy Strategy games played in real-time – no turns, no pauses fffor reflection Differ from TBS: player speed is important; ability to managgqye lots of information quickly Gameplay: build base, build units, gather resources, destroy other players Maps well to multiplayer play, as there are no turns – all players play simultaneously E.g., Starcraft, Warcraft, Command and Conquer seriAies, Age o fEif Empire
Source: http://www.strategyfirst.com/en/games/redir/?iGameID=17
equis: engineering interactive systems equis: engineering interactive systems God Games Civilization 4
Follow a civilization through time Often follow thousands of years of history, allowing player to start with a primitive village, build up to modern nation Games involve combat, diplomacy, cultural domination E.g., Civilization series, Age of Empire series, Black and White Intersects with RTS, TBS
equis: engineering interactive systems equis: engineering interactive systems
Civilization 4 Technology Tree Civilization 4 Diplomacy
equis: engineering interactive systems equis: engineering interactive systems Puzzle Games Yahoo! Text Twist
Games based around solving puzzles Geometric (e.g., Tetris) Words (e.g., Yahoo! Text Twist) One of the few non-violent gggame genres
equis: engineering interactive systems equis: engineering interactive systems
Sports Games NHL 2k6
Control a team of players Strong multiplayer games Rewards speed, ability to see plays Typically tied to pro sports – annual release with up to date team rosters, detailed animation of real players, real commentators E.g., NHL 2k6, FIFA 2006, NBA Live 2006
equis: engineering interactive systems equis: engineering interactive systems Simulations Microsoft Flight Simulator
Simulation of some real-world phenomenon Vary in how detailed the simulation, how realistic, how much it is a game rather than an opportunit y to ex perience somethin g unusual Examples: The Sims, Microsoft Flight Simulator, Orbiter Space Flight Simulator, Roller Coaster Tycoon
equis: engineering interactive systems equis: engineering interactive systems
Orbiter Space Simulator Roller Coaster Tycoon
equis: engineering interactive systems equis: engineering interactive systems The Sims 2 Card Games
The most popular games of all! Computer implementations of popular card games E.gg,., Solitaire, Hearts, Poker Enormous multiplayer play via free sites
equis: engineering interactive systems equis: engineering interactive systems
Yahoo! Games Yahoo! Addiction Solitaire
equis: engineering interactive systems equis: engineering interactive systems Game Development Teams
Teams typically 10-100 people Multi-disciplinary PdProducer Developing Games Designer(s) Programmers Level designers Modelers Animators Sound Engineers Musicians Quest developers Writers Testers Actors …
equis: engineering interactive systems equis: engineering interactive systems
Game Development Teams Game Development Teams
Red Alert 2 Battlefield 1942 Core Team 3 producers Producers: 2 10 designers Designers: 3 3 story writers Programmers: 11 16 arti s ts Artists: 12 18 programmers Sound: 2 3 audio 31 video production Music: 1 21 quality assurance Testers: 51 9 marketing Docu menters: 2 41 live actors Voice actors: 18 26 voice actors
equis: engineering interactive systems equis: engineering interactive systems Game Development Teams Development Tools
Civilization 4 Modeling, animation tools Creating people, animals, monsters, attaching animation Producers: 3 AiAnima tion by han d, or us ing mo tion cap ture Designers: 2 Level design tools Programmers: 18 Designing landscapes, large interiors Writers: 5 Quest design tools; NPC interaction Artists: 34 Visual environments, scripting languages Programming tools Voice actors: 1 (Leonard Nimoy!) Visual C++ … QA: 26 Sound editing tools For sound effects, looping background noise Texture/image editing tools
equis: engineering interactive systems equis: engineering interactive systems
Game Architecture EQUIS Engine
Graphics OGRE Input Simple DirectMedia Layer (SDL) Physics Open Dynamics Engine (ODE) Sound OpenAL GUI Crazy Eddie’s GUI System (CEGUI) AI EQUIS AI
equis: engineering interactive systems equis: engineering interactive systems EQUIS Tools
Terrain Modeling EQUIS Landscape Generation EiEntity MdliModeling Sof tI mage XSI
Level Modeling None
Image Manipulation GIMP Animation Keyframe in XSI; Here’s that URL again… Vicon motion capture + Alias MotionBuilder + XSI Compiler Visual Studio .NET
Source Documentation Doxygen Design Documentation Poseidon for UML Revision Control Subversion http://equis.cs.queensu.ca/wiki/index.php/CISC_877
equis: engineering interactive systems