Algorithms and Networking for Computer Games:...

23
© 2006 Jouni Smed and Harri Hakonen © 2006 Jouni Smed and Harri Hakonen http://www.wiley.com/go/smed http://www.wiley.com/go/smed Algorithms and Networking Algorithms and Networking for Computer Games for Computer Games Chapter 1: Introduction Chapter 1: Introduction

Transcript of Algorithms and Networking for Computer Games:...

© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen http://www.wiley.com/go/smedhttp://www.wiley.com/go/smed

Algorithms and Networking Algorithms and Networking for Computer Gamesfor Computer Games

Chapter 1: IntroductionChapter 1: Introduction

Chapter 1 Chapter 1 –– Slide 2Slide 2Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Definition for Definition for ‘‘playplay’’

‘‘[Play] is an activity which proceeds within certain [Play] is an activity which proceeds within certain limits of time and space, in a visible order, limits of time and space, in a visible order, according to rules freely accepted, and outside the according to rules freely accepted, and outside the sphere of necessity or material utility. The playsphere of necessity or material utility. The play--mood is one of rapture and enthusiasm, and is mood is one of rapture and enthusiasm, and is sacred or festive in accordance with the occasion. A sacred or festive in accordance with the occasion. A feeling of exaltation and tension accompanies the feeling of exaltation and tension accompanies the action, mirth and relaxation follow.’ action, mirth and relaxation follow.’

—— Johan Huizinga, Johan Huizinga, Homo LudensHomo Ludens

Chapter 1 Chapter 1 –– Slide 3Slide 3Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Definition for Definition for ‘‘gamegame’’

‘a universal form of recreation generally including any activity engaged in for diversion or amusement and often establishing a situation that involves a contest or rivalry’

— Encyclopædia Britannica

‘‘Etymology: Middle English, from Old English Etymology: Middle English, from Old English gamen; gamen; akin to Old High German akin to Old High German gaman gaman amusement’ amusement’

—— MerriamMerriam--Webster DictionaryWebster Dictionary

Chapter 1 Chapter 1 –– Slide 4Slide 4Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Components of a gameComponents of a game

Players: willing to participate for enjoyment, Players: willing to participate for enjoyment, diversion or amusementdiversion or amusementRules: define limits of the gameRules: define limits of the gameGoals: gives a sense of purposeGoals: gives a sense of purposeOpponents: give arise to contest and rivarlyOpponents: give arise to contest and rivarlyRepresentation: concretizes the gameRepresentation: concretizes the game

Chapter 1 Chapter 1 –– Slide 5Slide 5Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Components, relationships and Components, relationships and aspects of a gameaspects of a game

playerplayer

rulesrules goalgoal

opponentopponentrepresentationrepresentation agreement

agreement

definitiondefinition

motiv

atio

n

motiv

atio

n

CHALLENGE

obstructionobstruction

indeterminism

indeterminism

CONFLICT

correspondence

correspondence

concretization

concretization

PLAY

Chapter 1 Chapter 1 –– Slide 6Slide 6Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Definition for Definition for ‘computer ‘computer gamegame’’

a game that is carried out with the help of a a game that is carried out with the help of a computer programcomputer programroles:roles:

coordinating the game processcoordinating the game processillustrating the situationillustrating the situationparticipating as a playerparticipating as a player

→ Model→ Model––ViewView––Controller software Controller software architecture patternarchitecture pattern

Chapter 1 Chapter 1 –– Slide 7Slide 7Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

ModelModel--ViewView--ControllerController

control logic

driver

proto-view

rendering

state instance core structures

inputdevice

action

configuration

instance data

syntheticview

syntheticplayer

script outputdevice

human player

options

perception

model

viewcontroller

Chapter 1 Chapter 1 –– Slide 8Slide 8Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Simulations vs. computer gamesSimulations vs. computer games

simulationssimulations

virtualvirtualenvironmentsenvironments

computercomputergamesgames

first personfirst personshootersshooters

manager gamesmanager games

puzzlespuzzles

realreal--timetimestrategiesstrategies

sports gamessports games

flight simulatorsflight simulatorsboard gamesboard games

Chapter 1 Chapter 1 –– Slide 9Slide 9Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Synthetic playersSynthetic players

