Proiectarea jocurilor electronice

Post on 05-Dec-2014

2.840 views 1 download

description

Several aspects regarding the game design and development. A presentation prepared to be delivered during "Computer Science at the Castle" summer school event (Arad, Romania, 2011) -- http://proinfo.uvvg.ro/

Transcript of Proiectarea jocurilor electronice

proiectarea jocurilor electronice

Dr. Sabin Buragawww.purl.org/net/busaco

“A game is a particular way of lookingat something, anything.”

Clark C. Abt

Cum definim un joc?

jocuri

activități sau concursuri guvernate de reguli

jocuri

activități sau concursuri guvernate de reguli

ludologie

A game is an activity among two or moreindependent decision-makers seeking to achieve

their objectives in some limiting context

Clark C. Abt

definiție

A game is a form of art in which participants, termed players, make decisions in order tomanage resources through game tokens

in the pursuit of a goal

Greg Costikyan

definiție

A game is a system in which players engage in an artificial conflict, defined by rules, that results in a quantifiable outcome

Katie Salen & Eric Zimmerman

definiție

clasificare

număr  de jucători  – solitare ori în  grup  (echipă)

scop – câştig  (gambling), dobândire de skill-uri,…strategie

obiectiv – punctaj/scor maxim, primul clasat,  top  10,…

tematică  – racing,  lingvistice,  deducţție,  sportive,  acţțiune  etc.

mijloc/echipament – tablă,  teren, mediu virtual etc.

categorie de  jucători  – copii,  adulţți, persoane cu nevoi speciale

Jocuri electronice

se  bazează  pe  un  mijloc  electronic  (arcade machine, dispozitiv miniaturizat, sistem conectat la TV, computer, telefon evoluat,…)  pentru  a facilita

desfășurarea unuia sau mai multor jocuri cu  oponenţți  umani  și/sau contra calculatorului

Scheme de clasificare

K. Salen & E. Zimmerman, 2004

reguli (rules)

proiectare formală  focalizată  asupra  structurii  logice  (matematice) a unei clase de jocuri

Scheme de clasificare

K. Salen & E. Zimmerman, 2004

maniera de jucat (play)

desemnează  mijloacele de interacţțiune,vizând modul de reprezentare, caracterul social & experienţța utilizatorului (UX) în cadrul jocului

Scheme de clasificare

K. Salen & E. Zimmerman, 2004

cultura (culture)

vizează  mediul socio-culturalîn care jocurile sunt proiectate & jucate

Puncte de vedere: jocurile ca…

sisteme emergentesisteme bazate pe incertitudine

sisteme  bazate  pe  teoria  informaţțieisisteme de informaresisteme cibernetice

modele în cadrul teoriei jocurilorsisteme de conflict

Stiluri/genuri de jocuri(Rollings & Morris, 2004)

Acţțiune lots of frantic button pushingAventură the story mattersStrategie nontrivial choicesSimulare optimization exercisesPuzzle hard analytic thinkingAmuzament software you just have fun withEducaţțional learning by doing

Eludarea regulilor (rule-breaking)

trișatulrelaţții  diferite  dintre  jucător  și  sistemul formal al jocului

Eludarea regulilor (rule-breaking)

trișatulrelaţții  diferite  dintre  jucător  și  sistemul formal al jocului

tipuri  de  jucători:standard player, dedicated player,

unsportsmanlike player, cheater, spoil-sport player

Eludarea regulilor (rule-breaking)

la nivel digital:

cheat codes, game guides & walkthroughs, workarounds, hacks, degenerate strategy (exploit), easter eggs

Experiența  utilizatorului  cu  jocul

(game experience)

percepţție  vizuală

scanarea elementelor de interes din cadrul jocului+  focalizarea  atenţției

Experiența  utilizatorului  cu  jocul

(game experience)

reacţție  motorie

acţțiunile  fizice  pe  care  le  realizează  jucătorul

vezi Bryan Bergeron, Developing Serious Games,Cengage Learning, 2006

Experiența  utilizatorului  cu  jocul

(game experience)

concentrare

factori cognitiviintrarea  în  și  menţținerea  stării  de  flux  – game flow

Experiența  utilizatorului  cu  jocul

(game experience)

șabloane  perceptuale  privind  învăţțarea

familiarizarea & aprofundarea structurii interne a jocului: scopuri,  structură  narativă,  strategii  de  urmat,…

Game experience

player makes internal decision

player takes action

game creates output

Experiența  utilizatorului  cu  jocul

(game experience)

orice joc prezintă o  “mecanică”  de  bază(core mechanic)

activitatea  ludică  esenţțială  pe  care  jucătoriio  realizează  periodic  în  cadrul  unui  joc

Tipuri  de  plăcere  ludică  (game pleasure)Marc LeBlanc, 2000

sensation game as sense-pleasure fantasy game as make-believe narrative game as drama challenge game as obstacle course fellowship game as social framework discovery game as uncharted territory expression game as self-discovery submission game as masochism

Cum  se  specifică  regulile  unui  joc?

Maniera de jucat (game play)

specifică  alegerile,  provocările  sau  consecinţțele  pe  care  jucătorii  le  experimentează  în cadrul mediului virtual al jocului

Maniera de jucat (game play)

specifică  alegerile,  provocările  sau  consecinţțele  pe  care  jucătorii  le  experimentează  în cadrul mediului virtual al jocului

dependenţță  de  “povestea”  jocului  (story-telling)

Maniera de jucat (game play)

implică  definirea de reguli documentate într-un  manual  de  instrucţțiuni  sau  

prezentate direct în cadrul jocului

Maniera de jucat (game play)

implică  definirea de reguli documentate într-un  manual  de  instrucţțiuni  sau  

prezentate direct în cadrul jocului

pot fi oferite adiţțional:  tutoriale,ghiduri de strategii (strategy guides), indicii (tips),…

Gameplay

Maniera de jucat (game play)

pentru a  se  formula  reguli,  trebuie  să  se  înţțeleagă  în primul rând condiţțiile  (termenii) jocului

de victorie (victory conditions)și/sau

de pierdere (loss conditions)

6  condiţții  de  victorie  oferite de Civilizations IV

Moduri de interactivitate

elementul/elementele interactiv(e) depind(e)de  acţțiunile  jucătorului  sau  jucătorilor

Moduri de interactivitate

jucător  ↔  joc

aspecte de interes: reprezentare  spaţțială  a  mediului,  atmosferă,  conţținut  etc.

Moduri de interactivitate

jucător  ↔  jucător

dezvoltatorii  pot  crea  o  interactivitate  potenţțială,  dar  nu  pot  prezice  cum  vor  interacţționa  concret  utilizatorii

Moduri de interactivitate

jucător  ↔  jucător

vizează  realizarea  interacţțiunii  dintre  jucători:  comunicare  &  cooperare,  competiţție,…

Moduri de interactivitate

jucător  ↔  jucător

tipuri  de  competiţții  între  jucători:

1-la-1 – jocuri  de  luptă  sau  de  tip  tabletop (e.g., Go, șah)

Gameplay

Moduri de interactivitate

jucător  ↔  jucător

tipuri  de  competiţții  între  jucători:

unilaterală  (mai  mulţți  jucători  contra  unuia)Scotland Yard

Moduri de interactivitate

jucător  ↔  jucător

tipuri  de  competiţții  între  jucători:

multilaterală  (>2  jucători  contra  celorlalţți  sau  a  NPC-urilor) Monopoly, EverQuest

Moduri de interactivitate

jucător  ↔  jucător

tipuri  de  competiţții  între  jucători:  

echipă  (grupuri  în  număr  egal)  – jocuri  sportive  în  echipă

Moduri de interactivitate

jucător  ↔  dezvoltator

desemnează  interacţțiunea  dintre  utilizatori  &  dezvoltatori

exemplu: forumurile oficiale pentru World of Warcraft

Moduri de interactivitate

jucător  ↔  platformă

specifică  interacţțiunea  dintre  jucător  și  platforma  software/hardware

capacităţți  multimedia, dispozitive I/O (e.g., Wiimote, iPhone),  stocare,  timp  de  viaţță  a  bateriei, acces  la  reţțea,…

