[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "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", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "create", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-549065259", "adfox_url": "//ads.adfox.ru/228129/getCode?p1=bxeub&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid21=&puid22=&puid31=&puid32=&fmt=1&pr=" } } ]
{ "author_name": "Редакция DTF", "author_type": "self", "tags": [], "comments": 0, "likes": 14, "favorites": 0, "is_advertisement": false, "section_name": "gamedev", "id": "308" }
Редакция DTF
5 894
Gamedev

Быстрое прототипирование в Unity: История разработки украинской MOBA-игры Golden Rush

Платформа для разработки Unity вместе с vc.ru публикует истории разработки игровых проектов, созданных на базе популярной технологии. Расскажите о своём кейсе, чтобы попасть в рубрику.

Сегодня в выпуске — рассказ ведущего геймдизайнера MOBA-проекта Golden Rush в украинской игровой компании Elyland Ивана Константинова о том, как с помощью движка Unity разработчики могут применять PDD-подход (Prototype-Driven Development, подход, при котором все гипотезы моментально тестируются на готовом прототипе) к созданию игр.

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

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

Изначально мы решили делать MOBA на четыре команды. В браузере. Не похожую на League of Legends или Dotа. Да, вы не ослышались — идея была именно такой, банальной до безобразия.

У нас была приблизительная концепция геймплея Golden Rush, представление об аудитории и множество фантазий, которые нужно было воплотить. Мы могли бы записывать их до бесконечности и строить умственные эксперименты в попытке написать идеальный документ в вакууме. Но вместо этого мы стали прототипировать. Просто никто не мог нам подсказать, что случится, если в обычной MOBA поменять количество команд с 2 на 4, убрать линии и крипов, а на пятой минуте выпустить жабу, нагруженную золотом… Нет, правда, мы пытались спрашивать.

PDD-подход для Golden Rush в деталях

Самое важное в PDD-подходе (Prototype-Driven Development — прим. ред.) — быстрое создание «играбельных» прототипов с нуля и возможность свободно с ними экспериментировать. В этом смысле Unity с его редактором карт, понятной системой ассетов и возможностью быстро поднять браузерную версию (тогда ещё да) нас устроил. В итоге уже через пару месяцев родился прототип игровой карты с жуткими деревьями и горами, среди которых бегали не менее страшные герои, выпуская друг из друга пиксели.

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

Параллельно с персонажами мы делали и переделывали интерфейс. Первые версии прототипа нормально работали с чисто символическим UI, но затем мы начали подгонять интерфейс под геймплей. К счастью, оказалось, что замена 2D-ассетов в Unity тоже занимает минуты, и мы можем модифицировать UI практически под каждую тестовую игру. Таким образом, у нас оказались полностью развязаны руки в плане добавления иконок умений, пассивных умений, баффов и прочих вещей, позарез нужных героям MOBA.

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

После того, как мы определились с типом геймплея и количеством команд на арене, пришло время фиксировать карту и приступать к изготовлению чистовых моделей. В общей сложности от чистового скетча, определившего визуальную стилистику нашей первой арены, до финальной версии в игре прошло около двух месяцев. Всё это время тестирование и изменения в геймплее продолжались, а для карты были созданы и добавлены более 30 объектов, около 40 текстур и порядка 10 эффектов окружения. Все изменения на карте, которые мы запрашивали во время тестирования, происходили в тот же день, так что мы могли видеть их в текущей сборке.

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

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

Жизнь после прототипа

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

В техническом плане тестирование стартовало гладко. Веб-версия работала быстро, даже на старых машинах выдавая стабильные 30 FPS для PvP на 12 персон. Мы явно добились той цели, ради которой выбирали движок — запустили визуально привлекательную MOBA в браузере.

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

Как умер NPAPI, чуть не прихватив нас с собой

Google заблокировал NPAPI (Netscape Plugin Application Programming Interface, программный интерфейс подключаемых модулей — прим. ред.) в Chrome. Наши показатели, и без того не блестящие, рухнули в тартар. Естественно, Google предупредил об изменениях заранее, но у нас до последнего момента сохранялось ничем не подкрепленное убеждение, что просто так Unity в браузерах не похоронят. К сожалению, мы ошиблись, и это дорого нам обошлось.

Более 40% наших игроков использовали Chrome. Конечно, Unity всё ещё можно было включить в нём, но процесс оказался настолько сложным, что конверсии упали на две трети. Ещё одно изменение лендингов не помогло.

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

И тогда мы раскопали нашу экспериментальную разработку — игровой клиент.

Клиент под Windows заработал сразу же. Порт занял меньше двух недель, и, как ни странно, обошелся почти без багов. FPS в нём даже вырос, играть стало комфортнее, поэтому мы без долгих раздумий начали перетягивать в него игроков и смотреть на статистику. Цифры оставляли желать лучшего, особенно в плане конверсии браузерного трафика в живых игроков на клиенте. Тогда мы начали серию экспериментов с геймплеем, надеясь выйти на более жизнеспособные показатели.

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

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

За этот длинный тестовый период мы реализовали около 70% запланированных фич. Мы смогли поднять базовые конверсии, но веб-трафик всё ещё оставался слишком дорогим. Наилучшие KPI показывали «органические» игроки, приходившие естественным образом. Поэтому самым простым решением было двигаться навстречу этому трафику — в Steam.

Сейчас Golden Rush проходит огонь, воду и медные трубы Steam Early Access. За месяцы непрерывных изменений и тестов мы накопили такой опыт работы с Unity, что адаптация игры для Steam заняла буквально несколько дней. Чуть больше времени готовили рекламные материалы и дополнительные DLC. Но после тех штормов, которые мы уже прошли, Steam выглядит уютной гаванью.

Специально для читателей vc.ru разработчики Golden Rush из компании Elyland предоставили промо-код на шлем: LA-Daddy-plz.


Если вы работаете на технологии Unity, хотите рассказать о своём опыте разработки или задать вопрос экспертам — оставьте заявку нашим менторам с помощью специальной формы.

Популярные материалы
Показать еще
{ "is_needs_advanced_access": false }

Комментарии Комм.

Популярные

По порядку

0

Прямой эфир

Узнавайте первым важные новости

Подписаться