synthetic player = computersynthetic player = computer--generated actor in generated actor in the gamethe game

displays humandisplays human--like featureslike featureshas a stance towards the human playerhas a stance towards the human player

games are anthropocentric!games are anthropocentric!

Chapter 1 Chapter 1 –– Slide 10Slide 10Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

HumannessHumanness

human traits and characteristicshuman traits and characteristicsfear and panic (fear and panic (HalfHalf--LifeLife, , HaloHalo))

computer game comprising only synthetic playerscomputer game comprising only synthetic playerssemisemi--autonomous actors (autonomous actors (The SimsThe Sims))fully autonomous actors (fully autonomous actors (Core WarCore War, , AOE2AOE2))

stance towards the human playerstance towards the human playerenemyenemyallyallyneuralneural

Chapter 1 Chapter 1 –– Slide 11Slide 11Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

EnemyEnemy

provides challengeprovides challengeopponentopponent

must demonstrate intelligent (or at least must demonstrate intelligent (or at least purposeful) behaviourpurposeful) behaviourcheatingcheating

quickquick--andand--dirty methodsdirty methodswhen the human player cannot observe enemy’s when the human player cannot observe enemy’s actionsactions

Chapter 1 Chapter 1 –– Slide 12Slide 12Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

AllyAlly

augmenting the user interfaceaugmenting the user interfacehints and guideshints and guides

aiding the human playeraiding the human playerreconnaissance officerreconnaissance officerteammate, wingmanteammate, wingman

should observe the human point of viewshould observe the human point of viewprovide information in an accessible formatprovide information in an accessible formatconsistency of actionsconsistency of actions

Chapter 1 Chapter 1 –– Slide 13Slide 13Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

NeutralNeutral

commentatorcommentatorhighlighting events and providing background highlighting events and providing background informationinformation

camera directorcamera directorchoosing camera views, angles and cutschoosing camera views, angles and cuts

refereerefereejudging the rule violations judging the rule violations

should observe the context and conventionsshould observe the context and conventions

Chapter 1 Chapter 1 –– Slide 14Slide 14Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

MultiplayingMultiplaying

multiple human players sharing the same gamemultiple human players sharing the same gamemethods:methods:

divide the screendivide the screendivide the playtimedivide the playtimenetworkingnetworking

Chapter 1 Chapter 1 –– Slide 15Slide 15Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Games and storyGames and story--tellingtelling

traditional, linear storytraditional, linear story--telling telling events remain from time to time (almost) unchangeableevents remain from time to time (almost) unchangeablebooks, theatre, cinemabooks, theatre, cinemaparticipant (reader, watcher) is passiveparticipant (reader, watcher) is passive

interactive storyinteractive story--telling telling events change and adapt to the choices the participant makesevents change and adapt to the choices the participant makescomputer gamescomputer gamesparticipant (player) is activeparticipant (player) is active

Chapter 1 Chapter 1 –– Slide 16Slide 16Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Characteristic features of storyCharacteristic features of story--telling 1(2)telling 1(2)

contingencycontingency: to what extent the time and space of : to what extent the time and space of the story depend on the real time and space?the story depend on the real time and space?narrative representationnarrative representation: how the story is presented?: how the story is presented?presencepresence: how far the watcher/participant shares : how far the watcher/participant shares the time and space of the story?the time and space of the story?interactivityinteractivity: how much the watcher/participant : how much the watcher/participant takes part in the story process?takes part in the story process?

Ayl

ett &

Lou

char

t: “T

owar

ds a

Nar

rativ

e Th

eory

of

Ayl

ett &

Lou

char

t: “T

owar

ds a

Nar

rativ

e Th

eory

of

Virt

ual R

ealit

y”,

Virt

ual R

ealit

y”, V

irtua

l Rea

lity

Virt

ual R

ealit

y 7(1

):27(

1):2

–– 9, 2

003.

9, 2

003.

Chapter 1 Chapter 1 –– Slide 17Slide 17Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Characteristic features of storyCharacteristic features of story--telling 2(2)telling 2(2)

Cinema Theatre Literature Games

Contingency littlelittle moderatemoderate littlelittle strongstrong

Narrative representation

