Formula per tre eroi in competizione, ognuno ha uno che può battere e uno da cui è battuto


12

Sto cercando di progettare un gioco per un progetto che ho, L'idea principale è:

3 tipi di eroi
3 statistiche per eroe

Non ci sono livelli coinvolti, quindi le differenze devono essere localizzate nelle statistiche.

Logica del combattimento - La logica del combattimento è che type1hero ha buone probabilità di vincere type2hero, type2hero ha buone probabilità type3hero e type3hero ha buone probabilità di vincere type1hero.

Per più di una settimana sto cercando di trovare una formula basata su statistiche che mi permetta di risolvere questo problema, ma non posso, stavo mescolando con i numeri ieri ed è stato decente ma non riesco a estrarre la formula da esso.

Potresti per favore guidarmi o darmi suggerimenti su come dovrei iniziare a creare formule su un gioco non di livello che soddisfi la logica del combattimento?


1
"Per più di una settimana sto cercando di trovare una formula basata sulle statistiche che mi permetta di risolvere questo problema" - Correggi cosa? Questo è un meccanico Rock-paper-scissors ; non puoi descriverlo matematicamente, perché non c'è x, y, z per x > y ∧ z > x ∧ y > zalmeno non in matematica di base che conosco e uso.
Markus von Broady,

2
Mentre hai ricevuto un'ottima risposta, questa domanda non è molto buona.
MichaelHouse

@MarkusvonBroady: il solito modo per descrivere matematicamente un ordine come questo è con un grafico diretto / relazione intransitiva. Hai ragione che non lo farai con numeri reali.
Joren,

5
@ Byte56: anche se concordo sul fatto che non è presentato in modo molto carino, la domanda nascosta rimane interessante: come modulare un sistema di combattimento a 3 vie in modo generico, proprio come le forbici di carta da roccia, come espresso nelle risposte sotto. Non vale un -1, imho.
Jesse Emond,

@JesseEmond Nell'unica risposta di seguito *. Il problema è molto semplice, come ho commentato la risposta, sono solo varie armature e tipi di attacco travestiti da meccanico di forbici da roccia. Sebbene la formula fornita sia molto accurata.
Markus von Broady,

Risposte:


38

Il tuo gioco è un gioco non transitivo . Puoi implementarlo con 3 statistiche R , P e S , usando la logica del rock-paper-scissors. Chiama queste statistiche come vuoi, ma mi atterrò con la logica RPS.

Supponiamo ora di avere due eroi, con le statistiche R1 / P1 / S1 e R2 / P2 / S2. Dobbiamo calcolare quanti danni si faranno l'un l'altro.

Vuoi che le pietre infliggano danni alle forbici. Ciò significa che l'eroe 1 infligge danno "rock" all'eroe 2 se R1 > 0e se S2 > 0. Una formula che funziona è semplicemente min(R1, S2).

Il che ci dà immediatamente le formule di danno:

Damage(hero1 on hero2) = min(R1, S2) + min(S1, P2) + min(P1, R2)
Damage(hero2 on hero1) = min(R2, S1) + min(S2, P1) + min(P2, R1)

Vediamo cosa succede con un esempio reale:

    Hero1  Hero2
R    120     50
S     30    130
P     15     30

Date le statistiche, l'eroe 1 è chiaramente un tipo «rock» e l'eroe 2 è chiaramente un tipo «a forbice». Ecco i risultati:

Damage(hero1 on hero2) = min(120, 130) + min(30, 30) + min(15, 50)
                       = 120 + 30 + 15
                       = 165
Damage(hero2 on hero1) = min(50, 30) + min(130, 15) + min(30, 120)
                       = 30 + 15 + 30
                       = 75

Risultati finali: 165contro 75. Hero 1 vince, come previsto.

Ci sono molte carenze con queste formule, ma spero che ti diano un'idea di come implementare le regole di combattimento intransitive .


2
+1, lo descriverei semplicemente come vari tipi di attacchi e armature (avvelenamento, elementale, fisico)
Markus von Broady,

1

Ogni eroe si allena in Melee Combat (M), Dodge (D) e Wizardry (W).

La schivata elude molto bene il combattimento in mischia e gli attacchi magici meno bene.

Ad ogni round, un eroe infligge un danno pari a (MD) + (W - 0,5 D) (M e W provengono dalle statistiche dell'attaccante, D dalle statistiche del difensore.)

Quindi un guerriero potrebbe avere le statistiche:

M: 100, D: 20, O: 0

Un ladro potrebbe avere le statistiche:

M: 30, D: 80, W: 30

E un Mago potrebbe avere statistiche come:

M: 10, D: 10, W: 80

Warrior vs. Rogue, il guerriero infligge 20 DPS, mentre il ladro infligge 30 DPS. Vantaggio Ladro! Ladro contro mago, il ladro infligge 20 DPS, mentre il mago infligge 40 DPS. Procedura guidata vantaggi! Mago contro Guerriero, il mago infligge 70 DPS, mentre il guerriero infligge 90 DPS. Vantaggio Warrior!


Questa risposta non aggiunge nulla oltre a quello di Sam . Inoltre, il ladro ha il più piccolo vantaggio ( 30 - 20 == 10rispetto agli 40 - 20 == 90 - 70 == 20altri due). Sicuramente questo significa che i ladri sono intrinsecamente svantaggiati?
Anko,

La bellezza di questi sistemi non transitivi è che si bilanciano quasi automaticamente. Ladri svantaggiati significano che meno giocatori li giocheranno, lasciando meno obiettivi da sconfiggere al mago e meno avversari da sconfiggere il guerriero. Eppure, se tutti scelgono il guerriero: il ritorno della canaglia.
Marcks Thomas
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.