76
Software Engineering of Video Games 1 Video Games Boumediene Belkhouche College of Information Technology United Arab Emirates University

Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Software Engineering

of

Video Games

1

Video Games

Boumediene Belkhouche

College of Information Technology

United Arab Emirates University

Page 2: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

The software development process

� A structured set of activities required to

develop a software system

� Requirements

� Design

2

� Design

� Implementation

� Validation

� Evolution

Page 3: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Development Teams

How to lead?

How to organize?

How to collaborate?

3

How to motivate? How to create good ideas?

Page 4: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

People Involved in Game Development

� Lead designer

� Project leader

� Software planner

Architectural leader

4

� Architectural leader

� Programmers (tools and game)

� Artists

� Level designers

� Testers

Page 5: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Effort Allocation

4040--5050%%� Front-end activities

� customer communication

� analysis � design� review and

5

3030--40%40%

� review and modification

� Implementation

� Testing

� Operation

1515--2020%%

Page 6: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Requirements engineering

� The task of defining:� the services that the customer requires

from a system

the constraints under which the system is

6

� the constraints under which the system is

developed and operates

Page 7: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Functional and non-functional requirements

� Functional requirements

� Statements of services the system should provide,

how the system should react to particular inputs

and how the system should behave in particular

situations.

7

situations.

� Non-functional requirements

� constraints on the services or functions offered by

the system such as timing constraints, constraints

on the development process, standards, etc.

Page 8: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

OO Design� Design:

� Architectural: major components/connections

� Detailed: algorithms and data structures

� 00 Design: to develop two main models

� Structural model: to describe the static structure of

8

� Structural model: to describe the static structure of

the system in terms of classes and relationships

� Class Diagrams

� Behavioral model: to describe the dynamic

interactions among the classes

� Sequence and state Diagrams

Page 9: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Character

Inventory

Health

Interact()

Move()

Fight()

9

Fight()

Talk()

AccessInventory()

UseAccessWay()

Die()

Get/SetHealth()

Get/SetInventory()

Page 10: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Player

ANSLevel: int

GamePoints: int

incANSLevel(int): void

10

incANSLevel(int): void

decANSLevel(int): void

incGamePoints(int): void

decGamePoints(int): void

Page 11: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Pedestrian

Location: int[2]

11

Move: void

Page 12: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Car

CarOrientation: int

Location: int[2]

HealthPoints: int

MaxHealthPoints: int

MaxSpeed: int

MaxAcceleration:int

12

MaxAcceleration:int

moveLeft: void

moveRight: void

moveUp: void

moveDown: void

rotateCar: void

incHealthPoints(int): void

decHealthPoints(int): void

Page 13: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

World

Map

Items

AccessWays

13

AccessWays

RemoveItem()

Get/SetAccess()

Page 14: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Police

wayPoints: int[10][2]

playerLocation: int[2]

onPatrol: Boolean

14

onPatrol: Boolean

setPatrol(bool): void

Page 15: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Weapon

Firing speed: int

Ammo: int

Damage: int

15

Damage: int

fire: void

Page 16: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

16

Page 17: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

17

Page 18: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Events

person dies person dies and blood is left on ground

score

score (money) is increased based on how the event was

triggered

police chase police cars actively chasing player

police dies police officer dies and blood is left on ground

warrant for

arrest active search for your car and chase

18

arrest active search for your car and chase

damage event car's damage meter is increased

blow up car

car's damage meter has increased to critical point and car

explodes

player dies game over

busted game over

new mission starts up a new mission via phone call or page

Page 19: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Player Team Monster Object Inventory Access Restrict

ed

Access

Obstacle Health

Player X

Team X

Monster 1 1 X

Object 2 2 X

Inventory

19

Inventory3 X

Access 4 4 4 7 X X

Restricted

Access 5 5 6 8 X

Obstacle6 6 6 X X X X

Health X

Page 20: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

What is a Game?

� A game is a form of art in which participants,

called players, make decisions in order to

manage resources through game tokens in

the pursuit of a goal. (Greg Costigan)

20

the pursuit of a goal. (Greg Costigan)

� A game is a system in which players engage in an

artificial conflict, defined by rules, that results in

a quantifiable outcome. (Salen and Zimmerman)

Page 21: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

What is a Game?

� Some important objects are:

� Players

� Decisions

� Goal (s)

21

� Goal (s)

� Rules

� Resources

� Art

Page 22: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Analysis

� Genre

� Platform

� Rating/Intended audience

� Game world: setting, environment, boundaries

22

