[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } } ] { "gtm": "GTM-NDH47H" }
{ "author_name": "Николай Чумаков", "author_type": "self", "tags": [], "comments": 4, "likes": 10, "favorites": 0, "is_advertisement": false, "section": "pro" }
1 111
Gamedev

Каша из топора-5: как создается аналог мобильной ролевой игры Darkest Dungeon

Руководитель студии Ole Pole Виталий Мороз написал цикл материалов о том, как создается игра Vikings Dungeon — любительская мобильная версия ролевой игры Darkest Dungeon.

В первой части он вместе с директором учебного центра «Полигон» Дмитрием Дрыновым собрал команду студентов и дал им задание — нарисовать по два скетча персонажей в двух видов. Во второй — рассказал о локациях в будущем проекте. В третьей — раскрыл, какие прототипы оказались готовы перед первой конференцией этой команды. А в четвертой поделился тем, как художник Анна Трифонова качественно поработала над игровым артом.

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

Поделиться

В избранное

В избранном

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

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

Начинаем продумывать боевую систему

С чего все начинается? С формулирования целей и ограничений. Боевая система должна быть такой, чтобы игроку было интересно в неё играть. Понятной, зрелищной и подразумевающей интересный выбор.

Какие ограничения?

Главное — время боя. Сражение должно укладываться в одну короткую игровую сессию, т.е длиться не более пяти минут, а идеально — умещаться в три. Бой состоит из ходов (даже если это будет автобой), что происходит во время хода:

● анализ ситуации, 2-15 сек.

● обдумывание вариантов действий, 2-30 сек.

● выбор решения, две-пять сек.

● просмотра эффекта, одна-пять сек.

Отсюда видно, что один удар персонажа будет занимать как минимум семь секунд, а скорее всего — 15. Ну и плюс, время ответа от противника (время проигрывания анимаций) — ещё порядка трёх секунд. Итого грубо по 10-20 секунд на каждый раунд. Мы максимум имеем 300/20=15 раундов на бой. Если у нас будет по три персонажа в команде, то каждый может нанести по пять ударов, а если четыре персонажа, то по четыре удара.

Это значит, что средний удар у нас должен снимать порядка 25% от среднего здоровья (4/16=25%).

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

Какие у нас есть резервы, за счет чего мы можем ускорить бой в дальнейшем? Больше всего времени уходит на анализ ситуации и обдумывание вариантов действия.

Мы можем сократить число приемов, доступных героям, уменьшить число героев. Самый радикальный вариант — это сделать автобой, тогда принятие игроком решений сместится в область активации суперспособностей или предметов из инвентаря. Оставим этот вариант на черный день, пока же мы делаем хадкорную игру.

Чтобы было проще ориентироваться, мы можем сократить число героев в партии на старте, а также заблокировать часть приемов до прокачки определенного уровня — пока просто пометим эти возможности.

Это было краткое содержание моей лекции по дизайну боевой системы: дальше каждая из команд самостоятельно решала, кто и что будет делать.

Они стали делать систему пошаговой, без автобоя, «Пираты» сократили число приемов до трёх, «Викинги» решили делать по-хардкору: четыре персонажа по четыре приема у каждого, как и в оригинальной игре.

Придумываем шаблон для умений

Теперь нужно примерно прикинуть какие приемы будут у персонажей.

Во-первых, у каждого должен быть его базовый навык, его базовый удар (для мага — это не удар, а лечение).

Во-вторых, у персонажа должен быть какой-то супернавык. Например, удар по площади с оглушением для Варвара. Почему тогда игрок не станет лупить только ими? Тут понадобится либо система перерывов для умений (время между использованием или наличие некого ресурса), или особые условия для их применения (например, цель должна быть предварительно «подсвечена» за счет хода сопартийца).

Первые два приема у любого персонажа — это что-то простое и понятное, по типу «сильно ударить одного» или «слабо, но всех».

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

