Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • Mitsch93

    Kriegsherr

    Sie müssen sich registrieren, um eine Verbindung mit diesem Benutzer herzustellen.

310

Entwickler-Talk: Skalierungen

Bewertung:

Von Mitsch93, Mittwoch, 10. Mai 2017, 18:06

Ahoi,

da das Semster wieder angefangen hat, hab ich leider in den letzten Wochen nicht soviel
Zeit für DS gehabt wie im März <.<
Aktuell habe ich das EP-Reg.- Attribut neu überarbeitet (in der Berechnung bzw. in der "Skriptweise") und
das +TP-Attribut hinzugefügt. Dafür musste ich noch einige Status-Windows aktualisieren (Shop, Equip, Crafting), ging
aber ganz gut über die Bühne.

Das das +TP-Attribut hinzugekommen ist, musste ich natürlich seine Verteilung überdenken (auf welche Stufe, wieviel +TP
durch Ausrüstung). Bei der Gelegenheit habe ich meine komplette Rüstungsskalierung mal mathematisch exakt beschrieben -
vorher war das ehr nach Gefühl (auf Stufe 10 bekommt man 20 Stufen, Stufe 20 bekommt man 30 Stufen ...).

Und deshalb dachte ich: Hey - teile ich mal mein gefährliches Halbwissen wissenschaftlich erarbeitetes
Konzept mit der Community - falls jemand vielleicht mal das selbe tun möchte.
Deshalb kommt hier Folge 1 der neuen Rubrik Entwickler-Talk!



1. Unsere Ausrüstung

Ich mache das mal beispielhaft am Standard-XP-Helden mit 5 Ausrüstungsslots:
  1. Waffe
  2. Schild
  3. Brust
  4. Helm
  5. Schmuck


Nur mal als Übersicht.



2. ,,Entwicklungsfunktion"

Das jetzt kommt, nenne ich einfach mal ,,Entwicklungsfunktion".
Diese Funktion beschreibt den Attributszuwachs durch Ausrüstung des Charakters in Abhängigkeit seines Levels.
Die Grundlagen dazu habe ich in meinem Tutorial erwähnt (3.2.4 - Attributsgewinn).

Also es geht wieder um Stufen. Remember: Eine Stufe bedeutet, dass der Attributsanstieg des jeweiligen Ausrüstungsslots
den eines Levelanstiegs des Charakters entspricht.

Die Funktion kann theoretisch beliebig gewählt werden. Aber man beachte:
  • Eine lineare Funktion führt zu einem linearen Attributsgewinn durch Ausrüstung.
  • Eine exponentielle Funktion (z.B. x^2) führt dazu, dass der Attributsgewinn mit steigendem Level
    immer stärker wird. (Beispiel: x=2 => y=4 ; x=4 y=16, Eine Verdopplung des Levels führt also zu einem vier-fachen
    Attributsanstieg!). In der Praxis hat das zu Folge, dass niedrigstufige Gegner viel leichter zu besiegen sind als
    mit einer linearen Funktion.


Hier mal zwei einfache Beispiele:
Attributsgewinn sei A, Lv ist das Level des Charakters.

Lineare Entwicklungsfunktion:
A = 1,25 * Lv

Bild

Exponentielle Entwicklungsfunktion:
A = Lv^(1,5)

Bild

:information: Hinweis
Den Wert, den man für A erhält ist also der absolute Attributsgewinn in Stufen, den
der Charakter durch ALLE Ausrüstungsgegenstände zusammen erhält.
Wenn A=10 ist bedeutet das also nicht, dass der Charakter für jeden Ausrüstungsgegenstände
10 Stufen erhält, sondern für alle zusammen!

:information: Hinweis:
Wer kein grafikfähigen Taschenrechner / kein PC- Tool besitzt, um sich die Graphen darstellen zu lassen,
dem empfehle ich wolframapha.
So sieht z.B. eine Eingabe aus: Wolframalpha Lin. Funktion

Man beachte außerdem die Obergrenze auf Level 99. Wenn dort der theoretische Gewinn 1000 Stufen betragen würde, kann
man schnell das Cap des Makers erreichen (Attribute max. 999).

Für mein Beispiel nehme ich mal eine lineare Entwicklungsfunktion:
A = 2 + 1,25 * Lv