� Game world: setting, environment, boundaries

� Gameplay: events, challenges, AI, interface

� Characters: avatar, enemies

� Behavior: states, transitions

� Interactions

� Reverse engineering

Page 23: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

What is a Good Game?� graphics/light effects

� sound effects

� music

� story

� game play

� interaction

23

� internet gaming

� person/computer opponents

� game balancing

� addicting

� atmosphere

� long-lasting

� original

Page 24: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Document

� Game Overview

� Game Feature Set

� Game World

Game Characters

24

� Game Characters

� User Interface

� Sound Effects

� Art

Page 25: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Document

� Game Overview

� Philosophy

� General questions:

� What: description of the game

25

� What: description of the game

� Why: purpose of the game

� Where: place where the game occurs

� How many: characters in the game

� Who: who is in control

� What is different: with existing games

Page 26: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Document

� Game Feature Set� General features

� Environment

� Types of players

� Graphics: dimensions and views

26

� Gameplay

� Actions/events

� Unique powers

� Health indicators

� Dangers, hazards, challenges

� Winning situation

� Intelligence

Page 27: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Document

� Game World

� Key locations

� Scale

� Time

27

� Dimensions

� Views

Page 28: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Document

� User Interface

� Main menu

� Start new game

� Options

28

� How to play

� Keyboard commands

Page 29: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Tasks

� Game Play versus Game Settings

� Importance of the story

� Abstract or realistic

� Who has control

A good game is in harmony

29

� A good game is in harmony

� Game setting and game play must fit together

� Game world matches the story

� Features are balanced

� Interaction is effective and intuitive

� This all lead to meaningful play

Page 30: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Types of Games

� Action – Frantic button pushing (reaction speed, experience)

� Adventure – (including RPG): The story matters (surprise, emotions)

� Strategy – Nontrivial choices (insight, cleverness, experience)

30

experience)

� Simulation – Optimization exercises (insight, experience)

� Puzzle – Hard analytic thinking (cleverness)

� Competition – Beat the other (human) players

� Toys – Software to have fun with (surprise)

� Education – Learning by doing

Page 31: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Important Features� Reaction speed

� Experience

� Insight

� Cleverness

� Surprise

31

� Surprise

� Emotions

Page 32: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Genre

� First person shooter, FPS (DOOM)

� Role playing games, RPG (Leisure Suit Harry)

� Flight simulators

� Racing

� Sport simulators

Strategy games (real-time or turn based)

32

� Strategy games (real-time or turn based)

� GOD games (Popoulos)

� Puzzle games

� Adventure

� …

Page 33: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design

� Design: what is it?

� Initial Concept

� Source of idea

� Meaning

33

� Description

� How it works

� Components: art, function, interaction, etc.

� Model

� Prototype

� Software design

Page 34: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Program Flow Structure

� Initialization� Loading

� Introduction

� Configuration

� Settings

Game loop

34

� Game loop� Handle input

� Handle game actions

� Display

� Finalization� Saving

� Trailer

Page 35: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Architecture

of a Game

Physics Engine

Event Handler

Graphics Engine

UI

Sound System

35

Physics EngineGraphics Engine

Logic Engine

DISPLAY

Page 36: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Software Structure

� User Interface

� Graphics Engine

� Sound and Music Engine

� Logic Engine

36

� Logic Engine

� Configuration System

� Online Help

� Game Data

� Event Handler

� Physics Engine

Page 37: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Data gam e s tatus

le vels graphics sounds

E vent Handle r

Logic Engin e

Phys ics Engine

Con figu ration Sys tem

Global

Game

Software

Architecture

37

Hardware

In put

User Inte r face

Graphics Audio

Graphics Engine

Sound Engin e

Mus ic Sys tem

Menuing Sys tem

Onli ne H elp sounds

m iscellan eous

Page 38: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Ingredients of a Game

� Interactivity: how the player perceives the world and how he acts within it

� Storytelling and narrative: storyline, dramatic effect and motivation, involvement

� Core mechanics: the rules

38

� Core mechanics: the rules

� Each of these aspects highly influences the impact of a game

� What is the effect of shooting?

� Why do you shoot?

� How do you shoot, how does the target look, and how do you see the effect?

Page 39: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Interactivity

� Who is in control?

� Viewer versus active participant

� Linear story line versus multiple story lines

� Features versus chrome

� What are essential features in a game?

� What is chrome

39

� Again, consider certain games

� Age of Empires (choosing from 12 races?)

� Simcity (building styles)

� Puzzles in Black-and-White

