- Course Introduction
- A Brief History of Video Games
- Game Genres
- Team Structures
- Stages of Game Development
- Gameplay
- Programming Languages
- Computer Graphics
- 3D Modelling
- Artificial Intelligence
- Audio Programming
- Game Production and Management
- Gaming and Contemporary Issues
- This subject introduces students to:
- Different aspects of games and game development.
- An overview of the necessary tools required to create content in game projects.
- Different aspects of games and game development.
- Students will learn to design a game and describe the components of a game system. They will also learn how to identify the skill sets required to build the components of a game.
- What is a 3D Game Engine?
- A 3D Engine is a library of 3D graphics functions. Many 3D engines are available on the Internet, some are free, some are between $50 and $250,000 for commercial use.
- 3D engines usually require programming with an external development system, normally Microsoft Visual C++.
- Programming a game around a 3D engine offers a maximum of flexibility, but requires also a maximum of experience, work and time to be invested before something's moving in your game.
- What is Shadow Mapping?
- Also called Lightmapping - a system for creating realistic lights and shadows without frame rate penalties.
- A shadow mapping compiler allows you to place an unlimited number of static light sources in the level, and then recalculates the light flow and static shadows for each surface.
- Most commercial 3D games use shadow mapping.
- Topics to be covered
- The first video game
- The development of games for the "masses"
- The development of the console game
- Home computer game development
- The game studios
- The First Video Games
- William Higginbotham and Tennis for Two
- Created in 1958 for the Brookhaven National Laboratory's annual visitor day
- Display was an oscilloscope
- Sound effects were a side-effect of the relays that made the game run
- No one realized its significance
- Steve Russell and Spacewar
- Created in 1961 at MIT for the DEC PDP-1 computer
- Hugely popular within MIT
- Required prohibitively expensive equipment (back then)
- Eventually shipped as a diagnostic program with PDP-1s
- William Higginbotham and Tennis for Two
- Games for the Masses
- The Advent of Home Video Games: Ralph Baer and the Magnavox Odyssey
- 1966: initial idea for a game machine that would work on home TVs
- Created a shooting game and ice hockey game
- Sold to Magnavox in 1972
- Breaking Into the Amusement Business:
- Nolan Bushnell and Atari
- Engineering major at the University of Utah
- Background in coin-operated amusement devices
- Tried to bring Spacewar to arcades as Computer War
- Bringing Games to the Masses
- Atari founded by Nolan Bushnell in 1972
- Brought Pong to arcades
- Sued by Baer and Magnavox
- Paid a one-time license fee of $700,000
- The Advent of Home Video Games: Ralph Baer and the Magnavox Odyssey
- The Console Kings
- Atari and the 2600
- Atari VCS (1600) released in 1977
- Not quite the first cartridge-based home system
- Open architecture allowed easy development
- First to introduce licensing of a system
- Video Game Crash of 1983
- Factors leading to the crash
- Poor economy
- Natural market cycle
- Video games perceived as fad
- Glut of poor 2600 games
- Introduction of home computers
- Nintendo and Shigeru Miyamoto
- Released Donkey Kong arcade machine in 1981
- Released Nintendo Entertainment System in 1985
- During late 80's Nintendo owned 90% of the market
- Latest console is the Nintendo DS
- Sega
- Created in 1952 in Japan to sell amusement games on US army bases
- Released the popular Sega Genesis in 1990
- Final console was 1999's Sega Dreamcast
- Now dedicated to software
- Sony's PlayStation
- Created out of an aborted attempt to launch a CD-ROM based system with Nintendo
- Released PlayStation in 1994
- PlayStation 2 released in 2000, maintaining backwards compatibility with hugely popular PS1
- Next console release is PSP handheld
- Microsoft and the Xbox
- Xbox released in 2001
- Based on a PC-like architecture
- Initially significant money lost on each console sold
- Halo and Halo 2 are its most popular games
- Atari and the 2600
- Home Computers
- Apple Computer
- Founded by Steve Jobs, Steve Wozniak and Mike Markkula in 1976
- Apple II was released in 1977
- Revolutionized the home computer market
- Commodore
- Commodore Vic-20 Released in 1981
- Low price and shrewd marketing lead to success
- Commodore 64, released in 1982, became the best selling computer in history
- IBM
- IBM PC introduced in 1981
- Moderate pricing helped it gain a foothold in the business world
- BIOS licensing model backfired on them, allowing cheap clones to enter the market
- Apple Computer
- The Studios
- Activision and Infocom
- Activision founded by former Atari programmers
- Lawsuit by Atari created the "royalties" system still employed by console makers today
- Merged with Infocom and gutted it
- Still a strong player today
- Electronic Arts
- Created by Trip Hawkins in 1982
- Revolutionary business plan did three things
- Creative artists treated like talent
- Creation of in-house tools to aid cross-platform development
- Handle own distribution
- Now the largest game software company in the world
- Interplay
- Formed in 1983
- First big hit was The Bard's Tale in 1985
- Famous for their CRPGs, including Wasteland, Fallout, Baldur's Gate, Baldur's Gate II: Shadows of Amn
- Since de-listed from the NASDAQ
- LucasArts
- Formed in 1982 as an offshoot of LucasFilm Ltd.
- Released Maniac Mansion in 1987
- Created strong history of adventure games and Star Wars universe games
- Blizzard
- Started in 1991 by Frank Morhaime, Allen Adham, and Frank Pearce.
- Released one of the seminal Real-Time Strategy games, Warcraft, in 1994
- Their latest release, the MMORPG World of Warcraft, has become the fastest selling PC game in history
- id Software
- Formed on February 1, 1991
- Successfully utilized Apogee's shareware formula
- Created the defining first-person shooter with DOOM
- Activision and Infocom
- Topics to be covered
- Discuss the different genres out there
- Understand the characteristics of each genre
- Know examples from each genre
- Game Genres
- Games are divided into different categories, called "genres"
- Based on game play
- Genres are not always definitely "exclusive"
- i.e. characteristics in one genre may appear in another genre
- Within one genre, there are often sub genres
- i.e. What genres are there for Strategy Games?
- Games are divided into different categories, called "genres"
- Genres
- The "Major" Genres
- Adventure
- Sub-genres include text-based adventure and graphical adventure
- Zork by Infocom
- King's Quest by Sierra
- Action
- Superset of all other action-oriented genres
- Typified by fast-paced combat and movement
- Spacewar, Pong, and Space Invaders helped define the genre
- Action-Adventure
- Adventure games with action elements
- The Legend of Zelda was first break-out hit
- Jak 3, Metroid Prime 2 Echoes, and Resident Evil 4 are modern examples of the genre
- First-Person shooters
- Very popular
- Action game where player is "behind the eyes" of the game character in a first-person perspective
- Involves shooting and combat
- Game setting may not always be modern or futuristic
- id Software's Wolfenstein 3D and DOOM are the earliest popular examples
- Platformer
- Typified by a character running and jumping in a side-scrolling playing field
- Modern definition has expanded to include 3D
- Super Mario Bros., Sonic the Hedgehog, Pitfall! and Super Mario 64 are examples
- Fighting
- Players typically fight other players or the computer using swordplay or martial arts
- Double Dragon is an example of a side-scrolling fighter
- Virtua Fighter, Mortal Kombat, and Street Fighter are examples of versus fighters, where the players fight each other
- Strategy
- Games that focus on analysing, planning, and execution of a plan to meet the game's objectives
- Tend to require methodical play skills, as opposed to impulsive skills
- Real-Time Strategy (RTS)
- Typically, a game in which the goal is to collect resources, build an army and combat the other player or computer
- Popularized by Westwood's Dune 2 and Command and Conquer and Blizzard's Warcraft
- Turn-Based Strategy
- Like real-time strategy games, but turn-based
- Civilization, X-COM, Master of Orion, and Jagged Alliance are standouts of the genre
- Role-Playing Game (RPG)
- The video game counterpart to pen and pencil games like Dungeons and Dragons
- Final Fantasy, Baldur's Gate and Wasteland are some popular examples of the genre
- Massively Multiplayer Online Games (MMOGs)
- Gaming worlds populated by usually thousands to millions of players
- Often (but not always) require initial purchase of the game client, followed by regular subscription with a fee
- Massively Multiplayer Online Role-Playing Games (MMORPGs)
- The most well-known type of MMOG.
- An RPG set in a persistent virtual world populated by thousands of other players
- Ultima Online in 1997 was the first popular one
- World of Warcraft is currently the most popular one
- Simulation
- Based on the simulation of a system
- Often intended to mimic reality, i.e. the game can be realistically compared to the "real thing"
- Popular types include: flight, military, space, and "God"
- Wing Commander and X-Wing are popular space combat simulation games
- SimCity and The Sims are example of "God" simulations where you control the lives of a town or a family
- Sports
- Games that simulate the sporting experience
- Either from the sport's player perspective, or from a strategic or managerial perspective
- Examples include John Madden Football and Tiger Woods' Golf
- Racing
- Games that involve competing in a race in a vehicle
- Typically try to re-create a real-world activity
- Pole Position was first popular racing game
- Adventure
- The "Other" Genres
- Stealth
- Characterized by a focus on subterfuge and planned-out, deliberate play
- Metal Gear in 1987 was one of the first
- Popular modern series include Metal Gear, Splinter Cell, and Thief
- Survival horror
- An action-adventure or first-person shooter where survival elements and a fight against the undead are stressed
- Resident Evil is easily the most popular series in this genre
- Rhythm
- Gauge player's success based on the ability to trigger the controls in time to the beat of music
- Sometimes require specialized controllers such as dance pads or bongo drums
- Konami's Dance Dance Revolution is the pre-eminent title of the genre
- Puzzle
- Games that combine pattern matching, logic, strategy and luck with a timed element
- Tetris is the breakout hit of this genre
- Mini-games
- Short, simple games that exist within the context of a larger game
- Mario Party and Wario Ware are popular examples of this genre
- Traditional
- Computerized versions of board, word, and card games
- Battle Chess and the Hoyle series are standouts of this genre
- Educational
- Games designed to teach grade-school concepts to children and young adults
- Oregon Trail was the first popular game in this genre
- The Carmen Sandiego series and Mavis Beacon Teaches Typing are more modern popular examples
- Serious
- A game designed to teach real-world events or processes to adults
- Most are privately funded
- Popular with the US Government and the medical field
- Stealth
- The "Major" Genres
- Topics to be covered
- Publisher versus Developer issues
- Developer's Team and their roles
- Publisher's Team and their roles
- Trends in current team structures
- Programming Teams
- In the 1980s programmers developed the whole game (and did the art and sounds too!)
- Now programmers write code to support designers and artists (who are the real content creators)
- As a result, the idea of Game Development team structures came about
- Typical Team Structure
- Publisher versus Developer
- Publisher
- Finance
- Huge Company with offices all over the world
- Game Marketing and Distribution
- Chooses which titles to produce
- Finances titles
- Provide QA testing
- Markets titles
- Distributes titles
- Developer
- Deliver the product (Game)
- Pitches creative ideas and demo to publisher
- Uses money from publisher to produce title, game design, programming, art, audio etc.
- However, many publishers are also a developer (usually the bigger companies like EA, Microsoft and Nintendo)
- These publishers usually have their own in-house development teams
- Publisher
- Examples of Publishers and Developers
- Publishers
- Electronic Arts
- Activision
- Nintendo
- Sony Computer Entertainment
- Microsoft Games
- Take two Entertainment
- Disney Interactive
- Vivendi Universal Interactive
- Atari
- Eidos
- Developers
- Blizzard Entertainment (WOW and Diablo)
- Rockstar Games (GTA series)
- Ensemble Studios (AOE)
- Westwood Studies (Command & Conquer)
- Bioware (Baldur's Gate)
- Maxis (Sims)
- Epics (Unreal series)
- Gas Powered Games (Dungeon Siege)
- Lionhead Studios (The Movies)
- Publishers
- Developer's Team
- Producer
- Project leader
- Responsible for the delivery of the game
- Create schedule, budget and resources allocation
- Also found in publisher team
- Collaborate with the publisher producer closely
- Single point of contact to publisher
- Motivate team and solve production related issues
- Represent the team in public, conferences or press
- Assistant Producer to assist Producer
- Game Designer
- Responsible for play experience
- Conception to Completion
- Collaborated with other members closely
- Designer's Primary Responsibilities
- Brainstorms concept
- Create prototypes
- Playtest and revises prototypes
- Create design document
- Communicates vision to all other members
- Acts as advocate for the player
- Programmers
- Draft technical specifications
- Technical implementation
- Software prototypes
- Software tools
- Game modules and engines
- Structuring data
- Managing communication
- Documenting codes
- Coordinating with QA engineers to resolve bugs
- Most programmers eventually become producer or designer
- Oversee the entire production
- Usually work in team lead by a lead programmer
- Visual Artists
- Design all visual aspects of the game
- Includes character designers, illustrators, animators, interface designers and 3D artists
- Development responsibilities
- Characters
- Worlds and world objects
- Interfaces
- Animations
- Cut-scenes
- QA Enginners
- Testers or bugs finder
- Many game professionals started their career as QA
- Found in both publisher and developer sides
- Responsibilities
- Create test plan based on design and technical specifications
- Execute test plan
- Record all unexpected or undesirable behaviors
- Retest applications
- QA is Designer's best friend (and Programmers and Visual Artists' enemy?)
- Level designer (optional)
- Some Game are designed into levels
- Uses toolkit or level editor to develop new missions, scenarios, quests
- Responsibilities
- Implementing level designs
- Design level Concepts
- Test levels and work with designer to improve overall gameplay
- Many level designers are also good programmers who can see the overall vision of the game
- Specialized media
- Include many specialized media or technology like:
- Special Writing skills
- Sound Designers
- Musicians
- Motion capture operator
- Karate instructor
- Historian, etc., etc.
- Include many specialized media or technology like:
- Producer
- Publisher's Team
- Producer
- Project leader on publisher side
- Marshalling the forces of the marketing team
- Responsibilities
- Team leader
- Main communication link to developer
- Schedule and budget of production
- Tracking and allocation of resources
- Approve work accomplished by developer so milestone payment can be made
- Coordinate with internal executive management, marketing and QA personnel
- Team leader
- Project leader on publisher side
- Marketing Team
- Sell the game to the public
- Provide feedbacks to developers
- Open minder game designer
- Address to trends and features that people like
- Executive
- Includes CEO, President, CFO and COO, etc.
- Run the publishing company
- Provide leadership and directions
- Come from all types of background
- Others have extensive game development experience
- Producer
- Usability Specialists (optional)
- Ensure that game is intuitive and accessible to target market
- Test general focus such as interface and controls, rather than core gameplay
- Usually a third party company
- Can create an incredible difference in the player experience
- Responsibilities
- Heuristic evaluation of interfaces
- Creation of user scenarios
- Identify and recruit test subjects from target market
- Conduct usability sessions
- Record and analyze data from sessions
- Report findings and recommendations
- Topics to be covered
- Five stage development process of computer games
- Process and issues from each of the development process
- Mapping the Team Structure with the different Stages of Game Development
- Introduction
- Game development: complex and expensive process
- Goals
- Produce the highest quality game within the limits of their resources and budget
- Produce best selling game with limited risk by keeping costs low
- Many variables and uncertainties especially if you are inventing new technologies or tools
- Budget overflow or delay schedule is common
- Developer and publisher started pointing fingers
- To combat such issues, industry has evolved some best practices
- Each stage is defined by a milestone
- Stages Defined
- Five stage development process
- Five stage development process
- Stage 1 - Concept Contract
- The team
- Publisher wanted to have experience developers, so as to reduce their risk
- Team that have worked together
- Team history and experience
- Team experience in console
- Project plan
- Includes budget and schedule
- Most important document (Once approved it is legally obligated to adhere)
- The idea
- Least important thing to the publisher (unfortunately!)
- Publisher reply on market data to determine funding
- Interesting new idea might not be funded because of high risk
- The pitch (art meet commerce)
- The publisher's pitch wish list
- Sales sheet
- Design document
- Interactive demo
- Technical Design Document
- Risk analysis
- Project plan
- Cost Forecasts
- The team
- Stage 2 - Pre-Production
- Prototyping
- Feasibility Testing
- Team will work on creating playable level or environment
- Focus on proving differentiating features and risky technology
- Tools and middleware
- If the test fails, the game might be killed at this stage
- Storyboarding
- Detailed Documentation and technical specification
- Help to reduce the risk on using new technology
- Final prototype will be evaluated in order to decide whether to continue with the development
- Stage 3 - Production
- Longest and most expensive stage of development
- Number of team members increased significantly
- Execute the vision and plan from previous stage
- Stage involved:
- Programmer write code
- Artists build CG and animation
- Sound Designer create music and sound effects
- QA engineers familiarize themselves with all aspects of the project
- Producer works to ensure everything on schedule
- Alpha code created and send to QA team
- Publisher usually pays the developer for the completion of this milestone
- Stage 4 - Quality Assurance
- Bugs searching and fixing
- Ensure game quality
- Development team shrinks down in size
- Hardware Approval (ensure that the finished games meets the approval of the console manufacturers)
- Beta version created and sometime release to the user for testing
- Final stage is to create the "Gold Code"
- Stage 5 - Maintenance
- Ongoing process
- Only a few programmers left in the team
- Game patches are created constantly
- Upgrades — additional content created to enhance the original game — are also released.
- Expansions — self contained games requiring their own software, and sometimes the original software as well.
- Post-Production Stage (optional)
- Publisher and developer meet the regulation boards
- Localization
- Converting from NTSC to PAL
- Ingenious solution
- Cultural Differences
- Sequels and Expansions
- Definition
- Gameplay can be defined as "Choices, challenges, or consequences that players face while navigating through a virtual environment." (Novak 2005)
- Rules
- All games contain rules.
- Rules define the actions or moves that the player can (and cannot) make in the game.
- Rules often documented in the instruction manual.
- Further supported through in-game tutorials, hints
- Victory Conditions
- Indicate how players "win" the game
- Consider this: at what point in your game can it be said that victory condition(s) have been met?
- Completion of a level
- Completion of a level within a specific time
- etc.
- Not all games have Victory Conditions
- e.g. Puzzle games like Tetris
- God simulations like The Sims
- Loss Conditions
- Indicate how players "lose" the game
- Two types of "loss" conditons:
- Implicit (e.g. not the first to achieve victory)
- Explicit [e.g. your character dies, or loses all resources (e.g. in an RTS)]
- Interactivity Modes
- Interactivity refers to the degree of responsiveness in a communication exchange.
- Several modes
- Player-to-game: single-player games where player interactes only within the game itself and the platform.
- Player-to-player: multi-player games where players interact not only with the game but with each other.
- Player-to-developer: players interact with the persons who actually developed the game. (e.g. discussion forums or chat rooms on a game's web site.)
- Player-to-platform: refers to the connection between a player and the game platform's hardware and software. Concerns input devices, system's graphics or sound capabilities, memory, storage etc.
- Game Theory
- Game Theory: focuses on the types of conflicts that exist in games, and how players might respond to these conflicts.
- Two basic types:
- Zero sum
- Involve situations where players have completely opposing interests.
- E.g. chess: one player wins, one player must lose
- Zero sum games always involve competitive behavior.
- Non Zero sum
- Involve situations where players do not have completely opposing interests.
- E.g. MMOGs: players cooperating with each other in teams or guilds
- Zero sum
- Types of Challenges
- A situation where one's abilities or skills are tested.
- Gameplay involves a series of "challenges" that are linked together.
- Types of challenges that occur in the game are often related to the game's genre.
- In fact, players who focus on a particular genre often expect certain challenges to occur in these games.
- Implicit & Explicit
- "Explicit" challenge: an intentional, immediate, and often intense challenge.
E.g. "How do you unlock the ammunition locker to get the BFG2000?" - "Implicit" challenge: an emergent feature of the game itself.
E.g. "What units should you deploy to rush the enemy's base?"
- "Explicit" challenge: an intentional, immediate, and often intense challenge.
- Perfect & Imperfect Information
- "Perfect" information: when all and correct information is known to players at all times.
E.g. a game of Chess - "Imperfect" information: when players are only provided with a fraction of the information needed to make their decisions
E.g. a fog of war in an RTS
- "Perfect" information: when all and correct information is known to players at all times.
- Intrinsic & Extrinsic Knowledge
- "Intrinsic" Knowledge: knowledge gained from within the game world.
E.g. you learn from an NPC inside the game the strategy needed to beat the Big Bad Guy - "Extrinsic" Knowledge: knowledge gained from outside the game world and applied in the game
E.g. applying common sense to in-game situations
- "Intrinsic" Knowledge: knowledge gained from within the game world.
- Pattern Recognition & Matching
- Where players subconsciously match or recognize patterns during gameplay.
- E.g. Tetris
- Often involves a lot of automatic thinking
- Spatial Awareness
- Where players have to navigate through an environment.
- Very common in vehicle simulations
- Micromanagement
- Where players manage settings and actions associated with their resources or characters.
- E.g. managing money, resources, population happiness, citizen employment in a Sim City game.
- Reaction Time
- Where the time taken by players to react or respond to a game event is critical.
- Speed at which a player responds to this challenge is directly related to the speed at which the player's character reacts in the game.
- Balance
- A game is "balanced" if players perceive that the game is:
- Consistent
- Fair
- Fun
- Does not exclude "random" events
- E.g. meteor destroys the entire city.
- In general though, "better" players need to be more successful in the game compared to "poorer" players.
- Criteria for "balanced" gameplay
- Consistent challenges
- Perceivably fair playing experiences
- Lack of stagnation
- Lack of trivial decisions
- Difficulty levels
- Two forms of game balance: Static and Dynamic
- "Static" balance: does not depend on time and exists before the game is actually played.
E.g. Rules that indicate the relative strengths of units in an RTS. - “Static” balance: how do you ensure static balance in a game? E.g.:
- Obvious strategies: i.e. strategies that are superior to every other possibility in the game.
- Symmetry: involves providing each player (and NPCs) with the same starting conditions and abilities.
Ensures that the game outcome only depends on the relative skill levels of the players.
- "Static" balance: does not depend on time and exists before the game is actually played.
- "Dynamic" balance: games typically begin with "static" balance. But once the game is in motion, a dynamic balance takes over.
- Players can interact with dynamic balance in several ways:
- Players who destroy the balance
- Players who attempt to prevent other forces from destroying the balance
- Players who attempt to restore the balance.
- A game is "balanced" if players perceive that the game is:
- C++
- C used to be the most popular language for games
- Today, C++ is the language of choice for game development
- C++: Strengths
- Performance
- Control over low-level functionality (memory management, etc)
- Can switch to assembly or C whenever necessary
- Good interface with OS, hardware, and other languages
- High-level
- High-level language features are essential for making today's complex games
- Has inheritance, polymorphism, templates, and exceptions
- Strongly typed (i.e. language is fussy about parameter-passing correctness), so it has improved reliability
- C heritage
- C++ is the only high-level language that is backwards-compatible with C
- Has APIs and wide-spread compiler support in all platforms
- Easier transition for experienced programmers
- Libraries
- STL (Standard Template Library)
i.e. a very comprehensive set of standard libraries that attempts to provide all major high-level functionality needed by most programs. - Boost: another widely used library with wide variety of functionality
- Many commercial C++ libraries also available
- STL (Standard Template Library)
- Performance
- C++: Weaknesses
- Too low-level
- Still forces programmers to deal with low-level issues (e.g. memory allocation)
- Attention to low-level details is overkill for high-level features or tools
- Too complicated
- Because of its C heritage, C++ is very complicated
- Takes many years to be really competent. Long learning curve.
- Slow iteration
- C++ needs to be fully compiled into binary format from source code
- Compiling large numbers of files is very slow
- This will only become more of a problem as games become more complex
- Too low-level
- C++: So when do you use C++?
- When performance is crucial
- If your current code base is mostly C and C++
- If you have a lot of in-house expertise in C++
- Java for Game Development
- Why use Java?
- It's a high-level object-oriented language that simplifies many C++ features
- Adds several useful high-level features
- Easy to develop for multiple platforms because of intermediate bytecode
- Good library support, including libraries for input/output, graphics, low and high-level networking.
- Performance
- Has typically been Java's weak point
- Has improved in the last few years: still not up to C++ level, but very close
- Uses Just-In-Time compiling and HotSpot optimizations
- Now has high-performance libraries
- Also has access to native functionality
- Platforms
- Java is well suited to downloadable and browser-based games where performance requirements is somewhat less demanding.
- Dominates development on mobile and handheld platforms
- Possible to use in full PC games
More likely to be embedded into a game - Not currently used in consoles
- Why use Java?
- Java in Game Development
- Commercial games using Java
- Downloadable games like those from PopCap Games: Mummy Maze, etc
- Online card games
- PC games using Java as a scripting language: Vampire: The Masquerade, Star Wars Galaxies
- PC games fully written in Java: You Don't Know Jack, Who Wants to Be a Millionaire
- Commercial games using Java
- Scripting Languages
- Why use scripting languages?
- Ease and speed of development (definitely easier than C++).
- Short iteration time, i.e. the time elapsed from making a code change to seeing the results in the game.
- Code becomes a game asset
- Highly customizable and scripts can be used in other areas.
- Drawbacks
- Slow performance. Don't expect similar performance compared to C++!
- Limited tool support, e.g. debuggers, integrated development environments.
- Dynamic typing makes it difficult to catch errors, compared with strong typing.
- Awkward interface with the rest of the game engine and code (which was probably written in C++).
- Popular scripting languages
- Python
OO scripting language, mature language, resembles C. - Lua
Lightweight language, small memory footprint and good performance. - Other off-the-shelf options such as Ruby, Perl, Javascript
- Custom scripting languages
UnrealScript, QuakeC, NWNScript
- Python
- How to choose a scripting language
- Consider whether you need one at all.
- What features do you need?
- What kind of performance do you need?
- What debugging facilities does the language have?
- On what platforms does it need to run?
- What resources and expertise are available?
- Why use scripting languages?
- Fundamentals
- Firstly, we will introduce some of the key terms in computer graphics.
- Key terms and constructs in CG
- Frame and Back Buffer
- Visibility and Depth Buffer
- Stencil Buffer
- Triangles
- Vertices
- Coordinate Spaces
- Textures
- Shaders
- Materials
- 1. Frame and Back Buffer
- Frame buffer: an area of memory where the screen is stored.
- Frame buffer is displayed on screen
- Back buffer is a region of memory where image was rendered
- Image is rendered to the back buffer
- Half-drawn images are very distracting
- Swapped to the frame buffer
- May be a swap, or may be a copy
- 2. Visibility and Depth Buffer
- When rendering 3D, only visible / unobscured objects are visible in the final scene.
- Sometimes, only part of an object is visible.
- Solution is to have a second buffer that stores “depth” values. Often called the “Z” buffer.
- The value in the Z buffer indicates how far is the corresponding pixel
- Pixels test their depth against existing value
- If greater, new pixel is further than existing pixel
- Therefore hidden by existing pixel – rejected
- Otherwise, is in front, and therefore visible
- Overwrites value in depth buffer and color in back buffer
- 3. Stencil Buffer
- A third buffer, but often used as a Utility buffer
- Does not have a clearly defined role.
- Usually eight bits in size
- Usually interleaved with 24-bit depth buffer
- Can reject pixels based on comparison between existing value and reference
- Many uses for masking and culling
- A third buffer, but often used as a Utility buffer
- 4. Triangles
- Triangles are most useful in rendering because everything else can be constructed from them
- (except lines and point sprites)
- Three points define a plane
- Triangle plane is mapped with data
- Textures
- Colors
- Triangles are most useful in rendering because everything else can be constructed from them
- 5. Vertices
- A triangle is defined as the connection of three points in space.
- These points in space are called "vertices"
- A triangle is defined as the connection of three points in space.
- 6. Coordinate Spaces
- When specifying a position in space, it is standard to use three numbers (x, y, z).
- Positioning is defined relative to an origin (0,0, 0).
- Four types of spaces are of concern to us.
- The most fundamental space is World space.
- This is where everything that happens, where the game is set, and the space in which most coordinates are defined.
- Another fundamental space is Object space.
- This is the space where vertices of a model are defined.
- Each object has its own object space, and its own relationship to world space.
- There is also Camera space.
- A camera also has position and orientation in world space.
- To render a scene, objects must be moved out of world space and into camera space: when camera turns right, objects on the screen turn left.
- Clip space
- Natural edges of screen make four side planes
- Clipping: parts that are inside these edges are rendered; parts outside are discarded.
- 7. Textures
- A texture is a surface that holds fragments of data called textels, which is short for "texture pixel”.
- Each textel holds a red, green, and blue value, and sometimes an alpha transparency channel.
- “R, G, B, A”
- Textures are typically 2D arrays of texels, and conventionally represent a picture that is mapped onto the object.
- 8. Shaders
- Shader: A program that is used to determine the shape or the color of a mesh.
- Run at each vertex or pixel
- Generates pixel colours or vertex positions
- Relatively small programs
- Usually tens or hundreds of instructions
- Hardware capabilities evolving rapidly, with many graphics hardware including dedicated shaders.
- Shader: A program that is used to determine the shape or the color of a mesh.
- 9. Materials
- A Material is a description of how to render a triangle
- Typically consists of:
- Vertex and pixel shaders
- Associated textures
- Data taken from triangle vertices (e.g. normal, tangent, various colors).
- High-level Organization in CG
- After introducing low level components in rendering, here is a high level structural view of engines in general.
- CG engines typically contain the following:
- Interactions between Game and Render
- Render Objects
- Render Instances
- Meshes
- Skeletons
- Interactions between Game and Render
- Rendering speed varies according to scene
- Some scenes more complex than others
- Typically 15-60 frames per second
- Gameplay is constant speed
- Camera view should not change game
- In multiplayer, each person has a different view, but there is only one shared game
- 1 gameplay update per second (RTS) to thousands in rendering speed (FPS)
- Keep the two as separate as possible!
- Rendering speed varies according to scene
- Render Objects
- A render object represents the renderable description of one game entity (e.g. an ‘enemy' character).
- Render object typically comprises:
- A single animation skeleton
- One or more meshes
- Typically one type for each render object.
- E.g. one "seagull" render object for a flock of seagulls.
- Render Instances
- Render Object (from just now) define how each object is drawn, what shape it is etc.
- Render Object “Instances” reference a single render object and a single set of meshes, textures, and shaders.
- E.g. all the seagull “instances” reference the seagull render object type.
- Meshes
- Meshes: a collection of triangles, vertices that triangles use, and a single material that is used to render all the triangles.
- The number of meshes in a render object heavily influences how fast the object can be rendered.
- E.g. a single human person may have:
- one mesh for his face (with shader for skin rendering)
- one mesh for his hands (using same skin shader but different textures)
- one mesh for his hair (using specialized hair shader and textures)
- one mesh for clothes (etc.)
- etc.
- Skeletons
- Each render object will typically have a single skeleton, which describes how the bones of that object are connected together.
- Each render object “instance” will describe the animation state, which describes the current position of those bones.
- Topics to be covered
- Basic modelling concepts
- Two common types of modelling
- Polygon
- NURBS
- 3D Modeller
- A professional 3D modeler is a sculptor and a technician.
- He is an artist and an engineer.
- Concerned with:
- Form
- Expressiveness
- Style
- Polygon count
- Topology
- Efficiency of the models
- 3D Modelling
- Two Modeling Types
- Polygon
- NURBS
- A "model" is any renderable object that makes up part of a scene.
- Two Modeling Types
- Polygon Modelling
- Most common modeling method used in games.
- "Polygon" means multi-sided shape. A polygon is a number of faces grouped together to form this shape.
- Vertices define the object
- Edges connect the vertices
- Faces are defined by vertices and edges
- Polygons are made up of one or more faces
- Objects are built up from polygons
- Polygonal Strengths
- Very straightforward
- Easy to troubleshoot
- Easy to modify
- Supported by all 3D game engines
- NURBS Modelling
- NURBS: stands for "Non Uniform Rational Basis Spline"
- Type of modelling that uses curved surfaces based on relatively few data points.
- Extensively used in the film industry and Computer-Aided Design (Engineering) but limited use in the gaming industry.
- NURBS Strengths
- Great for cut-scenes
- Resolution independent
- Inherent mapping coordinates
- Polygon Mesh versus NURBS Surface
- Polygon Mesh
- Each point is connected by a straight line. Many points are needed to make a smooth curve.
- No need to bother with rows of CVs.
- NURBS Surface
- Points are connected by curved splines. A few points can define a smooth curve.
- It is easy to create smooth curved surfaces.
- Can adjust the subdivisions to make the surface rounder.
- Polygon Mesh
- Visual Character Development: Putting it Together
- Concept art: involves creating several views of a character (front, sides, back) using pencil sketches or 2D digital renderings.
- Modeling: involves creating the character's size and stature in 3D.
- Create a 3D wire mesh first
- Add 2D textures (e.g. skin, costume)
- Animation: conveys character movement
- Artificial Intelligence
- Quality of a game experience depends on whether the game presents a good challenge to the player.
- One way of providing a good challenge is to offer computer opponents that are capable of intelligently playing the game.
- Possible Game AI Definition
- Inclusive view of game AI:
- "Game AI is anything that contributes to the perceived intelligence of an entity, regardless of what's under the hood."
- Inclusive view of game AI:
- What is considered Game AI?
- Is it any NPC behavior?
- A single "if" statement?
- Scripted behavior?
- Pathfinding?
- Animation selection?
- Automatically generated environment?
- Is it any NPC behavior?
- Game AI
- Game AI is very different from other AI applications (e.g. military defense, robotics).
- Core distinction is in terms of goals
- Goals of an AI programmer include:
- The AI must be intelligent, yet purposely flawed.
- The AI must have no unintended weaknesses.
- The AI must perform within the CPU and memory constraints of the game.
- The AI must be configurable by game designers/players.
- The AI must not stop the game from shipping.
- Game AI is very different from other AI applications (e.g. military defense, robotics).
- Specialization of Game AI Developer
- No one-size fits all solution to game AI
- Results in specialization. E.g.
- Strategy Games
- Involves battlefield analysis
- Long term planning and strategy
- First-Person Shooter Games
- Involves One-on-one tactical analysis
- Intelligent movement at footstep level
- Real-Time Strategy games the most demanding, with as many as three full-time AI game programmers
- No one-size fits all solution to game AI
- Game Agents
- In most games, the purpose of game AI is to create an intelligent agent, or NPC.
- This game agent may act as an
- Opponent
- Ally
- Neutral character
- An agent has three key steps that it continually loops.
- This loop is called: "Sense-Think-Act cycle"
- Optional learning or remembering step
- Sense-Think-Act Cycle: Sensing
- Agent can have access to perfect information of the game world
- Agent has access to game World Information that is part of the program, including:
- Complete terrain layout
- Location and state of every game object
- Location and state of player
- But isn't this cheating?
- Sensing: Enforcing Limitations
- Hence, agents are also given limitations, e.g. Human limitations.
- Limitations such as
- Not knowing about unexplored areas
- Not seeing through walls
- Not knowing location or state of player
- Can only know about things seen, heard, or told about
- Must create a sensing model
- Sensing: Human Vision Model for Agents
- In 3D games, Vision starts with obtaining a list of appropriate game objects.
- E.g. the agent might ask for a list of all enemies.
- For each game object, you need to consider (in this order):
- Is it within the viewing distance of the agent?
- How far can the agent see?
- Is it within the viewing angle of the agent?
- What is the agent's viewing angle?
- Is it unobscured by the environment?
- Most expensive test, so it is purposely last
- Is it within the viewing distance of the agent?
- In 3D games, Vision starts with obtaining a list of appropriate game objects.
- Sensing: Vision Model
- What about recognizing interesting terrain features?
- E.g. imagine a first-person shooter.
- Agent needs to recognize hiding spots or high-risk areas.
- Do you want to play an FPS where the agent strolls around blindly in a hot zone without cover...?
- What about recognizing interesting terrain features?
- Sensing: Human Hearing Model
- Humans can hear sounds
- Can recognize sounds
- Knows what emits each sound
- Can sense volume
- Indicates distance of sound
- Can sense pitch
- Sounds muffled through walls have more bass
- Sounds muffled through walls have more bass
- Can sense location
- Where sound is coming from
- Can recognize sounds
- Agents can be created to sense through hearing sounds like the above.
- Humans can hear sounds
- Sensing: Modelling Hearing Efficiently
- Event-based approach
- When sound is emitted, it alerts interested agents
- Use distance and zones to determine how far sound can travel
- Event-based approach
- Sensing: Communication
- Many types of agents are expected to communicate with each other.
- Important to model the transfer of sensed knowledge between agents.
- Guards might alert other guards
- Agents witness player location and spread the word
- Model-sensed knowledge through communication
- Event-driven when agents within vicinity of each other
- Many types of agents are expected to communicate with each other.
- Sensing: Reaction Times
- Important for agents to employ similar reaction times like humans.
- Agents shouldn't see, hear, communicate instantaneously
- Players do notice this sort of thing!
- Need to build in artificial reaction times
- Vision: 0.25 seconds to 0.5 seconds
- Hearing: 0.25 seconds to 0.5 seconds
- Communication: more than 2 seconds
- Sense-Think-Act Cycle: Thinking
- Once an agent has gathered information about the world through its sense, the information can be evaluated and a decision can be made.
- Two primary methods
- Process using pre-coded expert knowledge
- Use search to find an optimal solution
- Thinking: 1. Expert Knowledge
- Many different systems for encoding expert knowledge
- Finite-state machines (most popular)
- Encoding Expert Knowledge is appealing because it's relatively easy
- Can ask just the right questions
- As simple as if-then statements
- Problems with Expert Knowledge systems
- Not very scalable
- As the number of rules increases, the Expert Knowledge system becomes cumbersome and vulnerable to bugs
- Many different systems for encoding expert knowledge
- Thinking: 2. Search
- Employs search algorithm to find an optimal or near-optimal solution
- Pathfinding in strategy games is a common use of Search technique.
- Thinking: Flip-Flopping Decisions
- When decisions are made, there must be mechanisms to ensure that decision is made within reasonable time periods.
- Imagine an agent that has to evaluable decisions every frame!
- Agent will be paralyzed because it “flip flips” between two states.
- Reaction times might help keep it from happening every frame
- Must make a decision and stick with it
- Until situation changes enough
- Until enough time has passed
- Sense-Think-Act Cycle: Acting
- An agent's sensing and thinking steps are invisible to player.
- The only visible step is agent Acting.
- Important step: Acting is how player witnesses "intelligence" in your game.
- Numerous agent actions are possible, for example:
- Change locations
- Pick up object
- Play animation
- Play sound effect
- Converse with player
- Fire weapon
- Acting: Showing Intelligence
- Agent can only express intelligence in terms of vocabulary of actions
- In modern game's, an agent's repertoire can include thousands of animations.
- Current games have huge sets of animations/assets
- Imagine a game where an agent is to die, but he just sits there and dies — your game will look really dumb.
- Agent should cower, or scream a death cry with accompanying animation
- Extra Step in Cycle: Learning and Remembering
- Learning and Remembering is an optional 4th step.
- Without it, the agent never improves, never adapts to a particular player, never benefits from past events or information it witnessed or was told.
- Not necessary in many games
- Agents don't live long enough
- Game design might not desire it
- Learning and Remembering is an optional 4th step.
- Learning
- Remembering outcomes and generalizing to future situations
- Simplest approach: gather statistics
- If 80% of time player attacks from left, then expect this as a likely event.
- Your game agent should execute a flank attack on the player's right!
- If 80% of time player attacks from left, then expect this as a likely event.
- Adapts to player behavior
- Remembering
- Remember hard facts
- Observed states, objects, or players
- For example
- Where was the player last seen?
- What weapon did the player have?
- Where did I last see a health pack?
- Memories should fade
- Helps keep memory requirements lower
- Simulates poor, imprecise, selective human memory
- Remember hard facts
- Remembering within the World
- All memory doesn’t need to be stored in the agent. It can be stored in the world
- For example:
- Agents get slaughtered in a certain area
- Area might begin to "smell of death"
- Agent's path planning will avoid the area
- Simulates group memory
- Making Agents Stupid
- It is usually very easy to create game agents that will trounce the player
- Just make agents faster, stronger, more accurate!
- Sometimes necessary to dumb down agents, for example:
- Make shooting less accurate
- Make longer reaction times
- Engage player only one at a time
- Change locations to make self more vulnerable, e.g. in a FPS
- It is usually very easy to create game agents that will trounce the player
- Agent Cheating
- Players don't like agent cheating
- When agent given unfair advantage in speed, strength, or knowledge
- Sometimes necessary
- For highest difficulty levels
- For CPU computation reasons
- For development time reasons
- Don't let the player catch you cheating!
- Consider letting the player know upfront
- Players don't like agent cheating
- Overview
- Audio in games is more important than ever before
- Audio events can be triggered by:
- In-game events (e.g. firing a weapon, explosion)
- Locality (e.g. ambient effects from the game environment)
- Via scripts (e.g. dialog, a cut-scene)
- Programming Basic Audio
- Most audio processing hardware perform in similar manner
- E.g. panning, volume and pitch control, sound channels
- Learning fundamental concepts of audio programming is important
- Most audio processing hardware perform in similar manner
- API Choices
- Two free audio rendering APIs (application programming interfaces)
- DirectSound (part of DirectX API) (most popular)
- Freely available as part of DirectX SDK.
- Supports only Windows platforms
- OpenAL
- Newer API. Designed as aural equivalent of OpenGL
- Available on multiple platforms
- Proprietary APIs and 3rd Party Licensable APIs
- Typically available on consoles
- If you intend to work in gaming audio, you need to be familiar with several API systems.
- Basic Audio Terminology and Physics
- Amplitude
- Measurement of a sound wave's pressure
- Frequency
- Measurement of the interval between wave cycles, typically measured in Hertz
- Pitch
- The perception of frequency
- Tuning
- Musical distribution of frequencies over keys
- Western music standard: 12 keys in an octave
- Decibel
- Measures sound amplitude (which is a measure of its power)
- Decibels measure perceived difference in loudness between two sounds, not absolute loudness.
- Amplitude
- Digital Representation of a Sound Wave
- Most common technique known as sampling
- Sampling involves measuring the amplitude of the analog wave file at discrete intervals
- The frequency of sampling is known as sampling rate
- Each sample is typically stored in a value ranging from 4 to 24 bits in size
- The size of the sample value in bits is known as the 'bit depth'
- Music CDs have a sample rate and bit depth of 44.1 kHz (samples/sec) and 16 bits (sample size)
- Modern Audio Hardware
- Permanent Storage (Hard Drive, Optical Disk, ROM)
- Data may require optional software decoding at this point (e.g. MP3)
- Memory Buffer (may be located in either system or dedicated RAM)
- Sound Channel Processing (perform 2D or 3D processing tasks)
- Hardware mixing of all the channels and digital to analog signal conversion
- Sound Playback Techniques
- Two basic playback methods:
- Play sample entirely from memory buffer.
- Used for small sound samples.
- Stream data in real-time from storage medium
- Streaming is more memory efficient for very large audio files, such as music tracks, dialogue, etc
- Streaming loads in a small portion of the sample. When more data is required, it is fetched from storage and replaces the old sample.
- Sample Playback and Manipulation
- Three basic operations
- Panning is the attenuation of left and right channels of a mixed sound, resulting in spatial positioning within the aural stereo field
- Pitch allows the adjustment of a sample’s playback frequency in real-time
- Volume control typically attenuates the volume of a sound
- Compressed Audio Format
- Compressed audio formats allow sound and music to be stored more compactly.
- Two classes of compression schemes:
- Bit reduction codecs generally are lightweight (e.g. ADPCM)
- Most popular: ADPCM compression is implemented in hardware on all the major current video game console systems (Xbox, PlayStation 2, GameCube)
- ADPCM compression is fixed at 4:1.
- Less computationally intensive than MP3.
- Simple compression algorithm makes available more audio memory.
- Not normally used in PC games as memory in PCs are abundant.
- Psycho-acoustic codecs often have better compression (e.g. MP3)
- Most famous: MP3
- Other formats: Ogg Vorbis, Windows Media Audio
- Uses sophisticated algorithms to encode sound by discarding audio data that human ears cannot normally hear.
- Allows variable compression (unlike ADPCM compression)
- Require substantially more computational horsepower to decode
- MP3, Ogg Vorbis, Licensing and Patent Issues
- The MP3 format is patented. Any commercial game is subject to licensing terms as determined by Fraunhofer & Thompson Multimedia, the holders of the patents
- Ogg Vorbis is similar to MP3 in many ways, but is open source and patent-free (royalty-free)
- Be aware of patent and license restrictions when using 3rd party software
- 3D Audio: Introduction
- Two sets of data required when working in world coordinates:
- Listener Data, composed of world position and orientation (virtual microphone in the world)
- Source Data, composed of sound position, orientation, velocity, etc (virtual sound source in the world)
- Programming Music Systems
- Two common music systems
- MIDI-based systems (Musical Instrument Digital Interface)
- Digital audio streaming systems (CD audio, MP3 playback, etc)
- Advantages and Disadvantages of MIDI
- MIDI: industry-standard protocol that enables electronic musical instruments, computers and other equipment to communicate, control and synchronize with each other.
- Sends digital data "event" messages
- Actual music data size is negligible
- Easy to control, alter, and even generate in real-time
- High quality music is more difficult to compose and program
- Only effective if you can guarantee playback of a common instrument set
- Other MIDI-based technologies
- DLS (DownLoadable Sound) Format, a standardized format for instrument definition files
- iXMF (Interactive eXtensible Music Format), new proposed standard for a container format for interactive music
- Advantages and Disadvantages of Digital Audio Streams
- Digital audio uses digital signals for sound reproduction.
- Involves conversion of an analog signal into a digital signal at a given sampling rate and bit resolution.
- Superb musical reproduction is guaranteed
- Allows composers to work with any compositional techniques
- Some potential interactivity is sacrificed for expediency and musical quality
- Generally high storage requirements
- Game Development Management
- Iterative Development
- Concept of "iterative" development is commonly applied.
- Model incorporates circular three-stage process: design, prototype, evaluate.
- Iterative Development process is repeated over and over again as needed until the game is no longer a prototype — but a complete game.
- Iterative Development vs Gold Plating
- Iterative Development is the opposite of "Gold Plating"
- Gold plating: where development team adds "bells and whistles" to a product, often costing time and money.
- Effective management in game development
- Involve the team in the planning stage, and be flexible with the scheduled deadlines when necessary.
- Encouage employees to discuss problems with you so that they do not grow into unmanageable ones.
- Don't panic when problems arise, and don't personalize problems.
- Make sure employees have several uninterrupted hours of work each day.
- Don't work regular hours when you've asked your team to work overtime.
- Iterative Development
- Game Documentation
- Game documentation is created during the concept, pre-production, and production phases.
- Intention: convey project components to team members and prospective partners (e.g. publisher, manufacturer, licensor).
- Documentation serves two purposes:
- Ensure that team members understand their roles in the development process.
- Convince companies to develop, fund production, or otherwise help the game a reality.
- No strict documentation standards exist yet in industry.
- Different documents are required at different stages
- Concept
- Game Proposal
- Game Design Document
- Game documentation is created during the concept, pre-production, and production phases.
- Game Documentation: Concept
- Concept ("Pitch" document)
- Conveys the goal and purpose of the proposed game.
- Helps management assess whether or not the game idea is viable, timely, and feasible.
- Purpose of document: sell the idea to funding sources, publishers, or other decision makers in the company.
- Contains:
- Premise: What's the mood and unique 'hook'?
- Player motivation: How do players win?
- Unique selling proposition: What makes your game unique?
- Target market: Portion of audience most likely to play the game
- Genre
- Target rating: In relation to ratings provided by the ESRB.
- Target platform and hardware requirements: Mobile, wireless, PDA, PC, console etc.
- License: Is your game adapted from a licensed property?
- Competitive analysis: How does your title compete with what is already out there?
- Goals: What are your expectations for this game as an experience?
- Concept ("Pitch" document)
- Game Documentation: Game Proposal
- Follow-up to Concept document
- Describes all the previous items but in more detail.
- Purpose of the document: present the details of the game to a company or prospective partner already interested in the idea.
- Usually around 10-20 pages
- Contains:
- Hook: What attracts players to the game and keep them there?
- Gameplay: Challenges, paths and activities in the game.
- Online features: Where approriate.
- Technology: Are special software or hardware technologies used in the game?
- Art and Audio features: Do you intend to hire a well-known game composer or artist?
- Production details: Including development team composition, budget and schedule.
- Backstory: OVerview of everything that has taken place prior to beginning of the game.
- Story synopsis: The main story idea, and how gameplay will reflect the story.
- Character descriptions: Include each primary character's name, physical description, personality characteristics, background and history, and relevance to the game's story.
- Risk analysis: Discuss all the things that can possibly go wrong with the project, e.g. difficulties recruiting personnel, asset-protection provisions, reliance on external sources for key technology components.
- Development budget: Estimate of all the costs of bringing the game to market, along with estimates of all anticipated income.
- Concept art: Concept drawings, sketches of characters and scenes related to the game.
- Game Documentation: Game Design Document
- Game Design Document (GDD)
- Much longer than the concept or proposal document
- Often about 50-200 pages.
- Purpose of document: is to be the "reference guide" to the game development process.
- Focuses on gameplay, storyline, characters, interface, game rules.
- This document needs to specify enough detail that you could, in theory, play the game without the use of a computer.
- Contains:
- Game interface: Include each passive and active interface to be used in the game.
- Character abilities and items: Acquired, non-acquired, combat, defense abilities of each player and non-player character.
- Game world: E.g. cinematics, art, gameplay, animation, characters, pickup items
- Game engine: Include information on what the game engine can or cannot do (e.g. number of characters present simultaneously, number of animations per character, camera and game view restrictions)
- Art bible: Establish the look and feel of the game, and provide a reference for other artists to work from.
- Technical design document: Describes the specifics of the game engine, and compares it to other engines on the market.
- Project plan: Outlines the path taken to develop the game.
- Test plan: Constructs test cases, and a testing checklist.
- Game Design Document (GDD)
- Why do people play video games?
- Goals
- Stages
- Real-Time Interaction
- Facilitating Community
- Audience and Demographics
- Every published video game at its core is a business venture designed to make money.
- Demographics can guide what kinds of games are financially feasible to produce.
- E.g. Tells you (very generally) who is buying and playing what
- Audience and Demographics: ESA 2003 Survey Results
- Provides broad brushstrokes
- Snapshots of a particular place and period of time
- What information stands out?
- 50% of all Americans play games
- Audience and Demographics: ESRB (Entertainment Software Rating Board)
- EC (Early Childhood)
- E (Everyone)
- E10+ (Everyone 10+)
- T (Teen)
- M (Mature)
- AO (Adults Only)
- 32 different "Content Descriptors"
- Audience and Demographics: ESRB 2003 Statistics
- 57% of games received an E rating
- 32% of games received a T rating
- 10% of games received an M rating
- 1% received an EC rating
- 70% of best-selling console games were E or T rated
- 90% of best-selling PC games were E or T rated
- Demographics research is one tool that can shed light on how a society uses and interacts with games.
- Also provides answers to who within society is currently playing games.
- Societal Reaction to Games
- Societal reaction to games not normally favorable.
- Perceived as "kids stuff".
- Two issues are of concern:
- Legal issues and notorious games.
- Additionally, violence in games has garnered a lot of attention because of youth violence.
- Legal Issues: Night Trap (1992)
- Undue attention given quality of the game
- Content comparable to a B-grade slasher movie
- Misleading press reports about the player's role
- Legal Issues: Mortal Kombat (1992)
- Featured quasi-realistic violence
- Virtual gouts of blood
- Home release drew attention where the arcade release was largely ignored
- Legal Issues: 1993 Senate hearings
- Industry was called to the carpet
- Threatened with government regulation
- Created a 12-point plan for self-regulation
- Birth of the ESRB
- Legal Issues: Doom (1994) and the 1999 Columbine Massacre
- Two students armed with automatics went on a shooting rampage. Killed twelve students and a teacher before killing themselves.
- Shooters were known to play Doom
- Lawsuits were initiated against the industry, but eventually dropped
- Two students armed with automatics went on a shooting rampage. Killed twelve students and a teacher before killing themselves.
- Legal Issues: Grand Theft Auto: Vice City
- Haitian-American Rights Groups protest game content, launch Federal case
- Rockstar Games changes game content
- Lawsuit moved to Florida courts in hopes of a stringent ruling
- Legal Issues: St. Louis County Ordinance
- Ordinance was passed regulating game access
- Lawsuit filed by the ESA
- Judge upheld ordinance specifying that video games did not contain speech
- Ruling was over-turned
- Games and Youth Violence
- Current studies on games and youth violence are not flawed and not definitive
- How does one define "violence" in the context of video games?
- Root of All Evil, or Good, Old-Fashioned Fun?
- Games are seen as meaningless fun
- Games are also seen as a troubling source of youth violence
- Are these views contradictory?
- Societal reaction to games not normally favorable.
- Cultural Issues
- Worst... Stereotype... Ever
- Shadow Warrior (1997) lampooned Asian cultures and stereotypes
- Japanese-American community wasn't amused
- Risk of offending market
- Worst... Stereotype... Ever
- Cultural Issues: Foreign Diplomacy
- Germany
- Germany has The Index, which is a list of banned games
- Partial list of controversial elements include Nazi iconography, red blood and extreme violence
- China
- Has a long history of banning video games
- Controversial elements include changing historical facts, recognizing the sovereignty of disputed territories, and being anti-communist
- Japan
- In the past, banned games for sexual content, and they generally avoid violent games.
- An exception is EA’s Medal of Honor: Rising Sun, a game that depicted the Pacific campaign in WWII. Turned out to be very successful: sold 200,000 copies in the first two weeks in Japan.
- Germany
- Cultural Issues: Cultural Acceptance
- The rules are... there are no rules.
- Violence and sex may lead to a game being banned.
- ...Or they may not.
- Past bans may be the only accurate predictor of what game types are truly objectionable to a specific culture.
- Society Within Games: Online Behavior
- Computer games see the entire range of behavior: good, bad, and ugly.
- The Good: socially constructive and beneficial events. Often participated by large communities.
- Everquest Weddings
- The Bad: behavior stemming from playing games that alters player’s human habits or the way he interacts with other humans.
- Addictive properties
- Online rivalries becoming offline rivalries
- Games contributing to erratic offline behaviors. E.g. twitching?
- The Ugly: extreme behavior that can result in emotional or physical violence towards other humans.
- Disinhibition and deindividuation occur because of perceived anonymity.
- Hate crimes
- Disinhibition and deindividuation occur because of perceived anonymity.
- The Good: socially constructive and beneficial events. Often participated by large communities.
- Society in the online world has to come up with ways to deal with these issues.
- Tools
- Moderators and game wardens
- Communication tools (e.g. say, private say, group say, world say in an MMORPG)
- Fan sites to discuss gameplay and community outside of the game
- Computer games see the entire range of behavior: good, bad, and ugly.