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

Пароль

 
Вход при помощи VK ID
временно не работает,
как войти читайте здесь!
Картинки ссылками
До даты

Все новые сообщения

#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).

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

Буду думать дальше. Идея с подгруппами мне кажется перспективной. Надо её развивать.
Свернуть сообщение
-
Показать полностью
Показать 6 комментариев
#gamedev #много_букф
Сижу обкатываю всякие идеи. В рамках этого смотрю, что сделали разрабы новых героев.
Если не учитывать Атаку и Защиту, то суммарная сила недельного прироста разных юнитов ближнего боя у людей по сути одинаковая. 18 пехотинцев и 7 грифонов особо симметричны: напавший первым в серии обменов ударами уничтожит врага и останется с половиной отряда.
...
Хотя стоп, я же без контратак считал. )))
...
Если нападают первыми грифоны, то из 7 остаётся 1. А если первыми пехотинцы, то из 18 выживут 4 (последний на соплях выжил)). 3 из 18 - это практически 1 из 7.
В бою между инквизиторами и пехотинцами побеждают инквизиторы, последний выживает на 25 и 50 хп из 95 соответственно.

Но это если мы забываем об Атаке и Защите. А если нет, тогда ситуация сильно меняется. Потому что те же инквизиторы имеют 21/24 против 4/4 пехотинцев. Что означает, что они имеют буст в +66% урона и получают на 45% меньше урона. И тогда у пехотинцев всё очень печально: если инквизиторы бьют первыми, то выживают оба, крайний с 56 хп; а если первыми атакуют пехотинцы, то они выбивают с инквизиторов на 5 хп больше.
Фактор крутизны очень крут, да. Там всё за парочку обменов решается.

Для проверки возьмём ещё кавалерию и пехоту. Если без статов, то при нападении пехоты первой выживет 2 кавалериста из 3 (один прям совсем на соплях).
Хм... стрелков не проверить, так как они по другой схеме балансятся. А жаль, потому что конница совсем ломает всю схему, которую я уже себе представил. Суммарная сырая сила 5-го тира прям сильно больше, чем 6-го.

А значит что? Правильно, пришла пора столкнуть кавалерию и боевых попов!
Если первыми нападают инквизиторы, то выигрывает кавалерист с половиной жизней. А если первыми атакует кавалерия, то вообще попы кое-как всего 1 всадника из трёх смогут убить.
А если добавим статы? ... То тогда фактор крутизны показывает себя во всей красе - только что разгромно проигрывающие попы, побеждают: оба остаются живы, у крайнего остаётся 16 хп. И это при том, что кавалерия атаковала первой.

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

Вообще, всё это была подготовка к тестированию одной идеи, но пост и так слишком большой, а время слишком позднее. Завтра продолжу.
Свернуть сообщение
-
Показать полностью
Показать 3 комментария
#gamedev #герои_меча_и_магии
Вдогонку к прошлому посту на тему статов Атаки и Защиты.

Вот видишь ангела с его страшными 30/30 и арбалетчика с его несерьезными 5/5, и думаешь: "Офигеть, в шесть раз выше статы!". А по факту, там 50/50 против 25/25, и ангел всего-то в два раза круче арбалетчика.
Кстати, мне стало гораздо проще воспринимать статы Атаки и Защиты, когда я стал о них думать именно как о крутости юнита. Вот тот же ангел - он против другого ангела наносит просто свой урон, но поскольку он в два раза "круче" арбалетчика, то наносит ему двойной, а получает половинный урон.

Притом, это базовые значения. Потом ещё герой добавит свои 25 к Защите и Атаке, и у нас уже 75/75 против 50/50, а значит, ангел уже всего лишь в полтора раза круче. Это всё ещё что-то, но очень далеко от кажущейся изначально крутости.
А с учетом того, что это второй ранг против седьмого, разрыв особо сильнее быть не может. А герою-воину, получается, низкоранговые профитнее.

Вообще, если бы не герой, то статы можно было бы просто перевести в хп и урон юнитов. Было бы гораздо проще "читать" экран существ, и сравнивать их меж собой - просто смотришь хп и урон, и всё. А тут ещё надо статы Атаки и Защиты в уме держать - сложна!
В принципе, и с героем можно было бы перевести, получим игромеханически тоже самое. Просто при росте уровня или приобретении артефакта меняться будет урон и максимальное хп юнитов. А это смотрится "ненатурально". Вот и всё.
В идеале, оставить статы как есть, но вытащить из под капота эти клятые +20. Боже, зачем так делать?!
Свернуть сообщение
-
Показать полностью
Показать 5 комментариев
#размышления #gamedev
Немного о балансе, дисбалансе и PvE

Я уже некоторое время размышлял над вопросом: что такое баланс? А тут ещё и герои новые вышли, я взглянул на тамошний, и оно всё стало яснее видно.

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

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

Тут становится очевидно, почему игрокам когда-то так не понравилась идея из моего прошлого поста о одновременности ударов - это убирает один из привычных инструментов реализации дисбаланса. Всё становится слишком близко к равномерному обмену хп, что, как мы выяснили, плохо.

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

Но это ПВП, там всё слишком сложно, давайте посмотрим на ПВЕ.
А вот в ПВЕ никакого баланса в ПВП понимании нет! Потому что слово "баланс" - оно в общем-то про честную игру по отношению к другому человеку, и игрок его поддерживает, потому что с коротким концом палки может оказаться он сам. А вот ИИ не человек, и понятие честности к нему не относятся (ту наша человекоцентричность очень явно проявляется). Поэтому, если приглядеться повнимательнее к ПВЕ, то отношение к ИИ там очень "несправедливое", у несчастных мобов нет почти ни единого шанса на победу! Поэтому в пошаговых ПВЕ играх есть такие практики, как "сначала ходит вся армия игрока", что с учетом преимущества первого удара часто позволяет провести бои без потерь против равной или превосходящей армии.
Как лучшие образцы могу назвать "Into the Breach" и "The Last Spell", которые несмотря на сильный дисбаланс в сторону игрока просто суперские игры.