Moduri de interactivitate

definirea  conflictului  se  bazează  pe  teoria jocurilor

aplicată  pentru  jocuri  cu  minim  2  oponenţți

Noam Nisan et al. (Editors), Algorithmic Game Theory, Cambridge University Press, 2007

Care  sunt  provocările?

Tipuri  de  provocări  (challenges)

depind, deseori, de genul jocului

Tipuri  de  provocări  (challenges)

explicite

intenţționat  introduse în joc, intense

e.g.,  săritura  peste  un  obstacol

Tipuri  de  provocări  (challenges)

implicite

caracteristici emergente ale jocului

exemplu: stabilirea strategiei de atac

Tipuri  de  provocări  (challenges)

pot  depinde  și  de  disponibilitatea  informaţțiilor

Tipuri  de  provocări  (challenges)

informaţții  completestarea jocului  e  complet  cunoscută  de  toţți  jucătorii  

pe întreg parcursul partideiprovocări  logice

exemple: board games – Go, Reversi,…

Gameplay

Tipuri  de  provocări  (challenges)

informaţții  incompletejucătorul  posedă  informaţții  parţțiale  pentru  a  lua  

deciziirealizarea de deducţții  (inference)

exemple: Mastermind, jocuri  cu  cărţți – Poker

Tipuri  de  provocări  (challenges)

informaţții  incompleteuzual, reprezentate grafic via fog of war

exemplificări: Civilizations, Heroes of Might and Magic

Tipuri  de  provocări  (challenges)

informaţții  incompletedetermină  utilizatorul  să  interacţționeze  șisă  participe tot mai intens în cadrul jocului

poate crea un element de mister al scenariului

Gameplay

Tipuri  de  provocări  (challenges)

referitoare la cunoștinţțe (knowledge)

Tipuri  de  provocări  (challenges)

referitoare la cunoștinţțe (knowledge)

cunoștinţțe  intrinseci

desemnează  cunoștinţțele  dobândite  în  cadrul  jocului

Tipuri  de  provocări  (challenges)

referitoare la cunoștinţțe (knowledge)

cunoștinţțe  intrinseci

exemple:  mutări  combinate,  incantaţții,  hărţți  de  labirint,  personalităţți  ale  personajelor  etc.

Tipuri  de  provocări  (challenges)

referitoare la cunoștinţțe (knowledge)

cunoștinţțe  extrinseci

consideră  cunoștinţțele  din  exterior,aplicate în cadrul jocului

Tipuri  de  provocări  (challenges)

referitoare la cunoștinţțe (knowledge)

cunoștinţțe  extrinseci

exemple:  fapte  de  “bun  simţț”  (e.g.,  “lemnul  plutește”),  cunoștinţțe  folosite  în  jocuri  de  tip  trivia etc.

Tipuri  de  provocări  (challenges)

recunoaștere  &  potrivire  de  forme

comune în jocurile de tip puzzle sau de acţțiune

pot fi rezolvate via automatic thinking

Gameplay

Tipuri  de  provocări  (challenges)

abilităţți  de  orientare  în  spaţțiu  (spatial awareness)

experienţța  jocului  depinde  de  abilităţțile  jucătorului  de  a  înţțelege  relaţțiile  spaţțiale  stabilite  între  entităţți

Tipuri  de  provocări  (challenges)

abilităţți  de  orientare  în  spaţțiu  (spatial awareness)

exemple:  simulările  de  curse  auto

Tipuri  de  provocări  (challenges)

micro-management de resurse

vizează  gestiunea (via opţțiuni  multiple) acţțiunilorori proprietăţților  asociate unor resurse & personaje

Tipuri  de  provocări  (challenges)

micro-management de resurse

exemple:jocuri cu strategie în timp-real

(real-time strategy – RTS), first-person shooters (FPS)

Tipuri  de  provocări  (challenges)

timp  de  reacţție – reaction time

timpul  de  răspuns  este  esenţțial  în  jocurile  de  acţțiune

Scopuri ale jocului (game goals)

conform provocărilor,pot exista unul sau mai multe scopuri:

