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

Пароль

 
Войти при помощи
Временно не работает,
как войти читайте здесь!
Asteroid
5 ноября 2021
Aa Aa
#размышления #gamedev
Сегодня хочу поговорить о самом базовом понятии прискорбно одинаковом почти во всех пошаговых стратегиях: математике боя.

В второй кингс баунти есть интересная фишка: на поле боя отрисовывается каждый юнит твоей армии. Из-за этого картинка боя и соотношения сил становятся интуитивно понятными. Но из-за этого же есть предел количеству юнитов в одном отряде - больше десяти отрисовать было бы сложно, а сотню и вовсе невозможно.
У такого решения есть интересные последствия. Например, полный отряд рыцарей всегда будет сильнее полного отряда пехотинцев. А дракон - это внушающая сила, и какие-нибудь козявки его не загрызут, накинувшись большой оравой.
Я такое решение видел только в какой-то древней игрушке, чье имя уже забыл. И не помню, чтобы где-то ещё такое было.

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

А ведь можно взять и посчитать более реалистичную картину, учитывающую атаку и хп каждого бойца в отряде. И ведь это просто. Надо всего лишь следовать нескольким простым правилам. Вот как это могло бы быть:
1. Отряд пехотинцев с хп 100 и атакой 30 атакует отряд пехотинцев равной численности. У каждого юнита врага отнимется по 30 хп, и они все останутся живы. Потому что базовая атака: юнитом по юниту. Представьте, что они бьются стенка на стенку, как это и рисуется в игре.
2. Рыцарь с атакой 300 атакует отряд пехотинцев (хп пехотинца 100). Гибнет один пехотинец. Потому что излишний урон не переносится на следующего юнита. (Но возможны исключения в виде абилок.)
3. Отряд пехотинцев атакует рыцаря. Тут получается так же, как в стандартном случае: суммируем урон всех юнитов.
4. Отряд из 10 пехотинцев атакует отряд из 7 пехотинцев. Это стенка семь на семь, за которой с одной стороны стоит ещё три бойца. Сначала у каждого врага отнимется 30 хп, и затем учитываем дополнительно 3 пехотинца, которые тоже бьют своих врагов - и у них отнимется ещё 30 хп. Итого: у 3 юнитов отнимается 60 хп, у оставшихся четырех отнимается 30 хп.
5. Криты и увороты также нужно считать для каждой атаки каждого юнита. Тогда не будет этих диких колебаний урона, когда из-за рандома отряд, то вообще не наносит урона, то выносит врага одной атакой. А то ведь, если подумать, ерунда же - почему критуют все юниты одновременно?

В общем, вот такая модель расчета урона придумалась. Конечно, я не знаю, как она себя поведет в полномасштабном бою войско на войско. Это сложно вот так прикинуть.
Ясно только, что если в стандартной модели при получении урона сила отряда падает постепенно небольшими ступеньками, то тут сначала будет плато, когда сила сохраняется на прежнем уровне, а потом резкий обвал, когда истощенные бойцы начнут гибнуть. Возможно, это сделает более сложной балансировку игры.

Но есть и очевидные плюсы такой модели, явно перевешивающие возможную сложность балансировки. Вместо "просто урон", который отображается в свойствах заклинаний, или статистике отряда, у нас теперь есть более вариативная шкала: урон по одному бойцу (в том числе и точечные заклинания), урон по всему отряду (площадные заклинания и атаки), урон от бойца к бойцу (назовём так классический тип урона).
Система заклинаний может быть сделана более интересной, чем классическое: это заклинание наносит 100 урона огнем, а это - 100 урона льдом. (Никогда не любил этот примитив.) Например, кроме очевидных, есть вариант заклинания наносящего фиксированный урон 3 случайным юнитам в отряде. Или не случайным, а выбранным по некому критерию, вариаций открывается много.

Ваши мысли?
5 ноября 2021
12 комментариев из 38 (показать все)
И вот приходится постоянно это терпеть, хотя вся моя натура восстает против такого.
Имхо, проблема в том, что многие игроки почему-то считают, что нужно "вживаться" в происходящее, поэтому такие действия могут конфликтовать с собственной моралью.

+ агрессивность из-за игр падает, поэтому уж лучше человек будет расстреливать врагов в игре, чем в реальной жизни.
Pinhead
Это проблема плохой игры. В хорошие играют поколения за поколением. И ещё ругают переиздания, что старые-добрые механики переделали.
Не знаю ни одной такой. )))
Все игры приедаются со временем.