3. Attributsgewinn durch Levelaufstieg der Charaktere

Als Beispielhelden nehmen wir den guten Basil. Alex ist ausgelutscht!
Aluxes Basil erhält pro Stufe die folgenden Mengen an Attributen (Standardeinstellung):

Attribut
Steigerung pro Level
STR
+6

DEX
+7

AGI
+7

INT
+4



Das dient erstmal nur zur Übersicht.

4. Verschiedene "Stärken" der Rüstungsslot

Wie erwähnt, verwenden wir die 5 Standard-Rüstungsslots.
Wir könnten jetzt sagen, dass jedes Rüstungsteil den selben Gewinn bringt.

Nun erstellen wir mal eine Waffe für den guten Basil nach unsere Entwicklungsfunktion für Stufe 5.

A(Lv=5) = 2+ 1,25 * 5 = 8,25

Auf Level 5 erhält Basil also 8,25 Attributsstufen durch Ausrüstung hinzu.
Da wir 5 Ausrüstungsslots haben, und jeder den gleichen Gewinn bringen soll erhält Basil
also 100% (Maximum) / 5 (Anzahl Ausrüstungsslots) = 20% Attributsgewinn durch die Waffe.
8,25 * 20% (=0,2) = 1,65

Nun errechnen wir die einzelnen Attribute:
STR: 1,65 * 6 = 9,9 = Runden = 10
DEX: 1,65 * 7 = 11,55 = Runden = 12
AGI: 1,65 * 7 = 11,55 = Runden = 12
INT: 1,65 * 4 = 6,6 = Runden = 7

Damit wären die Attribute verteilt.
Allerdings wird es natürlich ein wenig aufwendiger, wenn einige Ausrüstungsslots stärker sein sollen
als andere.
Sagen wir mal, dass wir die folgende Hierarchie haben möchten:
Brust > Waffe > Helm > Schild > Schmuck

Nun gibt es mehrere Herangehensweisen, wie wir herausfinden, wieviel % des Attributsgewinns
jeder Slot gibt.

1.) Wild raten
Wir ordnen jedem Ausrüstungsslot eine beliebige Prozentzahl nach unserer Hierarchie zu.
Einzige Vorrausstung: Es muss insgesamt 100% herauskommen, nicht mehr nicht weniger.

z.B.
Brust = 30%
Waffe = 25%
Helm = 20%
Schild = 15%
Schmuck = 10%
Summe = 100% :tick:

2.) Strukturiert vorgehen
Hierzu verwenden wir mal "x" als kleinsten Prozentsatz. Diesen wird dem schwächsten Rüstungsslot zugeordnet.
Schmuck -> x
Nun wollen wir, das Schild z.B. 20% Stärker ist d.h.
Schild -> 1,2 * x
Der Helm soll wieder 20% stärker sein als das Schild:
Helm -> 1,2*1,2*x = 1,44 * x
Die Waffe soll 30% stärker sein, genauso wie die Brust:
Waffe -> 1,3*1,44*x = 1,872 * x
Brust -> 1,3*1,872*x = 2,4336 * x

Alle x-Werte aufsummiert müssen natürlich den 100% entsprechen, d.h.
x (Schmuck) + 1,2 * x (Schild) + 1.44 * x (Kopf) + 1,872 * x (Waffe) + 2,4336 * x (Brust) = 100%
7,9456 *x = 100% => x = 12,585 %

Dieser Wert ist also der niedrigste und gilt für unseren Schmuck. Um die restlichen Werte zu erhalten, muss
man nur noch das in die Formeln für die übrigen Slots einfügen:

Schmuck: x = 12,59 %
Schild: 1,2*x = 15,1 %
Helm: 1,44 * x = 18,12 %
Waffe: 1,872 * x = 23,56 %
Brust: 2,4335 *x = 30,63 %

In der Summe: 100%. :tick:

:information: Hinweis:
Geringe Abweichungen können durch Rundungen auftreten.

Wenn wir jetzt eine Waffe für Level 5 erstellen wollen (Attributsgewinn nach der gewählten Funktion war
ja 8,25 Stufen) setzen wir einfach den Prozentwert des Slots ein:
Waffe: 23,56%
8,25 * 23,56% (0,2356) = 1,944

