Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... ·...
Transcript of Software Engineering Video Gamesfaculty.uaeu.ac.ae/B_Belkhouche/Belkhouche/bb_dir... ·...
![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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/13.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/23.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/24.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/25.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/29.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/31.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/32.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/33.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/34.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/35.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/36.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/37.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/38.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/39.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/40.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/41.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/42.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/43.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/44.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/45.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/46.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/47.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/48.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/49.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/50.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/51.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/52.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/53.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/54.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/55.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/56.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/57.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/58.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/59.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/60.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/61.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/62.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/63.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/64.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/65.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/66.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/67.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/68.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/69.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/70.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/71.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/72.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/73.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/74.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/75.jpg)
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](https://reader034.fdocuments.us/reader034/viewer/2022042416/5f3185bb3f64014adb03acdc/html5/thumbnails/76.jpg)
People Involved
� Lead designer
� Project leader
� Software planner
Architectural lead
76
� Architectural lead
� Programmers (tools and game)
� Artists
� Level designers
� Testers