Advertisement
  1. Game Development
  2. Game Design

Ausgleich rundenbasierter Rollenspiele: Parteimitglieder

Scroll to top
Read Time: 13 min
This post is part of a series called Balancing Turn-Based RPGs.
Balancing Turn-Based RPGs: The Big Picture
Balancing Turn-Based RPGs: Enemies

German (Deutsch) translation by Valentina (you can also view the original English article)

Letztes Mal haben wir das RPG-Gleichgewicht aus einer meilenhohen Perspektive untersucht. In diesem Segment gehen wir etwas tiefer, indem wir zuerst die Basisstatistiken unseres Protagonisten bestimmen und anhand der Ergebnisse aussagekräftige abgeleitete Statistiken berechnen, die im Kampf anwendbar sind. Wir werden uns dann eingehend damit befassen, wie ein Parteimitglied mit einem anderen ausgeglichen werden kann, auch wenn es völlig andere Arten von Kämpfen bevorzugt. Bis der Rauch verschwunden ist, haben wir in unserem bald meistverkauften Spiel, Final Trigger, ein grundlegendes Party-Gleichgewicht erreicht.


Basisstatistik

Parteimitglieder in traditionellen rundenbasierten Rollenspielen hatten normalerweise keine fest definierten Klassenrollen. Als solche waren alle ihre Statistiken zumindest teilweise relevant. Gleichzeitig haben sich die Parteimitglieder in allen Bereichen des Kampfes hervorgetan, sei es im Kampf, im Wirken oder in der Heilung. In diesem Sinne werden wir den Protagonisten von Final Trigger so modellieren, dass er seiner Gruppe am meisten zugute kommt, wenn er mit einem Schwert davonschlägt.

In unserem Modell wählen wir folgende Basisstatistiken:

  • Stärke
  • Geschwindigkeit
  • Ausdauer
  • Geist
  • Verteidigung
  • Magische Verteidigung

Der Einfachheit halber nehmen wir auch an, dass unser Charakter Level 20 ist und dass unsere Verbündeten gleich sind.

Da unser Held einem Krieger am ähnlichsten ist, sollten seine Statistiken die von jemandem widerspiegeln, der körperlich imposant ist, ein paar Treffer aushält, nicht zu schnell und etwas schwach gegen Magie. Alle Zahlen gelten als gleich, ein ziemlich genauer Ausgangspunkt für unseren Protagonisten - nennen wir ihn Chroud (siehe, was ich dort gemacht habe?) - wäre:

  • Stärke: 50
  • Geschwindigkeit: 25
  • Ausdauer: 40
  • Geist: 20
  • Verteidigung: 40
  • Magische Verteidigung: 15

Wir nennen diese Zahlen Chrouds Basisstatistik, weil sie verwendet wird, um Statistiken abzuleiten, die unsere Effektivität im Kampf bestimmen.


Abgeleitete Statistiken

Abgeleitete Berechnungen finden in der Regel hinter den Kulissen statt. Wir bestimmen sie, indem wir unsere Basisstatistiken auf sinnvolle Weise manipulieren. Die Ergebnise werden dann verwendet, um unsere Gesamteffektivität im Kampf zu bestimmen. In Final Trigger lauten die abgeleiteten Statistiken:

  • Angriffsstärke
  • Sekunden pro Umdrehung oder ATB-Geschwindigkeit
  • Ausweichen%
  • Trefferpunkte
  • Magische Kräfte
  • Physischer Schaden negiert (%)
  • Magischer Schaden negiert (%)

Natürlich könnten Sie damit noch viel weiter gehen, aber zur Veranschaulichung ist dies mehr als genug. Fühlen Sie sich frei zu experimentieren.

Jetzt müssen wir jede unserer Basisstatistiken mit einer abgeleiteten Statistik gleichsetzen. Dies sollte ein ziemlich intuitiver Prozess sein. Zum Beispiel wäre es sinnvoll, wenn Stärke mit Angriffskraft korreliert, also fangen wir dort an.

