Einer der Probleme, die ich in der Spieleentwicklung immer hatte, ist die Entscheidung, wie man Erfahrungspunkte einführt, die dem Erreichen eines Levels zugeschrieben werden. In vielen der von mir gespielten Spiele scheint es kein Muster zu geben, ein Level zu erreichen. Daher gehe ich davon aus, dass es eine statische Wörterbuchtabelle gibt, die Erfahrungspunkte im Vergleich zum Level enthält. z.B
Experience Level
0 1
100 2
175 3
280 4
800 5
... Es gibt keinen Reim oder Grund, warum 280 Punkte gleich Level 4 sind, es ist einfach so.
Ich bin nicht sicher, wie diese Ebenen entschieden werden, aber es wäre sicherlich nicht dynamisch. Ich habe auch über die Möglichkeit exponentieller Ebenen nachgedacht, um keine separate Nachschlagetabelle führen zu müssen, z
Experience Level
0 1
100 2
200 3
400 4
800 5
1600 6
3200 7
6400 8
... aber das scheint, als würde es ziemlich schnell außer Kontrolle geraten, da die Gegner im Spiel in den oberen Levels eine unglaubliche Menge an Erfahrung für das Level bereitstellen müssten - und das wäre zu schwer zu kontrollieren. Das Nivellieren würde zu einer unmöglichen Aufgabe.
Hat jemand irgendwelche Hinweise oder Methoden , die sie verwenden , um zu entscheiden , wie man Ebene ein Zeichen auf Erfahrung? Ich möchte beim Leveln fair sein und den Spielern einen Schritt voraus sein, um nicht ständig neue Erfahrungen / Level-Lookups hinzufügen zu müssen.
quelle
f'(x) = c*f(x)
) . Der Begriff "geometrisch" wird verwendet, wenn die Domäne (Eingabe) diskret ist (z. B. eine Ganzzahl). Die Formel für das Beispiel von @ George über Ebene 1Experience = 100 * 2^(Level-2)
ist exponentiell. Die Formel für Ihren Fortschritt über Stufe 1 istExperience = 100^(Level-1)
ebenfalls exponentiell.Antworten:
Es ist durchaus üblich, eine quadratische Beziehung zu verwenden.
level = constant * sqrt(XP)
Oder das ungefähre Äquivalent einer linear ansteigenden Niveaulücke.
Diese Systeme funktionieren ziemlich gut, wenn die XP-Verstärkung ungefähr linear ist. Wenn ein Charakter mit hohem Level XP schneller verdienen kann als ein Charakter mit niedrigem Level, dann ist dies nicht das richtige System.
quelle
Logarithmische Funktionen sind wahrscheinlich hilfreich, da sie den Anstieg verlangsamen können, wenn mehr Erfahrungspunkte gesammelt werden. Hier sind zwei Webseiten, die erklären, wie diese funktionieren:
Diagramme logarithmischer Funktionen
http://www.analyzemath.com/Graphing/GraphLogarithmicFunction.html
Einführung in die grafische Darstellung logarithmischer Funktionen
http://www.purplemath.com/modules/graphlog.htm
So sieht es in einem Diagramm aus, das hoffentlich Ihren Anforderungen entspricht:
quelle
level = log(XP) <=> XP = e^level
. Die Anforderung mag für die letzten Levels etwas steil ausfallen, aber es wird mit einem geeigneten Wachstum der XP-Akkumulation funktionieren.Dies sind einige Möglichkeiten, die ich bisher verwendet habe. Sie sind nach Wachstumsrate sortiert (multiplizieren Sie einfach jede Gleichung mit einem konstanten Wert):
exp = level (dies mag seltsam erscheinen, aber für einige Spiele, die exp-Änderungen entsprechend dem Level des Spielers belohnen, wie zum Beispiel Borderlands, passt dies möglicherweise dazu)
exp = level * log 10 (level)
exp = level ^ const_value: für mein Beispiel setze ich const value auf 3/2
quelle
Ich denke, es hängt davon ab, wie einfach der Spieler die Erfahrung machen kann. Wenn der Spieler in 20 Minuten 200 xp auf Stufe 1 und in 2 Minuten 200 xp auf Stufe 2 erreichen kann, müssen Sie Ihre xp exponentiell skalieren.
Wenn es jedoch nur unwesentlich einfacher ist, eine Stufe zu erreichen, sollten Sie eine Stufe-xp-Funktion ausführen. (Möglicherweise linear mit einem Koeffizienten> 1)
quelle
Oft basieren die Punkte, die zum Erreichen eines Levels benötigt werden, auf einer Kurve. In vielen Rollenspielen gibt es auch viele andere Eigenschaften und Attribute deines Charakters, die mit deinem Level zunehmen. Sie werden sich auch auf eigenen Kurven befinden.
Schauen Sie sich RPGMaker an, um zu sehen, wie sie Dinge tun. Sehen Sie sich insbesondere die Parameterkurven in den Screenshots des Abschnitts "Hinzufügen von Eindeutigkeiten durch Anpassen der Startausrüstung" im Dokument " Erstellen eines Hauptcharakters" an .
Grundsätzlich kann es sein, dass Sie eine Kurve dafür haben, wie viel EP zum Aufstieg benötigt werden, und dann unterschiedliche Kurven dafür, wie viel HP, MP, Ausdauer, Stärke usw. in jedem Level erreicht werden.
quelle
Betrachten Sie die Zeit
Sie müssen zuerst herausfinden, wie sich der Erfahrungsgewinn mit dem Level verändert. Dann können Sie Ihre Nivellierung nach Zeitbedarf anpassen . Wenn Sie mit jedem zusätzlichen Level doppelt so schnell Erfahrung sammeln und doppelt so viel Erfahrung für das Level benötigen, benötigt jedes Level dieselbe Zeit.
Mein Vorschlag ist, darüber nachzudenken, wie viel Zeit der Spieler verbringen soll, und dann das Level darauf abzustimmen.
quelle
Vielleicht sollte ich einfach ein flaches Nivelliersystem verwenden, bei dem jedes Level genau die gleiche Erfahrung erfordert.
quelle