Ergebnis 1 bis 20 von 39

Thema: ATB -> CTB

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Moment; das mit den Prozentwerten erscheint mir nicht schlüssig... sofern ich das richtig verstehe.

    Beispiel:
    Mein Startheld lernt auf Level 5 gerade seinen ersten Zauber. Der Zauber dauert 200% des Tempos. Der Tempowert auf dem niedrigen Level ist 15. Ergo: Die Aktion dauert 30 Einheiten.

    Jetzt spiele ich weiter. Mein Held wird Level 35 und hat jetzt Tempowert 50. Derselbe Zauber dauert jetzt nach dieser Logik 100 Einheiten (anstatt wie auf dem niedrigen Level nur 30).


    => Habe ich das so richtig verstanden? Das erscheint mir nicht sinnvoll zu sein, wenn dem wirklich so ist. Als Alternative werfe ich mal das hier ein:

    (Dauer des Standardangriffs) * (Modifikator der Aktion)
    ------------------------------------------------------------------------------ = Dauer der Aktion
    ...................... Tempowert des Charakters


    @ Reihenfolgeanzeige:
    In den Bildern wird also die Reihenfolge bei Ausführen dieser Aktion angezeigt? D.h. wenn ich Pfeil hoch / runter drücke, wird sofort die Reihenfolge geupdated? Wenn das so ist, finde ich das top .

  2. #2
    Zitat Zitat
    => Habe ich das so richtig verstanden? Das erscheint mir nicht sinnvoll zu sein, wenn dem wirklich so ist.
    Nein. Die Prozent beziehen sich auf das, was hinzugefügt wird.
    Beispiel für einen Durchlauf des Skripts bei Tempowert 10:
    100%: aktueller Zeitwert + 10
    500%: aktueller Zeitwert + 50

    Der "aktuelle Zeitwert" ist quasi der Wert, der den Ready-Wert überschreiten muss, damit ein Slot in der Aktionsreihenfolge belegt wird.

    Zitat Zitat
    In den Bildern wird also die Reihenfolge bei Ausführen dieser Aktion angezeigt? D.h. wenn ich Pfeil hoch / runter drücke, wird sofort die Reihenfolge geupdated? Wenn das so ist, finde ich das top .
    So wahr mir Gott helfe:



    Das ist ein Test mit 1000% für Zauber. Ich verstehe es noch nicht ganz.

  3. #3
    Danke für die Bilder^^.
    Sieht auf jeden Fall richtig gut aus!
    Die 3D-Perspektive macht richtig was her .

    Bzgl. Dauer einer Aktion:
    Anscheinend haben wir wirklich aneinander vorbeigeredet. Bisher bin ich davon ausgegangen, dass die Aktion sofort ausgeführt wird, aber die Aktionsdauer dann negativ für den folgenden Zug berechnet wird (d.h. mache ich jetzt eine Aktion mit hoher Dauer, dauert es länger, bis ich wieder dran komme).

    Jetzt habe ich den Eindruck, dass die Aktion erst ausgeführt wird, wenn diese Dauer vergangen ist. So ähnlich wie in Grandia.
    Also so ganz blicke ich noch nicht, wie genau du das umsetzt. Ist aber auch nicht so wichtig^^.

  4. #4
    Danke. ^^ Der Gegner ist nur nicht für den HG gedacht, deswegen kollidiert er ein wenig mit dem Haus.

    Vielleicht kann ich hier auch ne kleine Techdemo von dem System reinstellen. Ich hab auf jeden Fall jetzt mehr Zeit, daran zu arbeiten.

  5. #5
    Falls du immernoch mit deinem Algorithmus etwas ähnliches implementierst, wie das was ich beschrieben hatte, dann müsstest du eine "Aktions-Dauer" beim abziehen des Ready-Werts implementieren. Also diese Zeile von meinem Algorithmus würde sie ändern:

    Alt:
    Zitat Zitat
    Sobald ein Charakter seinen Zug durchgeführt hat gilt: Ready-Wert = Ready-Wert - Ready-Limit
    Neu:
    Zitat Zitat
    Sobald ein Charakter seinen Zug durchgeführt hat gilt: Ready-Wert = Ready-Wert - (Ready-Limit * Aktions-Dauer)
    Eine Aktion könnte also eine Dauer von 2,0 haben und würde dann doppelt so lange dauern wie eine Aktion mit einer Dauer von 1,0.

    Falls du keine Kommazahlen zur Verfügung hast kannst du eine simple Prozentrechnung durch eine Teilung durch 100 nach der Multiplikation erreichen. Also:
    Zitat Zitat
    Ready-Wert = Ready-Wert - (Ready-Limit * Aktions-Dauer) / 100
    Hierbei wäre die Aktions-Dauer ein Prozentwert, also 100 für 100%, 175 für 175%, etc.

    Vielleicht hilft dir das ja in irgendeiner Weise weiter.

  6. #6
    @Cornix

    Von der Seite könnte man das natürlich auch angehen. Muss ich mal ausprobieren. u.U. droppt der Wert dann halt zeitweise ins Minus.
    Bis jetzt hab ich quasi versucht, die Prozentrechnung auf den Wert, der immer hinzugefügt wird (quasi den Tempowert) anzuwenden. Bin mir nicht sicher, was das für nen Unterschied macht.
    edit: das scheint mir zum genau gleichen Ergebnis zu führen. ich schreib morgen nochmal, womit ich momentan etwas hadere.

    Geändert von IndependentArt (10.04.2019 um 21:36 Uhr)

  7. #7
    Ich habe das Gefühl, es wird langsam. Trotzdem gehen dem Skript noch nicht die Ideen für neue Bugs aus.
    Ich versuche mal mein gegenwärtiges Problem mit Hilfe dieses Videos zu erörtern:



    Ich verlange nicht, dass da jemand durchsieht. Vielleicht hilft es mir ja auch schon, das einfach aufzuschreiben.
    Die Aktion Zauber hat in diesem Beispiel eine Geschwindigkeit von 20% (vom Tempowert, bei Tempowert 10 also 2). Man könnte auch sagen, sie ist 80% langsamer als der normale Angriff. Dementsprechend viele Züge bekommt der Gegner, wenn ich sie auswähle. (ich benutze dann nur Abwehr, weil das als Aktion keine wirkliche Dauer hat)
    Verfolgt man das Video weiter, sieht man, dass der Hase 2 Mal dran ist. Nach dem 2. Zug, verändert sich jedoch die Reihenfolge (etwa bei Sekunde 9, Tipp: mit , und . kann man Frames springen ). Das hat damit zu tun, dass die "Aktionsdauer" zurückgesetzt wird. Das heißt, ab da werden die nächsten Züge nicht mehr mit 20%, spondern wieder mit 100% berechnet und der Charakter ist schneller dran als ursprünglich gedacht. Das hat damit zu tun, was ich weiter oben beschrieben habe, dass die veränderte Aktionsdauer nur für den nächsten Zug angenommen wird und die Züge danach wieder mit 100% berechnet werden.

    Nun könnte man auf die Idee kommen zu sagen: "Na dann lass die Zugdauer halt bis zum nächsten Zug des Charakters gleich".
    Das war auch mein erster Impuls, aber ich habe den Eindruck, wenn ich mit 20% NEU berechne, funktioniert das auch nicht wirklich. Vielleicht hab ich da aber auch nur irgendnen Fehler drin, den ich grad noch nicht checke.

  8. #8
    Was wäre denn das gewünschte Verhalten? Irgendwie stehe ich hier öfter auf dem Schlauch...
    Soll der Hase bei dem niedrigen Tempowert des Helden 4x hintereinander dran kommen? In dem Fall sollte der Tempo-Modifikator erst mit dem nächsten Zug des Charakters geändert werden.

    Als kleine Anmerkung: Die Berechnung zeigt hier teilweise falsche Prognosen an; es wird angezeigt: Hase Hase Hase Hase Hase Ramirez Hase Hase Hase Hase Hase Ramirez ....
    Der unterstrichene Teil ist da ja noch korrekt, aber danach stimmt es nicht mehr.

    ----
    Was hälst du davon, jedem Zauber einfach einen (ggf. vom Tempowert abhängigen) Malus zu geben, der einmalig abgezogen wird? Dann sollte die Berechnung immer korrekt angezeigt werden.

  9. #9
    Zitat Zitat
    Soll der Hase bei dem niedrigen Tempowert des Helden 4x hintereinander dran kommen? In dem Fall sollte der Tempo-Modifikator erst mit dem nächsten Zug des Charakters geändert werden.
    Ja, so soll das eigentlich laufen. Den Tempo-Modifikator erst mit dem nächsten Zug zu ändern hab ich wie gesagt versucht, aber vlt hab ich da auch nen Fehler reingebaut.

    Zitat Zitat
    Hase Hase Hase Hase Hase Ramirez Hase Hase Hase Hase Hase Ramirez ....
    Der unterstrichene Teil ist da ja noch korrekt, aber danach stimmt es nicht mehr.
    Wo genau siehst du da den Fehler ...?

    Zitat Zitat
    Was hälst du davon, jedem Zauber einfach einen (ggf. vom Tempowert abhängigen) Malus zu geben, der einmalig abgezogen wird? Dann sollte die Berechnung immer korrekt angezeigt werden.
    Das dürfte ungefähr auf das gleiche hinauslaufen, was Cornix mit "Ready-Wert = Ready-Wert - (Ready-Limit * Aktions-Dauer) / 100" vorgeschlagen hat, oder?

  10. #10
    Zitat Zitat von IndependentArt Beitrag anzeigen
    Wo genau siehst du da den Fehler ...?
    Angezeigt wird: 4x Gegner, Held, 4x Gegner
    Aber die tatsächliche Reihenfolge ist doch eher: 4x Gegner, Held, 1x Gegner, Held
    Weil der Held ja erstmal wieder sein "normales Tempo" zurückbekommt, wenn er das erste Mal wieder dran ist, oder?

    Zitat Zitat von IndependentArt Beitrag anzeigen
    Das dürfte ungefähr auf das gleiche hinauslaufen, was Cornix mit "Ready-Wert = Ready-Wert - (Ready-Limit * Aktions-Dauer) / 100" vorgeschlagen hat, oder?
    Das geht alles irgendwo in die gleiche Richtung . Ich dachte eher an:
    Ready-Wert = Ready-Wert - Ready-Limit - (Aktionsdauer / Tempowert)

  11. #11
    Puh, dieses Skript fuckt mich mehr ab, als ich gedacht hätte. Deswegen will ich mein Hauptproblem nochmal mit Hilfe eines Videos illustrieren.

    Bedingungen:
    Charakter Tempo: 20
    Gegner Tempo: 20
    ReadyWert: 41

    Ich habe im Video das jeweilige Durchzählen beim Charakter mit einer Message Box visualisiert (nicht für das Preview allerdings).
    Außerdem läuft die Formel jetzt wieder mit einem "Malus", wie es Caledoriv nannte. Die Aktion Zauber hat eine Aktionsdauer von 500. Es wird also der ReadyWert*5 abgezogen. Bei 00:27 sieht man dann, dass das erfolgreich erledigt wurde und der aktuelle Wert des Charakters bei -194 liegt.
    In der Folge bekommt der Gegner ganze 6 Slots, bevor der Charakter wieder einen bekommt.

    Jetzt kommt allerdings das Problem: Der Charakter-Wert hat schon in dieser ersten Runde wieder aus dem Minus "herausgefunden" und einen normalen Wert erreicht. Deshalb wird er in der Berechnung, die ab ca. 00:50 stattfindet, wieder weiter vorn eingegliedert.
    Vielleicht hab ich ja mal wieder ein Brett vorm Kopf und die Lösung dafür ist relativ offensichtlich.


  12. #12
    Kann es sein, dass du irgendwo den Wert auf 0 setzt? Weil im Video nach dem Hasenangriff bei 0:47 wieder 0 eingeblendet wird.

    Alternativ kann es auch sein, dass es einen Bug gibt, wenn der Wert genau 0 erreicht, sobald das Ready-Limit abgezogen wird. Wenn ich mich nicht irre, passiert das an genau der Stelle nämlich auch. Das kann Zufall sein oder auch nicht^^.

  13. #13
    Dass der Wert dort auf 0 droppt ist Zufall. Der letzte Wert davor, der für den Charakter errechnet wurde, war 21. als nächstes wird also 21+20-41 gerechnet und es kommt genau auf 0.
    Das Problem ist halt, dass die Aktionsdauer angewendet wird, aber für den nächsten Rechendurchgang schon wieder aufgehoben ist.
    Ich hab zwar ein paar Ideen, wie man das lösen könnte, aber die erscheinen mir im Moment furchtbar kompliziert.
    zB könnte man versuchen, dass von der Aktionsdauer bei jedem Rechendurchgang maximal 100%=1 Zug=ReadyWert abgezogen wird. Das heißt, bei der ersten Berechnung nachdem man den 500% Zug ausgeführt hat, werden auch die 500% abgezogen. Gleichzeitig wird allerdings die Aktionsdauer selbst um 100% erleichtert. Danach werden also dann 400% abgezogen, dann 300% usw., bis der Charakter wieder dran ist und eine neue Aktionsdauer festlegen kann.

Berechtigungen

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