Angriffskraft bestimmen

Bestimmen Sie zunächst, welche Art von Zahlen Sie auf dem Bildschirm sehen möchten. Wenn Sie ein Fan von Rollenspielen der alten Schule sind, bevorzugen Sie es wahrscheinlich, massiven Schaden zu verursachen. Andere bevorzugen möglicherweise kleinere, präzisere Inkremente. In jedem Fall ist unser System auf Flexibilität ausgelegt und erfüllt alle Anforderungen. In Final Trigger gehen wir die Mittellinie.

Der Einfachheit halber multiplizieren wir die Stärke lediglich mit einer Konstanten von 10, um die Angriffskraft zu bestimmen.

  • Attack Power = Strength * (constant)

Das gibt uns eine Angriffskraft von 500. Aber es wäre ziemlich langweilig, Feinde in jeder Runde genau um den gleichen Betrag zu treffen. Deshalb werden wir eine Zufälligkeit einführen, um die Dinge durcheinander zu bringen:

  • Attack Power = (Strength * (constant)) +/- 10%

Jetzt liegt die Angriffskraft von Chroud zwischen 450 und 550. Abhängig davon, wie viel Zufälligkeit Sie in Ihr System einführen möchten, können Sie natürlich immer einen höheren oder niedrigeren Prozentsatz verwenden. (Aber denken Sie daran, dass es schwieriger ist, ein stark randomisiertes Kampfsystem auszugleichen.)

Bestimmen von Sekunden pro Umdrehung und Ausweichen%

Diese beiden sind etwas kniffliger. Wir wissen, dass sie auf Geschwindigkeit basieren, aber wir können Geschwindigkeit nicht genau mit einer Konstanten multiplizieren, um Sekunden pro Umdrehung und Ausweichrate zu bestimmen. Vertrauen Sie mir, die Ergebnisse wären katastrophal.

Was wir wissen ist, dass unsere Basis-ATB-Geschwindigkeit und Ausweichrate vom Anfang über das Spiel bis zum Ende nicht zu stark variieren sollten. Natürlich wollen wir, dass sie sich leicht verbessern, aber nicht so sehr, dass sie auf höheren Ebenen ausgenutzt werden können. Da wir eine direkte Manipulation der Geschwindigkeit ausgeschlossen haben, wäre es sinnvoll, zunächst einen einfachen Geschwindigkeitskoeffizienten abzuleiten:

  • Speed Coefficient = Speed / Level

Der Geschwindigkeitskoeffizient unseres Charakters ist seine Geschwindigkeit (25) geteilt durch seine Stufe (20) oder 1,25. Um unseren neuen Koeffizienten im Gleichgewicht mit unseren Zielen zu halten, sollten wir eine Simulation durchführen, die seinen Wert auf verschiedenen Ebenen und bei verschiedenen Grundgeschwindigkeiten bestimmt.

Etwas wie das:

Speed coefficients at different levels for different speed gains.Speed coefficients at different levels for different speed gains.Speed coefficients at different levels for different speed gains.
Geschwindigkeitskoeffizienten auf verschiedenen Ebenen für unterschiedliche Geschwindigkeitsgewinne.

Aus unserem Modell können wir ableiten, dass durch Erhöhen der Grundgeschwindigkeit von Chroud um etwa 2 Punkte pro Level unser Geschwindigkeitskoeffizient mit dem Level ganz leicht ansteigt, was wir wollen. Das Modell selbst ist zu simpel und ein bisschen fehlerhaft, aber es ist nah genug, um uns eine Grundlage zu geben, auf der wir arbeiten können.

Wir fühlen uns jetzt wohl dabei, Chrouds Sekunden pro Umdrehung (SPT) zu berechnen. Beachten Sie, dass wir eine Konstante über unseren Koeffizienten teilen sollten, da unser Geschwindigkeitskoeffizient mit dem Level steigt und wir möchten, dass unser SPT sinkt. Dies ist der einfachste Weg, um optimale Ergebnisse zu erzielen.

  • Seconds Per Turn = (constant) / Speed Coefficient

