Upload
sabin-buraga
View
2.833
Download
1
Embed Size (px)
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/
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….