visualvisual visualvisual mentalmental visualvisual

Presence nonnon--physicalphysical physicalphysical nonnon--physicalphysical

nonnon--physical, physical,

immersiveimmersiveInteractivity nono no/yesno/yes nono yesyes

Chapter 1 Chapter 1 –– Slide 18Slide 18Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

A story is always told to human A story is always told to human beingsbeings

storystory--telling is not about actions but reasons for telling is not about actions but reasons for actionsactions

humans use a story (i.e., a narrative) to understand humans use a story (i.e., a narrative) to understand intentional behaviourintentional behaviourhow can we model and generate this?how can we model and generate this?

storystory--telling is about humanstelling is about humanshumans humanize the characters’ behaviour and humans humanize the characters’ behaviour and understand the story through themselvesunderstand the story through themselveshow can we model and generate this?how can we model and generate this?

Chapter 1 Chapter 1 –– Slide 19Slide 19Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Levels of interaction 1(2)Levels of interaction 1(2)

plot plot varies according to the decisions the player makesvaries according to the decisions the player makes

linear: the player advances via fixed plotlinear: the player advances via fixed plot--pointspointsbranching: the player chooses the continuation in a plotbranching: the player chooses the continuation in a plot--pointpointparallel paths: the player can make choices between fixed parallel paths: the player can make choices between fixed plotplot--pointspointsthreaded: the player can choose among parallel and threaded: the player can choose among parallel and interconnected plotsinterconnected plots

http

://w

ww

.igda

.org

/writ

ing/

Inte

ract

iveS

tory

telli

ng.h

tmht

tp:/

/ww

w.ig

da.o

rg/w

ritin

g/In

tera

ctiv

eSto

ryte

lling

.htm

Chapter 1 Chapter 1 –– Slide 20Slide 20Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Levels of interaction 2(2)Levels of interaction 2(2)

characterscharactersplayer’s choices are reflected in the words and deeds player’s choices are reflected in the words and deeds of the characterof the character

theme theme player’s choices are reflected in the theme of the player’s choices are reflected in the theme of the storystory

Chapter 1 Chapter 1 –– Slide 21Slide 21Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Challenges for storyChallenges for story--telling 1(2)telling 1(2)

themesthemesgood plot and round characters are not enough to good plot and round characters are not enough to create a good narrativecreate a good narrativethere must be a theme behind it (e.g., betrayal, there must be a theme behind it (e.g., betrayal, revenge, love)revenge, love)

controlling the storycontrolling the storyinteractive drama can flatten and lose its interestinteractive drama can flatten and lose its interestsomething has to make sure that the events stay something has to make sure that the events stay dramatically compelling

Brin

gsjo

rd: “

Is It

Pos

sible

to B

uild

Dra

mat

icall

y Co

mpe

lling

Br

ings

jord

: “Is

It P

ossib

le to

Bui

ld D

ram

atic

ally

Com

pelli

ng

Inte

ract

ive

Dig

ital E

nter

tain

men

t”,

Inte

ract

ive

Dig

ital E

nter

tain

men

t”, G

ame S

tudie

sG

ame S

tudie

s 1(1

), 20

01.

1(1)

, 200

1.

dramatically compelling

Chapter 1 Chapter 1 –– Slide 22Slide 22Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Challenges for storyChallenges for story--telling 2(2)telling 2(2)

strong, autonomous charactersstrong, autonomous characterscharacters must be personalitiescharacters must be personalitiesstories are often remembered by personal charactersstories are often remembered by personal characters

personalizationpersonalizationif we want to the character to act intelligently if we want to the character to act intelligently towards the player, it must understand hertowards the player, it must understand herbased on its own beliefs deduce other characters’ based on its own beliefs deduce other characters’ and human’s beliefs.and human’s beliefs.

Chapter 1 Chapter 1 –– Slide 23Slide 23Algorithms and Networking for Computer GamesAlgorithms and Networking for Computer Games© 2006 Jouni Smed and Harri Hakonen© 2006 Jouni Smed and Harri Hakonen

Other game design considerationsOther game design considerations

customizationcustomizationtutorialtutorialprofilesprofilesmodificationmodificationreplayingreplaying

→→ parameterization!parameterization!