Ich habe 15 für meine Konstante gewählt, aber Sie können eine beliebige Zahl wählen. Beachten Sie, dass höhere Konstanten zu mehr Zeit zwischen den Runden führen und besser für gelegentliche RPGs geeignet sind. Final Trigger ist relativ schnell und die 12 Sekunden, die auf Stufe 20 benötigt werden, damit sich unsere ATB-Leiste füllt, passen gut zu uns. Ab Stufe 50 wird diese Zeit auf etwas weniger als 9 Sekunden reduziert.

Dodge% ist noch einfacher herauszufinden - multiplizieren Sie einfach den Geschwindigkeitskoeffizienten mit einer Konstanten. Ihre einzige Einschränkung wäre die Auswahl einer angemessenen Konstante, da die versehentliche Auswahl einer großen Konstante zu einer Ausweichrate von über 100 Prozent führen würde. Nicht gut.

  • Dodge (%) = Speed Coefficient * Constant

Der Rest

Wir können ähnliche Gleichungen verwenden, um den Rest der von Chroud abgeleiteten Statistiken herauszufinden. Zum Beispiel könnte Ausdauer nur durch Anwenden einer multiplikativen Konstante in Trefferpunkte umgewandelt werden. Wie Sie deutlich sehen können, ist kein Master in Mathematik erforderlich, um ein funktionierendes Statistiksystem zu entwickeln.

In unseren Statistiken werden jedoch die Auswirkungen von Ausrüstung, Buffs, Waffenprozessen und verschiedenen Gegenständen, die Spezialeffekte biten, nicht berücksichtigt. Dies sind Dinge, die Sie letztendlich berücksichtigen müssen. Es bietet eine solide Grundlage, auf der Sie die relative Stärke und Verteidigung Ihres Charakters zu jedem Zeitpunkt seines Fortschritts bestimmen können.


Ein Parteimitglied gegen ein anderes abwägen

Einer der grundlegenden Fehler, die RPG-Entwickler beim Balancieren ihrer Spiele machen, besteht darin, auf das interne Party-Gleichgewicht zu verzichten. Erinnert sich jemand daran, Relm aus Final Fantasy VI verwendet zu haben? Ich habe es bestimmt nicht getan. Warum überhaupt einen Charakter erstellen, wenn er niemals verwendet wird? Als RPG-Entwickler ist es unsere Verpflichtung, jeden unserer geliebten Charaktere im Kampf lebensfähig zu machen. Und ein guter Weg, dies zu tun, besteht darin, jeden Nebencharakter an unserem Protagonisten zu messen. Basierend auf unseren Berechnungen aus dem vorherigen Abschnitt lauten die Statistiken von Chroud auf Stufe 20 wie folgt:

Our spiky-haired protagonist's stats.Our spiky-haired protagonist's stats.Our spiky-haired protagonist's stats.
Die Statistiken unserer stacheligen Protagonisten.

Unsere zweite Figur - wir nennen sie aus Mangel an Einfallsreichtum Jane - ist eine Magierin mit Zepter. Zu Janes Hobbys gehören lange Strandspaziergänge, Videospiele und das lebendige Verbrennen ihrer Feinde. Da wir keine voreingenommenen Entwickler sind, geben wir Jane die gleiche Anzahl an Basispunkten wie Chroud, verteilen sie jedch so, dass sie für einen Zaubernden Sinn machen:

Jane can really dish out the pain, as long as she's not OOM.Jane can really dish out the pain, as long as she's not OOM.Jane can really dish out the pain, as long as she's not OOM.
Jane kann den Schmerz wirklich austeilen, solange sie nicht OOM ist.

