↓
 ↑
Регистрация
Имя/email

Пароль

 
Вход при помощи VK ID
временно не работает,
как войти читайте здесь!
Asteroid
сегодня в 09:32
Aa Aa
#gamedev #много_букф
Немного о основной механике пошаговых стратегий

Самая базовая механика пошаговых стратегий, которая как пришла из 90-х, так и живёт в неизменном виде - это бой двух отрядов. Как оно делается: мы берём суммарный урон атакующего отряда, и делим на хп атакуемого, целая часть - это число погибших.
Вы не находите это невероятно примитивным? У нас уже давно не 90-е, компьютеры позволяют промоделировать каждого юнита, а мы до сих пор так примитивно считаем отряд одним расширенным юнитом с общим пулом хп.
По сути, если моделировать физически всех юнитов отряда, бой у нас получается следующим. Два отряда выстраиваются в две линии, смотрящие друг на друга острыми концами. Притом, атакуемый отряд встаёт вплотную спина к груди. Затем подходят атакующие, и по очереди бьют. Первый ударил - не убил никого, отошел в сторонку. Второй ударил - проткнул первого врага насквозь, и ещё во второго часть меча воткнул. Скинул труп в и отошел в сторонку. Подходит третий... И так далее. Потом уже второй отряд начинает бить первый по той же схеме. Супер тупо, не находите?

Один из выходов - одновременные удары, как в четвёртых героях. Но они никогда не зайдут в ПВЕ играх, потому что не позволяют игрокам реализовать сильный дисбаланс (о чём я говорил в одном из предыдущих постах).
Вчера я подумал о других вариантах боя. Один из них: "каждый юнит в отряде атакует другого" не подходит, потому что малочисленные высокоранговые юниты тогда слишком проседают в силе относительно многочисленных низкоранговых. А для них и так делают отдельные статы Атаки и Защиты, чтобы они круче были.

И остаётся последний придуманный мной вариант: мы строим отряды двумя параллельными шеренгами напротив друг друга, и пусть они сражаются. Получаются подгруппы, где напротив одного юнита из маленького отряда стоит несколько юнитов из более многочисленного. Сражения между подгруппами проводим по старым правилам.
Сейчас проведу тестовые бои между недельными приростами существ в новых героях, и сравним это с тем, что получается в старой схеме боя.

1. 18 пехотинцев против 3 кавалеристов.
По старой схеме у нас происходит следующее: атакует пехота, в третьем раунде всадники побеждают, у крайнего остаётся 16 хп из 85, то есть, потеряно 69 хп.
По новой схеме, у нас против каждого из 3 кавалеристов выстраиваются по 6 пехотинцев, и они начинают обмениваться ударами. Точно также обмен продолжается 3 раунда, и на третьем раунде вся пехота погибает. Но разница в том, что урон пехоты теперь равномерно размазан по кавалеристам, и вместо одного полудохлого у нас у каждого из трёх осталось по 59 хп, то есть, каждый потерял по 26 хп. Умножаем на три = 78.
Как мы видим, потеряно больше хп: 78 против 69. На 13% больше. Это получается потому, что каждый кавалерист бился отдельно, и в моменте у нас получалось три раненных пехотинца, вместо одного или двух мёртвых, и эти раненные потом били в ответ. Но это потерянное хп более равномерно размазано, и кавалерия получается более живучей.

Давайте поднимем число пехоты.
2. 27 пехотинцев против 3 кавалеристов.
По старой схеме: на седьмом раунде последний пехотинец погибает от контратаки последнего кавалериста, у которого осталось половина хп.
По новой схеме, против каждого из 3 кавалеристов выстраивается по 9 пехотинцев. Поехали...
Я несколько в шоке. Бой продлился 4 раунда вместо 7. Почему так, я понять не могу, но математика верная... А всё понял, дело в том, что кавалеристы не умирали, и потому быстрее убили всю пехоту.
Итак, на четвёртом ходу кавалерия, полностью выжив, контратакой уничтожает пехоту. У каждого всадника остаётся по 31 хп из 85. Суммарно ими потеряно (85-31)*3 = 162 хп против 213 по старой схеме. На 23% хп меньше, и на два юнита меньше умерло.

Заметьте, если в первом случае хп потеряно больше, потому что урон кавалерии из-за разделения где-то не добивал пехоту, то теперь потеряно сильно меньше, потому что кавалерия не умирала по одному, и урон в бою не падал. Это этакий механизм добалансировки, мне нравится.
Здесь наглядно видно кардинальное отличие схемы: отряд не теряет юниты по мелочи. А вот эти мелочные потери меня всегда очень раздражали в пошаговых играх.
Также, эта механика вводит новое тактическое понятие "уставший отряд". Конница вроде бы вся выжила, но отправь её в новый бой, против другого отряда пехоты, и она быстро поляжет.

