Dwarfinator - Блог

Dwarfinator

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

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

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

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

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

Пугаем мобов

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

Время топора

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

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

Панк-рок для панк-орка

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

Выползая из хижин

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

Порк

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

Хижины гоблинов

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

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

Столкновения танка

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

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

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

Смена облика Вильфреда

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