А на самом деле, важно правильное сочетание старого и привычного.
Забавно сформулировано.

Возможно, будь пошаговые игры в неком оптимуме, то оно бы так и было. Не надо было бы никакого улучшения, всем и так бы заходило. Но по факту, жанр закостенел в дремучем прошлом, и если и развивается, то черепашьими шагами. И шагать ему таким темпом даже до локального оптимума ещё долго.
Не просто так жанр умирает, не просто так.
Pinhead
Мне неохота. Никто ничего не хочет слушать. Я и отвечаю-то с большой неохотой, потому что знаю, чем это обычно кончается. Кто-нибудь обязательно придет самоутверждаться за чужой счет.
Так никто и не должен ничего слушать. Ты высказываешь свои мысли. Кто-то мимопроходящий их посмотрит, да что-то и почерпнет. И возможно скажет нечто, что и тебя на мысль наведет. Так мыслесфера и обогащается новым.
А самоутверждаться всегда найдутся любители. Пинка под зад, и всё.

Я вот здесь, например, желал услышать отклик на свои мысли. Интересных моментов мне накидали, и тему я понимаю теперь более полно, чем если бы она так и лежала у меня в голове. За что я всем высказавшимся благодарен.
Asteroid
С половиной уклонившихся будет сложно, это надо отрисовать сначала, скажем, десять юнитов, скажем. Потом внезапно половина из них задета по касательной, с вероятностью 50% треть отхилится... но на разное количество здоровья, треть погибла. С погибшими просто, вычеркиваем, а как этих отображать? раздваивать один юнит? что вот у нас тут с 30% здоровья, тут - все здоровенькие? Считать опять за сотню? Но чем это тогда принципиально отличается от "100 урона льдом/огнем"? Будет 70% урона на 40% юнитов, например. В сухом итоге. Или будет теперь на поле два юнита вместо одного?

Мне кажется, что только разные типы урона тащат за собой, что разные классы будут по-разному уязвимы (хотя это лед-огонь тот же), у вас вот истощение придумалось, оно тоже может быть разное для разных типов. Я вот про это думаю. И там сложненько, а если упрощать - получится то же самое на выходе, что и есть, просто замороченнее. Еще же дружественный огонь можно подключить - будет еще замороченнее.

Считаем каждому юниту отдельно все статы - да, возможно, но когда одна картинка у нас за сотню юнитов отвечает - летит отображение, когда вся тысяча юнитов на картинке - ленивый игрок (я) просто не станет отслеживать.
Показать полностью
Имхо, проблема в том, что многие игроки почему-то считают, что нужно "вживаться" в происходящее, поэтому такие действия могут конфликтовать с собственной моралью.
О, так ведь это ключевой вопрос! А зачем тогда играть? Если не воспринимать происходящее всерьез, тогда абсолютно правы те, кто говорит, что игры - это бесполезная трата времени. Именно так. Не воспринимая происходящее всерьез, ты лишаешься всего удовольствия, всех получаемых эмоций. Лучше тогда уж сходить в спортзал. Тоже пустая трата времени, но, по крайней мере, дает возможность дольше прожить и получить шанс обрести смысл в будущем.
Игры как раз и придуманы для проживания необычного опыта.
+ агрессивность из-за игр падает, поэтому уж лучше человек будет расстреливать врагов в игре, чем в реальной жизни.
Эта точка зрения мне известна. Проблема в том, что это работает несколько по-другому. Виртуальные враги не должны рождать четких ассоциаций, иначе, без выработанного иммунитета к воздействию на психику, у человека будут размываться рамки и в обыденной жизни.
Не знаю ни одной такой. )))
Все игры приедаются со временем.
Цивилизация? Нет? Герои? Тот же Кинг Баунти возродили из жуткой древности. Х-Ком.
Понятно, что мало кто может из года в год играть в одно и то же, но можно постоянно возвращаться к одному и тому же. Это и есть реиграбельность.
Не просто так жанр умирает, не просто так.
Не вижу никакого умирания.
Показать полностью
Kaitrin
Или будет теперь на поле два юнита вместо одного?
Видимо, здесь недоапонимание, о чем именно идет речь. Вот как выглядит отряд.

Каждого юнита видно изначально. Отряд - группа однотипных юнитов, стоящая в одном зеленном шестиграннике (это называется гекс).
А вот ракурс сверху.


у вас вот истощение придумалось, оно тоже может быть разное для разных типов
Эм, истощением я назвал ситуацию, когда все юниты на низком хп. Надо было сказать более ясно, мой косяк.

