Dwarfinator - Блог

Dwarfinator

Индикаторы побега

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

Эффекты движения танка

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

Распылитель яда в бою

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

Обложка игры

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

Шагарз

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

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

Распылитель яда

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

Мобы с дальними атаками

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

Сбивание мобов

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

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

Пугаем мобов

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

Время топора

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

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