advancement, race, puzzle-solving, exploration, conflict, capture, chase, organization, escape,

taboo, construction, solution, outwit

“A game is balanced if players perceive that it is consistent, fair, and fun.”  

Jeannie Novak, 2008

Echilibrul jocului (balance)

provocările  trebuie  să  fie  consistente

jucătorii  vor  avea  de  înfruntat  gradual  provocări  tot  mai  dificile

niveluri de dificultate (game levels)

Echilibrul jocului (balance)

niveluri de dificultate

jocul poate oferi diverse grade de dificultate sau niveluri  ce  pot  fi  ajustate  conform  abilităţților  utilizatorului

Gameplay

Echilibrul jocului (balance)

maniera  de  jucat  trebuie  să  fie  echitabilă

jucătorii  nu  vor  fi  penalizaţți  din  startpentru “greșelile”  făcute

Echilibrul jocului (balance)

eliminarea deciziilor banale

jucătorii  vor  trebui  să  ia  doar  decizii  importantechiar și  în  cazul  jocurilor  ce  implică  micro-management

Economiile jocului

reprezintă  sistemele  ce  permit  manipularea– fizică  sau  conceptuală  – a resurselor

Economiile jocului

tipuri de resurse: financiare  (bani,  metale  preţțioase,  edificii  etc.),  strategice  (trupe,  instalaţții,  terenuri),  personaje,  capacităţți  (skills),  informaţționale  (coduri,  hărţți,…)

Economiile jocului

în jocurile de tip persistent-state world (PSW), economiile  pot  fi  influenţțate  de  acţțiunile  jucătorilor:  

colectare, negociere, transformare de resurse

Economiile jocului

în jocurile de tip persistent-state world (PSW), economiile  pot  fi  influenţțate  de  acţțiunile  jucătorilor:  

colectare, negociere, transformare de resurse

existenţța  monedei  virtualeexemple: EverQuest, Second Life

EVE

Cum  proiectăm  personajele  dintr-un joc electronic?

“Puterea”  naraţțiunii este  influenţțată  și de identitatea personajelor (game characters)

player characters

personaje ce  pot  fi  “jucate”  de  utilizator

non-player characters (NPCs)

personaje independente de jucător,create prin software

Un  jucător  poate  controla  doar unul

sau mai multe personaje de tip player characters(e.g.,  armată,  echipă  sportivă  etc.)

avatar

Tipuri de personaje prezente în jocuri(Jeannie Novak, 2008)

animalfantasticistoricpreluatmitic

• protagonistul e focalizat asupra propriilor scopuriintrapersonal

• protagonistul dezvoltăo  relaţție  1-la-1 cu alt personajinterpersonal

• protagonistul  interacţționează  la nivel de grupteam

• interacţțiuni  la  nivel  de  reţțea  socială,  organizată  coerentcommunity

• evoluţție  spirituală  superioară(self-actualization)humanity

Jocurile  prezintă  jucătorului  puncte de vedere (POV – points-of-view) specifice

Jocurile  prezintă  jucătorului  puncte de vedere (POV – points-of-view) specifice

first-person POVjucătorul  observă  acţțiunea  prin  “ochii”  avatarului

Jocurile  prezintă  jucătorului  puncte de vedere (POV – points-of-view) specifice

first-person POVadoptat de jocuri de tip FPS (first-person shooter),

RPG (role-playing game)

Game characters

Half-Life

Jocurile  prezintă  jucătorului  puncte de vedere (POV – points-of-view) specifice

third-person POVutilizatorul poate vedea avatarul pe parcursul acţțiunii

jucătorul  se  identifică  mai  greu  cu  personajul  jucat

Jocurile  prezintă  jucătorului  puncte de vedere (POV – points-of-view) specifice

third-person POVcaracterul  cinematic  e  mai  pronunţțat

Game characters

Tabula Rasa

Cum  proiectămnivelurile jocului?

Se  bazează  pe  activitatea  unui  proiectant(level designer) ce utilizează  instrumente  specifice:

editoare de niveluri (level editors)Aurora Toolset, Unreal Editor, Valve Hammer Editor,…