Но вообще, кавалерия стала сильно круче пехоты. Дисбаланс. Поэтому... давайте посмотрим, что будет, если убрать статы Атаки и Защиты.
3. 18 пехотинцев против 3 кавалеристов.
Бой подгруппами без статов. Побеждают три кавалериста, у каждого остаётся по 40 хп из 85. Итого, потеряно 135 хп.
Сравним с обычным боем с статами, где потеряно 69 хп - потеряно сильно больше хп, но кол-во кавалеристов осталось таким же.

4. 27 пехотинцев против 3 кавалеристов.
Бой подгрупами без статов. Побеждают пехотинцы. Остаётся в живых 9 единиц пехоты, хп фуловое (так совпало)).
Сравниваем с обычным боем с статами: побеждают кавалеристы, у последнего осталось 4 хп.

Вывод, нельзя просто заменить механику боя и отключить статы, чтобы получить то же самое. Ну, я особо и не рассчитывал. Хотя изменение получается в том же направлении, но оно не настолько сильное.

При бое подгруппами высокоранговый отряд, если он побеждает не совсем на соплях, всегда выходит из боя без погибших. Я не уверен, насколько это хорошо или плохо, надо обдумать. Есть мысли?
Низкоранговый же отряд, даже если побеждает, делает это с потерями. А часть юнитов не с полным хп. Сколько у нас высокоранговых было, столько юнитов с неполным хп и будет. Это надо будет отобразить в интерфейсе, так что будет не одна полоска хп, а несколько. Хм, не полоска, а пирамидка хп, звучит интересно.

Что сделать здесь и сейчас, чтобы вернуть баланс к примерно прежним значениям?
Надо считать с статами Атаки и Защиты, но ослабить их, чтобы получилось примерно то же самое, что и со старыми статами без новой механики.
Сейчас каждый стат Атаки добавляет 5% урона. Давайте уменьшать.
...
Методом проб и нескольких ошибок пришел к тому, что надо добавлять 2,5%, то есть в формуле мультипликатора урона вместо (Атака+20)/(Защита+20), делать (Атака+40)/(Защита+40).

В общем, как-то так. ПВП бои должны стать интереснее, так как появляется новый слой игры - учёт усталости высокоранговых войск. А вот ПВЕ могут стать скучнее, если ничего не изменить. Потому что просто идешь танкуешь высокоранговыми, и всё. А если теряешь их, то теряешь слишком дофига. Блин. Такое очень не очень.

Буду думать дальше. Идея с подгруппами мне кажется перспективной. Надо её развивать.
сегодня в 09:32
8 комментариев
Поздравляю, ты переизобрёл механику расчёта сражений из крайних Europa Universalis. Только там не просто подгруппы/подотряды, а ещё учёт формы и типа строя, учёт типов юнитов в отряде и их распределения по строю, учёт тактической позиции (атака/оборона), учёт модификаторов полководцев etc.
C17H19NO3
Europa Universalis
Не видел, гляну.

Только там не просто подгруппы/подотряды, а ещё учёт формы и типа строя, учёт типов юнитов в отряде и их распределения по строю, учёт тактической позиции (атака/оборона), учёт модификаторов полководцев etc.
Я думал в этом направлении, но не хочется делать слишком много дрочилова.
Если говорить о изобретении, то была такая древняя игрушка: восхождение на трон. Там юниты в отряде были физическими юнитами. Каждый наносил урон и имел хп. И они комбинировали атаки: два-три соседних юнита старались атаковать одного юнита противника, чтобы быстрее его убить.
Так что вообще-то, всё уже давно изобретено древними.

Но там есть одно отличие от стратегий: ограничено кол-во юнитов в отряде. Это делает игру лучше балансируемой. И мне это в целом нравится. Но тут я пытался посмотреть, можно ли что-то сделать с игрой типа героев.
Да, кстати, если вы не знали: кингс баунти 2 - это на самом деле была попытка сделать вторую часть восхождения на трон, а потом посередине они видимо решили делать кингс баунти. И вышло ни то ни сё.
В частности, в новом кингс баунти юниты отряда отображены на экране, но считает урон как в обычной кингсбаунти или героях. А в Восхождении у каждого юнита в отряде было своё хп, и атаковал он одного юнита врага.
Блин, если допилить новая кингс баунти могла бы быть конфеткой.
Странная бухгалтерия, в цивилизации она не работает.
Asteroid
> Не видел, гляну.

Технически это не пошаговая стратегия, а реалтаймовая покраска карты, но армии там "пофазные" и сражения работают именно по такой схеме.

Если щупать, то лучше 4-ю часть, пятая вышла всего год назад и ещё недопилена.
C17H19NO3
Спасибо.
C17H19NO3
Подожди, а вот это всё

не просто подгруппы/подотряды, а ещё учёт формы и типа строя
оно в только 5 части, или в 4 тоже есть?
ПОИСК
ФАНФИКОВ











Закрыть
Закрыть
Закрыть