Da unsere beiden Charaktere offensiv eingestellt sind, müssen ihre Schaden pro Sekunde ausgeglichen werden, damit sie relativ gleich viel Schaden anrichten. Wenn wir davon ausgehen, dass Chroud immer mit einem Schwert und Jane mit einem offensiven Zauber angreifen wird, sind unsere Berechnungen einfach:

  • Chroud's DPS = Attack Power / ATB Speed
  • Jane's DPS = Magical Power / ATB Speed

Basierend auf unseren Berechnungen beträgt Janes DPS 50 zu Chrouds ungefähr 42. Das ist ein bisschen ungleichmäßig, aber ziemlich ausgeglichen. Aber es gibt ein Problem: Während Chroud theoretisch für immer mit seinem Schwert angreifen kann, wird Jane irgendwann die MP ausgehen, wenn sie zu viele Zauber wirkt. Um die Sache noch komplizierter zu machen, werden einige von Janes Zaubersprüchen stärker sein als andere. Daher können wir ihren DPS nicht allein mit Magical Power berechnen. Lassen Sie uns stattdessen etwas tiefer gehen.

Zauber

In den meisten RPGs wird den Zaubernden eine virtuelle Lawine von Zaubersprüchen präsentiert, insbesondere wenn sie das Endspiel erreichen. Während viele dieser Zaubersprüche automatisch als Charakterstufe gewährt wurden, konnten Spiele wie Final Fantasy VI jedem Charakter so viele Zaubersprüche erlernen, wie er wollte - alles, was erforderlich war, war Geduld. Diejenigen mit einer Affinität zum Wirken haben jedoch mit ihren Angriffszaubern immer mehr Schaden angerichtet und mit ihren unterstützenden Zaubersprüchen eine bessere Heilung. Dies war beabsichtigt.

Final Trigger verwendet Magical Power daher nicht als festen Indikator für DPS, sondern als Variable. Damit können wir die Kraft jedes einzelnen Zaubers bestimmen. Um den Arbeitsaufwand zu begrenzen, geben wir der armen Jane nur drei Zauber. Einer wird ein Einzelziel-Feuerball mit geringem Schaden sein, der billig zu wirken ist. Die zweite wird eine kostenintensivere, leistungsstärkere Version desselben Zaubers sein. Im Geiste von Rollenspielen der alten Schule nennen wir es Feuer 2. Und zum Schluss geben wir Jane einen AoE-Zauber namens: Oh, ich weiß nicht... Meteor.

Unter der Annahme einer magischen Kraft von 500 funktionieren Kraft und Schaden pro Zauber wie folgt:

Jane's bloated DPS.Jane's bloated DPS.Jane's bloated DPS.
Jane's aufgeblähter DPS.

Die erste Frage, die Sie sich stellen könnten, ist, warum das Wirken von Feuer 2 dreimal so viel kostet wie Feuerball, aber nur den doppelten Schaden verursacht. Es ist ein berechtigtes Anliegen. Die kurze Antwort lautet: Während Fireball Mana-effizienter ist, ist Fire 2 kampfeffizienter. Vergleichen Sie es mit dem Unterschied zwischen einem Boxer-Stoß und einem Uppercut. Stöße verursachen weniger Schaden, erfordern jedoch weniger Anstrengung, während Oberschnitte sicherlich anstrengender sind, aber möglicherweise verwendet werden können, um einen Gegner mit einem verheerenden Schlag auszuschalten.

Mit anderen Worten, wenn das Wirken von Feuer 2 4 MP kosten würde, wäre es niemals notwendig, Feuerball zu wirken. In Final Trigger besteht das Ziel darin, ein intelligentes Ressourcenmanagement zu fördern. Wenn Sie es jedoch vorziehen, Fireball nach dem Erlernen von Fire 2 überflüssig zu machen, können Sie dies auf jeden Fall tun.

