Ich versuche ein Spiel für ein Projekt zu entwerfen. Die Hauptidee ist:
3 Arten von Helden
3 Statistiken pro Held
Es sind keine Levels beteiligt, daher müssen die Unterschiede in den Statistiken vermerkt sein.
Kampflogik - Die Logik des Kampfes ist, dass Typ 1 Held gute Chancen hat, Typ 2 Held zu gewinnen, Typ 2 Held gute Chancen hat, Typ 3 Held zu gewinnen, und Typ 3 Held gute Chancen hat, Typ 1 Held zu gewinnen.
Seit über einer Woche versuche ich, eine auf Statistiken basierende Formel zu finden, mit der ich das beheben kann, aber ich kann nicht. Ich habe mich gestern mit Zahlen eingemischt und es war anständig, aber ich kann die Formel nicht daraus extrahieren.
Könntest du mich bitte anleiten oder mir Hinweise geben, wie ich anfangen soll, Formeln für ein Nicht-Level-Spiel zu erstellen, das die Kampflogik erfüllt?
quelle
x > y ∧ z > x ∧ y > z
zumindest nicht in den Grundrechenarten, die ich kenne und benutze.Antworten:
Ihr Spiel ist ein nicht- transitives Spiel . Sie können es mit 3 Statistiken R , P und S implementieren , indem Sie die Stein-Papier-Scheren-Logik verwenden. Nennen Sie diese Statistiken wie Sie wollen, aber ich bleibe bei der RPS-Logik.
Angenommen, Sie haben zwei Helden mit den Statistiken R1 / P1 / S1 und R2 / P2 / S2. Wir müssen berechnen, wie viel Schaden sie sich gegenseitig zufügen werden.
Sie möchten, dass Steine der Schere Schaden zufügen. Das heißt, Held 1 fügt Held 2 wenn
R1 > 0
und wenn «Stein» -Schaden zuS2 > 0
. Eine Formel, die funktioniert, ist einfachmin(R1, S2)
.Was uns sofort die Schadensformeln gibt:
Mal sehen, was mit einem realen Beispiel passiert:
In Anbetracht der Statistiken ist Held 1 eindeutig ein "Rock" -Typ und Held 2 eindeutig ein "Scissor" -Typ. Hier sind die Ergebnisse:
Endgültige Ergebnisse:
165
versus75
. Held 1 gewinnt wie erwartet.Es gibt viele Mängel bei diesen Formeln, aber ich hoffe, sie geben Ihnen eine Vorstellung davon, wie Sie intransitive Kampfregeln implementieren können .
quelle
Jeder Held trainiert im Nahkampf (M), Ausweichen (D) und Zauberei (W).
Ausweichen weicht Nahkämpfen sehr gut aus und magische Angriffe weniger gut.
In jeder Runde verursacht ein Held Schaden in Höhe von (MD) + (W - 0.5D) (M und W stammen aus den Statistiken des Angreifers, D aus den Statistiken des Verteidigers.)
So könnte ein Krieger die Statistiken haben:
M: 100, D: 20, W: 0
Ein Schurke könnte die Statistiken haben:
M: 30, D: 80, B: 30
Und ein Zauberer könnte Statistiken haben wie:
M: 10, D: 10, B: 80
Krieger gegen Schurke, der Krieger hat 20 SPS, der Schurke 30 SPS. Vorteil Schurke! Schurke gegen Zauberer, der Schurke hat 20 SPS, während der Zauberer 40 SPS hat. Advantage Wizard! Zauberer gegen Krieger, der Zauberer hat 70 SPS, während der Krieger 90 SPS hat. Vorteil Krieger!
quelle
30 - 20 == 10
Vergleich zu40 - 20 == 90 - 70 == 20
den beiden anderen). Das bedeutet doch, dass Schurken von Natur aus benachteiligt sind?