software de editare grafică (2D/3D)3D Studio MAX, Blender, Bryce, GIMP, Maya etc.

exemplificare:  fiecare  scenă  din  Heart of Darknessreprezintă  un  “caz  special”

Structurascop,  flux,  durată,  disponibilitate,  

relaţționare  cu  alte  niveluri,  evoluţție

Timpul de  desfășurareautentic, limitat, variabil, stabilit de utilizator, alterat

Locațiaperspectivă  &  cameră,  terenuri  &  materiale,  

luminozitate, efecte, dimensiune,  mărginire,  realism,  stil

Structura

facilitează  structurarea  jocului  în  subdiviziuni,  organizând  evoluţția  și  îmbunătăţțind  maniera  de  jucat

Structura

scopul

fiecare  nivel  trebuie  să  prezinte  un  set  de  obiective  ce  trebuie  înţțelese  de  jucător(i)

uzual,  se  oferă  în  prealabil  un  tutorial  interactivsau un preambul de tip cut-scene

Structura

fluxul

trebuie  asigurat  faptul  că  jucătorul  nu  poate  părăsi  nivelul  până  nu-și  îndeplinește  obiectivele

soluţție:  existenţța  unor  obstacole  de  netrecut

Structura

fluxul

utilizatorul  trebuie  împiedicat  să  reviziteze  o  arie,  din  moment  ce  obiectivele  corespunzătoare  au  fost  atinse

soluţție:  blocarea  căilor  de  întoarcere,  semnalizându-i  jucătorului  progresul  înregistrat

Structura

durata

regulă:  utilizatorul  trebuie  să  termine  minim  1  nivel  

într-o sesiune a jocului

Structura

durata

valori tipice:15 minute – jocuri pentru copii

2 ore – jocuri  cu  concentrare  intensă  (utilizatori  împătimiţți)45 minute – jocuri rulate pe console

Structura

disponibilitatea

numărul  nivelurilor  depinde  de  specificul  (scopul)  jocului

1 nivel la un moment dat: jocuri FPSnumăr  mic  de  niveluri  simultane: RPG (role-playing game)

Structura

relaţționarea  cu  alte  niveluri

de  obicei,  un  nivel  reprezintă  o  scenă  sau  un  episod  dintr-o  naraţțiune  mai  largă

tipuri  de  relaţționări  uzuale:  dificultate  &  structură  narativă

Level Design

Structura

relaţționarea  cu  alte  niveluri

cazul jocurilor de strategie:o serie de niveluri – numite  “misiuni”  – pot fi grupate

într-o  “campanie”  (campaign)  ce reprezintă  scopul  jocului

pot  fi  implementate  “campanii”  multiple

Timpul  de  desfășurare

categorii:turn-basedtime-limited

real-time

Timpul  de  desfășurare

timpul jocului (game time)  nu  trebuie  să  fie  similarcu cel real

Locația

desemnează  mediul  fizic  redat  în  cadrul  jocului:  perspectiva,  mărimea,  limitele,  structurile,  terenul,  

obiectele, stilul (e.g.,  cromatică,  textură,  look & feel)

Locația

perspectiva & camera

dependenţță  de  point-of-view (POV)

tipuri: omniprezenţță,  aeriană  (top-down),  izometrică,  defilare  laterală  (side-scrolling, flat/side-view)

Level Design

perspectiva aeriană: SimCity (prima versiune pe Mac)

perspectiva izometrică: The Sims

defilarea laterală (parallax scrolling): Prince of Persia

Ce presupune dezvoltarea unui joc electronic?

Abordări  (Mateas & Whitehead, 2007)

focalizate pe aspecte tehnologice (informatică, matematică)

interdisciplinare

focalizate pe factori artistici (design artistic, arte vizuale)

Introducere

conform John P. Flynt, Omar Salem, Software Engineering for Game Developers, Thomson, 2005

Componente (subsisteme) primare(Rollings & Morris, 2004)

User interfaceBidirectional event handler

Data engine (graphics, level, miscellaneous data)Dynamics system (collisions and general physics)

Logic engine (the heart of the game)Graphics engineSound engine

