Просмотр coub’ов и прокачка персонажей: как мы дорабатывали игровой прототип

Продолжаем разбирать, как разрабатывалась Bowmasters: инструменты, создание анимаций, физика игры и поддержка после релиза.

Просмотр coub’ов и прокачка персонажей: как мы дорабатывали игровой прототип

Автор: Александр Данилов. В игровой индустрии 15 лет, начинал художником с пиксель-арта, пережил бум социальных игр, с 2016 года — арт-директор Playgendary.

В первом материале цикла я рассказал, как мы придумали Bowmasters, у которой сейчас 200 миллионов установок. Мы опирались на собственные ощущения, и на основе геймплея искали цепляющую стилистику. Действовать приходилось без глубоких исследований и маркетинга.

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

Инструменты

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

Многие художники, присоединившиеся к команде, удивляются, что вся графика Bowmasters, кроме фонов, сделана в Photoshop и хранится в растровых картинках. Мы пробовали векторные пристройки к Unity, но самоцели сделать игру векторной не было.

Преимуществ, кроме бесконечного скейлинга и места на диске, это бы не принесло. А в минусы пошли бы риски интеграции «вектора» в Unity и низкая производительность. Векторная графика со сглаживанием — это всегда высокая нагрузка на процессор.

Просмотр coub’ов и прокачка персонажей: как мы дорабатывали игровой прототип

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

Анимация

Концепции анимаций уделялось очень много внимания, но несколько лет назад серьёзной преградой было то, что библиотека Spine для Unity не поддерживала «резиновые» кости. Это когда для выразительности анимации изменяется размер конечностей. Например, когда перед прыжком тело сначала сильно вытягивается вверх, а только потом ноги персонажа отрываются от земли. Сейчас даже в 3D это повсеместно используется, в том же Overwatch.

​Нет, ну это баг
​Нет, ну это баг

В библиотеке, поддерживаемой Unity на тот момент, этого делать было нельзя. Так что наши аниматоры были очень ограничены в возможностях.

Также к анимации и сетапам предъявлялось много технических требований:

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

  • На этом же скелете должен работать рэгдолл персонажа.

  • У каждого скелета должны быть мясная и костная прослойки, которые обнажалась при тяжелых повреждениях. А также декали (decals — когда некое изображение проецируется поверх объекта), которыми игрок пачкался снаружи, например, кровь, грязь, краска.

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

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

Аниматоры также принимали непосредственное участие и в концептуальной части разработки анимаций. Просмотр Coub’а и мемов, прочёсывание Behance и Pinterest стало нашей обязательной частью рабочего дня. Можно смело утверждать, что многие танцы, которые сейчас есть в Fortnite, ещё раньше появились в Bowmasters.

Танец Floss

Отдельно расскажу про разработку системы анимаций. Сначала мы просто сделали смешные реакции персонажей: радость, испуг, ярость и так далее. А потом разработали схему, при каких обстоятельствах их проигрывать.

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

Важный урок: какую бы схему ты не придумал, пока не запустишь систему, не поймёшь всех нюансов.


В итоге мы разработали несколько правил такого плана:

  • Если снаряд не попал в противника + снаряд находится от него на расстоянии Х метров + противник находится в кадре — то с вероятностью 30% проигрывается анимация испуга.
  • Если выпущенный игроком снаряд приземлился на расстоянии Y метров от самого игрока + игрок и снаряд оба в кадре — то с вероятностью 100% проигрывается анимация злости.

И так далее.

Программисты же вдоволь настрадались, реализуя переходы от анимированного персонажа в рэгдолл. И наигрались с «физическим движком», который позволял довольно реалистично откидывать персонажей в зависимости от места попадания, оставлять в них воткнутые копья и стрелы, а также управлять героями с помощью невидимых физических сил для эпичных фаталити.

Дружба физики и анимации — это вообще отдельная тема. В своё время меня поразил тот факт, что нельзя просто «сблендить» физику и анимации (причём в 3D задача становится ещё сложнее). В общем, мы пришли к тому, что в момент коллизии анимация будет резко останавливаться, и включаться рэгдолл.

Игры вообще редко используют честную физику — скорее, они создают иллюзию. Настроить что-то реалистичное очень сложно, поэтому чем проще система, тем лучше.

За примерами далеко ходить не надо — физика в аркадных гонках очень упрощена.

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

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

Чем точнее описана геймдизайнерская цель, тем проще работать с кодом.

В Bowmasters мы точно знали, какого эффекта хотим добиться, что хотим видеть на экране, чётко писали ТЗ разработчикам и вместе настраивали «физичность».

Мы не просили «честную модель», нам было важнее, чтобы персонаж падал красиво, не слишком далеко, не слишком быстро, и чтобы плавно поднимался обратно из лежачего положения.

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

Релиз и апдейты

Фактически сразу мы увидели, что игроки очень любят фаталити в Bowmasters. По отзывам, самая любимая их часть боя — это финал. Мы запомнили этот факт и в следующих играх старались сделать концовки максимально эффектными — необязательно фаталити, но точно что-нибудь эпичное.

Метрики игры со старта были хорошими, каждый день появлялось около тысячи отзывов, оценка держалась в районе 4,5. А органических пользователей приходило примерно 100% от объёмов маркетинга.

Все обновления добавляли в игру новый контент. На момент написания статьи в игре 70 персонажей. Правило делать уникальных персов со своим оружием и бомбическими фаталити осталось в силе.

А чтобы сделать игру глубже, мы добавили прокачку — после левелапа у персонажа меняется скин и эпичность фаталити.

​Персонажи до прокачки и после
​Персонажи до прокачки и после

В итоге игра положила начало целой франшизе с полюбившимися персонажами в разных приключениях. И айдлеру Partymasters, и гоночной Happy Racing. Мы развили стилистику Masters и в серии игр с животными: Bouncemasters, Golfmasters и Leapmasters.

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

Аниматорам тоже развязало руки отсутствие скелета, и анимации стали гораздо сложнее и выразительнее.

Мы продолжаем развиваться в рамках узнаваемой франшизы. На одной супер векторной стилизации уже далеко не уедешь.

В последней Racemasters (игра в софт-лонче) векторными остались только наши герои, да и те усложнились градиентами. Машины, на которых они гоняют, уже сложнее в технике исполнения, а в фонах вообще используется рисование кистями, «фотобаш» и «блюр».

​Слева первая игра франшизы — Bowmaster, справа последняя на текущий момент — Racemasters
​Слева первая игра франшизы — Bowmaster, справа последняя на текущий момент — Racemasters

В заключение

Результат радует команду, можно сказать, мы нащупали свою уникальную стилистику, которая выделяется — это видно по отзывам о компании от игроков.

Несколько хинтов, которые вынес для себя в ходе этого проекта:

  • Нужно понять своего игрока. Определите, для кого делается игра, что нравится вашей целевой аудитории, и сеттинг у вас в кармане.
  • Арт дополняет геймплей. Поймите, какой игровой опыт хочет создать ваш продакт-оунер, и картинка начнёт вырисовываться — будь то смешные рэгдоллы, бешеные гонки с разрушениями или огромные эпичные монстры.
  • Первый тест — это фидбэк от команды. Ей нравится арт или геймплей? Это хороший знак.
  • Картинка важна на стадии привлечения пользователя, а удерживает игрока геймплей.
  • Пасхалки, динамика, баунсы и всякие сатисфаи — это усилители пользовательского опыта, основанного core-геймплеем. Нельзя недооценивать важность таких вещей.
  • Fail-fast. Итеративная разработка — наше всё. Не долго предполагать, а быстро проверять:
  • Делаем максимально лоу-файный прототип и тестируем на команде и друзьях.
  • Рисуем фейкшот и сразу проверяем на пользователях.

  • Делаем минимальный продукт и опять проверяем на пользователях.
  • Вносим качественные изменения и — да, вы уже догадались — проверяем их на пользователях.
  • Уникальность стиля — не самоцель, но тренды тоже кто-то создаёт.
2424
19 комментариев

"Уникальность стиля — не самоцель, но тренды тоже кто-то создаёт"

Откровенно уродливый и ленивый графический стиль, анимации соответствующие. Ваши "тренды" сейчас на половине кривых лендингов и в дешевых видео, кого вы тут лечите?

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

6

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

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

Тут ведь нужно смотреть еще и от аудитории тоже)

4

Мне больше интересно как вы вводите новых персонажей, проводились иследования каких персонажей берут чаще? Учитывается ли это при создании новых, что важнее: узнаваемость или внешний вид?

1

В основном брали трендовые образы (ориентируясь в первую очередь на рынок США), не обошлось и без мемов. Но бывают исключения. Например, мы выпустили «школьника» без всяких отсылок и он оказался очень популярен) Правда он был специально введен в игру к началу учебного года)

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

2

"На одной супер векторной стилизации уже далеко не уедешь."
вы себе льстите, векторная стилизация которую вы выбрали очень топорная,примитивная и сырая

1

шота слишком много жестокости

1