Echilibrarea RPG-urilor bazate pe turnuri dușmani

Până acum, am stabilit baza și statisticile derivate pentru eroul jocului nostru mock, Declanșator final. Apoi le-am dat-o pe protagonistul nostru cu părul înfipt, o tovarășă de sex feminin, Jane, și i-am reglat statisticile pentru a fi în echilibru cu el. De data aceasta, în ceea ce se va ridica la cea de-a treia și ultima parte a seriei noastre cu privire la echilibrul RPG-ului, vom trece la noul nostru erou Chroud împotriva atacului teribil, răutăcios, de moarte ... Killer Attack Rabbit.

Da, amenințarea noastră blândă ar putea părea la început inofensivă, dar puțini au reușit să scape de ghearele sale periculoase. De-a lungul drumului, vom oferi noului nostru personaj negativ cu statistici, puteri speciale și inteligență artificială. Apoi, începe lupta regală. Odată ce vom recupera date inițiale, vom regla lupta pentru a satisface așteptările pe care le-am stabilit înainte de luptă. În cele din urmă, vom examina ce se întâmplă atunci când îi adăugăm pe Jane înapoi în fraieră și cum prezența ei va întrerupe în mod inevitabil echilibrul nostru delicat.


O recapitulare rapidă

Așa cum ați aminti, am determinat statisticile derivate de la Chroud prin efectuarea de calcule pe statisticile sale de bază. Aceste statistici s-au dovedit a fi utile pentru evaluarea eficienței de luptă a lui Chroud. Am decis în cele din urmă următoarele:

Statisticile noastre protagoniste cu părul înfig.

Prin împărțirea puterii de atac a lui Chroud cu viteza lui ATB, am ajuns la concluzia că el va elimina aproximativ 42 de daune pe secundă (DPS). Să mergem cu un pas mai departe. În majoritatea RPG-urilor bazate pe turn, membrii partidului au avut șansa să critic lovit dușmanii lor. Obiectivele critice ar lovi in ​​mod obisnuit pe dusmani intre 1,5 si 2 ori mai mare decat dauna ca o lovitura normala.

Factoring în Puterea lui Chroud și asumându-și o rată critică de 10% și un multiplicator critic de 1,5, putem reevalua DPS:

  • DPS lui Chroud: \ ((500 \ ori .9) + (750 \ ori .1)) / 12 = (450 + 75) / 12 \ aproximativ 44 \)

Astfel, adăugând o șansă aleatorie de a-și lovi critic adversarii, DPS-ul lui Chroud a crescut cu aproximativ două. Acest lucru ar trebui să facă lucrurile un pic mai interesante pe linie. Rețineți că valoarea medie a defecțiunilor pe rotație (DPT) a lui Chroud este acum de 525, în loc de 500.


Fața Inamicului

Determinarea statisticilor inamice este mult mai ușoară decât găsirea unui membru al partidului. Statisticile lor nu sunt afectate de uneltele, de obicei nu au acces la consumabile, iar nivelurile lor rămân statice. Astfel, ei nu câștigă experiență.

Bacsis: În unele WRPG-uri moderne, nivelurile de inamici se potrivesc cu ale tale, dar în exemplul nostru vom presupune că nu au.

Deoarece uneltele nu sunt un factor, putem să ignorăm convertirea statisticilor de bază la derivate. De fapt, putem renunța la toate statisticile de bază. Asta este o veste bună, mai ales că aproape toate RPG-urile au mult mai mulți dușmani decît caracterele care pot fi redate - jocuri ca Chrono Cross sunt o excepție rară.

În schimb, vom adăuga statistici inamice relevante în luptă în manual. Pe lângă faptul că este mai rapid, beneficiul suplimentar al acestei abordări este acela că va permite o mai mare libertate creativă. Dar, înainte de a începe să introduceți în mod arbitrar numere, este important să vă puneți câteva întrebări despre inamicul în cauză:

  • Ce categorie de inamic te-ai confruntat: gunoaie, dungeon mob, mini-sef sau sef? Consultați prima parte a seriei pentru mai multe tipuri de inamici.
  • Ce tip de inamic te-ai confruntat? Dacă inamicul este un atacant fizic, statisticile lui ar trebui să reflecte forța lui. Alți dușmani ar putea favoriza atacurile magice sau apărarea. Unele pot fi foarte evazive sau pot folosi efecte de stare. Prin determinarea tipului de inamic, veți avea un timp mult mai ușor deducând statisticile sale.
  • Vindecarea: Are vrăjmașul vreun fel de regenerare a vieții? Dacă da, atunci statisticile sale ofensive nu ar trebui să fie la fel de impunatoare ca un inamic echivalent care nu se poate vindeca.
  • Faze: Inamicul se transformă într-o versiune mai puternică a lui pe jumătate prin luptă? În caz contrar, va trebui să creați două (sau mai multe) seturi de statistici pentru inamic.
  • Abilități speciale și AI reactiv: vom ajunge mai mult în acest lucru mai târziu, dar cei mai mulți dușmani (chiar și unele gloanțe) ar trebui să aibă câteva trucuri în mânecă. Fără AI, bătăliile devin rutine și învechite.
  • Dorești ca dușmanii din joc să respecte standardele tradiționale pe 16 biți sau să reflecte mai multe tradiții moderne?

Ultimul punct necesită un pic de clarificare. Vedeți, în RPG-urile vechi de la școală, jucătorii au avut de obicei o valoare relativ mică de puncte de lovitură în comparație cu dușmanii. Cu toate acestea, deoarece membrii partidului au lovit mai mult, au depășit numarul de dușmani și au avut acces la resurse de vindecare, totalurile punctelor de lovitură ale inamicului au fost justificate. Majoritatea RPG-urilor moderne, cel puțin cele din Occident, funcționează puțin diferit. În numele realismului, dușmanii prezintă, de obicei, puncte de lovituri care sunt pe aceeași poziție cu ale tale. S-ar putea să nu lovească așa de tare sau să fie la fel de inteligenți, dar cu siguranță vă pot purta, pentru că personajul tău este în general mai slab decât el sau ea ar fi într-un RPG japonez.


The Rabbit Attack Killer

Folosind liniile directoare enumerate mai sus, veți putea deduce rapid câteva statistici privind giratorii. Amintiți-vă, deoarece lucrăm doar cu statistici relevante pentru luptă, va fi de datoria dvs. să găsiți numerele care au sens. Doar nu vă faceți griji cu privire la crearea de dușmani echilibrați la prima lovitură - probabil că nu se va întâmpla. Din fericire, folosind sistemul pe care suntem pe punctul de a schița, veți putea să vă ajustați cu ușurință numerele inamice.

Înapoi la Rabbit Attacker Killer. Fericitul nostru rozător va fi un luptător fizic ferm și extrem de rapid, dar lipsit de zonele de apărare și magie. Va fi o mulțime de dungeoni și va avea mai multe puncte de lovit decât eroul nostru, dar va face mai puține daune. El nu va regenera viața, dar vom explora câteva abilități deosebite, care îl vor face destul de neplăcute.

Iată numerele inițiale pe care le vom folosi:


Nu-l judeca prin aspectul lui drăguț.

Acum, suntem gata să facem primul nostru test.


Cazul de testare # 1

În acest colț, cu părul cântărind la 22 de lire sterline, avem eroul nostru venerabil Chroud. Și în celălalt colț, salutând de la părți necunoscute, cântărind la o amenințare de 4,5 lire sterline, vă prezentăm neînvinsul, necontestatul ... Killer Attack Rabbit.

Înainte de a începe lupta noastră anticipată, ar trebui probabil să dăm câteva lucruri. Primul și cel mai evident este DPS-ul lui Killer Attack Rabbit:

  • Killer Attack Rabbit DPS: \ ((200 \ ori .85) + (300 \ ori .15)) / 10 = 21.5 \ text DPS \)

Astfel, dacă Rabbitul atacului ar fi folosit doar atacul de bază, el ar fi aruncat cu 21,5 pagini pe secundă. Dar ticălosul nostru este puțin mai sofisticat. Pentru a amesteca lucrurile, îi vom da trei atacuri suplimentare. Primul va fi numit "Bite", al doilea "Bunny Hop", iar al treilea "Prea drăguț". Pentru a determina modul în care aceste noi atacuri îi afectează pe DPS, trebuie mai întâi să le definim.

Simplu Enemy AI

Dușmanii din RPG-urile de la începutul războiului au avut, de obicei, numai unul sau două atacuri. Până la sfârșitul erei de 16 biți, acest număr a crescut la trei sau patru și, în unele cazuri, chiar mai mult. Cu toate acestea, inamicul mediu a fost rareori sofisticat. Atacurile speciale au fost folosite aparent la întâmplare, efectele de stare au fost frecvent distribuite jucătorilor deja afectați, iar atacurile erau rareori vizate de jucători cu puncte slabe. Singurii dușmani care au apărut de la distanță inteligenți erau șefi.

Ticălosul nostru, care este în jocul nostru, este considerat un inamic de la mijlocul drumului, va fi cel puțin la fel de inteligent ca un sef tardiv de 16 biți, dar nu la fel de puternic.

Primul său atac, "Bite", este definit după cum urmează:


Ultima avertizare este importantă. Dacă dați dușmanilor șansa de a folosi abilități speciale de peste și peste din nou, vor exista momente când vă vor copleși pur și simplu. Acest lucru ar face ca lupta să cadă în mod decisiv din echilibru. Pentru a contracara acest lucru, împiedicăm ca Killer Attack Rabbit să folosească "Bite" două runde la rând. Rolul jucătorului va fi să recunoască acest model și să se adapteze în consecință.

Al doilea atac, "Bunny Hop", funcționează astfel:


"Bunny Hop" este un exemplu de AI condiționată și este o modalitate foarte bună de a simula cu ușurință inteligența. Când Rabbit Attack Killer este la un pas de moarte, el își strânge toată puterea și te atacă cu o abilitate deosebită devastatoare. În scopul de a se pregăti pentru acest lucru, membrii de partid sunt bine sfătuiți să-și păstreze punctele de succes dobândite.

În cele din urmă, el are un atac numit "Prea drăguț:"


Deși acest atac nu va majora DPS-ul lui Attack Rabbit, acesta va prelungi lupta. Și cu cât lupta este mai mare, cu atât mai mare este șansa ca inamicul să câștige. Avem vrăjmașul nostru să folosească această abilitate imediat după "Bunny Hop", deoarece are sens. Văzând că "Bunny Hop" nu te-a terminat, Rabitul ar fi înclinat să folosească o abilitate defensivă pentru a te împiedica să vindeci.

Astfel, putem face următoarele concluzii:

  • 25% din timp (minus până la două atacuri) DPS Killer Attack Rabbit va fi \ (21.5 \ ori 1.5 = 32.25 \).
  • 75% din timp (minus până la două atacuri) DPS Killer Attack Rabbit va fi \ (21.5 \).
  • Până la o singură dată pe bătălie, DPS-ul său va fi \ (21.5 \ ori 2.25 = 48.4 \).
  • Până la o singură dată pe bătălie, DPS-ul său va fi \ (0 \).

Spunem "până la o singură dată pentru fiecare bătălie", deoarece nu există nici o garanție că "Killer Attack Rabbit" va folosi "Bunny Hop" sau "Prea drăguț". Să presupunem că-i scăpați HP de la 30% până la 0% într-o singură fotografie. În acest scenariu, nu va avea ocazia să o folosească. Cu toate acestea, probabil că ar trebui să-l loviți cu o lovitură critică potrivită pentru ao evita complet.

DPS și DPS eficiente

