[ { "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", "phone" ], "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" } } } ] { "gtm": "GTM-NDH47H" }
{ "author_name": "Редакция DTF", "author_type": "self", "tags": ["\u0438\u043d\u0434\u0438\u0434\u0435\u0432"], "comments": 0, "likes": 15, "favorites": 0, "is_advertisement": false, "section": "pro" }
6 900
Gamedev

История разработки игры Heroes of Scene — идея, поиск команды и запуск в Steam

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

Создатель компьютерной и мобильной стратегии Heroes of Scene Олег Городишенин рассказал VC о том, как родилась идея игры и как велась её разработка на движке Unity3D.

Всем привет. Меня зовут Олег, я создатель и руководитель проекта Heroes of Scene. Сегодня я бы хотел рассказать вам историю разработки нашей онлайн-стратегии непрямого контроля Heroes of Scene, которая не так давно вышла на Windows, Mac, Linux, iOS и Android.

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

Первый прототип

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

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

Будучи тогда 16-летним парнем, я решил сделать игру сам, в одиночку. Начал я с прототипа на Blender Game Engine. На его создание ушёл примерно месяц, но результат стоил потраченных сил: хотя весь код и ресурсы представляли собой дикую кашу, прототип отражал основную суть игры.

Первый прототип:

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

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

Новое ядро игры

Пришло время искать людей в команду. В августе 2013 года был найден разработчик клиентской части. С этого момента началась разработка нового клиента.

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

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

Прототип с новым «сердцем»:

Псевдосервер

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

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

Новый дизайн для карты (который позднее был ещё раз обновлен):

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

Пока мы проводили все эти улучшения в клиенте, нашелся серверный программист.

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

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

Так была готова не очень стабильная, но работоспособная версия клиента с мультиплеером, хотя и с некоторыми огрехами. Дело оставалось за малым — оптимизировать и исправить баги для альфа-теста, который мы хотели запустить в феврале.

В преддверии тестирования

В кратчайшие сроки клиент был доведен до презентабельного состояния, началась запись на тестирование игры. Мы не ожидали большого ажиотажа, рассчитывая на 30–40 заявок. К нашему удивлению, вышло примерно 500.

Альфа-тестирование

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

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

Злополучный персонаж:

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

Перенос логики на сервер

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

Разработка нового интерфейса

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

Что в итоге получилось:

Обновление графики

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

Было:

Стало:

Также были полностью переделаны все эффекты заклинаний.

Например, заклинание молнии теперь выглядит вот так:

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

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

Steam Greenlight

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

Мы собрали в районе 5 тысяч голосов, и Valve одобрили наш проект.

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

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

Улучшение мини-карты и иконок:

В качестве системы аналитики была выбрана Google Analytics, но это решение является довольно спорным. Она всё ещё не очень подходит для мониторинга трафика на мобильных платформах, и для этого лучше использовать сторонние решения.

Тем не менее, подготовив промоматериалы и, договорившись с несколькими YouTube-обзорщиками, 26 августра мы вышли в Steam, Google Play и App Store.

Трейлер:

Запуск, прямо скажем, был не очень удачный, так как игра вообще толком не работала несколько дней. Из-за довольно большого наплыва игроков, в коде обнаружились критические ошибки, которые приводили к отказу матчмейкинга, модуля авторизации и так далее. Плюс ко всему, были перепутаны значения выпадения карт в мультиплеере, из-за чего посыпалось море отзывов с одинаковым содержанием: «Pay to win». Игроки просто решили, что карты героев и заклинаний можно купить только за реальные деньги, хотя по нашей модели это должно быть совершенно иначе.

Сейчас у нас уже почти 60 тысяч игроков и более 8 тысяч играют в игру каждый день. Сыграно было более 400 тысяч боев, что, конечно, тоже не может не радовать.

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


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

#индидев

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

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

Популярные

По порядку

Прямой эфир

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

Подписаться