Итак, тогда что такое "баланс в ПВЕ"? Ответ можно увидеть в интервью разработчиков древних популярных игр, где часто мелькает одна и та же фраза: мы хотели, чтобы было весело.
В общем, всё, что весело - это баланс. Поэтому, бегать с слишком большой армией, и муторно и уныло по одной схеме разбивать жалкие пачки мобов - это плохой баланс. Но бабахнуть мегазаклинанием, и уничтожить всю армию - это всегда "да!!!".
Здесь опять-таки надо обратиться к первобытной психологии, откуда растут корни многого. Мозг - это машина по поиску решений. Поэтому ему интересен новый опыт, новые решения задач по поиску дисбаланса. Задачи не должны быть слишком лёгкими, потому что такие ничего не дают в плане опыта. Задачи не должны быть слишком тяжелыми, потому что этого в реале хватает.
Вот идеальный коммент о новых героях, который отлично демонстрирует принцип:
Как же круто играется Роща.
Комплект "Песнь души" + Громовой Кирин + всё что можно на концетрацию (обязательно поднавык на 4 стека концентрации и закон на снижение потребления концентрации). У меня было Нападение с поднавыком на накопление концентрации и Удача, которая усиливала этот поднавык.
Первым ходом Кирина пробуждаем воздух и ожидаем. Далее набиваем концентрацию, чтобы к моменту выхода Кирина из ожидания у нас было 4 стека концентрации. Получаем ЧЕТЫРЕ атаки по площади + 1 обычную атаку за ОДИН ход! И это всё без ответной атаки! Мой Кирин просто уничтожал вражеские стеки, я выносил армии в РАЗЫ больше моей.
Пишу на эмоциях, возможно, что-то упустил, но главное в билде я описал в начале.
Господи, надеюсь, это не понерфят

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

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

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

Да, кстати, теперь я могу лучше сформулировать, чем мне не нравятся "единички" в пошаговых играх. Это слишком однообразное действие. Дисбалансы должны быть разные, чтобы нужно было для каждой ситуации искать свой. А единички слишком выгодны, и в итоге их приходится использовать постоянно. И часто кроме единичек больше ничего и не нужно. Это скучно. А ПВЕ баланс - это когда весело.
Свернуть сообщение
-
Показать полностью
Показать 2 комментария
#gamedev #герои_меча_и_магии
Пройдёмся по механике работы статов Атака и Защита в Олден Эре

Вот видит обычный игрок крестьянина с статами 1/1 и какого-нибудь своего юнита с статами 10/10, насколько между ними разница? А чёрт его знает!
Нет, понятно, что больше лучше, но насколько? Что лучше кастануть: "удлинить тень", где добавит +2 к статам, или "толстую шкуру", где даст модификатор "-10% входящего урона"? А чёрт его знает!
Давайте разбираться.

Формула простая:
Урон = Базовый_Урон * Модификатор,
где:
Модификатор = (Атака + 20) / (Защита + 20).
И я бы хотел оторвать руки тому, кто это придумал.

Это же простое соотношение, зачем "прятать под капот" вот эти +20? Что это даёт? Ну, у вас "красивые" числа - у крестьянина статы 1/1 а у латника 9/9, и что? Фактически это 21/21 и 29/29. Что у вас аудитория совсем тупая, и для них числа больше 10 недоступны? Да нет, у вас же самих потом статы выше 20 у сильных юнитов есть. Зачем это было?
В общем, я этого решительно не понимаю. Это тупо обфускация процесса игры. Если просто сделать соотношение Атака/Защита, то, будет интуитивно и понятно какая разница между двумя юнитами. Можно было бы легко, на глаз, прикинуть процент увеличения или уменьшения урона.

Теперь, когда мы знаем формулу, давайте посмотрим, что у нас даёт изменение одного стата при зафиксированном другом. Вот нападает наш грифон на крестьянина, а мы ему Атаку бафнем, что это даст?
Это увеличит модификатор урона на Баф/(Защита_крестьянина+20). Заметьте, неважно, какая была Атака, изменение модификатора будет одним и тем же. Для большинства случаев это будет где-то в районе 1-2% урона за каждый стат Атаки. При этом, очень важно, что чем выше стат Защиты, тем меньше мы получаем за каждый стат Атаки. То есть, против слабых юнитов высокая атака работает лучше, и её имеет смысл апать дальше. (Правда, я хз, есть ли искусственный лимит роста модификатора, в ФАК об этом ни слова.)
Но гораздо важнее, что если за каждый дополнительный стат Атаки мы получаем фиксированный прирост урона, то вот за каждый дополнительный минус-армор врага, мы получаем всё больше прироста урона. Поэтому, между выбором: поднять себе атаку или снизить защиту врагу, всегда надо выбирать снижение защиты. И наоборот: каждое дополнительно очко защиты будет давать всё меньшее и меньшее снижение входящего урона.
Вот несколько простых эвристик:
1. Если у вас Защита выше Атаки врага, то повышать Защиту менее профитно, чем понизить его Атаку. Так что высокоранговых юнитов нет смысла бафать на +Защиту.
И наоборот, если наоборот:
2. Если у вас Защита меньше Атаки врага, то лучше поднять свою Защиту, чем понижать ему Атаку.
3. Всегда лучше снизить Защиту врагу, чем повышать свою Атаку. (Теперь понимаете, что шмотка на "-15% защиты врагов" - это имба?))

Что касается упомянутого выше выбора между заклинаниями, то каменная шкура почти всегда профитнее пары статов. Потому что надо минимум на 5-7-9 поднять Защиту, чтобы получить +10% снижения входящего урона. Хотя, опять-таки не всегда, если у вас крестьянин с низкоранговым героем, то низкая база делает более выгодными статы, потому что там +3 Защиты и даст те самые 10%.

Вот и всё. Простая формула - простые следствия.
Но боже, зачем, зачем они это сделали!? Ведь можно было сделать всё наглядным и интуитивным, и даже не надо было бы перерабатывать механику формулы!
Свернуть сообщение
-
Показать полностью
Показать 1 комментарий
#размышления #gamedev
Я сегодня попробовал прикинуть, как посчитать уровень юнита с броней, которая не процентно режет урон, а вычитается из него. И понял, почему игроделы такое не используют.

Обычно просто берётся и строится линейка Уровень = (Урон * Эффективное_Хп)^0,5, а тут не получается, потому что нет эффективного Хп - против разных противников оно разное.
Тут прикол в том, что Эффективное Хп - это суммарное количество урона, которое может выдержать юнит. И оно становится гиперболически больше, когда Броня приближается к Урону врага. Потому что Эффективное_Хп = Хп / (Урон - Броня). А поскольку Урон у разных врагов разный, то у одного и того же юнита получается разное Эффективное_Хп: от одного юнита он может принять 10000 суммарного урона, а от другого пару сотен.
Если у юнита Броня больше Урона противника, то он становится неуязвим, и его относительная мощность уходит в бесконечность.

Итак, проблема в том, чтобы отобразить в формуле вот это разное и к тому же гиперболически растущее Эффективное_Хп. Формула должна правильно отображать синергию между Хп и Броней. А с другой стороны, мы должны учитывать неуязвимость сильнобронированных юнитов.