Bazându-vă pe puterea dvs. de atac și după factorizarea atenuării daunelor (vom ajunge la asta într-o secundă), veți avea nevoie de aproximativ șase runde pentru a termina Kilbit Attack Rabbit. În mod normal, ar dura cinci, dar probabil că veți fi uimiți pentru o singură rundă. Având în vedere acest lucru, putem presupune următoarele rapoarte de atac:

  • Trei dintre cele șase atacuri ale Rabbitului vor fi atacuri normale: \ (21 \ text DPS \)
  • Unul va fi "Bite": \ (32.25 \ text DPS \)
  • Unul va fi "Bunny Hop": \ (48.4 \ text DPS \)
  • Unul va fi "prea drăguț": \ (0 \ text DPS \)
  • DPS mediu: \ ((3 \ ori 21) + 32.25 + 48.4 + 0) / 6 = 23.9 \ text DPS \)

Factoring în reducerea daunelor fizice cu 10% la Chroud și rata de eschivare de 12,5%, DPS efectiv al iepurelui devine:

  • Killer Attack Rabbit Eficace DPS: \ ((23.9 \ ori .9) \ times .875 = 18.8 \ text DPS \)
  • Killer Attack Rabbit Efectiv Damage Per Turn: \ ((18.8 \ times 10) = 188 \)

Bine, deci, după toate acestea, putem concluziona că Rabbit Attack Killer îl va lovi pe Chroud pentru, în medie, 188 daune pe turn.

Acum, vom face același lucru pentru Chroud. Am stabilit deja că DPS-ul lui Chroud este de 44. Cu toate acestea, DPS-ul său efectiv este semnificativ mai mic, deoarece uneori va fi fie uimit, fie forțat să petreacă ocazional o rundă folosind un articol consumabil. Pentru simplitate, presupunem că Chroud nu va face nici un rău 20% din timp:

  • DPS medie a lui Chroud: \ (44 \ times 0.8 = 35.2 \ text DPS \)

Factoring în reducerea daunelor fizice de 5% a lui Killer Attack Rabbit și rata de eschivare de 20%, DPS-ul eficient al lui Chroud devine:

  • Chroud eficace DPS: \ ((36.9 \ ori .95) \ times .8 = 26.8 \ text DPS \)
  • Chroud daune efective pe turn: \ ((28 \ times 12) \ approx 322 \)

În cele din urmă, putem calcula câte runde va dura pentru Chroud pentru a învinge pe Rabbit Attack Killer și invers. Vom presupune că, în timpul luptei, Chroud va pune în mișcare o poțiune, restaurând 500 de puncte de lovitură și ridicându-și totalul efectiv Hit Point la 1300.

  • Timpul lui Chroud să învingă iepurele atacului de ucigaș: \ ((2000/336) = 6.21 \) runde sau \ (74.5 \) secunde.
  • Killer Attack Timp de iepure pentru a învinge Chroud: \ ((1300/188) = 6.91 \) runde sau \ (69.1 \) secunde.

Felicitări, se pare că suntem aproape de a obține un echilibru! Din nefericire, după cum vom vedea în curând, ar putea fi înșelătoare.


Simulările

Am decis să conectăm statisticile Chroud și Killer Attack Rabbit în programul nostru de simulare pe computer și să înregistrăm câteva rezultate. Este suficient să spunem că rezultatele nu au fost cele așteptate. De prea multe ori, rezultatele noastre arătau după cum urmează:


Simularea # 1: Iepurașul de atac al ucigașului decimă Chroud.

Nu e bine. Totuși, Killer Attack Rabbit a câștigat în peste 50% din simulările noastre, uneori înainte ca Chroud să reușească să aterizeze o singură lovitură. În jocul nostru fals Declanșator final, scopul nostru inițial a fost acela ca mulțimile de dungeoni să câștige aproximativ 5% din timp. Asta eo mare disparitate. Deci, care este problema?

Prima problemă este destul de evidentă. Timpul mediu pe care îl ia Chroud pentru a învinge pe Rabbit Attack Killer este aproximativ aceeași cantitate de timp pe care îl ia pe Rabbit Attack Killer pentru a învinge Chroud. Numai pe baza acestei statistici, Chroud va câștiga 48,1% din timp și Iepura 51,9%.

Dar există un alt factor pe care nu l-am luat încă în considerare: Variabilitatea defecțiunilor pe rotație (DPT). În RPG-urile pe bază de turnuri, definim Volatilitatea DPT ca măsură a cantității maxime de daune care pot fi efectuate într-o singură rundă, variază de la normă. De exemplu, dacă daunele pe turn ale unui membru al partidului este de 50, dar el poate efectua maxim 400 de daune în orice rundă dată, DPS-ul său ar fi considerat extrem de volatil și imprevizibil.