Same procedure as see above #englischkannich
STR: 1,944 * 6 = 11,67 = Runden = 12
DEX: 1,944 * 7 = 13,61 = Runden = 14
AGI: 1,944 * 7 = 13,61 = Runden = 14
INT: 1,944 * 4 = 7,78 = Runden = 8

Die Vorteile dieser Methode habe ich größtenteils auch im Tutorial erwähnt.
Nicht jeder Ausrüstungsslot hat dadurch den selben Wert. Der Spieler wird sich in diesem Fall mehr über
eine neue Brust (evtl. erhalten nach einer schwierigen Quest) freuen, als über neuen Schmuck.

:information: Hinweis:
Bei ATK, PDEF und MDEF kann man natürlich genauso vorgehen.



5. Seltenheit einfließen lassen

Für die, die den Hals immer nocht nicht voll haben, kann man noch mit Seltenheitsgraden von Items spielen.
In jedem Game gibt es ja in irgendeiner Art und weise diese Grade.
Seltene Items sind natürlich in der Regel stärker, als diejenigen, die häufig vorkommen.
Und wer nicht möchte, dass die Item "pi mal Daumen" skaliert werden, sondern immer auf die gleiche Art und
Weise, der kann es ja so tun wie ich:

Definieren wir uns mal beispielhaft einige Seltenheitsschwellen:
  • Normal
  • Selten
  • Secret Rare Yu-Gi-Oh!-Playm inc.!


Attributsbonus für seltene Items: +25%
Attributsbonus für secret rare Items: +50%

Also rechnen wir diesen Bonus einfach auf den Ausrüstungsgegenstand hinzu:
Beispiel Waffe:
Waffe: 23,56 %

Seltene Waffe:
23,56*1,25 (25%) = 29,45 %
Secret Rare Waffe:
23,56*1,5 (50%) = 35,34 %

Diese Prozentzahlen werden jetzt wie oben nach Schema f auf die Attribute umgerechnet.
Beispiel: Stufe 20
A(Lv=20) = 2+1,25*20 = 27

Normale Waffe:
27 * 23,56 % (0,2356) = 6,36 (Runden) = 6 Stufen
Seltene Waffe:
27 * 29,45% (0,2945) = 7,95 (Runden) = 8 Stufen
Secret Rare Waffe:
27 * 35,34% (0,3534) = 9,54 (Runden) = 10 Stufen

Die einzelnen Stufen werden dann natürlich wie in den anderen zwei Beispielen berechnet.



So, dachte da gibt einen kurzen Entwickler-Talk. Ist schon ehr ein kurzes Tutorial geworden^^.
Naja egal, hoffe euch hats gefallen, vielleicht kann der ein odere andere was damit anfangen.
Ihr könnt ja mal ein Kommi da lassen, ob ich die Rubrik weiterführen sollte oder nicht^^.
Habe den kompletten Beitrag jetzt nicht nochmal gegengelesen -> Rechtschreibfehler dürft ihr
also behalten.

Ansonsten wie immer, Liken und Sharen. Ihr könnt meinen Kanal natürlich unterstützen, indem ihr
die überteuerten Produkte, die keiner braucht, über den Link in der Videobeschreibung kauft.
Unter den Kommis mit den meisten Likes verlose ich eine Statistenrolle im nächsten Musikvideo
von Bibis Beauty Palast.

Bis dahin!

Dieser Artikel wurde bereits 95 mal gelesen.

Tags: Attribute, Ausrüstung, Balancing, Entwickler-Talk, Level, Skalierungen, Stufen

Kategorien: Entwickler-Talk


Kommentare (2)

  • 2

    Von Mitsch93 (Dienstag, 16. Mai 2017, 09:27)

    Offene Fragen dürfen natürlich gern gestellt werden^^

  • 1

    Von Josey (Montag, 15. Mai 2017, 20:50)

    Hey- kuhl XD
    Ziemlich ausführlich und ich bin nicht überall mitgekommen, aber es klingt super durchdacht :D

Blog Navigation

Vorheriger Artikel

Wie ich in meiner neuen Wohnung (bald) Spiele entwickle

Von Mitsch93 (Montag, 23. Januar 2017, 18:12)