1.
Вот эта неуязвимость наводит на мысли о классах брони: лёгкая, средняя, тяжелая.
Тогда и в формуле Эффективного_Хп мы можем поставить вместо Урона некий средний урон у типичного противника нашего юнита: Эффективное_Хп = Хп / (Средний_Урон - Броня). Для каждого класса брони мы получаем свой фиксированный Средний_Урон противника. Условно, по танкам бьют другие танки и РПГ.

Это было бы легко, но... оно плохо работает на переходах между разными классами брони.
Представим некое фэнтези, где есть рыцари, чьи статы плавно растут при прокачке. Тогда его уровень будет плавно расти вверх, пока не перейдёт в следующий класс, где он резко скакнёт вниз, потому что Хп, Урон и Броня у него почти такие же, как и вчера, а вот класс брони мы считаем выше, ставим в формуле больше Средний_Урон, и его Эффективное_Хп становится рывком меньше. Отчего и Уровень становится рывком меньше.
Я не люблю разрывные функции. Ещё с универа, когда диплом писал. ))

Но мы можем использовать эти формулы, если спрятать "зубья пилы" функции. Сделать это достаточно просто: у нас не должно быть юнитов на "зубьях". Тогда разрывность будет неочевидной.

2.
Но вообще, хочется плавно растущую функцию, которая отобразит гиперболическую синергию между Хп и Броней.
Поболтал с чатботом, предлагает использовать экспоненту, либо Хп^(0,1 * Броня), либо Хп * Броня^К. Первый вариант вроде бы ближе по характеру роста к гиперболе. Хм...
То, что мы возводим что-то в степень брони - это вроде как отображает гиперболический рост, но вот вообще Эффективное_Хп от Хп растёт мультипликативно, а умножение на 2 Хп в первой формуле даст слишком дофига. Возможно, стоит заменить на Хп * К^(0,1 * Броня).

У нас числа очень быстро уйдут в стратосферу. Как вариант, логарифмируем всё это: Уровень = логарифм( Урон * Хп * К^(0,1 * Броня)) = логарифм( Урон ) + К * Броня + логарифм( Хп ).

Всё вроде ничего, но заметно, что у нас теперь Урон как-то отстаёт, становится менее значим. Хотя по факту, у него тоже есть синергия с Броней. Пусть и с Броней врага. Ведь если каждое Броня+1 делает наше Эффективное_Хп гиперболически больше, то и каждое Урон+1 у врага делает Эффективное_Хп гиперболически меньше.
А теперь немножко магии: я не буду париться с обдумыванием изначальной формулы, я просто сделаю магический переход - если мы Броню вынесли за логарифм, то и Урон тоже вынесем. Итоговая формула: Уровень = К1 * Урон + К2 * Броня + К3 * логарифм ( Хп ).
Честно говоря, это вообще не то, что я ожидал, когда начинал писать пост. )))

3. Мы можем также использовать вторую формулу от чатбота, не забывая, что Урон симметричен Броне. Тогда Уровень = Хп * (Урон * Броня)^К.
Числа, опять-таки, будут быстро расти. Но в этом случае можно попробовать вместо логарифма кубический корень. Там всё очевидно, расписывать не буду.

4.
Дальше, у нас стоит задача выбрать одну формулу из трёх, а это можно сделать только опираясь на практику:
А) Надо где-то взять, или придумать юнитов с их характеристиками;
Б) Составить таблицу с попарным сравнением их силы: сражаются два юнита, и если после смерти одного юнита у второго осталось 50% Хп, то значит, он в два раза сильнее (главное, сравнивать не сильно отличающиеся друг от друга юниты, потому что иначе относительная мощность уходит в бесконечность);
В) Попытаться подогнать коэффициенты в формулах так, чтобы разница в уровне для всех юнитов чётко коррелировала с разницей в силе.
Г) Выбрать из прошедших испытание формул те, что больше нравятся. Мне нравятся формулы с простым смыслом: аддитивные, мультипликативные или экспоненциальные. Например: экспоненциальная - это если +1 Уровень означает +10% силы.

5.
У нас может не пройти испытание ни одна формула. То есть, они все назначают уровни, которые слабо коррелируют с фактическими данными. Тогда просто берём фактические данные, и назначаем уровни руками, опираясь на экспоненциальное, или любое другое правило, например: "+1 Уровень означает +10% силы". Либо ищем апроксимацию.

Сами понимаете, мне всем этим заниматься влом. )))
Уверен, что и игроделам тоже. Взять обычную процентную броню гораздо проще во всех смыслах. Это ведь был только расчёт уровня, там ещё дофига всего повылазит.

Итог.
В любом случае. Ни аддитивная, ни мультипликативная, ни экспоненциальная формулы не отображают гиперболический смысл "враг на Х уровней выше - неуязвим", нет там этой асимптоты. Я хз что с этим можно вообще сделать.
Есть мысли?
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 51
#gaming #gamedev
На днях прошел The Last Spell. Рекомендацию уже писал, все там сказанное в силе - отличная пошаговая игра. Хочу немного поговорить о механиках.

Игра заявлена как рогалик. Но для рогалика там маловато реиграбельности. Вот я бы ещё поиграл, но уже идёт большая повторяемость.
Так получается из-за совмещения ряда моментов.

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

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

2. Случайные статы.
В принципе, это не особо критичный недостаток. Можно взять глобальную особенность на увеличение количества пересбросов, и многие билды более-менее соберутся.
Кроме билдов на мультишоты, потому что этот стат фиг выбьешь. И шмот на него - это просто эпическая редкость, реально эпичная, а не игровая. Потому что красного шмота куча, а вот шмот с мультишотом проскакивает ну очень редко. ))

3. Аддитивность перков.
Вот это, пожалуй главный недостаток, понижающий реиграбельность. Аддитивностью я называю ситуацию, когда обьединение компонентов равно их суммированию - сумма целого равна сумме частей.
Проще всего это заметно с оружием: есть оружие А и есть оружие Б, и сумма двух ударов равна сумме их урона. Суммирование - поэтому называю аддитивностью.
Это плохо тем, что человек быстро быстро начинает это чувствовать. И когда попробовал комбинации "А с Б" и "Б с Д", ты уже просто знаешь - что такое будет комбинация "А с Д", и играть с нею желания практически нет.
Так вот, перки способностей в игре достаточно аддитивны, так что интересных новых комбинаций меньше, чем могло бы быть.
В правильном рогалике, например, в Hades можно собирать очень разные билды за счет того, что перки между собой образуют очень разную синергию.

4. Мало контента.
Рогалик в принципе про повторяемость. Но тут реально мало типов монстров. И городов, которые представляют типажи карт тоже мало. Вот ещё бы парочку карт, и несколько новых монстров, и было бы гораздо лучше.

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