� Is 3D chrome?

� Popoulos

� First-person view versus third person view

Page 40: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Role of the Story

� When is it important?

� RPG

� Adventure

� Why is it important?

� Immersion

Surprise/Emotions

40

� Surprise/Emotions

� Linear versus non-linear

� Differences with a book or a movie

� Player determines the order in which things happens

� Player wants to be in control

� Dramatic effects have less effect

Page 41: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Storytelling and narrative

� Importance for the game

� None: Arcade

� Little: Strategy

� Medium: FPS games

More: Role Playing games

41

� More: Role Playing games

� Most: Adventure Games

� Light backstory: You have to save the world

� Still useful to provide some form of motivation and

justification

� Often enough; no need to add more

� Can be told beforehand or in steps during the game

Page 42: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Monomyth

� Called “The Hero Story”

� A pattern that most stories follow.

� Charts the progress of the story’s hero

Are easily recognizable by all individuals

42

� Are easily recognizable by all individuals

� It’s a form (guidelines), not a formula

� Still has lots of room for creativity

Page 43: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Monomyth Steps

� The ordinary world

� The call to adventure

� The refusal of the call

� The meeting with the mentor

� Crossing the first threshold

Tests, allies, and enemies

43

� Tests, allies, and enemies

� The approach to the innermost cave

� The ordeal

� The reward

� The road back

� The resurrection

� The return with the reward

Page 44: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Characters

� Must be developed carefully

� Good visual design

� Often exaggerated to create affection (large head, large eyes)

44

� Cuteness

� Characters must fit the game

� Create a personality for the character

� Character growth

� While going through the story

Page 45: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Archetypes

� hero

� mentor

� higher self

� allies

� shape shifter

� threshold guardian

45

� threshold guardian

� trickster

� shadow

� herald

� angle (mother)

� father

� …

Page 46: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Rules

� Rules define the inner formal structure of the

game

� Rules limit player action

� Rules are explicit and unambiguous

46

� Rules are explicit and unambiguous

� Rules are shared by all players

� Rules are fixed

� Rules are binding

� Rules are repeatable

Page 47: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Types of Rules

� Constitutive rules: core mathematical rules (game logic)

� Operational rules: how to play

� The moves you can make

47

� Typical of what is found in the instructions

� Implicit rules

� E.g. to have limited time for a move or to always play till the end

� More explicit when game gets more important (for example soccer)

Page 48: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game World

� Artificial universe

� Visible manifestation of this world� But more is happening below it (e.g. the economics system in SimCity)

� World is governed by constitutive rules

48

� World is governed by constitutive rules

� World has a boundary and game play takes place within this boundary� Soccer happens within the playing field

� A board game is played on the board, not outside it

� Boundary is both in space and in time

� The boundary makes the game a safe place

Page 49: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Setting� The setting is its fictional component

� The fantasy

� The story

� The setting does not influence the rules but the way we perceive, accept, and appreciate them

