Ich habe einige Zeit an einem Spiel herumgebastelt und ich habe eine Menge Ärger mit etwas:
Ich habe zwei Charaktere, von denen jeder Attribute (ungefähr zehn) in einem Bereich (zwischen 1 und 20) hat. Ich möchte diese Attribute verwenden, um einen "Wurf" zu generieren, so dass der höhere Wurf diese bestimmte Begegnung gewinnt. Es ist erwähnenswert, dass die beiden Zeichen nicht sind gegenseitig beschädigen / verteidigen. Sie rollen beide, um zu sehen, ob sie das bestehen, was wir wohl als Fähigkeitsüberprüfung bezeichnen könnten. Sie würfeln beide, um gegen einen gemeinsamen Wert zu bestehen oder zu scheitern. Sie interagieren nicht miteinander.
Wenn jedoch eine der Figuren auch nur einen kleinen numerischen Vorteil hat, hat jede Formel, die ich mir ausgedacht habe, dazu geführt, dass die etwas überlegene die meiste Zeit gewonnen hat. Das ist unerwünscht.
Ich habe versucht, das "relevanteste" Attribut für den Test mit 80% und die Summe der anderen Attribute mit 20% zu gewichten. Ich habe auch versucht, Durchschnittswerte zu vergleichen, um einen relativen Unterschied zu erzielen, und diesen zu verwenden, um den schwächeren Charakter zu verstärken. Beide Ansätze führten zu den signifikanten Vorteilen, die ich zu beseitigen versuche (wenn ich die Begegnung beispielsweise 5.000 Mal ausführe, gibt es ziemlich regelmäßig eine Seite, die alle 5.000 gewinnt).
Das Hinzufügen einer "Glück" -Komponente scheint nur von Bedeutung zu sein, wenn sie zugunsten des geringeren Charakters gewichtet ist und ich dort keine gute Balance gefunden habe.
Mit welchen Ansätzen kann ich die Auswirkung eines kleinen numerischen Vorteils abschwächen und dennoch diesen Vorteil beibehalten und vergrößern, wenn die relative Lücke in den Attributen größer wird?
Gemäß der Anfrage sind hier die Einzelheiten, die ich bisher habe. Einige Dinge, die ich noch nicht herausgefunden habe, bleiben also Allgemeingültigkeiten:
Im Moment wird die Rolle als generiert
0.8 * (mainAttribute) + 0.2 (1/3 * subAttA + 1/3 * subAttB * 1/3 subAttC)
Gegenwärtig werden Zahlen in der Größenordnung von 4,0 erzeugt. Attribute werden zufällig zwischen angegebenen Bereichen generiert. Der aktuelle Test verwendet ein Zeichen mit Attributen von 2 bis 4 und den Gegner zwischen 3 und 5. Vorhersehbar ergibt dies Durchschnittswerte nahe 3 bzw. 4.
Mit diesem Ein-Punkt-Vorteil würde ich gerne den stärkeren der beiden Siege im Bereich von 55% bis 60% der Zeit sehen, wobei sich dieser Vorteil auf etwa 80% der Zeit mit einem durchschnittlichen Attributvorteil von erhöht 5 oder 6, 90% bei den Vorteilen 7 oder 8, so dass ein wenig Raum für einen unwahrscheinlichen Sieg bleibt, wenn die Lücke größer wird. Ich würde es vorziehen, niemals garantierte Siege zu haben, aber vielleicht werden die Dinge sehr unwahrscheinlich - je nachdem, ob 99,5% oder 99,6% der Zeit gewonnen werden, in der die Lücke sehr groß wird.
Die aktuelle Formel erzeugt eine nicht zufällige Zahl. Die Zufälligkeit ergibt sich aus der Auswahl der relevanten Attribute. Nicht alles Attribute werden für jede Rolle verwendet. Es ist möglich, dass derjenige mit den insgesamt schwächeren Attributen in den für diesen Wurf relevanten Bereichen stärker ist und einen Gewinn stiehlt. Aber vorhersehbar kommt es selten vor.
Mein nächster Versuch war es, ihre relativen Stärken abzuwägen, indem ich den Durchschnitt aller Werte eines jeden Einzelnen ermittelte, sie gegeneinander aufteilte und diesen Wert verwendete, um dem kleineren Charakter einen kleinen Schub zu verleihen. Dies hat die Situation ein wenig geglättet, hatte aber immer noch eine ausgeprägte Tendenz, aus 5.000 Versuchen 5.000 Siege für einen Mann zu erzielen.