Формула для трьох конкуруючих героїв, у кожного є одного, якого вони можуть перемогти, і одного, якого вони б'ють


12

Я намагаюся створити гру для проекту, який у мене є. Основна ідея:

3 типи героїв
3 Статистика на героя

Ніяких рівнів не задіяно, тому відмінності повинні бути розташовані на статистиці.

Логіка боротьби - Логіка боротьби полягає в тому, що type1hero має хороші шанси виграти type2hero, type2hero має хороші шанси type3hero, а type3hero має хороші шанси виграти type1hero.

Понад тиждень я намагаюся знайти формулу на основі статистики, яка дозволить мені виправити це, але я не можу, я вчора втручався в цифри, і це було пристойно, але я не можу витягнути формулу з неї.

Чи можете ви, будь ласка, керуватись мені, чи давати мені підказки, як мені почати створювати формули для гри Non lvl, яка відповідає логіці боротьби?


1
"Більше тижня я намагаюся знайти формулу на основі статистики, яка дозволить мені виправити це" - Виправити що? Це механік -ножиці «Скала-папір» ; ви не можете описати це математично, тому що немає x, y, z, x > y ∧ z > x ∧ y > zпринаймні, не в базовій математиці, яку я знаю і використовую.
Маркус фон Броаді

2
Хоча ви отримали чудову відповідь, це питання не дуже добре.
MichaelHouse

@MarkusvonBroady: Звичайний спосіб математичного опису впорядкування, подібного до цього, полягає у спрямованому графіку / неперехідному відношенні. Ви маєте рацію, що не будете робити цього справжніми цифрами.
Joren

5
@ Byte56: Хоча я погоджуюся, що це не дуже приємно, питання, приховане за цим, залишається цікавим: як модулювати тристоронню бойову систему загальним способом, подібно до ножиць-ножиць-паперів, як це виражено у відповідях нижче. Не варто -1, імхо.
Джессі Емонд

@JesseEmond В одній відповіді нижче *. Проблема дуже проста, як я прокоментував відповідь, це просто різні бронетанкові та типові атаки, замасковані під механіку скелі-папір-ножиці. Хоча надана формула дуже акуратна.
Маркус фон Броаді

Відповіді:


38

Ваша гра - це нетрасивна гра . Ви можете реалізувати його за допомогою 3-х статистичних даних R , P і S , використовуючи логіку rock-paper-ножиці. Зателефонуйте цим статистикам все, що завгодно, але я дотримуюся логіки RPS.

Тепер припустимо, що у вас є два герої зі статистикою R1 / P1 / S1 та R2 / P2 / S2. Нам потрібно обчислити, скільки шкоди вони завдадуть один одному.

Ви хочете, щоб скелі завдали шкоди ножицям. Це означає, що герой 1 завдає «рок» шкоди герою 2, якщо R1 > 0і якщо S2 > 0. Одна формула, яка працює просто min(R1, S2).

Що відразу дає нам формули пошкодження:

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)

Подивимося, що відбувається з реальним прикладом:

    Hero1  Hero2
R    120     50
S     30    130
P     15     30

З огляду на статистику, герой 1 явно типу «скелі», а герой 2 - це тип «ножиці». Ось результати:

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

Кінцеві результати: 165проти 75. Герой 1 перемагає, як і очікувалося.

У цих формул є багато недоліків, але я сподіваюся, що вони дають вам уявлення про те, як реалізувати нечутливі правила боротьби.


2
+1, я б описав це просто як різні типи нападів і зброї (отруйні, стихійні, фізичні)
Маркус фон Броаді

1

Кожен герой тренується у поєдинку ближнього бою (M), Dodge (D) та Wizardry (W).

Ухилення дуже добре ухиляється від бою в ближньому бою, а магічні атаки - менш вдалі.

Кожен раунд герой завдає шкоди, рівній (MD) + (W - 0,5D) (M і W - від статистики нападника, D - від статистики захисника.)

Тож Воїн може мати статистику:

М: 100, Д: 20, Ш: 0

Негідник може мати статистику:

М: 30, Д: 80, Ш: 30

І у Майстра можуть бути такі статистичні дані, як:

М: 10, Д: 10, Ш: 80

Warrior vs. Rogue, воїн займає 20 DPS, тоді як ізгой - 30 DPS. Перевага шахрая! Rogue vs. Wizard, шахрай має 20 DPS, а майстер - 40 DPS. Перевага майстра! Майстер проти Воїна, майстер має 70 DPS, а воїн - 90 DPS. Перевага воїн!


Ця відповідь не додає нічого, крім Сема . Також шахрай має найменшу перевагу ( 30 - 20 == 10порівняно 40 - 20 == 90 - 70 == 20з іншими двома). Напевно це означає, що шахраї по своїй суті є неблагополучними?
Анко

Краса цих нетрасивних систем полягає в тому, що вони врівноважуються майже автоматично. Недолікові шахраї означають, що менше людей буде грати в них, залишаючи менше цілей майстру, щоб перемогти, і менше противників, щоб воїн зазнав поразки. Але якщо всі вибирають воїна: повернення шахрая.
Маркс Томас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.