Course Organization
Transcription
Course Organization
CISC 877 Course Organization Video Game Development Week 1: Introduction T.C. Nicholas Graham graham@cs.queensu.ca http://equis.cs.queensu.ca/wiki/index.php/CISC_877 Winter term, 2010 equis: engineering interactive systems Topics include… Video game design Gaming gp platforms and fundamental technologies g Game development processes and pipeline Software architecture of video games Video games as distributed systems Game physics G Game AI Scripting languages Game development tools Social and ethical aspects of video games User interfaces Use te aces o of ga games es equis: engineering interactive systems Timeline and Marking Scheme Activity Due Date Grade Project Proposal (2-3 pages, hand-in) January 26, 2010 10% Progress Presentation (involves presentation and online report) Mar 2, 2010 20% Informal progress reports Weekly 5% Final Project Presentation / Show April 6, 2010 (tentative) 10% Final Project Report April 9, 2010 45% Class Participation equis: engineering interactive systems 10% Homework Project proposal (for next week) Wiki contains detailed description of project ideas, game you will be extending Proposal to be posted on Wiki – create yourself an account Form your own project groups – pick project appropriate to group size The Project 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, resources must go further 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 game. Change it to allow multiple players to interact. Each player g and villagers. g should have their own village Zones: The game currently takes place in one relatively small terrain. Change it to allow any number of such terrains to be linked, with some mechanism of transitioning from one zone to another. Z Zones might i ht h have radically di ll diff differentt styles t l - e.g., desert, d t moonscape, etc. You can use the EQUIS Terrain Generation tools to generate zones for experimentation. Persistence: The game currently terminates when the player exits. exits When the player returns, the game starts afresh. Change the game to be a persistent world, where the game keeps running even if the player is not there, allowing the player to rejoin the world in progress. Persistence should be compatible with multi-player play. Mounts: Players can chase after mounts (e.g., horse, unicorn, giant spider). If the player catches the mount, they can jump on top g g benefits such as increased speed. p of it,, gaining Level of detail AI: Modify the AI manager to allocate time to AI entities consistently with their importance in the game – part of scaling to very large scenes or networked play. Physics: Currently, the world has rather strange physical properties. Collision detection: Physical objects such as buildings and trees are currently blocked off so that players cannot enter them These rules should be relaxed them. relaxed, e e.g., g so that a player can jump off a mountain and land on the roof of a building. It should be possible to charge towards a ramp, and fly into the air in a physically realistic fashion. This work is best done with the Open Dynamics Engine. equis: engineering interactive systems equis: engineering interactive systems Why Study Game Development? Why Study Video Games? equis: engineering interactive systems Games have become an important medium, ranking with television, movies, books Game development is a fascinating problem Brings together many disciplines: artists, computer scientists, writers actors, writers, actors musicians Video games are an emerging artistic medium In computer science, combines the hard problems of graphics artificial intelligence, graphics, intelligence database database, distributed systems systems, human-computer interaction, computer-supported cooperative work, software architecture, quality assurance, project management 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 Electronic Arts, Vancouver Larger than Hollywood’s box office take Demographics Average age of gamers: 30 Average hours played: ~7 7.5 5 hrs/week 43% female 22 hrs/week for MMORPG players Effect on Real Life About 50% of MMORPG players consider themselves to be addicted ddi t d Virtual property is the cause of real-life crime, even murder 40% of MMORPG players feel that their online friends are comparable to or even better than their real life friends Lawsuits allege video games lead to antisocial behaviour Second Largest Game Development Studio WorldWide Ubisoft, Ubisoft Montreal Montreal, > 1 1,500 500 employees Most popular modeling tools Maya (Alias, Toronto), XSI (SoftImage, Montreal), 3ds Max (Discreet, Montreal) Most popular animation tool Motion Builder (Alias (Alias, Montreal) Sources: Entertainment Software Association, Daedalus Project, Business Week Online, BBC News equis: engineering interactive systems equis: engineering interactive systems Platforms for Gaming Platforms for Gaming equis: engineering interactive systems Consoles PC’s PC s Portable Game Devices Mobile Devices equis: engineering interactive systems Consoles Consoles: Xbox 360 Released November 22, 2005; CDN $199+ 3 x 3.2 GHz dual core PowerPC processor 1 VMX-128 vector unit per core 1 MB L2 Cache Custom ATI R500-based Graphics Processor Typical life cycle: 5 years Cutting-edge on introduction; behind the curve on retirement Typically difficult to program – games improve in quality over console’s life as developers improve tools Current generation of consoles Xbox 360 PlayStation 3 Wii Photo c/o / http://www.xbox.com // HD Resolution up to 1920 1080 (16 1920x1080 (16:9, 9 vs normal 4:3 TV) 512 MB 700 MHz GDDR3 RAM Up to 4 wireless game controllers 802.11A/B/G Ethernet 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 Sales price: $299+ 3.2 3 2 GHz Cell Processor Released November 2006 Cost: C $ $269 C CDN 802.11B/G wireless via Nintendo hotspots p Controller – simplified design (TV remote), positional sensing 7 SPE’s – 128 bit SIMD RISC processor connected by 10 GBps bus 1 PPE as controller 2.3 MB SRAM (512 KB L2 Cache, 1.79 MB per SPE) Custom C ““Reality S Synthesizer”” Graphics Processor (NVIDIA/Sony) 6 DoF Accelerometer IR-based pointing Resolution: up p to 1920x1080 (1020p) 512 MB RAM ATI “Hollywood” GPU 3 Gbps Ethernet ports, 802.11G, Bluetooth 2.0 Up to 7 Bluetooth controllers No HD support Source: http://en.wikipedia.org/wiki/Playstation_3 equis: engineering interactive systems Source: http://en.wikipedia.org/wiki/Nintendo_Revolution equis: engineering interactive systems Consoles: Programming Consoles: Development Two consoles introduced significantly different programming architectures Proprietary software development kit available for Windows PCs 6 cores in Xbox 360 7 cores in PlayStation 3 Extensive vector processing capabilities Difficultyy of finding g this much p parallelism in g games Obvious candidate: AI Develop, debug on PC Cross-compile to console E.g., XNA for Xbox 360 Difficulty of concurrent processing In Xbox 360,, GPU and CPU share memoryy Will certainly take developers 5 year span of consoles’ life cycle to learn how to develop for new consoles Developers do not necessarily make it easy to port to other consoles equis: engineering interactive systems equis: engineering interactive systems Consoles: Software Delivery PC’s Typically CD/DVD/Blu-ray delivery Traditionally consoles have no/small HD HD, games played directly from DVD Enormous variety of hardware platforms OS Implies p no opportunity pp y for p patching g Compare to PC games where patches routinely delivered after release, require q download by y players E.g., Battlefield 1942: patch to version 1.6.19 is 267 MB Requires rock-solid software engineering, QA processes equis: engineering interactive systems Battle for which console is “native” implementation, as it will be better than ported ones Will be particularly interesting with new architectures Windows, Wi d MacOS, M OS Li Linux Windows PC’s have open hardware/software environments Video card, card CPU CPU, memory differ in capability by orders of magnitude Different versions of DirectX, video card drivers cause enormous difficulties with QA Compare to consoles which offer completely uniform environment Tendency of new games to support higher-end PC’s E.g., E g recommended system for Civilization 4: 3.2 GHz Pentium, 256 MB Video Card Drive hardware sales Limit games to serious hobbyists equis: engineering interactive systems Portable Game Devices PlayStation Portable 170x74x23 mm pixel display p y 480x272 p 222 MHz dual core MIPS32R2 CPU 32 MB RAM Graphics chip: 166 MHz, 2 MB RAM 802.11B Wireless networking Handheld devices for gaming Extension into other entertainment areas – movies, MP3’s E.g. Eg PlayStation Portable Nintendo DS Source: http://en http://en.wikipedia.org/wiki/PlayStation_Portable wikipedia org/wiki/PlayStation Portable equis: engineering interactive systems equis: engineering interactive systems Nintendo DS Nintendo DS Dual screen Upper pp screen is outputp only Lower screen offers touch sensitive input touch-sensitive Microphone input Wireless hotspots Dual screen allows innovative game design Over 10 million units sold so far 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 Very simple input Typically programmed using Java 2 Mobile Edition or Objective C Input Devices Enormous market Programming challenge in diversity of devices Image Source: http://www.airshiptwo.com/crystalalliance.php equis: engineering interactive systems Input equis: engineering interactive systems Game Controllers: Logitech PS2 Input devices significantly direct the kinds of games offered Consoles Game controller PC’s Keyboard, y , Mouse equis: engineering interactive systems equis: engineering interactive systems Game Controllers: Logitech PS2 Game Controllers Jog dial Buttons PS3 Controller Joysticks + FForce-feedback f db k Xbox 360 Controller equis: engineering interactive systems equis: engineering interactive systems Game Controllers Wiimote Game Controller Controller joysticks less accurate than mouse No N possibility ibilit off ttextt entry t Choices generally limited to 4, or using awkward scrolling mechanism h i 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 Other Input Logitech G7 Laser Cordless Mouse 2000 dpi resolution equis: engineering interactive systems equis: engineering interactive systems Other Input Devices Sparco Racing Cockpit Pro 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 Racing Games Interactive Fiction Role-Playing Games Massively Multiplayer Online Games Real-Time Strategy Games Turn-Based Strategy gy Games God Games Puzzle Games S t Games Sports G Simulations Card Ca d Ga Games es equis: engineering interactive systems Played in first-person Lots of shooting Capture the flag gameplay Often multiplayer, multiplayer team team-based based Among the most violent games in existence – often hyper-realistic graphics graphics, sometimes situations based on real-life events E.g., E g Modern Warfare 2 2, Half-life Half life, Counterstrike Counterstrike, Battlefield 1942 equis: engineering interactive systems Battlefield 1942 Racing Games Racing cars Around track Rally Combine reflexes,, strategy, gy, 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, Adventure Zork Less popular since advent of graphical user interfaces Emphasis on story-telling somewhat lost in modern games g 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 Can C b be open-ended, d d or closely l l guided id d Characters gain levels/skills over time Usually involve combat 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 e d end Players cooperate, or fight with each other Often open-ended gameplay – can have career as warrior crafter warrior, crafter, merchant 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 q equis: engineering interactive systems equis: engineering interactive systems MMOGs TBS Turn-Based Strategy g in Board Games ((war g games)) Lineage Turn-based One player performs a set of moves Next N t player l performs f a sett off 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 for f reflection f Differ from TBS: player speed is important; ability to manage g lots of information q quickly y Gameplay: build base, build units, gather resources, destroy other players Maps well to multiplayer play play, as there are no turns – all players play simultaneously E.g., Starcraft, Warcraft, Command and Conquer series, i A Age off Empire E i 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 history, allowing player to start with a primitive village, build up p 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 g game g 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 simulation, how realistic, how much it is a game rather than an opportunity pp y to experience p something 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.g., g , 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 Developing Games Producer P d 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 p 10 designers 3 story writers 16 artists ti t 18 programmers 3 audio 31 video production 21 quality assurance 9 marketing 41 live actors 26 voice actors equis: engineering interactive systems Producers: 2 Designers: 3 Programmers: 11 Artists: 12 Sound: 2 Music: 1 Testers: 51 Doc menters 2 Documenters: Voice actors: 18 equis: engineering interactive systems Game Development Teams Development Tools Civilization 4 Modeling, animation tools Producers: 3 Designers: 2 Programmers: 18 Writers: 5 Artists: 34 Voice actors: 1 (Leonard Nimoy!) QA: 26 Creating people, animals, monsters, attaching animation Animation A i ti b by h hand, d or using i motion ti capture t Level design tools Designing landscapes, large interiors Quest design tools; NPC interaction Visual environments, scripting languages Programming tools Visual C++ … 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 equis: engineering interactive systems Graphics OGRE Input Simple DirectMedia Layer (SDL) Physics Open Dynamics Engine (ODE) Sound p OpenAL GUI Crazy Eddie’s GUI System (CEGUI) AI EQUIS AI equis: engineering interactive systems EQUIS Tools Terrain Modeling EQUIS Landscape Generation E i M Entity Modeling d li S fI SoftImage XSI Level Modeling None Image Manipulation GIMP Animation Keyframe in XSI; Vicon motion capture + Alias MotionBuilder + XSI Compiler Visual Studio .NET Source Documentation Doxygen g Documentation Design Poseidon for UML Revision Control Subversion equis: engineering interactive systems Here’s that URL again… http://equis.cs.queensu.ca/wiki/index.php/CISC_877
Similar documents
Course Organization
Virtual property is the cause of real-life crime, even murder 40% of MMORPG players feel that their online friends are comparable to or even better than their real life friends Lawsuits allege vide...
More information