Придумывать свои билды - самое интересное в таких играх, поэтому парочку своих интересных билдов спрячу под спойлер.
1. Маг-отравитель ближнего боя.
Берём линию перков на яд и Магию Крови. Оружие берём чисто магическое - посох друида и сферу. Качаем основные статы в защиту и жир, на ману нам пофиг, так как колдуем за счёт хп а не магии.
Самое сложное - держать правильную дистанцию, чтобы работали перки на ядовитое дыхание и ядо-вампиризм, но при этом, зомбаки не сожрали. Но посох в этом хорошо помогает.

2. Арбалетчик-проклинатель.
Малый арбалет и книга проклятий. Книгой только дебафим врагов, арбалетом расстреливаем. Очевидно, что берется ветка перков цепного удара, второй веткой - что хотите. Я вообще для прикола мастера фортификаций прокачивал как-то.
Получается достаточно универсальный боец. Он и толпы дебафит и расстреливает быстро. И жирничей всяких замедляет и расстреливает. И Даже боссам неплохо наваливает.

3. Скипетр и посох силы.
Качаем ОП. Получается просто мега-подвижный маг. Прыгает вторым скилом посоха в толпу врагов, выносит эти толпы АОЕ уроном; жирничам вламывает скипетром с разгона - потому что прыжок посоха учитывается. А потом или выпрыгивает или убегает обратно в безопасную зону ножками.

В целом, повторюсь: отличная пошаговая тактика/стратегия, реально бросает вызов. Рекомендую.
Свернуть сообщение
-
Показать полностью
#gamedev
Нашел ещё одно кардинальное различие между пошаговыми и реалтаймовыми играми.
В реалтайме есть троп "удержание узкого прохода", и в целом, провести ораву через узкий проход - это долгий процесс.
А теперь угадайте: а как с этим в пошаговых?
Вчера ночью пытался пройти последнюю карту в Последнем Заклинании, не заметил, как зомбаки прогрызли маленькую дырочку в стене, буквально одну клетку, и за один ход вся орава оказалась внутри защищенного периметра. (Там ещё зомбари были бафнуты на скорость, так что проникли глубоко)
Я тогда немного обалдел. Вроде бы, неплохо держусь, и тут бац: за периметром куча зомбаков, и грызут всё подряд. И как-то среагировать из-за пошаговой механики не было никакой возможности, потому что они все залезли внутрь через маленькую дырочку за один ход!
Это абсолютно контринтуитивно.
В общем, это ещё одна причина, почему мне всё меньше нравится тактика в пошаговых играх.
В итоге, потерял двух героев из шести, но кое-как отбился. На носу последняя ночь и боссы, пол базы нет, балист и стен нет, ситуация выглядит безнадежной. Но, уже не раз бывало, что я вытаскивал сложные ситуации, так что будем биться до последнего.

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

П.С. Сон для слабаков. )))
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 24
Rogue Legacy 2
#рекомендую #gaming и немного #gamedev

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

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

Есть несколько интересных геймплейных нововведений.

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

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

Третий новый элемент: Решимость. Это этакие выносливость/дух. На старте похода игрок имеет 150%-200% Решимости, которая потребляется подбираемыми реликвиями. При этом, есть одна интересная особенность: пока Решимость больше 100%, при убывании ничего не происходит, но когда Решимость начинает падать ниже 100%, вместе с ней начинает падать и максимальное количество хп, также в процентах. И если набрать кучу реликвий и опустить Решимость в ноль, то останешься с одним хитпоинтом. Хотя для некоторых героев это более чем приемлемо.

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

А теперь поговорим о главном для рогалике: реиграбельности.
Здесь она очень высокая за счёт:
1. Различныйх классов. Их много, больше 10 точно. Вдобавок, для некоторых классов есть два разных вида оружия, одно из которых можно выбрать на старте.
2. Перед походом можно выбрать разную броню и нанести руны. Броня в основном даёт статы (можно собрать сет с дополнительным пассивным свойством), руны - пассивки.
3. По мере прохождения можно найти особые места, и поменять талант или оружие. Боксёр с косой - это очень мощно.
4. По мере прохождения вам встречаются разные реликвии, дающие пассивки. Набор таких пассивок очень сильно меняет финальный билд.
Так что реиграбельность в игре на высоте. А чтобы заходы, особенно когда не прёт, не казались бессмысленными, есть глобальная прокачка: мы развиваем замок, и получаем статы за золото и прочие ресурсы, набитые в предыдущем забеге. Я не знаю, сколько нужно убить времени, чтобы качнуть всё до максимума. ))
Поскольку качнуть всё не выйдет, стоит подумать: на что будет упор? Лично я не качал живучесть и урон оружия, потому что это делает игру более казуальной, и полностью выключает магию.
Вообще, мой идеал игр-слешеров - это "Katana Zero" и "Ghostrunner", где нет унылого долбежа, и один удар = один труп, мой или врага. К чему-то похожему я в итоге привёл и эту игру: в новой игре 8+ монстры бьют очень больно, а я вкладывал золото в маг. урон, НавыкКриты и немного в простой урон. В итоге, и получаются веселые забеги по замку, где надо бешенной белкой маневрировать, уворачиваясь от кучи снарядов, и стараться атаковать навыкКритом. Весело всё, кроме боссов, до которых я редко доживаю, но мне интересен процесс, а не результат. ))

В общем, это отличный рогалик. Если ещё не видели - рекомендую.

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

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

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

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

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

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

Что было бы идеально? Имхо, ответ такой: хотя у людей и есть некие индивидуальные особенности, но в целом, всех игроков можно отсортировать по группам способностей, для каждой из которой сделать свою "нормальную" сложность с хорошей причинностью.
Почему это не делают? Потому же, почему ЗЗ никогда не напишет не сьюшного ггшку. )))
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 138
#мс #gaming #gamedev и немножко #отзыв
Поиграл в ютубе в парочку новых игр.

Age of Wonders 4
Очень красивая заставка, очень. Я бы сказал шедевральная. Смотришь на светящийся портал в стартовом меню, и прям хочется уже поскорее окунуться в этот новый дивный мир. Есть ощущение, что этот же артдизайнер отвечал за крупные планы рас, потому что очень красиво.
Вообще, если вам нравятся красивые картинки в пошаговых играх, вам сюда.
А если пошаговые бои, то лучше не стоит. Потому что там примитивнейшая модель "сначала ходят все юниты одного противника, потом все юниты другого". Да ещё реализованная очень уныло.

