Ergebnis 1 bis 17 von 17

Thema: [Rm2k3] Trefferwahrscheinlichkeit berechnen?

  1. #1

    [Rm2k3] Trefferwahrscheinlichkeit berechnen?

    Hallo, Leute.^^
    Ich habe vor, ein Kampfsystem zu basteln und habe mir einige Gedanken über die Trefferwahrscheinlichkeit, usw. gemacht. Ich habe eine logische Formel für die Berechnung gefunden, doch da muss man Wurzeln ziehen und der RPG Maker 2003 hat dafür kein Befehl. Gibt es vielleicht eine logische Lösung ohne Wurzeln zu ziehen oder gibt es einen Patch, um Wurzeln zu ziehen?( Rm2k3 v.1.08 )


    Vielen Dank,
    Kishio.

  2. #2
    Man kann die Wurzel wohl auch per Hand ohne Wurzelfunktion ziehen, aber das wäre vermutlich zu aufwändig. Aber ist das Teilen nicht sogar ein größeres Problem? Wenn A < Z, dann ist das Ergebnis immer 0 und erst ab A = Z * 2 ist der Wert größer 1. Gut, man könnte A und Z natürlich vorher noch mit großen Zahlen multiplizieren.

  3. #3
    Hmm... Ich glaube du hast recht o.o
    Die Formel habe ich als Tipp beim RPG Maker 2009 Ultimate bekommen, also dachte ich alles würde reibungslos funktionieren.

  4. #4
    Die Formel hatte ich nicht dafür gedacht, als Eventcode 1:1 nachzubauen

  5. #5
    Zitat Zitat von Kelven Beitrag anzeigen
    zu aufwändig.
    Aufwand?

    Whatever, hier ist eine rückwärts angegangene Wurzelfunktion:
    Zitat Zitat von EasyEventExporterEdit
    <> Change Variable: [0021: A/Z] = [?]
    <> Comment: Input "A/Z" von sqrt(A/Z) in Var[0021] eingeben. x100 für die Berechnung einer Nachkommastelle.
    <> Change Variable: [0021: A/Z] * 100
    <> Change Variable: [0022:guess] = V[0021]'s value
    <> Change Variable: [0022:guess] / 10
    <> Comment: / 10 für die Berechnung einer Nachkommastelle.
    <> Change Variable: [0022:guess] + 1
    <> Change Variable: [0022:guess] / 2
    <> Change Variable: [0024:iterations] = 5
    <> Comment: Hier Anzahl an Wiederholungen angeben, um ein genaueres Ergebnis zu erhalten.
    <> Label: 1
    <> Change Variable: [0023:calc] = V[0022]'s value
    <> Comment: Var[0023] merkt sich die Näherung des letzten Durchlaufes.
    <> Change Variable: [0022:guess] = V[0021]'s value
    <> Change Variable: [0022:guess] / V[0023]'s value
    <> Change Variable: [0022:guess] + V[0023]'s value
    <> Change Variable: [0022:guess] / 2
    <> Change Variable: [0024:iterations] - 1
    <> Fork Condition: If Variable [0024] not 0
    <> Jump To Label: 1
    <>
    : End
    <> Comment: In Var[0022] liegt die Schätzung des Ergebnisses aus sqrt(A/Z) mal 10 vor (enthält eine Nachkommastelle).
    Hat zwar ein Problem mit dem Aufrunden, aber es erfüllt seinen Zweck. (Lässt sich sicher noch optimieren)

  6. #6
    Erstmal Lob für die hübsche Formel. Hab die grad mal in Excel gebaut und mit Werten rumprobiert. Da hast du dir eine gelungene Formel ausgesucht. Hast du dich dabei von irgendwas inspirieren lassen oder wie bist du darauf gekommen?

    Neben der Tatsache, dass ich die Formel für ihren Zweck sehr gelungen finde, halte ich Trefferchancen allgemein in rundenbasierten Systemen für keine Sache, die Spass oder Taktik fördert, aber das ist eine angedere Geschichte.

  7. #7
    @bugmenot
    Danke! Ich werde es gleich ausprobieren

    @Corti
    Meinst du jetzt mich oder bugmenot? Wenn ich: Ich hab die Formel von Cherry.^^

  8. #8
    @bugmenot
    Zu aufwändig aus der Perspektive von jemanden, der kein mathematisches Verständnis hat.

    @Corti
    Die andere Geschichte ist aber das Wichtigste, da muss noch viel Überzeugungsarbeit geleistet werden! Mir fallen bei der Trefferchance auf Anhieb keine spielerischen Vorteile ein, nur Nachteile. Der Spieler verliert ohne Schuld einen Zug.

  9. #9
    @Kelven:

    bugmenot wendet in seinem Code das Heron-Verfahren an. Dafür braucht man kein mathematisches Verständnis.

  10. #10
    Zitat Zitat
    kein mathematisches Verständnis.
    >>mfw Brüche durch Brüche mit Potenzen.


    Wenn du ein eigenes Kampfsystem verwendest, solltest du evtl. neue Charakterwerte wie Reflex und Treffer verwenden, wie es in FFX der Fall ist.
    Hier mal ein Link, musst ein bisschen runterscrollen, wie es in FFX implementiert ist.

  11. #11
    Ich möchte auf Raildex' Anregung reagieren, indem ich dazu anrege genau das nicht zu tun. Es bringt nichts neue Stats und noch komplexere Formeln zu implementieren, wenn es die einfache Formel genau so tut, und zudem die Mechanik ansich ein Relikt ist. Final Fantasy 13 hat überhaupt keine Hitformal mehr.

    Im Spieldesign bedeudet es Frustration, wenn ein Misserfolg nicht vom Spieler hätte verhindert werden können. Ausgewürfeltes Versagen ist genau das.

  12. #12
    @Kyuu
    Ich bin Künstler, mich überfordert schon der Dreisatz! Aber mal ernsthaft, das was ich gestern auf die Schnelle gefunden hab, sah ziemlich lang und kompliziert aus (war denke ich nicht das Heron-Verfahren).

  13. #13
    Mir ist überhaupt nicht klar, was das mit dem wurzelziehen eigentlich soll. Einen Hit-Roll kann man wie in jedem X-beliebigen Pen-and-paper RPG ganz simpel über einen Zufallswert bestimmen. Der Gegner hat eine Ausweichchance von 5%, also würfelst du 1w100 und wenn das Ergebniss größer ist als 5, trifft der Angriff. Fertig.
    Wenn du Basis-Trefferchancen mit einbeziehen willst, machste das ganze Anders rum:
    Ein Charakter hat eine Basis-Trefferchance von 90% und der Gegner eine Ausweichchance von 5%. Also subtrahierst du 5 von 90, ergibt dann 85%. Dann würfelst du 1w100 und das Ergebniss muss kleiner sein, als 85.

    Problem gelöst.

    Ansonsten sehe ich das wie Corti. Einen Grund dazu, im Jahre 2014 noch Hitchancen in einem RPG zu verwenden, nur weil FF die bis vor 10 Jahren hatte, sehe ich nicht.

  14. #14
    Macht es doch dem armen Mann nicht so schwer, dass er die Wurzel per Event Code ziehen muss :P Das wird doch voll unübersichtlich xD
    Du hattest auch gefragt, ob es einen Patch gibt um Wurzeln zu ziehen, ja den gibt es, gerade wenn du den RPG Maker 2k3 v1.08 nutzt! --> DYNRPG mit dem Mathplugin
    Zumal, wenn du gerade bei der Gestaltung des KS bist, du dir damit sicherlich vieles erleichtern kannst bzw. das Ganze auch noch aufmotzen kannst ^^
    Sollte auch nicht zu schwer sein, herauszufinden wie man DynRPG und das Plugin verwendet, jedenfalls sollte es zig mal leichter sein, als ein eigenes KS zu basteln

  15. #15
    @caesa_andy
    Die Wurzel soll den Wert wohl entschärfen, damit das Verhältnis zwischen AGI-Angreifer und AGI-Verteidiger nicht so stark ins Gewicht fällt. Der Ursprung des Problems sind jedenfalls denke ich die typischen JRPG-Statuswerte, bei denen die Zahlenwerte für sich genommen kaum eine Aussagekraft haben. Eine Trefferchance von 90% versteht man natürlich eher als AGI 127.

  16. #16
    Ja, ohne Wurzel ist es sicher einfacher. Und statt Hitchance bei einem Schlag kann man einfach alles als 100 oder 1000 Schläge sich vorstellen, bei denen(wegen großer Anzahl) x Prozent der Schläge treffen. Man macht also einfach weniger Schaden. Irgendwie kann man das also schon verbauen, aber das mit dem "einen Zug verlieren" ist schon recht schlecht, da es stark zufallsabhängig macht. Wenn man einfach weniger Schaden macht, dann ist das besser.

  17. #17
    Zitat Zitat von Kelven Beitrag anzeigen
    @caesa_andy
    Die Wurzel soll den Wert wohl entschärfen, damit das Verhältnis zwischen AGI-Angreifer und AGI-Verteidiger nicht so stark ins Gewicht fällt. Der Ursprung des Problems sind jedenfalls denke ich die typischen JRPG-Statuswerte, bei denen die Zahlenwerte für sich genommen kaum eine Aussagekraft haben. Eine Trefferchance von 90% versteht man natürlich eher als AGI 127.
    Auch dafür muss man keine Wurzel ziehen

    Ich kann nur nochmal raten, sich das D&D Regelwerk zu gemüte zu führen, insbesondere wie dort die Trefferwürfe ausgeführt werden. Das System ist ziemlich einfach, weil der Angreifer schlicht mit seinem Angriffswert + einem erwürfelten Zufallswert den Verteidigungswert des Gegners übertreffen muss. Fertig.

    Das System lässt sich problemlos an JRPGs anpassen, es muss lediglich die Höhe des Zufallswurfes modifiziert werden. Ein "relativ" geringer Zufallswurf wie in D&D (1w20) resultiert natürlich in einer eher geringen Trefferchance. Höhere Zufallswürfe, wie 3w10, 2w20 oder 1w100 passen das Verhältniss zu Gunsten des Angreifers an.

    Im Übrigen ist es ziemlicher Nonsense, Trefferchancen im JRPG an den AGI-Wert zu koppeln, weil langsame Charaktere damit über gebühr bestraft werden. Ein langsamer Charakter kann noch so viel schaden machen, er wird letztlich doch zu einem Papiertiger, wenn er sein Ziel einfach nicht trifft.
    Entweder einen eigenen Statuswert, oder Fixe Chance. 95 - 97% Hit und 3 - 5% Ausweichen, varriierend je nach Charakter und Gegner sind das maximum was ein JRPG verkraftet, ohne dass sich das ewige "Miss" negativ auf die Spielerfahrung auswirkt.

    Idealerweise verzichtet man aber trotzdem ganz drauf.

Berechtigungen

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