Hardware abstraction layers(interfaces with graphics, sound, and controller hardware)

Subsisteme secundare

Game configuration systemMenuing system

Online instructions and help systemMusic system

Necesitatea  testării

Testarea  insuficientă  sau  precarăGregory Trefay, 2010

portarea (adaptarea)  unui  joc  pe  altă  platformă

de exemplu, de pe desktop pe un dispozitiv iPhone

problemă

problemă

fenomenul hand obstruction

Crearea unui joc simplu de tip MMORPG

ilustrează  învăţțarea  conceptelor  de  baze  de  date  via  principiile  dezvoltării  de  jocuri  electronice

după  o prezentare de Greg Wadley & Jason Sobell,The University of Melbourne, Australia

în cadrul Academic Days 2007

studiu de caz

Un MMORPG  este  un  sistem  software  informaţțional

starea  jocului  se  stochează  central  (pe  un  server)datele sunt persistente

accesul la date este concurentutilizatorii  posedă  identităţți,  trebuind  să  fie  autentificaţți

interacţțiunea  se  realizează  la  client  via  o  interfaţță-utilizator

studiu de caz

Mediul  (lumea)  jocului  poate  fi  modelat(ă)printr-o matrice de locaţții,

fiecare având diverse caracteristici

jucătorii  – umani  sau  generaţți  de  calculator  –se pot deplasa în cadrul caroiajului,

putând concura  unul  cu  celălalt

studiu de caz

1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20

10099

X, 1 to 10

Y, 1 to 10

studiu de caz

folosind o imagine de fundal,poate fi stabilit designul vizual

studiu de caz

Locaţția  curentă  a  jucătorului  va  trebui  redată  diferit

Etichetele  specifică  “sănătatea” & punctajul curent

Via  diverse  mijloace  de  interacţțiune,  vor  fi  afișate  obiectele  aflate  în  posesia  fiecărui  jucător  +  mesajele  jocului

Se  oferă  și  posibilitatea  de  a  observa/interacţționacu  alţți  jucători

studiu de caz

Studiu de caz

proiectare și implementare minimală a interfeţței jocului(aplicaţția-client la nivel de desktop)

studiu de caz

Studiu de caz

modelarea datelor via tabele

studiu de caz

Partea  de  procesare  e  implementată  de  proceduri  stocate

facilitează  accesul  la  date(concurenţța  este  rezolvată  pe  baza  tranzacţțiilor)

descriu  comportamentul  fiecărui  control  de  interfaţță  

pot fi apelate periodic via un timer existent la client

studiu de caz

Fiecare  acţțiune  a  unui  jucător  afectează  vizualizarea  datelorde  către  ceilalţți  utilizatori

Starea jocului poate fi specificatăvia modele simple de date: jucători,  obiecte,  evenimente,…

Recurgând la un sistem de baze de date, se poate simplifica problema accesului concurent

Separarea  clară  a  prezentăriide procesare & stocare a datelor

studiu de caz

De unde aflu mai multe?

J. Flynt & O. Salem, Software Engineering for Game Developers, Thomson, 2005

C. Harteveld, Triadic Game Design.Balancing Reality, Meaning and Play, Springer, 2011

J. Novak, Game Development Essentials (2nd Edition),Thomson, 2008

A. Rollings & D. Morris, Game Architecture and Design: A New Edition, New Riders, 2004

R. Rouse, Game Design Theory and Practice (2nd Edition), Wordware Publishing, 2005

K. Salen & E. Zimmerman, Rules of Play: Game Design Fundamentals, MIT Press, 2004

resurse

Gamasutrahttp://www.gamasutra.com/

Game Developmenthttp://www.gamedev.net/

Good Experience Gameshttp://goodexperience.com/games/

Digital Games Research Associationhttp://www.digra.org/

AI Game Developmenthttp://aigamedev.com/

HTML5-based Game Developmenthttps://sites.google.com/site/html5gamejam/engines

resurse

https://gaming.mozillalabs.com/games/

www.yoyogames.com/gamemaker/html5

proiectarea jocurilorelectronice

Dr. Sabin Buraga

www.purl.org/net/busaco

mult  succes  la….