Playgendary
10 292

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

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

В закладки

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

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

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

Инструменты

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

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

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

Решающим в выборе растровой графики стало то, что вектор всегда можно сымитировать, причём без ограничений этого формата. Это стало очень актуальным в следующих играх франшизы 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

В заключение

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

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

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

  • Делаем минимальный продукт и опять проверяем на пользователях.
  • Вносим качественные изменения и — да, вы уже догадались — проверяем их на пользователях.
  • Уникальность стиля — не самоцель, но тренды тоже кто-то создаёт.
{ "author_name": "Playgendary", "author_type": "editor", "tags": [], "comments": 18, "likes": 25, "favorites": 38, "is_advertisement": false, "subsite_label": "playgendary", "id": 89046, "is_wide": true, "is_ugc": false, "date": "Tue, 22 Oct 2019 11:03:49 +0300", "is_special": false }
0
{ "id": 89046, "author_id": 350787, "diff_limit": 1000, "urls": {"diff":"\/comments\/89046\/get","add":"\/comments\/89046\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/89046"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 350787, "last_count_and_date": null }
18 комментариев
Популярные
По порядку
Написать комментарий...
6

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

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

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

Ответить
4

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

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

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

Ответить
3

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

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

Дайте задание человеку, который только изучает Illustrator и знаком с интерфейсом, и вы получите сотни таких персонажей.

Одним словом, не втирайте дичь. Хоть VC и не профессиональный ресурс для таких вещей, но тут не одни идиоты читают это издание.

Ответить
1

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

Ответить
5

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

Вы же приводите не верный с профессиональной точки зрения пример. Грубо говоря, вы говорите мне, вот Lada Vesta ни чем не отличается от Mercedes GLE. Ну, да, не отличается общими чертами - есть 4 колеса, металлический кузов, обе ездят. Но если мы будем сравнивать иные качества, то увидим, что например отделка салона из более дорогих материалов (естественно, наиболее в промышленном масштабе сложных в обработке и применении), и дальше я перечислять не буду, т.к. мысль не сложно уловить.

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

Ответить
0

Про Minecraft тут соглашусь, как и в остальном)

Ответить
1

1. Про доходы, можно поспорить, если мы говорим о том, что продается и что является "визуальным шедевром". Примеров на рынке того же AAA много. Так что тут немного нерелевантно получилось)

2. Специально отметил, на момент релиза в ГК, это был уникальный стиль. Так как массово в основном все делают гораздо проще и это факт.

Ну и про дичь — имхо просто стоит сбросить градус напряженности) Если стиль не заходит — окей, это нормально, тут в тексте нет претензий на конкуренцию с артбуками Naughty dog, конечно есть сотни работ совершенно другого уровня и это нормально)

Ответить
1

Ладно, закрываем бессмысленную дискуссию.

1. Просто, что значит заходит аудитории? 200 миллионов установок? Я недавно скачал, посмотрел на новоиспечённый мобильный CoD и тут же удалил = 1 установка. Занёс ли я хоть одну монету за полтора года в PUBG - нет. Геймплей для мобилок пойдёт, но не впечатляет наполнение игры превращающее её в клоунаду, а вот в более милитаристическую игру мне бы было приятнее заходить почаще и играть, может быть донатить. Ваша игра может заходить по геймплею, но визуальная концепция не вызывать эмоций в человеке. Всё это вкусовщина, поэтому остаётся один параметр меры - приносит ли прибыль (а дальше, сколько и по сравнению с кем). Если да, то круто, молодцы.

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

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

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

Ответить
0

Очень субъективно

Ответить

Комментарий удален

1

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

Ответить
2

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

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

Ответить
0

Спасибо!

Ответить
1

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

Ответить
1

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

Ответить
1

Было бы интересно увидеть цифры: сколько покупок за все время, сколько прошло время с момента выпуска, какая динамика, сколько покупок было в первый месяц, сколько потратили на маркетинг! 

Ответить
0

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

Ответить
0

Фаталити порадовали, честно думал, что игра проще гораздо. Поностальгировал по Йети еще, кто знает тот поймет) Правда не нашел щас Racemasters ни в сторе, ни на ГП

Ответить
0

Главное, не закончите как создатели Мортал Комбат - психологические проблемы из-за того, что постоянно думали над способами красиво расчленить тело :D

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }