Go Rin Showdown, день 12: крадущийся воин, затаившийся ассасин

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

А спонсор этого поста — сайт ezgif. На самом деле, не спонсор, но именно в нём мы конвертим видео в гифки. Сайт прост в использовании и предоставляет широкий функционал для конвертации, редактирования и оптимизации гифок.

Первый из ...

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

Кроме перемещения, вот как выглядит первый вариант боевой системы: враги (в частности, мечники) уязвимы только с боков и со спины:

​Красные кубы — визуализация "kill volumes" (или как они правильно называются?). Анимаций пока нет, но надо же  как-то отображать что убило игрока)

Догнав игрока, они могут убить его:

Если столкнуться в полёте "лоб в лоб" игрока отбросит к началу прыжка, приходится обходить врага. Выглядит это примерно так:

Таким образом, игроку уже не достаточно найти прямой путь. Нужно постоянно перемещаться, обходить врагов и не дать себя догнать/окружить (с одним врагом это, конечно, не сложно, но тем не менее)).

Левел-дизайнеру Сергею этот прототип напомнил одновременно игру в "салки" и шашки

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

Проблемы (?)

  • Стрёмные перемещения: Даже если не брать в рассчёт отсутствие анимаций, передвижения врага выглядят немного неестественно. В основном так кажется за счёт непрерывного движения и постоянной скорости поворота. Думаю, это можно решить подкруткой параметров NavMeshAgent'а. В крайнем случае, можно написать для этого отдельный скрипт
  • Позиционирование: Поскольку враг двигается произвольно, его ещё нужно заманить на пути движения персонажа. Если будем развивать эту идею, я попробую объединить это с глобальным AI, где враги, делая вид что окружают персонажа, будут становиться на пути передвижения, одновременно позволяя с собой взаимодействовать и отсекая пути к отступлению. Если получится создавать у игрока приливы адреналина за счёт ощущения "загнанного зверя" — будет вообще здорово
  • "Трое в лодке": Нужно будет серьёзно озаботится контролем количества и типов врагов в комнате и алгоритмом появления новых. С другой стороны, если не задерживать врагов искусственно каждый раз — можно вернуть этим ощущение спешки и недостатка времени
  • Collision detection: Персонаж перемещается на довольно большой (относительно размера коллайдера) скорости, из-за чего коллизии зачастую не отслеживаются вовремя вовремя. Специалисты Unity, подскажите, как лучше всего решить эту проблему? Какая конфигурация лучше всего работает для отслеживания коллизий?

Попробуйте сами

Нам был бы очень важен Ваш отзыв на текущую версию геймплея!

Управление стрелками или WASD, рестарт на R, выход на Esc.

Ссылка на билд для Windows:

Команда "Mad not Crazy"

  • Максименко Денис: программист, гейм-дизайнер
  • Рома: дизайнер по звуку
  • r1gm4r013: музыкант
  • MuteYourBrains: концепт-художник
  • Сергей Струлев: левел-дизайнер

Свитки разработки

55
1 комментарий

Оч напомнило One Finger Death Punch, у которого крайне залипательный геймплей был. Уже представляю такие анимешные вжухи катаной на весь экран