Знаете, когда мне было лет 6-7, а может и больше, от скуки мы экспериментировали с шахматами. Пробовали 4 доски вместе ставить в одну мега доску. Пробовали ходить двумя юнитами за раз. И пробовали, чтобы ходили сначала все фигуры одной стороны, а потом все юниты другой. Последний вариант был имбалансной сранью.
И я вчера немного побомбил с того, что я, блин, в 6 лет до этого допёр, а разработчики крупной игры - нет. А потом призадумался. Вспомнились размышления, где уже стоял подобный вопрос: "Почему профессиональные авторы пишут тупые тексты?" Там ответ пришел сразу. И здесь он тоже быстро приходит на ум: потому что бабки.

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

МС приятен, МС то, что заставляет нас чувствовать себя лучше. Неудивительно, что это универсальное понятие найдет себя не только в текстах, но и играх. И геймплей игр, в том числе пошаговых, всё чаще сводится просто к тому, чтобы навести курсор на вражеского юнита, тыкнуть, и радоваться "своей" победе.
Справедливости ради, стоит упомянуть, что разложение коснулось только PvE игр, где нет соревновательной основы.
А вот PvP пошаговые игры... а где они?
Я считаю, что игроки интуитивно отвергают устаревший геймдизайн, и поэтому почти все проекты за последние лет 10-15 провалились нафиг.

Пост несколько непоследовательный, потому что у меня ещё бомбит. Ну, ведь красивая же игра, видно сколько труда в неё вложено. Но если графика у нас теперь не 640*480, то механика ядра игры осталась из тех же времён.
Особенно мне понравилось, когда комп показывает "опасный противник", игрок нажимает автобой, и... никаких потерь!

Wartales
Игра о небольшой компании наёмников. Тоже пошаговая.
Знаете, её даже можно отчасти рекомендовать. Как РПГ, в старом смысле этого слова. Это не где юниты прокачиваются, хотя это там тоже есть, и прокачивается даже пони. А в том смысле, что Role Play Gaming - отыгрыш роли. И вот атмосфера небольшого отряда наемников в условном средневековье там чувствуется... хотя и с привкусом МС.
Потому что все бои, что я видел - это тупо тыкнуть своим юнитом в вражеского, без особой мысли.
Кое-что нового разработчики пытались ввести. Например, поскольку юниты, говоря языком НОММ одного типа с одинаковой инициативой, то игрок может выбирать кем ходить первым , кем вторым и т.д.. От этого, вроде бы, и выстраивается дальнейшая лестница инициативы. Разбираться я не стал - не настолько это интересно.
Ещё забавное нововведение: если юниты "сцепились" в бою, то они не просто стоят друг напротив друга, пока ходят остальные юниты, а типа дерутся - машут оружием и уклоняются. Но, честно говоря, для меня это попытка придать искусственной жизни полю боя только подсвечивает то, насколько геймдизайн современных пошаговых игр похож на анимированный труп. А разработчики - на некромантов, пытающихся вызвать его к жизни. )))

Но как РПГ игра вроде бы неплохо.

The Last Spell
Это пошаговый рогалик, где игрок противостоит ордам зомби.
Пошаговые бои вроде бы ничего особенного не представляют из себя на тактическом уровне: сначала игрок ходит всеми своими юнитами, выкашивая толпы зомбей, а потом ход зомбей, и они давят вперёд всей массой. Но дело в том, что это стратегия, и надо не просто отбиться от волны зомбей, но и не потерять слишком много всякого, иначе следующие волны снесут.
...
Я уже представляю, что вы хотите сказать: "Аст, ты офигел? Ты же только что говорил, что это отвратный геймдизайн, а теперь говоришь, что тут хорошая игра с этим принципом?!"
Всё нормально. Просто дело в том, что это другое. )))

Тут есть два важных момента.
Первое, игра не маскируется под PvP, как это делает Age of Wonders, где противники похожи на типичных нейтралов из НОММ, которые как бы игроки под управлением компа.
Второй момент: силы капитально не равны, и дизбалансная концепция только выравнивает весы в сторону игрока.
Третий момент: армии асиметричны. С одной стороны - пати из шести героев, с другой - бесконечные волны зомбей.
И вот тогда, когда силы сильно не равны, а противник не притворяется типа таким же игроком, вот тогда оно может работать.
Также, как оно работает в Into the Breath, которую я настоятельно рекомендую всем любителям пошаговой тактики. Там тоже противник - это орда монстров, чья численность выше сил игрока.
Свернуть сообщение
-
Показать полностью
Показать 9 комментариев
Немного об оружии в пошаговых
#gamedev #размышления

Если делать максимально реалистично, то никакого ХП не будет, как и обобщенного показателя Брони. Но в играх мы используем численное упрощение. И многие не в курсе, но это кибернетический способ управления.
Броню можно сделать более реалистичной, можно учитывать особенности разного оружия, но это усложняет концепцию и затрудняет управление. Именно поэтому я упростил концепцию брони до просто численной брони. И таким образом, обезличил получаемый юнитом урон: не важно, чем он нанесён - в юнит прилетают числа физического урона.
Хотя было бы интересно посмотреть на игру, где учитываются все возможные пары "оружие-броня", и у каждого своя механика. Типа, "зубы дракона и латы". )))

Итак. Обычно в играх оружие обезличено. Что копье, что меч, что булава - они все просто наносят урон. И числа урона скорее назначаются от силы юнита, чем хоть как-то зависят от оружия.
Есть игры от первого лица, где урон бывает колющим/дробящим, и у врагов типа есть разные сопротивления, но вот не припомню, что бы это особо меняло геймплей. Обычно находишь "нормальное" оружие, и всё.

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

Ещё особняком стоят экзотичные виды оружия, типа "Бола" - метательное оружие, нацеленное запутать противника, сбить его с ног. Но оно в целом не для нанесения урона предназначено.
Хотя с накопленным импульсом на так всё однозначно - копье тоже накапливает импульс перед ударом. Как и бумеранг. И тут стоило бы ввести какую-нибудь относительную характеристику "накопленная кинетическая энергия оружия/сила рук", и вот по ней будет ясно - какое оружие куда отнести. Но вопрос не в детализации, нам же, наоборот, упростить надо.

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

По типу энергии очевидно, что удар с накопленной кинетической энергией сильнее, но медленнее (для ближнего боя). Но как это обыграть? Ввести увороты?
Я честно говоря не люблю такие большие случайности, как увороты/промахи. Особенно они бесили в Икс-коме: подходишь к инопланетянину с дробовиком, вплотную, и промахиваешься; а ответным ударом этот гад, конечно же, выносит оперативника. Поэтому в второй Икс-ком я даже играть не стал. ))

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