Еще же дружественный огонь можно подключить - будет еще замороченнее.
Разве что только заклинаниями, и это уже во многих играх и так есть.

когда вся тысяча юнитов на картинке - ленивый игрок (я) просто не станет отслеживать.
Столько попросту не нужно.
Показать полностью
Pinhead
Цивилизация? Нет? Герои? Тот же Кинг Баунти возродили из жуткой древности. Х-Ком.
Цива - унылая как на мой вкус. Герои - устарели концептуально, и слишком много времени тратится на ожидание хода, я прям чувствую, как время утекает в никуда, ужасное ощущение. Первый кингс баунти хорош, но в четвертый раз я по тем же локациям бегать не буду (к слову о реиграбельности). Икс-ком - плохая игра с слишком сильной случайностью поствыбора.
Так что да - нет такой игры.

Не вижу никакого умирания.
Присмотрись. Даже по статистике продаж это видно. Я уж не говорю о том, что ничего шедеврального последние лет 10 не выходило, нет, даже просто достойных игр почти нет.
Pinhead
А зачем тогда играть?
Потому что интересен геймплей, сюжет (если он есть).
Ясно, тогда все реально, кмк. На минималочках в деспоте это есть, но там другой жанр. И ничего не отображается, урон не завязан вроде на ХР. Что было бы логично.

Просто у меня стратегия сразу вызывает в уме почему-то именно тысячи и много-много. С таким шестигранником можно обсчитать, но проблема тогда в том, что вот один умер, осталось их шесть. Их потом сливать с соседней, где все умерли, кроме одного? Или так и оставлять? И статусы на них вешать почти некуда.
Kaitrin
Так и остаются, вплоть до одного юнита в отряде.
Статус навешивается на весь отряд, и показывать его возле каждого не надо.
Интерфейс в кб2 неудачно сделан.
Для начала - немножко оффтопа.
Даже по статистике продаж это видно.
Вот про статистику продаж в условиях современного геймдева с лутбоксофилией и прочими in-app и pay-to-win на мобильных-то, в первую очередь, платформах - не надо, не надо. На продвижение и даже на разработку шаговушек без всяческого коллекционно-продаванского мусора просто не выделяют бабла, это крайне узкая, уже почти инди ниша.
А с учётом изменения характера типичного пользователя-покупателя - всё совсем печально.
Потому что вкладываться в разработку там надо достаточно серьёзно - вполне сравнимо с MMORPG по сложности отработки баланса и ожидаемому количеству контента при принципиально меньшей норме прибыли.
Не знаю ни одной такой. )))
Все игры приедаются со временем.
Ну, я вот играю уже не каждый год - но как раз в такие вот игры. Правда, иногда при этом самостоятельно дописывая моды... И ведь это тоже игра, да. Собственно, уже даже запустить иную игрушку на новой системе с всеми финтифлюшками (нормальным звуком, в частности) - отдельное развлечение.

Тут ведь ещё надо учитывать уровень контроля, во славу Majesty - чем глубже механика, тем дальше надо уходить от микроменеджмента и прямого управления (вводить например фигуру "капитана отряда" с ролевыми характеристиками по жизни подразделения - на что он будет тратить золото, которое ему по бюджету положено например, на свитки лечения или ремонт доспехов, хе-хе-хе).
Показать полностью
Marlagram
это крайне узкая, уже почти инди ниша.
А почему она такой стала? Потому что жанр умирает.

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

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

Мажести классная серия игр, да. Мне после неё захотелось увидеть такое же, но с замкнутым циклом денежного обращения. Чтобы деньги не появлялись из ниоткуда и не исчезали в никуда (когда их тратишь). Чтобы можно было посмотреть на потоки денег и как они помогают/мешают развитию замкнутого королевства.
В Мажести ведь это частично было сделано: герои тратили полученные за квесты деньги на зелки/амуницию/налоги, и они возвращались к нам. А герой, заработавший кучу денег, плевать хотел на квесты от короля - зачем ему рисковать жизнью, когда у него и так куча бабла? )))
К сожалению, даже в так называемых "экономических стратегиях" деньги появляются из ниоткуда и исчезают в никуда.
А ведь там можно было бы показать, какие проблемы в стране начинаются при избыточном скоплении денег у короля, или наоборот. Показать, как денежные реформы, и особенно технология бумажных денег изменяют управляемость системы, переворачивают мир.
Показать полностью
ПОИСК
ФАНФИКОВ











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