Всем привет. Мой первый пост здесь. Хочу представить короткую запись демо игры «Again». Это платформер с пазлами и боевой системой. Главный герой должен изучить исследовательский комплекс, на котором произошел некий инцидент. В демо персонаж проходит через пещеру и руины древнего города в старый комплекс, где обнаруживает необычное копье…
Сеттинг
За это время изменился сеттинг, в первых версиях действие разворачивалось в темном Средневековье с магией и тп. Далее из-за ограничений в создании пропсов и VFX сеттинг перенес уже в своеобразное будущее.
Техника
На данный момент демо сделано на UE 4.27. Возможно далее перенесу на UE5. Механики, акторы, аниминстанс написаны на плюсах (90%).
В демо использовал левел стриминг. Игра из меню грузит только малую часть окружения – sublevel. Остальное подгружается по мере прохождения. По задумке, игра должна проходиться за раз без прерывания экранными загрузками.
Далее, после смерти героя игра не перезагружает уровень, а делает рестарт акторов, которые участвуют в сцене. Это существенно сокращает время загрузки после смерти персонажа. Однако, это требует прописывать действия при рестарте для каждого актора, который должен вернуться в изначальную позицию.
Анимация
Основной упор делал на интерактивности, взаимодействии персонажа с окружением. Для этого в движения верхней части тела в анимациях перемещения подмешана физическая симуляция (physical animation). Каждое взаимодействие и механика начинаются с отдельной анимации или целой Anim State Machine. На данный момент многие анимации ещё сырые. Большая часть анимаций – этой ассеты, но многие пришлось делать самому. Для этого использовал Cascadeur.
Веревка
Отдельная боль – это механика подъема, спуска, раскачивания персонажа на веревке. К сожалению, на просторах интернета и даже в Epic Store не так много толковых материалов на эту тему. Из этих крупиц собрал собственную, весьма накрученную систему. На данный момент она включает в себя физическую веревку (skeletal mesh), сплайн, IK рук, физическую симуляцию нижних конечностей.
Боевая система
Перепробовал достаточно много вариантов с боевкой. Самый простой вариант – дуэльный стиль, как, например, в самом первом Принце Персии. Данный вариант отпал, так как хотелось столкнуть игрока с несколькими противниками. А для это плоскости XZ не хватало. На данный момент при вхождении в боевую зону персонаж достает оружие, и появляется доступ к третьему измерению. Есть ограничения: персонаж всегда повернут к противнику (может переключаться), персонаж не может прыгать, ускоряться, приседать и взаимодействовать с окружением. После устранения всех противников спавнится невидимый актор, который является целью для персонажа. Как только игрок подходит к этой цели – игра переходит в режим XZ.
Оружие
На данный момент в демо доступно только тупоголовое копье. Долго бился с физической моделью копья и взаимодействием с противниками в момент, когда игрок неактивен. Перепробовал много вариантов с физической моделью копья. На данный момент я решил эту задачу так: подменяю физический ассет персонажа. В этом ассете левая кисть – это вытянутый цилиндр по длине копья. Так как копье приаттачено к этой руке, это оно будет следовать за физической моделью. Правая будет в этот момент приаттачена к копью с помощью IK. Во время атаки или других действиях физическая симуляция отключается.
Противники
В демо пока что представлены только зомби. Есть много идей других противников. Охранников комплекса, солдат и тп.
Выводы
На данный момент демо достаточно сырое. Есть баги. Многие системы требуют доведения. Многие вещи сделаны условно, это свет, звук, пропсы. Печаль в том, что это требует времени и специализации в определенных областях. Жду ваши комментарии и советы. Критику только приветствую – делать в одиночку – зло (ИМХО).