Итак, давайте обобщим. Берем произвольные параметры, например, точка + накопленная_сила, и получаем клевец, который медленно и сильно бьет, с возможностью крита. Или берём лезвие и накопленную силу, и получаем топор с мощным уроном и кровотечением. Удлиняем этому топору ручку, и получаем бердыш, с ещё более увеличенным уроном. Приделываем к бердышу копье и клевец и получаем мультитул средневековья - алебарду с минимум тремя разными типами атак. ))

В целом, получается не сказать чтобы плохо, но по сути, всё это уже есть. И, в отличии от механики брони, не воодушевляет. А хочется.
Нерешенными остаются вопросы: что делать с колющим уроном, и чем балансировать медленность инерционного оружия кроме уворотов?
Ваши мысли?
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 41
Немного о броне в играх
#размышления #gamedev

Обычно в играх есть два самых примитивных способа брони, унаследованные из бородатых игр прошлого: процентный и арифметический.
Процентный - срезает процент входящего урона. Обычно, числа самой брони срезают всё меньше и меньше процентов, но где-то в районе 10.000 брони будет срезаться 99% урона.
В точную механику вдаваться не буду, потому что сейчас разговор не об этом. Да и у разных игра она разная. Но больше всего мне симпатичен вариант из Доты, где каждая единица брони придаёт одно и тоже количество дополнительного эффективного ХП. Формула: Множитель урона=100/(100+Броня). Меньше всего - формула из НОММ 5, не интуитивная и непонятно зачем и почему сделанная.
Мне процентный вариант не нравится тем, что обычный удар вилами таки пробивает шкуру дракона/танка.

Арифметический - мы просто вычитаем из числа урона число брони. Простенько, и интуитивно понятно.
Показать полностью
Показать 20 комментариев из 61
Немного анализа разных стратегий. Давайте подумаем: что должно быть в идеальной пошаговой боевой стратегии?
#размышления #gamedev

1. Шахматы.
Игрок управляет 16 отдельными юнитами. Одно поле боя.
Поле боя небольшое только из-за особенностей передвижения фигурок. Не будь этого, и поле пришлось бы расширять, как в сёги.
2. Старкрафт.
Игрок управляет группами юнитов. Одно поле боя.
Я ни разу не видел, чтобы групп было больше 16 (хотя теоретически это возможно)).
3. Герои меча и магии (НОММ).
Игрок управляет группами юнитов, возглавляемыми героями. Групп не больше 8 (за исключением 4 части игры). Группы путешествуют между полями битвы, проводя множество мелких сражений.
4. Варкрафт.
Игрок управляет группами юнитов. Группы могут быть возглавлены героями. Поле боя одно.

Очевидно, что в современной стратегии должно быть управление группой юнитов. Причем, динамически формируемой. Именно группа - это управляемая единица. При этом, группа может состоять и из одного дракона.
Группа не обязательна должна быть возглавлена героем. А болотизация не будет происходить из-за ограничения на количество приказов группам за ход. Но при этом, биться группой без героя - терять опыт.

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

Есть игры, где каждый юнит является героем. Честно говоря, я в таких уставал от микроменеджмента: каждому надо одеть снаряжение, и распределить способности. Это реально задалбывает, когда их больше 8 штук.
Имхо, наши обезьяньи мозги больше приспособлены к одному яркому вождю и остальной серой массе. Тут разработчики уже пришли к идеальной формуле.

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

Дело в том, что спавн монстров в НОММ в некотором виде есть. Монстры в невырезанных лагерях постепенно растут в числе. Иногда это доходит до смешного: в одной катке я оставил лагерь скелетов лучников не зачищенным, и в конце игры обнаружил там 1М (миллион) лучников, посмотрел на них, и оставил в покое, ибо - ну нафиг. )))
Так чего же не хватает в идее просто сделать респавн вырезанных лагерей монстров?
Дело в том, что в пошаговых стратегиях герой с войском очень сильно растёт в силе. Причём, гораздо сильнее, чем герой в той же Доте/Варкрафте. Если в Доте герой в лейте становится сильнее в десятки раз, то в НОММ - в сотни и тысячи. Поэтому увеличение монстров в лагерях со временем нужно только для того, чтобы игрок испытывал хоть какую-то сложность. А всё почему? Потому что герой в НОММ - это баффер в квадрате, усиливающий растущее количественно и качественно войско. Грубо говоря, прогрессия сил примерно x^4. Это ещё одна причина не делать таких героев (тогда и баланс будет проще считать).
И вот как при таком росте сил героев и разнице в силах между игроками разных скиллов подобрать правильный респавн монстров? Если слабый игрок потерял войско, то отреспавненные под сильного игрока монстры будут просто непобедимы. Сильному игроку слабые монстры ничего не дадут. А привязывать респавн к силе игрока - дорога в Скайрим (не имею ничего против Скайрима)).
Пока что решение я вижу только в том, чтобы не было такого сильного разброса между игроками в середине и в лейте. Не экспонента, а логарифм. Или, S-образная кривая силы, если точнее.

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

Ваши мысли?
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 52
#размышления #gamedev
Продолжу тему из предыдущего поста о пошаговых играх: https://fanfics.me/message622650
Попробую детальнее представить геймплей. Для этого стоит посмотреть на процесс с разных сторон.

Поскольку игра нечто среднее между пошаговыми и реалтаймовыми, то можно её представить как ртс с паузами. Паузы для обдумывания естественно будут задаваться игрой, а не самим человеком. И возможны варианты: фиксированные паузы раз в ход (как в Frozen Synapse), паузы-реакции (как в карточных играх), ограниченное число индивидуально активируемых пауз. Тут придумать можно много чего.

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

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

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

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

Вот примерно как-то так мне видится "ход" в идеальной пошаговой игре. Ваши мысли?
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 35
#размышления #gamedev
А вот теперь пост о пошаговых играх. Но несколько сумбурно и #много_букф, прошу прощения за это.
Вам, наверное, интересно: как я начал писать о пошаговых, а в итоге получился пост о танчиках? Тут на самом деле всё просто: танчики очень пошаговы. Реалтаймовая игра, да. ))
Дело в том, что соотношения, пропорции происходящего интуитивно легко вычисляемы: есть клетки, и скорость каждого танчика в единицу времени. Я вижу выстрел по штабу, и точно знаю, что успею подойти и подставить свой корпус под вражеский снаряд, это снимет с меня броню, но штаб выживет, и затем я смогу отбиться от врага. Или, понятно, что можно успеть выстрелить в одну сторону, затем пройти по коридорчику, и перехватить второго врага. Или, понятно, что не успеваешь, и просишь напарника помочь. Причём, медленные скорости движения танков и снарядов позволяют буквально просчитывать шаги: вот враг успеет пройти сюда, и за это же время я успею пройти вот туда, если пробить стенку.
Уже тогда, играя в шахматы, я думал, что идеальная пошаговая игра получилась бы, если добавить танчиков, и дать паузу. А вот шахматная пошаговость казалась натужной - если "оживить" фигурки, то игра никак не может быть такой.
Позже поиграл в кучу игр на пк, и там была та же самая натужность. Даже в любимых мной Героях. Ну, а про некоторые игры, в том числе 4к стратегии, где бои происходят по правилу: сначала ходят все юниты одного противника, а потом все юниты другого - и говорить смешно.

