Ergebnis 1 bis 20 von 39

Thema: ATB -> CTB

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #12
    Ich habe einmal ein Kampfsystem mit einem ähnlichen System entwickelt. Ich hatte damals viele detaillierte Tests durchgeführt, bis ich ein System gefunden habe, mit dem ich zufrieden war.
    Mein System hat folgende Eigenschaften:
    * Es ist relativ simpel zu implementieren. (das ist sehr gut)
    * Ein Character mit doppelter Geschwindigkeit erhält ca. doppelt so viele Züge. (das ist eher gut)
    * Die Anzahl der Züge für einen Character entspricht ca. der Prozentzahl von dessen Geschwindigkeitswerts in Bezug zu der Summe aller Geschwindigkeitswerte. (das ist eher gut)
    * Es verhält sich zyklisch für genügend viele Züge. Das heist es bilden sich Muster für der Abfolge der Charactere. (kann gut oder schlecht sein, je nach Geschmack)
    * Sehr langsame Charaktere kommen erst sehr sehr spät zum Zug (das ist eher schlecht)

    Hier ist eine Beispielausgabe:


    Hier ist ein zweites Beispiel mit Zahlen die näher bei einander liegen:


    Zuletzt ein extremes Beispiel mit einhundert Zügen und sehr geringen Geschwindigkeitsunterschieden:




    Hier ist der Ablauf des Algorithmus:
    1. Jeder Charakter hat einen Geschwindigkeitswert (ich nenne diesen Agi). Hohe Werte sind besser als niedrige.
    2. Im Kampf gibt es für jeden Charakter einen Ready-Wert. Also wie bereit der Charakter ist am Zug zu sein.
    3. Zu Beginn des Kampfes wird das Ready-Limit auf das (Maximum aller Agi-Werte) + 1 gesetzt. <- Die +1 in dieser Berechnung ist wichtig! Sie verbessert das Ergebnis erheblich!
    4. Der folgende Pseudo-Code bestimmt, welcher Charakter im Moment am Zug ist:


    Code:
    1) Suche den Charakter mit dem höchsten Ready-Wert
    2) Hat ein Charakter einen Ready-Wert >= Ready-Limit ?
    2) Falls ja => Dieser Charakter ist am Zug.
    3) Falls nein => Setze für jeden Charakter den Ready-Wert = Ready-Wert + Agi
    4) Gehe zurück zu 1)
    Es ist hierbei wichtig, dass entweder der Ready-Wert von allen Charakteren oder von keinem erhöht wird.
    Sobald ein Charakter seinen Zug durchgeführt hat gilt: Ready-Wert = Ready-Wert - Ready-Limit.
    Der Ready-Wert für den aktiven Charakter wird also um das Ready-Limit reduziert.


    Ich hoffe das war ausführlich genug, um das Prinzip zu verstehen.

    Geändert von Cornix (04.04.2019 um 01:20 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •