Мы еще давно решили, что хотим иметь безграничные возможности настройки персонажей в стиле пиксель-арт

Многие игры в стиле пиксель-арт, выходившие до нас, затрагивали тему настройки персонажей, однако нам казалось, что ни одна из них не расширила границы анимации и настройки персонажей так, как это сделала 3D-графика за последние десять лет. Возможности настройки персонажей в других играх весьма обширны, что в основном обусловлено появлением всё более мощных игровых движков и инструментов для художников.
Проблема заключается в том, что в 2D-пиксельной графике нельзя просто поменять местами меши, как это делается в 3D, и применить их к одному и тому же объекту с риггингом. Каждый кадр рисуется вручную. Поэтому нам пришлось придумать, как:
- Создадим анимацию бега, простоя и атаки для нашего скелета.
- Придумайте, как для каждой детали зубчатой передачи можно было бы вручную нарисовать каждый кадр в соответствии с каркасом, чтобы мы могли нарисовать сотни комплектов зубчатых передач, сохранив их единообразие.
- Убедитесь, что независимо от комбинации все элементы внешнего вида снаряжения накладываются друг на друга правильно.
- Убедитесь, что все косметические средства помещаются в палетку.
- Убедитесь, что все наборы анимаций содержат одинаковое количество кадров для каждого состояния покоя или ходьбы/атаки.
Непростая задача.
Мы хотели, чтобы у игроков была возможность по-настоящему настраивать внешний вид персонажей, чтобы вы могли носить то, что хотите, не беспокоясь о характеристиках. В игре с 2D-пиксельной графикой это требует огромного труда. Но четыре с половиной года назад мы решили, что от этого нельзя отступать. Если вы создаете MMO, игроки должны отличаться друг от друга внешне. Они хотят самовыражаться через то, что носят. Поэтому мы должны проявить смекалку и придумать, как создавать наборы снаряжения, которые соответствуют качеству косметических элементов, которые мы видим в наших любимых играх.
Как мы решили эту проблему
Многослойность
Для начала нам понадобилась система многослойности. Мы начали со следующего
- Руководитель
- Грудь
- Ноги
- Задние детали
- Оружие, а в дальнейшем — различные виды оружия.
Каждый из них отображается в виде отдельного слоя, которые затем компонируются на персонаже.
Мы начали с базовой анимации: цикла бега. На это у нас ушли недели, ведь как только мы утвердили этот вариант, изменить его уже было невозможно. Каждая деталь экипировки, которую мы создавали в дальнейшем, должна была соответствовать этому скелету, количеству кадров и пропорциям. Если базовая анимация неверна, приходится переделывать всё с нуля.

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

Тогда мы решили, что нам нужно больше видов оружия…


Мы решили, что нам понадобится целый арсенал оружия: мечи, тяжелые мечи, тяжелое оружие и даже посохи. Для каждого вида оружия предусмотрен свой стиль анимации для нагрудника. В случае с посохом анимации покоя и бега из набора для тяжелого оружия подошли идеально, а для атак — быстрый маховый удар, характерный для легкого оружия. Наша система позволяла выбирать подходящие существующие анимации и использовать их в сочетании с новыми.
Комбинаторная сложность стала настоящей головной болью. Для каждого типа оружия требуется соответствующая анимация нагрудника. Каждое направление поворота может изменять порядок рендеринга слоев. Умножьте это на все слоты экипировки, все типы оружия и все направления — и вы получите систему, которая должна обрабатывать тысячи комбинаций, при этом ничто не должно выглядеть некорректно.
Сельское хозяйство? А теперь давайте присядем
По мере того как мы вышли за рамки простого бега, мы начали работать над анимациями питья, сбора урожая и добычи ресурсов. Мы обнаружили, что можем переставлять существующие кадры из базовых анимаций, чтобы создавать эти новые действия. Это не было запланировано. Просто так получилось в процессе экспериментов. Чем больше действий мы добавляли, тем полезнее это оказывалось.
Как мы «вломились» в игру, добавив всего несколько дополнительных кадров

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

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

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

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