Образ некой идеальной игры у меня зародился при чтении книг Перумова. Упоминались у него там мельком некие шахматы для высших сущностей, и сценка подлета драконов на правом фланге через пролив для атаки в тыл была настолько живой, что стояла перед глазами. Но вот той игры, что воображалась при чтении этой сценки не было и нет до сих пор. А ведь хочется. )))

Если посмотреть на стратегии глобально, то стратегически, в долгой перспективе пошаговые от реалтаймовых не отличаются: и там и там план не зависит от собственно пошаговости или реалтаймовости. Это всё сказывается только в ближайшей перспективе. А на большой дистанции дискретность не отличается от непрерывности, они статистически сливаются.
А чего хочется в близкой перспективе?
С одной стороны, чтобы можно было подумать. Вот Старкрафт 2 - отличная игра. Но я её не потянул, потому что реакция уже не та. Там ведь куча юнитов с спец. способностями, которые надо прожимать. Это раньше можно было поставить медиков на автолечение, развернуть танки и всё. Теперь не прокатит. А разорваться не получается. А ещё внутренний перфекционист просто волком воет, глядя на пропущенные возможности. ))) Поэтому, хочется поставить всё на паузу, распределить юнитам действия, причем, тактически изобретательные, и наслаждаться. А не вот это всё нервное "ААА!!!".
С второй стороны. В пошаговых раздражает ненатуральность происходящего и бесконечная задержка на анимацию. И если второе решаемое, то вот с первым никто до сих пор ничего не делает: как топтались воины, глядя, как один из них мутузит другого, так и топчутся.

Там ведь главная проблема соединения двух жанров в чём? В том, что действия одного юнита должны сказаться на действиях другого. А если результат первого действия неизвестен, то как планировать следующее? Например, атакует один юнит врага, надеясь убить того и открыть проход для атаки союзнику вглубь территории противника, а если результат неизвестен, то какое действие задать второму юниту, как быть? Сложна.
При этом, очень важно, чтобы получившаяся игра избежала главного бича пошаговых игр, из-за которого я и перестал в них играть - болотизации. Это когда чем дальше, тем больше тебя затягивает в круг управления кучи бессмысленных телодвижений кучи юнитов. 40 минут в Доте? Я сделаю кучу всего, переживу ряд сложных ситуаций и прийму множество важных решений. 40 минут в героях? Я по сути только стартану, совершая абсолютно очевидные телодвижения, чем дальше, тем больше вязня в микроуправлении несколькими героями.

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

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

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

Ваши мысли?
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 30
#размышления #gamedev
Купил мой младший брат иксбокс. Сестра увидела, и спрашивает: "Это же приставка. Давай в танчики!".
Но танчиков там нет. И даже ничего похожего.
Я полез в инет, неглубоко, но всё же - ничего подобного старым танчикам не нашел. И это странно: почему нет таких игр? Ладно, я понимаю, авторские права и всё такое, но что мешает сделать если не клон (хотя клонов популярных игр клепают все кому не лень), то хотя бы игру с подобными принципами, и стричь бабло самосвалами? Вот что?
Танчики, если их разложить на составляющие, не просто качественно сделаны, они во многом опережают время. Смотрите:
1. Простая, интуитивно усваиваемая основа.
2. Совместная игра. При этом, простое, но гениальное решение "два игрока, три стороны" вынуждают игроков играть командно, а не просто самим по себе.
3. Большое разнообразие опыта. Мало того, что количество карт невероятно большое, но ещё в каждой игре даже на той же карте количество и состав врагов меняется.
3а. Модификации игры: лес, лёд, туман. Что-то ещё было, не помню.
4. Прокачка персонификации игрока: быстрые снаряды, бронебойные, броня, снаряды уничтожающие лес, супергусенецы.
5. Изменяемая карта. Причем, эти изменения меняют геометрию карты. И вы и враги можете строить новые дороги, что кардинально меняет состояние игры. А благодаря рандому это делает одну и ту же карту, простенькую к слову, крайне реиграбельной - можно играть на ней десятки раз, и не-нет, да получить абсолютно новую ситуацию и проиграть.

Вы знаете, первое время, играя на пк, я удивлялся, что там практически во всех играх нет пятого пункта. Потом уже привык, и не задавался вопросом. Сейчас вот попытался вспомнить что-то, где есть подобные принципы, и знаете что, вспомнилась только одна игра - майнкрафт. Глядя на неё под таким углом, становится понятной её дикая популярность - это танчики современного поколения. Улучшенные естественно.
Кто-то скажет: но в майнкрафте есть строительство, и вообще игра не о том. Но, те же уровни в танчиках можно было самому делать, так что строительство там было. И хотя танчики и майнкрфт действительно игры о разном, но вот основные возможности в этих играх заложены те же самые.
П.С. Вообще, начинал писать о пошаговых играх, но сьехал в сторону. Придется писать ещё один пост. )))
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 21
#размышления #gaming #gamedev #много_букв
Поиграл таки в Victoria 3, и вот отзыв и немного размышлений о том, как оно должно было бы быть.

Сразу скажу, что абсолютно не рекомендую брать игру - сырая и багованная.

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

1а. Также, нет учета товаров. Там хитрожопая система рынка, когда необходимое сырье немедленно покупается по рыночной цене, из него производится товар, который также немедленно продается на рынке по текущей рыночной цене, и всё. Никаких запасов. Всё просто отображается в денежном эквиваленте.
Даже постройка зданий - есть шкала стоимости постройки, и когда она полностью заполнится, здание считается построенным.
Перепроизводство товара приводит просто к снижению его цены на рынке, и всё. Кстати, я не сразу понял, что эта хитрожопая система полностью исключает такую вещь, как кризис перепроизводства - товара-то нет! ))
Есть "дефицит", когда покупателей больше, чем продавцов. Он приводит к повышению цены, но останавливаются ли предприятия из-за дефицита, или всем хватает и они просто работают, покупая дико подорожавшее сырье - я как-то не подумал проверить.

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

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