� The setting provides part of the entertainment value� For some games gameplay is the major entertainment value (chess, tetris,

49

� For some games gameplay is the major entertainment value (chess, tetris, …)

� For other games the setting is the major entertainment value

� Game setting can even distract the players from the core mechanics� For example battle chess or 3D pacman

� Becoming a skilled player leads to abstraction, ignoring the game setting

� For beginning players, the setting is vital for creating interest

� The setting helps in selling the game

Page 50: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Physical Dimension� Most games take place in some physical world

� You need to choose the correct dimensions to support your game

� 2-dimensional

� Top view

� Side view

� 3-dimensional

50

� Even though representation is 3-dimensional the game can still be essentially 2-dimensional

� The dimension must fit the entertainment value.

� 3-dimensional space can make games frustratingly difficult

� Lemmings, Pacman, …

� 3-dimensional space can break suspension of disbelief

Page 51: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Scale� Scale of world

� The game world can be small (e.g. completely visible at all times)

� Scrolling larger world

� Huge and open for exploration

� Scale of objects

� For gameplay it often helps to exaggerate scale

51

� In scrolling shooters bullets are normally way too big

� In RTS games the characters are way too big and buildings and trees are small

� For a realistic setting they should be sort of correct

� Outside distances are normally a lot shorter than inside buildings

� Speed of objects is normally highly unrealistic

� Airplanes in C&C

Page 52: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Temporal Dimension

� How is time treated

� time it takes to do certain tasks

� day and night

� seasons and years

� No time at all

For example in action games

52

� For example in action games

� Although there can be an (artificial) time limit to solve problems

� Time can be interesting as part of the setting

� Creates atmosphere (e.g. winter or summer landscape)

� Does not influence what the player can do

Page 53: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Temporal Dimension

� Time can influence gameplay

� Shops are closed at night

� It is more dangerous to walk around at night

� During winter you can cross rivers but not during summer

Time is normally not real-time

53

� Time is normally not real-time

� Not even in real time strategy games

� Normally time in games runs faster

Page 54: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Temporal Dimension

� Normally time in games runs faster

� Makes things more interesting

� Adds more tension

� Make the games playable

� Periods like night are often skipped

54

� Periods like night are often skipped

� Soldiers never get tired

� Tasks do not take the normal time

� Not even in game time

� Trees often grow within a short period

� Making weapons though is extremely fast

� People are created, they do not grow up

Page 55: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Environment

� How does the world look

� Cultural context of the people in the game

� Different from the cultural context of the players

outside the game

Must match the story line, the visual appearance and

55

� Must match the story line, the visual appearance and

the tasks.

� Should be consistent with players knowledge

� Largely work of artists

� Music and sound effect must match this

� Try to be original

Page 56: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Balance: Three Types� Player – Player

� Each player has an equal chance of winning

� No special advantages, only skill counts

� There can be luck, but equaly distributed over the players and not too crucial

� Player – GameplayLearning curve is matched with rewards

56

� Learning curve is matched with rewards

� The gameplay should not be considered the opponent� Like not being able to find the words in a text adventure

� Or not being able to remember the right keystrokes

� Or not being able to get the right view on what is happening

� Or not being able to find the correct pixel to click on

� Gameplay – Gameplay� Features must be balanced against each other

� Each feature must be useful in certain situations

Page 57: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Balance: Player-Player

� Exact symmetry

� Like in chess

� A bit boring

� Symmetry in game design

Even though the features look different, they are effectively

57

� Even though the features look different, they are effectively

the same

� functional symmetry

� river versus mountain range (with ships versus helicopters)

� A player should never get into an unwinnable

situation through no fault of his own

Page 58: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Balance: Player-Gameplay

� If the player looses it must be his own fault, not the systems fault

� Reward the player� Global rewards (like winning the game or a level)

� Small rewards, when you learn something new (can be graphics)

� Score and high score table

� Learning should widen the gaming experience

� Different reward structures lead to different game playing

58

� Different reward structures lead to different game playing� A reward after each 50 stars collected leads to peaks in trying to achieve this

� A rewards with a 1/50 chance with each start gives no peak but a higher average achievement

� Don’t take rewards away without a logical reason� Loosing your weapons at the next level

� Loosing a power-up when dying

� Carefully choose the level of the opponents in relation to the level of the players� Avoid boring initial phase for experienced players

Page 59: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Balance: Gameplay-Gameplay� Each feature or resource must be the best to use in certain situations

� Avoid dominant strategies

� Transitive relationships� A beats B beats C beats ...

� Must be balanced by indirect (shadow) costs� Can be used a limited number of times

� Cost more money to produce

Appear only later in the game

59

� Appear only later in the game

� Are only available by making difficult moves

� Cyclic (intransitive) relationships: Example: Fighting game� Three moves: Leg sweep, Kick, Stomp

� Stone-Paper-Scissors (SPS) relationship between moves� Leg beats Kick

� Kick beats Stomp

� Stomp beats Leg

� No move is dominant

Page 60: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Challenges

� Must be consistent

� Must provide a fair playing experience

� Must not lead to stagnation

� Balance challenges against the players improvement

� The player should improve, not the character he plays!

Just making the weapon stronger and, equally the

60

� Just making the weapon stronger and, equally the opponent stronger is no fun (it is more like chrome)

� Increase the number of choices

� Must not be trivial

� Obvious things should be done by the machine AI

� A chore versus a game feature

� E.g. not supplying a map of explored dungeon such that you must draw it yourself

Page 61: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Challenges

� Pure challenges

� logical and interference challenges

� memory challenges

� intelligence-based challenges

� knowledge-based challenges

� Based on knowledge, both inside the game world (intrinsic) and outside it (extrinsic)

61

and outside it (extrinsic)

� pattern-recognition challenges

� moral challenges

� special awareness challenges

� coordination challenges

� reflex/reaction time challenges

Page 62: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Behavior Specification

� How agents behave

� Rule-based

FSA

62

� FSA

� Agents (intelligent)

Page 63: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Simple reactive behavior

� Actions happen as a reaction to things happening� Events

� Collisions

� User actions

� For example, a bomb explodes when hit by the player

63

� Observation of the environment

� Sphere of area of influence

� Visibility lines

� Triggers

� Waypoints

� Move from waypoint to waypoint

� Waypoints indicate new direction of motion

Page 64: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Rule-Based approaches

� Often used because

� familiar

� predictable and, hence, testable

� Rules describe the actions that should take place in certain circumstances

64

certain circumstances

� Deterministic: for each situation a fixed action

� Random: multiple possible actions in the same situation

� Weighted: certain actions have a higher chance

� Based on further checks, e.g. take the direction that leads you to the opponent

Page 65: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Finite state machines

� Each object can be in a number of states

� A state corresponds with some local behavior

� Often described by a rule based approach

� State change occurs based on

� Events, observations, triggers, etc.

65

� Events, observations, triggers, etc.

� A rule based systems

� Pacman example:

� Three states: hunter, hunted, dead

� Each has some behavior

� State changes based on eating of pills, timer, reaching the

starting position

� Does a dead monster become a hunter or a hunted???

Page 66: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Behavior Specification

66

Page 67: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Behavior Specification

67

Page 68: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Behavior Specification

� FSA

S S

SF

S

Complete All

Missions

Anger Police

Arrested/Killed

Do Mission

68

S0 S1

S2

S3

Free Play

Escape

Complete

Mission

Accept Mission

Accept Mission

Page 69: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Agents

� Typically a game character

� Autonomous

� Communicates with the virtual world through input and output links� perceives the world

� thinks, reason

effect actions on the world

69

� effect actions on the world

� Different types� Reactive

� Typically rule-based

� Reactive with an internal state� Agent has memory and can act based on that

� Goal-based� Agent considers the results of possible actions

� They have a goal and pick those actions that lead towards the goal

Page 70: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Path finding

� Store the world also as an array of cells

� Mark a cell forbidden if it contains (part of) an

object

� A* algorithm

70

� A* algorithm

Page 71: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Design Guidelines

� Be consistent

� Enable hardcore players to use shortcuts

� Give good feedback

� Design the interface to offer defined tasks� tasks must have a beginning, middle and (clearly marked) end

71

tasks must have a beginning, middle and (clearly marked) end

� subdivide complex tasks into smaller subtasks� For example a menu structure

� Don’t allow the player to make silly mistakes

� Permit easy reversal of actions

� Remember that the player is in control

� Don’t strain the player’s memory

Page 72: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Design Document

� Style, genre, look and feel

� Overview of the game� Game story

� Characters/units/resources (precise, e.g. how many resources does it cost to build something)

� Game rules, Gameplay (precise)

� Screen mockups (how will things look)

72

� Screen mockups (how will things look)

� Levels

� Special effect

� AI

� People involved

� Tools required

� Schedule

� Budget

� Selling points

Page 73: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Timeline

� Inspiration

� getting the global idea of the game

� duration: 1 month (for a professional game)

� people: lead designer

� result: treatment document, decision to continue

� Conceptualization

73

� preparing the "complete" design of the game

� duration: 3 months

� people: lead designer

� result: complete design document

� Blueprint

� separate the project into different tiers

� duration: 2 months

� people: lead designer, software planner

� result: several mini-specifications

Page 74: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Timeline

� Architecture

� creating a technical design that specifies tools and technology used

� duration: 2 months

� people: project leader, software planner, lead architect

� result: full technical specification

Tool building

74

� Tool building

� create a number of (preferably reusable) tools required for the game, like the 3D graphics engine, a level builder, or a unit builder

� duration: 4 months

� people: project leader and 4 (tool) programmers

� result: set of functionally complete tools (maybe not yet feature complete)

Page 75: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

Game Design Timeline� Assembly

� create the game based on the design document using the tools; in the process the design document and the tools can be updated if required (consulting the lead designer)

� duration: 12 months

� people: project leader, 4 programmers, 4 artists

� the complete game software and toolset

� Level design

75

Level design

� create the levels for the game

� duration: 4 months

� people: project leader, 3 level designers

� result: finished game with all levels, in-game tutorials, manuals

� Review

� testing the code, the gameplay, and the levels

� duration: 3 months (partially overlapping level design)

� people: 4 testers

� result: the gold master

Page 76: Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... · 2008-05-07 · Video Games 1 Boumediene Belkhouche College of Information Technology ... People

People Involved

� Lead designer

� Project leader

� Software planner

Architectural lead

76

� Architectural lead

� Programmers (tools and game)

� Artists

� Level designers

� Testers