Am stabilit deja că DPT-ul Killer Attack Rabbit's Effective este 188. Acum trebuie să ne dăm seama că cele mai multe daune pe care le poate face într-o singură rundă:

  • Killer Attack Rabbit Daune maxime: \ ((220 \ ori 1.5) \ times 2.25 \ times .9 = 668.25 \ text DPT \).

Atunci când Killer Attack Rabbit rotește un scor de atac perfect, lovește și folosește în mod critic "Bunny Hop", el îl va împușca pe Chroud pentru 668,25 pagube după diminuare. Asta e peste 80% din viața lui Chroud într-o singură lovitură! Prietenul nostru sărac cu părul înfipat nu va avea ocazia să-și folosească poțiunea, reducând în totalitate Hit Point-ul său total cu 500.

Acum, va ataca Rabitul pentru aceste pagube mari în mod regulat? Nu. Dar el ne va lovi aproape de jumătate din viața lui Chroud mult mai des decât ne simțim.

Deoarece DPS Killer Attack Rabbit's este atât de volatilă, veți dori să vă ajustați numerele, astfel încât timpul mediu pe care Chroud trebuie să îl învingă este de aproximativ jumătate din timpul necesar pentru al învinge pe Chroud. Cea mai ușoară modalitate de a face acest lucru este de a reduce doar DPS Killer Attack Rabbit's. În loc de 200, să facem 120 și să vedem ce se întâmplă:

  • Killer Attack Base Rabbit DPS: \ ((120 \ ori .85) + (180 \ ori .15)) / 10 = 12.9 \ text DPS \).

Prin efectuarea acelorași calcule enumerate mai sus, putem stabili cu ușurință că noul DPS efectiv al lui Rabbit este de 11,4, ceea ce echivalează cu 114 DPM.

  • Killer Attack Timp de iepure pentru a învinge Chroud: \ ((1300/114) = 11.40 \) runde sau \ (114 \) secunde.
  • Killer Attack Rabbit Max Damage: \ ((132 \ ori 1.5) \ times 2.25 \ times .9 = 401 \ text Damage Per Turn \).

Acum, în medie, Chroud va avea nevoie de 5,19 mai puține runde decât să-și câștige vicleșugul blând. Chiar și în ziua cea mai bună a lui Killer Attack Rabbit, va trebui să se rotească perfect pentru a lua jumătate din viața lui Chroud într-o singură lovitură. Deci, în timp ce Rabbit poate încă să lovească destul de mult pentru a provoca îngrijorare, Chroud va putea să-l învingă de cele mai multe ori. O a doua simulare confirmă acest lucru:


Simularea # 2: Balanța obținută.

În această simulare, Chroud are o bătaie dreaptă, dar nu este niciodată în pericol real de a muri. Cu toate acestea, în cazul în care bătălia ar fi durat o nouă rundă, Killer Attack Rabbit ar fi folosit "prea drăguț" atac, care ar fi putut fi dezastruos pentru eroul nostru. Prin urmare, putem deduce din această simulare faptul că dificultatea bătăliei este adaptată destul de bine și este în concordanță cu așteptările noastre inițiale.

De ce atât de scăzut?

Anterior am menționat că, în scenariul nostru ideal, Killer Attack Rabbit ar trebui să învingă Chroud doar 5% din timp. S-ar putea să te întrebi de ce numărul ăsta e atât de scăzut. Rețineți că, dacă un inamic învinge pe Chroud, jocul sa terminat. În schimb, Chroud trebuie să învingă orice inamic pentru a câștiga. Treaba lui este mult mai dură, astfel că șansele lui de a muri împotriva tipurilor non-Boss ar trebui să fie destul de scăzute.


Factoring în membri ai partidelor suplimentare