2а. Невозможность управлять торговой политикой.
В стриме, который я смотрел, перед тем как попробовать, игрок за Россию очень сильно хотел поднять уровень жизни народа (отыгрывал он в общем), но у него никак не получалось обеспечить народ дровами. Потому что приходили внешние покупатели, и покупали почти всю древесину. Как же он подгорал. )))
Твой рынок - не совсем твой. За любыми дешевыми товарами в любой момент приходят внешние покупатели, и забирают сколько хотят. Ты хочешь обеспечить свою промышленность дешевым сырьем, и сам продавать товары с высокой степенью передела на дорогих внешних рынках? А фиг тебе. Придут, и что хотят возьмут.
Даже эмбарго не совсем останавливает торговлю. Остальные торговые политики вообще смешны. Кого остановит 20% пошлина при разнице цен в разы?
При этом, опять-таки, сильная неочевидность происходящего. Вот в чём разница между тем, если ты продаешь свой товар на внешнем рынке, где он стоит дорого, или если к тебе придут внешние покупатели и заберут его по дешевой цене твоего рынка? Тем, что тебе надо тратиться на конвои, если торгуешь ты. Так что, самому вроде как и не выгодно торговать.

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

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

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

Теперь о том, чего бы хотелось в идеальной игре.
В целом, основная концепция Виктории очень интересна. Так то, напишу только, что стоило бы добавить к этой игре.

1. Учет товаров, и что самое важное - золота.
Ничто не должно браться из ниоткуда и исчезать в никуда.
Золото добывается на рудниках, и его в обороте становится всё больше, но экономика растёт гораздо более высокими темпами, и золота всегда в дефиците. Если монарх накопил много золота в казне, значит - его осталось мало у народа, и вся экономика начинает буксовать.

2. Борьба групп людей за своё благосостояние.
В том числе преступными методами. То есть, низшие классы устраивают забастовки, воруют, грабят и восстают, а высшие - воруют, устраивают заговоры, интриги и восстают.
Высший класс - главная опора правительства и главный враг экономики, потому что эти люди обеспечивают легитимность, и они же замыкают кучу денег на свою потребность в роскоши.

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

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

В общем, представляется идеальная игра как-то так. Страна - это территория, населенная людьми, сбивающимися в группы и конкурирующими меж собой. В стране есть главная организация - правительство (то есть вы), и куча маленьких: дворяне-землевладельцы, промышленики, и т.д. Главный игрок задает правила всем остальным, но совокупная сила и богатство всех остальных выше, чем у вас.
И главная задача игрока, не строить домики самому, а уговорить вот этих маленьких игроков начать строить домики. Ну, а те ведомы только своей выгодой и представлениями о том, что правильно. Так что, подавляющее большинство дворян потратит деньги на роскошь, чтобы не ударить в грязь лицом перед коллегами. И это головная боль - заставить их вложиться в производство.
Главная задача - обеспечить экспоненциальный рост, чтобы не отстать. Но рост не может длиться бесконечно, рано или поздно игрок споткнется об внутренне или внешнее сопротивление, недостаток ресурсов или рабочих. И придется изыскивать резервы и пути развития, придется искать баланс между поддакиванием элите и выжиманием из неё денег, между промышленниками и землевладельцами, между тратами на армию и развитие, между необходимыми изменениями общества (отмена крепостного права) и гневом не желающего меняться и терять прибыль общества, между затратами сил внутрь и наружу.
И каждый раз, выйдя из тупика рост опять продолжится, пока не упрется в следующее препятствие. А в самом финале внутренних препятствий уже практически не остается. И только другие страны, негодяи этакие, мешают расти. И так у всех главных стран, а поэтому - да начнется Первая Мировая Война!
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 36
#gamedev #размышления #много_букв
Посмотрел стрим игры "Виктория 3", так как захотелось поиграть в управление страной, но как-то оно всё сильно недотягивает до представления о том, как должно быть.
Сначала о плюсах. В игре введены группы населения со своими стремлениями, благосостоянием и прочим, например: мелкие буржуа, селяне, промышленники, интеллигенция. Очень четко симулируется рынок. Всё красивенько.
Как бы, и всё.

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

Вторая главная претензия - преступность во всех её формах. Её типа нету. Причём, благосостояние и доверие власти в игре есть. Их падение приводит к радикализации. И, насколько я понимаю, излишняя радикализация приведет к восстанию. И всё.
И тут, имхо, упускается принципиальная суть процессов. Государству всегда нужны полиция и тайная полиция. Первая уменьшает потери от преступности и коррупции. О второй чуть позже.
И тут ведь всё очень сильно завязано на ту самую экономику. Слишком мало полиции - несешь потери от преступности, слишком много полиции - несешь потери на зарплату.
И также всё это завязано на благосостояние и доверие власти. Если с этими параметрами всё хорошо, то можно меньше тратиться на полицию. Или же, ты можешь больше выжимать из народа, но тогда и больше трать на полицию.
Всё сводится к балансированию экономики.

Ещё круче всё, если речь идёт о правящем классе. В увиденном мной стриме царь отменил крепостное право, сократил армию, увеличил пошлины на экспорт, ввёл крестьян в правительство, увеличил подоходный налог, и... не словил апоплексический удар табакеркой по голове. )))
Правящий класс - это опора власти, и её же домоклов меч. Царь всегда балансирует между тем, чтобы принудить правящий класс к службе государству, и при этом не вызвать слишком большое недовольство. Нет, конечно можно пойти по пути нашей РИ и давать правящему классу всё больше привилегий и освобождать от обязанностей. Те будут очень довольны, и стоять горой за власть. Но экономика будет катиться в жопу.
А если развивать экономику и прижимать к ногтю правящий класс, то будут недовольные, и попытки переворота. А значит, нам нужна тайная полиция. И соответствующие траты на неё.
То есть, мы опять приходим к тому, что всё сводится к экономике и её балансу. Удивительно, правда? ))

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

И последнее - логистика. В игре её тупо нет. Но, блин, логистика же - это базовый элемент экономики. Как можно вообще назвать свою игру экономической стратегией по управлению страной, если нет логистики?

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

О таких вещах как учет не просто группы населения, а разбивка его по возрасту для учета демографии и процентовки мировоззрений (более старые более консервтивны и т.д.), я просто молчу.

Ваши мысли?
Свернуть сообщение
-
Показать полностью
Показать 19 комментариев
#размышления #gamedev
Сегодня хочу поговорить о самом базовом понятии прискорбно одинаковом почти во всех пошаговых стратегиях: математике боя.

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

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

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

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

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

Ваши мысли?
Свернуть сообщение
-
Показать полностью
Показать 20 комментариев из 38
Показать более ранние сообщения

ПОИСК
ФАНФИКОВ











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