Zurück zu unserem Beispiel: Meteor ist eindeutig nur für den Einsatz gegen große Gruppen von Feinden geeignet. Gegen ein einzelnes Ziel verursacht es nur ungefähr den gleichen Schaden wie Feuerball zu deutlich höheren Kosten.

Die Berechnung der DPS jedes einzelnen Zaubers ist eine Sache, aber die Bestimmung der durchschnittlichen DPS von Jane ist ein ganz anderes Tier. Dazu müssten wir wissen, wie viel MP sie hat, wie viele Mana-Ressourcen sie wiederherstellt und ob MP nach jedem Kampf oder nur durch einen Besuch im Gasthaus wiederhergestellt wird. Da Jane zu AoE fähig ist, möchten wir auch wissen, wie viele Feinde die Gruppe durchschnittlich gleichzeitig bekämpft und wie viele Runden durchschnittlich erforderlich sind, um diese Feinde zu besiegen. Da wir das noch nicht festgestellt haben, werden wir uns vorerst damit begnügen, den durchschnittlichen DPS von Jane zu approximieren, und uns später über die irrelevanteren Bedingungen Gedanken machen.

Tun Sie dies, indem Sie zuerst den Schaden pro Mana (DPM) -Punkt jedes Zaubers herausfinden. Um die DPM für Meteor zu berechnen, nehmen wir an, dass Jane sie nur wirkt, wenn sich zwischen drei und fünf Feinde auf dem Schlachtfeld befinden, durchschnittlich vier. Die Ergebnisse sind wie folgt:

Jane's damage per MP spent.Jane's damage per MP spent.Jane's damage per MP spent.
Janes Schaden pro ausgegebenem MP.

Unter der Annahme, dass jeder Zauber mit der gleichen Häufigkeit gewirkt wird, geben wir an, dass Jane durchschnittlich 6,67 MP pro Runde ausgibt, wobei jeder Punkt ungefähr 15 Schaden verursacht. Wenn man die beiden Zahlen multipliziert, kann man daraus schließen, dass Jane satte 100 DPS macht, was viel mehr ist als Chroud.

Der Manavorrat von Jane ist jedoch begrenzt, und es gibt keine Möglichkeit, diesen Schaden pro Sekunde aufrechtzuerhalten, ohne Ressourcen zu verbrauchen oder auf andere Weise Mana aufzufüllen. Wenn Jane kein Mana mehr hat, sinkt ihr DPS um 80 Prozent bis auf 20. Ihr Vertrauen in MP senkt letztendlich ihren gesamten DPS, aber sinkt er genug, um mit Chrouds im Gleichgewicht zu sein?

Fall Analyse

Wir wissen, dass Chrouds Basis-DPS 50 ist und dass Jane ungefähr 100 ist, wenn sie MP hat, und 20, wenn sie keine hat. Um das perfekte Verhältnis von magischen zu physischen Angriffen für Janes DPS zu ermitteln, das dem ihres Gegenübers entspricht, verwenden wir das folgende Gleichungssystem:

\[\begin {align}
50 &=100x + 20y\\
x + y &=1
\end {aligned}\]

Wenn Sie mit Algebra überhaupt nicht vertraut sind, ist das in Ordnung. Der beste Weg, sich dieser Gleichung zu nähern, besteht darin, zuerst nach \(x\) in der unteren Gleichung zu lösen:

\ [x=1 - y \]

Nehmen Sie nun das Ergebnis und fügen Sie es in die oberste Gleichung ein:

\[50=100 (1-y) + 20y\]

Löse nach y:

\ [\ begin {align}
50 &=100 - 100y + 20y \\
-50 &=-80y \\
y &=5/8
\end{aligned}\]

Und stecken Sie diesen Wert in die untere Gleichung, um nach x zu lösen:

\[\begin {aligned}
x + (5/8) &=1\\
x &=3/8
\end {aligned}\]