Este un pic nerealist să presupunem că Chroud va lupta întotdeauna pe cont propriu. S-ar putea să vă amintiți din partea a doua a seriei că am aliniat pe Chroud cu un Mage cu un sceptru, cu numele nesimțit de Jane. Deși DPS-ul lui Jane era puțin mai înalt și mai volatil decât cel al lui Chroud, cei doi aliați erau relativ echilibrați.

Una dintre primele ipoteze pe care dezvoltatorii o fac atunci când factoring într-un membru al doilea partid este că aliatul suplimentar dublează eficiența generală a partidului. În realitate, este mult mai mult. Folosind calculele enumerate mai sus, determinăm DPS Eficace al lui Jane împotriva lui Rabbit Attack Killer să fie 30.4. Adăugați acest lucru la Chroud și partidul este eficient DPS devine:

  • Partidul efectiv DPS = 30,4 + 26,8 = 57,2 DPS

Dacă vom echilibra câmpul de joc prin adăugarea unui al doilea Rabbit Attack Killer la mix, partidul inamic al lui DPS Effective este:

  • Killer Attack Rabbit Eficace DPS (împotriva Chroud): \ (23.9 \ times .9) \ times .875 = 18.8 \ text DPS \)
  • Killer Attack Rabbit DPS eficient (împotriva lui Jane): \ (23.9 \ times .9625) \ times .85 = 19.6 \ text DPS \)
  • Enigma DPS eficientă: \ (18.8 + 19.6 = 38.4 \ text DPS \)

Rețineți că Jane nu poate atenua daunele fizice, precum și Chroud, și, prin urmare, ia mai multe daune, în medie, de la Killer Attack Rabbit.

Deoarece raportul dintre DPS-ul Enemy Effective și DPS Party Effective este destul de mult în concordanță cu raportul one-on-one, ar trebui să se înțeleagă că dificultatea bătăliei ar fi la fel. Dar uităm de un singur lucru: jucătorul. Majoritatea jucătorilor vor putea depăși orice sistem informatic și ar trebui să aibă un avantaj distinct, chiar și în lupte statistice. În acest scenariu, jucătorul trebuie doar să-și concentreze focul asupra unui Rabbit înainte de a trece la următorul. Atacul Iepurele, pe de altă parte, va ataca doar membrii de partid la întâmplare.

Desigur, i-ați putea programa să-și concentreze focul asupra celui mai slab membru al partidului sau asupra celui care reprezintă cea mai mare amenințare. Dacă este așa, este puțin nevoie să re-echilibrați Rabitul atacului. Cu toate acestea, dacă atacă la întâmplare, va trebui să crească eficiența luptei cu un procentaj nominal.

Și într-adevăr asta e ceea ce echilibrează un RPG turn-based este totul despre: o mulțime de presupuneri, o mulțime de tweaking și o mulțime de simulări.


Concluzie

În această serie, am explorat echilibrul RPG pe bază de ture din trei perspective diferite: designul jocului, nivelul de partid și nivelul inamicului. Am explorat câteva metode simple pentru a vă ajuta să obțineți un echilibru rudimentar în jocul dvs. În acest segment am învățat cum:

  • pentru a calcula statisticile Enemy și DPS
  • pentru a calcula DPS efectiv
  • pentru a determina Volatilitatea DPT
  • să utilizeze simulări
  • membrii suplimentari de partid afectează rezultatul bătăliei

În ciuda lungimii acestei serii, abia am zgâriat suprafața. Echilibrarea unui RPG pe scară largă poate lua luni de echipe de dezvoltare și beneficiază în mare măsură de utilizarea unui tip de software de modelare. Cu toate acestea, până acum, ar trebui să înțelegeți cel puțin ce se întâmplă în procesul de echilibrare și să aveți o idee mai bună asupra factorilor pe care trebuie să îi luați în considerare. Vestea bună este că sistemul nostru nu a necesitat utilizarea nici unui matematică sau logică avansată. Cu toate acestea, a fost un proces destul de intuitiv care a favorizat bunul simț al algoritmilor complicați. Sperăm că va contribui la realizarea unei sarcini aparent dificile de a echilibra RPG-ul pe bază de turnuri, un pic mai plăcut.