Fie că este vorba de o simplă intrare în jam sau de un proiect de pasiune pe termen lung, jocul dvs. trebuie să se simtă viu în mâinile jucătorilor. În acest tutorial, voi împărtăși idei pentru a vă aduce jocul la viață și demonstrați ce se întâmplă atunci când aplicați fiecare dintre aceste idei într-o simplă demonstrație de joc.
Faceți clic pe demo pentru a vă concentra, apoi utilizați tastele săgeți pentru a vă deplasa, X a trage, C pentru a sari, și N și P pentru a comuta între diferite iterații ale jocului.
Acesta este în esență un rezumat video al demo-ului și tutorialul. Mai jos sunt mai multe detalii!
Acest tutorial vă va îndruma prin crearea unui joc foarte simplu, arătând procesul de gândire din spatele adăugărilor și modificărilor efectuate în 10 iterații, pentru a face ca experiența să revină la viață.
Ce anume vreau să spun atunci când vorbesc despre aducerea jocului la viață? Aceasta este una dintre filosofiile de design ale jocului care variază foarte mult în industrie, dar eu personal definesc viața jocului ca o combinație de control, feedback, variație și permanență. Viața jocului nu este totul despre AI complex și despre povești adânci, caracterizate de personaje. Este vorba despre modul în care jocul răspunde la contribuția dvs. și modul în care oferă feedback specific pentru a vă stimula simțurile și reflexele.
Pentru acest exemplu, am decis să merg cu un shooter 2D de platformă shooter. Dacă dezvoltați un RPG bazat pe viraje, atunci detaliile specifice nu se vor aplica proiectului dvs. Dar asta nu este scopul. Importanța acestui articol se află în De ce se iau anumite decizii, nu implementările tehnice ale fiecărei iterații.
Fiecare iterație a jocului corespunde unei secțiuni specifice de mai jos. Puteți urmări de-a lungul demo-ului de joc furnizat prin comutarea între diferitele iterații. Aceasta va ilustra modul în care un joc survine în timp prin schimbări simple, incrementale.
Doamnelor și domnilor, vă prezint eroul nostru: Craniul Copilului. Eroul nostru a fost închis într-o veșnică veșnică împotriva răului Slug Boogers, o amenințare intergalactică determinată să preia universul cunoscut. Cu Booger Buster 5000 de încredere a lui Skull Baby și abilitate relativ medie de sărituri, depinde de tine să salvezi galaxia!
Cu asta, avem ideea incredibil de bază și de joc cliseu. Mecanica noastră centrală include mișcarea jucătorului stânga și dreapta, mișcarea inamicului stânga și dreapta, un salt simplu și o pistol semi-automat care trage un glonț care călătorește orizontal. Dacă glonțul se ciocnește cu inamicul, inamicul este distrus. De dragul demo-ului și din scopuri de testare, inamicul respawns după ce a fost distrus. Folosim un sistem de coliziune de bază pentru a ține jucătorul și inamicul închis în zona de joc, iar inamicul începe să se miște în direcția opusă după ce se ciocnește cu un zid.
Pentru acest exemplu, nu voi adăuga o condiție de câștig / pierdere, de sănătate a jucătorului sau chiar de o ciocnire a jucătorului / inamicului. Echilibrarea acestui tip de joc în acest sens ar necesita un articol complet separat. Echilibrul jocurilor este un element crucial al designului, dar variază atât de mult în genuri încât ar fi o distragere de la ideea principală. Și rețineți că nu jucați un joc finalizat în demo, căutați procesul de luare a deciziilor pentru câteva detalii selectate.
Deci, jocul nostru funcționează, dar este o experiență oribilă. Să începem să aducem la viață acest joc!
Este o adăugare atât de evidentă, dar trebuie doar să vă uitați la cât de mult este adăugată viața la joc cu câteva animații simple.
Pentru jucător, am adăugat animații pentru ralanti, alergare și sărituri. Pentru inamic, am adăugat un ciclu de plimbare. Cu nume cum ar fi Skull Baby și Slug Booger, este logic să se ia o abordare ușoară a animației. Craniul Baby coboară și se învârte în mijlocul secțiunii, în timp ce Slug Booger se mișcă, împreună cu antenele și cu ochii goi. Este important să păstrați coerența cu tonul operei dvs. de artă, astfel încât entitățile din lumea jocului să se simtă ca și cum ar fi împreună.
Iată în cazul în care filozofiile mele de design joc sunt ușor diferite de altele. Prefer să creez și să-mi polonez opera de artă pe măsură ce dezvoltăm prototipul de bază. Unii designeri preferă să folosească "arta programatorului" cât mai mult timp posibil, în timp ce construiesc elementele de bază ale unui joc. În timp ce aceste animații nu sunt chiar finale, sunt foarte aproape la ceea ce aș folosi în produsul final. Fac acest lucru din două motive importante:
Folosesc această iterație pentru a dovedi un punct, și nu neapărat ca un exemplu al a ceea ce aș face în timp ce creez un joc. Prin implementarea unor efecte sonore incredibil de fundamentale (și, probabil, rele), această valoare devine mai evidentă într-o iterație ulterioară.
Am adăugat trei sunete: fotografiere, sărituri și lovituri de coliziune / inamic. Repetând aceste sunete în următoarele iterații, veți înțelege mai bine unul dintre aspectele cele mai importante, dar adesea trecute cu vederea, ale jocului: variația prin randomizare.
Mai mult ca adăugarea de animații, adăugarea de efecte sonore la începutul dezvoltării vă oferă suficient timp pentru a determina dacă vă plac activele sau nu. Mulți dezvoltatori adaugă efecte sonore în ultimii pași ai dezvoltării jocurilor. Acest lucru poate fi periculos, deoarece simpla includere a sunetului după ore și ore de teste de joc silențios poate crește în mod artificial nivelul dvs. de satisfacție cu calitatea activelor. Adăugarea de sunete mai devreme asigură, de asemenea, că declanșatoarele audio sunt instalate înainte de a adăuga prea multe straturi de cod complicat, care ar putea fi necesar să fie rescrise pentru a obține funcționarea corectă a sunetului.
Din nou, aceasta nu este o iterație teribil de importantă în această etapă de dezvoltare, dar am fost obosit să văd blocurile negre plictisitoare folosite pentru a reprezenta podeaua și pereții.
Aceasta este o modificare pură a jocului, deoarece folosim în continuare funcționalitatea preexistentă a blocurilor negre. Aceste plăci adaugă nimic la experiența jocului, totuși jocul se simte cumva diferit. În loc să stea direct pe un bloc 2D, perspectiva sa deplasat ușor, astfel încât să puteți vedea atât suprafața superioară cât și cea laterală a blocului.
Codul de coliziune este același, dar acum fundația este în vigoare pentru a crea straturi de adâncime în viitor. Folosesc acest lucru ca o modalitate de a demonstra un concept pe care îl voi extinde mai detaliat într-o replică viitoare: schimbările cosmetice aparent mici pot influența foarte mult simțul unui joc.
Aici încep lucrurile să devină interesante. În această iterație am adăugat una dintre cele mai utilizate mecanisme de platforming din toate timpurile: saltul dublu.
Fie că este disponibil de la început, fie ca un upgrade pe care îl câștigi în timp, saltul dublu este exemplul perfect al modului în care o simplă schimbare poate ajuta la aducerea unui joc la viață. Dar cum? Este doar o modalitate de a face jumperul jucătorului mai înalt și mai departe, nu? Cum este altceva decât un simplu mecanic? Permiteți-mi să vă explic.
Saltul nostru de bază are o înălțime fixă și o viteză fixă. Unele platformeri vă permit să țineți apăsat butonul de salt pentru a extinde înălțimea de salt. Cu saltul nostru inițial, jucătorul a fost blocat într-o decizie. Odată ce butonul a fost apăsat, playerul nu mai avea de ales. Nu a existat nici o variație. Prin adăugarea unui salt dublu, am oferit jucătorului posibilitatea de a alege și a introdus o variație a experienței jucătorului. Sunt sigur că ați auzit că "soiul este condimentul vieții"; acest lucru este valabil și pentru designul jocului.
Dar nu puteți să aruncați o mulțime de alegeri și să o numiți o zi. Am putea oferi jucătorului nostru un jetpack, pantofi de primăvară, un pistol portal și abilitatea de a zbura. Acest lucru ar deschide cu siguranta numarul de optiuni disponibile, insa cele mai multe dintre ele ar deveni redundante sau inutile. Alegerile trebuie să fie utile în mai multe situații, iar saltul nostru dublu trece testul respectiv. Prin adăugarea acestui salt de bază dublu, putem adăuga verticalitatea la etapele noastre și întâlnirile inamice fără a schimba modul de joc de bază în modul în care ar fi un jetpack. De exemplu, designul de scenă ar putea rămâne în cea mai mare parte pe orizontală pentru un timp, iar apoi saltul dublu ar putea deveni necesar într-o secțiune pentru a extinde verticalitatea și a introduce varietatea și viața experienței.
Și nu este vorba numai despre platforma de bază. De fapt, numărul de opțiuni de joc este imens cu un simplu salt dublu. Inamicul obișnuit poate fi evitat cu un salt regulat. Un inamic mai mare ar putea necesita un salt dublu. Poate că o întâlnire cu șeful ar necesita o combinație de salturi regulate și duble, pentru a scăpa de atacuri și pentru a ajunge la un punct slab al inamicului. O cameră cu vârfuri pe tavan ar putea limita utilizarea saltului dublu, în timp ce o succesiune de salturi considerabile ar putea limita utilizarea sarcinii obișnuite. Aruncați-vă în capacitatea strategică de a folosi o sincronizare exactă dublă pentru a evita proiectilele inamice multiple și ați creat ore de posibilități de joc cu un mecanic mic și aparent nesemnificativ.
Acest lucru demonstrează că aducerea vieții într-o experiență de joc nu înseamnă adăugarea unui nivel nebun de poloneză sau de detaliu, dar poate fi vorba despre utilizarea unei mici schimbări pentru a crea schimbări uriașe și profunde ale experienței jucătorului prin variație.
Și acum, când te gândești la variație, vreau să aduc unul dintre cele mai mari instrumente pe care le ai la dispoziție: randomizare. Această repetare are un sunet randomizat, care asigură că playerul nu aude același sunet de fiecare dată când este apăsat butonul de salt. Se pare ca o schimbare mica, dar urmatoarea iteratie se va extinde pe aceasta idee pentru a arata cat de important este randomizarea cand incerci sa aduceti o viata in viata.
Această repetare are câteva modificări, toate concepute pentru a îmbunătăți tragerea la gunball, care este principalul obiectiv al jocului. Indiferent de genul de joc pe care îl faceți, ar trebui să petreceți cât mai mult timp pe cât posibil pentru a rafina modul în care jucătorii dvs. interacționează cu ei. Această iterație adaugă viață jocului printr-o îmbunătățire a feedback-ului vizual, a feedback-ului audio, a riscului vs. recompensă și a randomizării.
Noile iterații anterioare au reprezentat o lovitură extrem de nesatisfăcătoare și de copleșitoare, datorită feedback-ului bullet inexistent. Apăsarea butonului de foc a dus la crearea unui glonț, dar asta a fost. Prin crearea unui bliț simplu și mărirea dimensiunii gloantei, am creat o experiență mult mai satisfăcătoare pentru jucător. Se adaugă un shake subtil pentru a accentua puterea armei noastre, care acum se simte mai mult ca o pușcă decât un shooter de mazăre. Gloanțele noastre devin un personaj principal, care este incredibil de important într-un joc condus de gunplay.
Sonorul plictisitor, distorsionat, de la început, a fost înlocuit cu o explozie groasă și masivă care merge bine cu noul nostru feedback vizual. Este important să vă asigurați că vizuale și audio funcționează bine împreună pentru a respira viața în joc. În același mod în care un sunet excelent poate îmbunătăți jocul dvs., sunetul rău poate afecta experiența de ansamblu.
Într-un joc despre împușcare, mulți jucători preferă opțiunea de oprire automată. De ce asta? Poate pentru că degetele lor se obosesc, dar aș susține că pentru că majoritatea jocurilor de fotografiere nu oferă nici un risc pentru arma.
Ascultă-mă. Dacă jucătorul nu este penalizat pentru a trage o armă în joc, atunci de ce chiar îi cereți jucătorului să apese pe buton? Trebuie să existe un motiv să apăsați un buton și trebuie să existe un motiv nu apăsați butonul respectiv. Soiul e vorba de alegeri, nu? Deci, dați jucătorului un motiv să alegeți să apăsați un buton sau nu și să oferiți un risc și o recompensă pentru ambele alegeri.
În această iterație, am introdus reculul pistolului care va propulsa jucătorul înapoi cu fiecare foc tras. Focul se termină prea repede și ajungeți pe ecran. Într-o etapă cu capcane, vârfuri sau alte pericole, mecanismul de reculuri creează scenarii interesante în care jucătorii sunt obligați să aleagă când, unde și cum să tragă. Da, puteți culege recompensele de a trage sute de gloanțe în dușmanul vostru, dar riscați să fii ucis de ceva pe care nici măcar nu-l arunci.
Încercați să găsiți modalități de a introduce acest concept în jocul dvs. și veți observa că numărul scenariilor de gameplay posibil se multiplică. De exemplu, mecanismul de revenire are ca rezultat posibilitatea ca jucătorul să sară mai departe, atâta timp cât este confortabil să facă acest lucru în timp ce călătorește înapoi. Este un strat interesant de profunzime care poate apărea de-a lungul timpului, adăugând încă o variantă în experiența jocului.
Acesta este cu ușurință cea mai rapidă și mai simplă modalitate de a respira viața în joc. Ca și în cazul sunetelor de sărituri dintr-o iterație anterioară, sunetul de foc împușcat este, de asemenea, randomizat. Jucătorul va trage sute de gloanțe la un moment dat, deci este incredibil de important să faceți acest lucru cât mai variat posibil. Traiectoria fiecărui glonț este de asemenea randomizată ușor. Am putea să introducem upgrade-uri în timp pentru a face gloanțele noastre mai exacte, dar acest tip de joc nu va necesita precizie cu bullet precis, deci acest tip de randomizare funcționează perfect.
Lupta împotriva dușmanilor până acum a fost o experiență fără probleme. Această iterație introduce o formă de feedback vizual, oferindu-i adversarilor puncte de succes și introducând un pic de lovitură.
Când un glonț se ciocnește cu un dușman, inamicul clipește temporar roșu, iar inamicul se mișcă în direcția în care glonțul călătorea. Acum durează cinci lovituri pentru a ucide un inamic, creând o adevărată provocare.
Rama animației de pornire și viteza maximă de mișcare a inamicului sunt aleatorii pentru a crea variații în rândul forței inamice care a crescut acum de la un Slug Booger la patru Boogers Slug. Dacă aveți aceeași sprite pe ecran și toate sprite sunt toate instanțiate în același timp, este important să faceți acest lucru pentru a vă asigura că există o anumită diferențiere între entități.
În timp ce aceste schimbări fac întâlnirile inamicului un pic mai interesante, avem încă o modalitate de a merge pentru a face experiența globală satisfăcătoare.
Amintiți-vă când am introdus plăci de etapă, o schimbare strict cosmetică care nu a adăugat nimic la modul de joc, dar încă a reușit să schimbe simțul jocului? Adăugarea de particule este un mod sigur de a transforma ideea până la 11 ani.
Particulele de praf sunt emise atunci când jucătorul sare și când jucătorul aterizează, adăugând un pic de viață mișcării personajului principal. Focul și un pic de fum sunt emise de cilindrul pistolului de fiecare dată când se trage o lovitură și gloanțele erup într-o gamă de particule albe când se ciocnesc cu un perete, un pod sau un obiect inamic.
În timp ce lucram la acest demo, am arătat câtorva dintre prietenii mei câteva GIF-uri de teaser și primul răspuns a fost de obicei același. Toți au comentat efectele particulelor, dovedind cât de valoros este acest tip de feedback vizual. Dar nu este vorba numai de a fi "drăguță"; particulele pot face un joc să se simtă mai în viață prin împingerea imaginației unui jucător în lumea jocurilor.
Știm cu toții că nu există praf pe pământ în acest joc, dar particulele vă pot determina să vă suspendați neîncrederea. Același lucru este valabil și pentru focurile de armă. Ceea ce mai înainte era doar un sprite alb simte acum mai mult ca un proiectil aruncat dintr-un butoi prin arderea prafului de pușcă. Și acum, în loc să dispară doar, gloanțele noastre pot dispărea în mod logic din lumea jocurilor prin divizarea în bucăți mici. Pozițiile de început și de sfârșit ale salturilor noastre sunt acum marcate de praf. Totul începe să aibă un început și un sfârșit. Totul începe să aibă un scop. Atunci când aceste obiecte individuale încep să trăiască și să respire singure, atunci jocul ca întreg poate începe să se simtă mai în viață.
Din moment ce lucrurile încep să se simtă mai în viață, ar trebui să le facem să se simtă mai morți.
Învingerea unui inamic ar trebui să fie un moment satisfăcător, deoarece este punctul principal al micului nostru joc. În această iterație, inamicii explodează într-o explozie de particule de sânge străine și fragmente de corp. Un bliț alb și o agitare puternică a ecranului însoțesc un sunet de explozie, iar bucățile corpului fac un zgomot când se ciocnesc cu podeaua.
Aceste bucăți de corp, de asemenea, aduc un alt element de design important al jocului: permanență. Jucătorul poate lăsa o marcă definitivă în lumea jocurilor. Este ca și cum ai păstra un album de fotografii pentru a marca evenimentele din viața ta - cu excepția mult mai sinistru. Într-un fel, este dovada că ai trăit o dată. Această idee simplă poate marca zonele în care ați fost deja și poate fi o reamintire a luptelor pe care le-ați câștigat.
Permanența este incredibil de importantă și este o idee care a trecut de la începutul dezvoltării jocului. Gândiți-vă la originalul Super Mario Bros., unde puteți vedea blocurile pe care le-ați rupt deja. Este un concept atât de simplu, dar vă aduce jocul la viață prin afișarea efectelor persistente ale timpului dvs. investit.
Repetarea finală introduce câteva atingeri vizuale opționale și o coloană sonoră simplă. Deși nu am avut timp să compun un cântec pentru a se potrivi stilului vizual al jocului, nu vreau să ignor importanța deosebită a rolului audio de a aduce un joc la viață. Indiferent dacă este vorba de un cântec real sau de un fel de zgomot ambiental din mediul înconjurător, puterea audio de a respira viața în joc este imensă.
În ceea ce privește adăugările vizuale la această iterație finală, am adăugat un parallax de parcurgere a fundalului și mai multă permanență prin carcasele de coajă expulzate din pistol. Fundalul de parallax nu are sens logic în acest exemplu deoarece toată acțiunea are loc pe un singur ecran, dar puteți vedea că straturile adăugate de adâncime ajută la extinderea lumii jocului înapoi pe teritoriul pe care playerul nu îl va putea niciodată traversa.
Industria poate părea obsedată de ideea jocurilor din lumea deschisă și poate ajunge la fiecare zonă vizibilă a unei hărți a jocului, însă spun că este important să prezentați zone inaccesibile într-un joc. Veți merge vreodată pe fiecare grăunte de nisip din universul cunoscut în viața reală? Bineînțeles că nu, și asta nu e un lucru rău. Vasta universului este un interesant concept, astfel încât gândirea despre zonele inaccesibile de joc poate fi la fel de intrigantă.
Viața unui joc poate fi extinsă cu mult peste orice limită care poate fi redată, vizibilă sau audibilă, dacă doriți. Lumea este la îndemână, deci profitați de ea!
Comparați jocul din Iterația 10 cu jocul din Iterație 1. Aceste mici modificări simple și adăugiri au fost adăugate pentru a crea o experiență mult mai satisfăcătoare. Jocul din Iterația 1 este plictisitor, lipsit de viață și neinteresant. Jocul din Iterația 10 vă lasă să vă doriți mai mult și, de fapt, puteți simți ca și cum un joc complet începe să se formeze.
După cum am spus mai devreme, acesta este doar un exemplu al modului în care vă aflați ar putea adăugați viață unui joc cu acest tip de gameplay și stil de prezentare. Există moduri infinit de multe pentru a vă face experiența să vină la viață în mâinile jucătorilor dvs. și depinde de dvs. să stăpânești acea artă.
Data viitoare când jucați un joc, opriți-vă și întrebați de ce se simte satisfăcător. Nu vă gândiți doar la cum arată, la cum se pare sau la modul în care se joacă. Gândiți-vă la alegerile pe care le aveți, posibilele permutări ale evenimentelor care există și la feedback-ul pe care îl vedeți și îl auziți ca rezultat al contribuției dvs. Gândiți-vă la modul în care feedback-ul influențează alegerile dvs. și încercați să înțelegeți de ce au fost luate aceste decizii în timpul dezvoltării. Cel mai bun mod de a învăța despre designul jocului este de a pune întrebări pe care nu le veți găsi niciodată.
Este ca și cum ați căuta sensul vieții: nu veți găsi niciodată răspunsul, dar cunoștințele voastre despre lume și despre voi, fără îndoială, vor crește pe drum.