Daraus können wir schließen, dass Jane in mehr als 62 Prozent (5/8) der Zeit kein Mana mehr haben müsste, damit ihr DPS dem von Chroud entspricht. Was wir wirklich sagen ist, dass Janes Zauber überwältigt sind - so sehr, dass ihre Manaressourcen extrem knapp sein müssten, damit sie auf das Niveau einer mickrigen Kriegerin reduziert werden kann. Dieser Ansatz würde zu einem Gleichgewicht führen, aber nicht zu dem Gleichgewicht, das wir uns erhofft hatten.

Was können wir also dagegen tun?

Das Schöne an unserem System ist seine Flexibilität. Wenn wir einen Spieler stärker oder schwächer machen wollen, gibt es mehrere Möglichkeiten, dies zu tun. In unserem Fall möchten wir, dass Jane mehr Zauber wirken kann und dennoch relativ im Gleichgewicht mit Chroud bleibt. Dazu können wir:

  • Reduziere die Manakosten ihrer Zauber.
  • Gib ihr noch einen Zauber.
  • Erhöhen Sie ihren Manavorrat.

Sowohl der erste als auch der dritte Ansatz scheinen praktikable Optionen zu sein. Wenn wir die Kosten für Janes Zauber um ein Drittel bis die Hälfte reduzieren, bleibt ihr Schaden pro Sekunde gleich, aber sie verursacht mehr Schaden pro ausgegebenem Manapunkt. Sie erhöht auch die Anzahl der Zauber, die sie wirken kann, bevor ihr Mana ausgeht. Alternativ erhöht sich durch Erhöhen ihres Manavorrats der DPM von Jane nicht, aber sie kann immer noch mehr Zauber ausführen. Nach einigem Herumbasteln sollten wir also in der Lage sein, ein Gleichgewicht zu erreichen, das funktioniert und Sinn macht.

Und genau darum geht es beim Balancieren eines rundenbasierten Rollenspiels oder eines beliebigen Rollenspiels: mit Zahlen herumspielen, bis Sie etwas finden, das funktioniert. Es muss nicht unbedingt perfekt oder hübsch sein, noch muss es fortgeschrittene Mathematik implementieren. Solange kein Parteimitglied wesentlich mächtiger oder weniger mächtig ist als jedes andere, haben Sie ein gewisses Maß an Erfolg erzielt.


Abschluss

In diesem Artikel haben wir das rundenbasierte RPG-Gleichgewicht aus der Sicht einzelner Parteimitglieder untersucht. Bevor Sie sich mit dieser Art von Gleichgewicht befassen, sollten Sie sich folgende Fragen stellen:

  1. Was sind meine Basisstatistiken? Was sind meine abgeleiteten Statistiken?
  2. Fallen die Parteimitglieder unter bestimmte Klassenkategorien? Wenn ja, was sind sie?
  3. Welche Art von Zahlen möchte ich auf dem Bildschirm sehen - große oder kleine?
  4. Wie viel Faktor soll die Zufälligkeit spielen?
  5. Ist der Umfang meines Spiels realistisch oder werde ich am Ende Monate damit verbringen, mein Spiel auszugleichen?

Final Trigger erwies sich als weniger kompliziert als RPGs aus den frühen neunziger Jahren, aber es dauerte immer noch einen ganzen Artikel, um ein rudimentäres Gleichgewicht zwischen zwei Klassen zu erreichen. Wir haben nicht einmal das Gleichgewicht der Feinde, die KI und das fortschrittliche Ressourcenmanagement angesprochen. Um die Ausgewogenheit Ihres Spiels wirklich zu testen, sollten Sie ein codiertes Modellierungssystem entwickeln, mit dem Designer eine Reihe von Werten eingeben können. Dadurch wird der Ausgleichsprozess erheblich beschleunigt. Andernfalls müssen Sie eine Excel-Tabelle oder eine gleichwertige Tabelle verwenden. Die oben erläuterten Prinzipien tragen jedoch wesentlich dazu bei, Sie in die Balance-Denkweise zu bringen.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Game Development tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.