Ну и последним, четвертым навыком, должен быть «прием последнего шанса» — что-то крайне специальное у юнитов-универсалов, или же наоборот: некая слабенькая и банальная атака у друида, на случай если он остался последним в команде и лечить больше некого. Что конкретно будет у кого из персонажей — это уже частности.

Связываем боевую и ролевую системы

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

● Здоровье

● Меткость

● Выносливость

● Инициатива

● Шанс критического удара

● Сопротивление

● Шанс попадания

● Шанс уворота

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

Помните ли, что у нас бой состоит из примерно 16 раундов? Если шанс промахнуться один к пяти, то значит бой должен решаться в 12-13 результативных раундов (три промаха в запасе). А учитывая, что анализ ситуации и выбор приема занимает 80% хода или порядка 15 секунд, то ситуация «промаха» может вызывать фрустрацию: ты долго-долго думаешь, «что бы такое сделать», а потом бац, и все размышления зря. Хотя это и вносит элемент непредсказуемости, но может размазывать и удлинять и без того длинный бой.

Но и это ещё не все. Почему я взял 20%, а не 5%, например? Если сделать вероятность промаха очень маленькой, то промах будет случаться не каждый бой. Зачем вообще тогда его делать? Если же делать честную 20% вероятность, то примерно в каждом из 75 боев будет по три промаха подряд. При честной вероятности неминуемо случатся бои, когда вообще за минуту не будет ни одного попадания.

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

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

Поэтому я решил отказаться от шанса промаха вовсе, а разницу между проворными и неповоротливыми персонажами заложить через соотношение их ловкости «зашив» промахи и критические удары в средние значения урона.

Проведя моделирование на бумаге, решил ввести комплексную характеристику «точность» отвечающую за умение персонажа попадать по врагу и уворачиваться от ответных ударов, на которую бы влияли ловкость персонажа и его интеллект.

Например, при соотношении точности как 50 к 100, первый наносил бы второму 50*2/(50+100)=67% номинального урона, а второй первому 100*2/(50+100)=133%.

Список характеристик в тетради
И в таблице

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

Методом подбора я пришел к такой системе

Каждое очко, влитое в «силу», увеличивает здоровье персонажа на 10 единиц и наносимый им физический урон на три единицы.

А интеллект — совокупность ума и волевых качеств — оказывает влияние сразу на четыре итоговые характеристики: увеличивает урон магическими атаками, увеличивает выносливость персонажа, повышает его точность и сопротивляемость.

Довольный тем, что получилось, я отправился объяснять эту систему Максу-геймдизайнеру и Максу-программисту (опытный парень, мой старый знакомый, который присоединился к нам в середине июля). У нас случился долгий разговор на повышенных тонах, во время которого они доказывали мне, что ролевая система без промахов и критических ударов — не ролевая, апеллируя к своему опыту в игре Diablo и к системе D&D, а я в ответ говорил что вертел их всех со всеми их примерами, у нас f2p-мобилка и свой особенный подход.

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

Финальные штрихи

Когда боевая и ролевая система были спроектированы, осталось настроить коэффициенты перевода базовых характеристик в итоговые и расписать эталонные значения для разных классов персонажей.

Сравниваем Варвара и Ведьму

Я взял два противоположных класса и подобрал такие коэффициенты, чтобы оба смотрелись приемлемо. Бросается в глаза большой порядок цифр для базовых характеристик — 80 очков в сумме вместо более привычных 20. Это все оттого, что мы в процессе игры планируем раскачивать базовые характеристики, игра у нас условно-бесплатная, а значит, потенциально бесконечная, поэтому они должны быть достаточно большими уже со старта, чтобы раскачанные персонажи не становились непобедимыми слишком быстро.

После того как я проверил между собой персонажей разного класса, также сделал проверку в рамках одного класса, как будут соотноситься персонажи после пяти и 15 обновлений:

Сравниваем Варвара шестого и 16 уровней

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

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

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

Прямой эфир

Узнавайте первым важные новости

Подписаться