Gamedev Andrey Apanasik
3 252

Блог: три года разработки своей MMO

Трудный путь инди и поиск инвестиций.

В закладки

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

Как всё начиналось

Это было длинное приключение, которое началось на одном из хакатонов. В 2014 году мы — Андрей Апанасик, Павел Игнатов, Маргарита Белорукова — представили на одном из GamesJam прототип кроссплатформенной игры, где PC и мобильные юзеры могут соревноваться друг с другом, рисуя различные заклинания (да, мы частично вдохновлялись игрой Magicka). В тоже время мы думали над другим концептом, где у игрока будет своя собственная планета (привет, «Маленький принц»).

Каждый из нас в тот или иной промежуток своей жизни был фаном игр вроде Half-Life, Counter-Strike, League of Legends и World of Warcraft, которые частично вдохновили нас на создание собственной игры. Мы хотели воссоздать тот же дух в UnnyWorld, но при этом чтобы игроки не были ограничены какой-то одной платформой. И с этой миссией мы занимаемся любимым делом уже третий год.

Игру условно можно разделить на две части:

  • City builder
  • Арены

Первая часть похожа на Clash of Clans. У вас есть своя планета, которую необходимо обустраивать. И вы можете нападать на другие планеты.

Нападение на планету другого игрока

Арены являют собой бои три на три игрока.

Всего на данный момент в игре три режима:

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

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

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

​Бросить всё

В феврале 2014 года мы уволились с основного места работы и начали работать из дома.

Основные члены команды на хакатоне в Москве
Ещё один хакатон в Москве

Как формировалась команда

Я познакомился с Павлом задолго до начала работы над UnnyWorld, мы играли в WoW на «Свежевателе душ» (за альянс). В то время он уже пытался делать свои первые игры. Я более или менее серьёзно этим начал заниматься, когда впервые познакомился с системой Android. Изучил движок LibGDX, даже делал уроки. Там же можно найти пример игры Bomberman (копия старой доброй NES-игры). Я её даже выкладывал в Google Play. Но, по очевидным причинам, она была удалена оттуда.

Чуть позже я занимался портом на Android игр, которые Павел ранее делал под iOS. Тот ещё адок, скажу я вам (движок был свой, написанный на C++).

С Ритой Павел познакомился, когда они вместе работали в Game Insight. Я в это время работал как Android разработчик в другой компании, в свободное время изучая gamedev.

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

Первый год

В первое время у нас особо не было денег, мы пытались найти людей, которые бы были готовы помогать нам с проектом бесплатно, на сайтах вроде gamedev.ru, gamedev.net, connect.unity.com.

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

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

В сентябре 2014 года мы решили податься на DevGamm с двумя своими играми. Одна из них — Dodge & Roll, которая уже была запущена на тот момент, вторая же — UnnyWorld — в стадии прототипа.

Вот так выглядел тогдашний прототип игры.

Там мы победили в одной из номинаций (спасибо, Chartboost).

Первые инвестиции

В то же время мы писали в различные акселераторы. И в марте 2015 года нас заметил и принял акселератор Flat6Labs business accelerator in Abu Dhabi.

Мы подались к ним с эти тизером.

Если в двух словах, то подобные акселераторы дают посевные инвестиции за процент от компании (обычно в районе пары десятков тысяч долларов за ~5-10%). Да, обычно одно из условий таких программ состоит в том, что на время оной вам необходимо находиться там физически.

Помимо этого они оказывают различную поддержку: оплачивают перелёт туда-обратно, помогают с визами, знакомят с полезными людьми и тому подобное.

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

За время программы мы перепробовали кучу всяких технологий: Kubernetes, Apache Mesos, и многие другие.

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

Первый софтланч провели в Малайзии на iOS и Android. Мы увидели, что UnnyWorld заинтересовала игроков, но была выявлена целая куча проблем. Они касались, как и механик самой игры в целом, так и монетизации. Мы вернулись в Россию и продолжили работу над проектом.

Y Combinator и путешествие в Кремниевую долину

В какой-то момент нас заметил этот акселератор и пригласил к себе. Они проинвестировали много крупных компаний за время существования (FB, Paypal и другие). Так мы на несколько месяцев переехали в Калифорнию. Здесь нашими менторами стали Джастин и Майкл (основатели Twitch). Мы познакомились с другими стартапами, прониклись их культурой. Но проблема была та же, что и в Абу-Даби — инвесторы боятся вкладываться в игры.

Кстати, с нами в батче были парни из Wakie и Petcube.

Мы практически безвылазно работали над проектом, изредка ходили на встречи стартапов. Так и прошли эти месяцы усердной работы. У нас сменилось несколько членов команды. Переработали многие аспекты игры. Мы заинтересовали одного бизнес-ангела (Jack Levin), который вложился в нас. Он в своё время был одним из первых сотрудников Google, а сейчас помогает стартапам (кстати, если кто помнит сервис ImageShack, — это его творение).

После демо дня вернулись в Россию и продолжили работу уже тут.

K-Startup Grand Challenge

По возможности мы продолжали писать в различные инвестиционные программы. В итоге нас приняли в K-Startup Grand Challenge. Мы на пару месяцев улетели в Сеул. Данная программа отличается от предыдущих — вам дают своего рода грант, при этом взамен не забирают процент от компании. Таким образом они хотят привлечь иностранные стартапы, чтоб те как-то положительно повлияли на экономику страны.

В ноябре 2016 года мы получили статус «Made with Unity» и поучаствовали в Unite в Лос-Анджелесе, где познакомились с командой из Facebook, которая разрабатывает «убийцу» Стима — Gameroom. По сути, для нас это был второй софтланч. Мы убедились, что движемся в правильном направлении.

После этой программы вернулись в Россию. В какой-то момент решили посмотреть, как игроки на PC оценят нашу игру и зарелизились в Steam.

Мы ожидали, что игроки на этой платформе весьма прохладно/негативно отнесутся к нашей игре. Да, были отзывы по типу «Mobile trash», «Garbage mobile port», «pay to win». Но мы ошиблись, игра была встречена весьма тепло, особенно в Южной Америке.

В какой-то момент подали заявку в Start-Up Chile и нас приняли. Пару месяцев назад мы прилетели сюда на прохождение программы.

Start-Up Chile

Эта программа похожа на ту, что была в Корее. По ходу оной мы ставим какие-то цели и пытаемся их достичь. На собраниях с другими стартапами обсуждаем прогресс и даём советы.

Как и раньше, мы продолжаем работать над игрой. Не так давно выпустили первое DLC: UnnyWorld - Founder's Pack.

Founder's Pack DLC для UnnyWorld

1 октября выкатили обновление с новым героем и открыли Азиатский сервер.

Новый герой — Дуар

В завершение

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

P.S. у меня есть пара ключиков на DLC, если кого-то заинтересует игра. Может отписаться в комментариях, а мы уже потом выберем кому отослать ключик.

P.P.S. не стесняйтесь задавать вопросы.

В раздел Gamedev попадают не только редакционные материалы, но и читательские тексты с пометкой «Блог». Вы можете нажать кнопку «Написать» и рассказать о своём опыте разработки. Подробнее о читательском контенте в разделе вы можете почитать тут.

#инди

Материал дополнен редакцией
Статьи по теме
Как попасть в раздел Gamedev, если вы читатель
{ "author_name": "Andrey Apanasik", "author_type": "self", "tags": ["\u0438\u043d\u0434\u0438"], "comments": 27, "likes": 34, "favorites": 1, "is_advertisement": false, "subsite_label": "gamedev", "id": 10999, "is_wide": false }
{ "id": 10999, "author_id": 1922, "diff_limit": 1000, "urls": {"diff":"\/comments\/10999\/get","add":"\/comments\/10999\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/10999"}, "attach_limit": 2, "max_comment_text_length": 5000 }

27 комментариев 27 комм.

Популярные

По порядку

Написать комментарий...

Александр Горюшин

7

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

Ответить

Andrey Apanasik

Александр
1

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

Ответить

Евгений Герасименко

Andrey
0

Т.е. вы получили инвестиции только после того как засветили игру на тематических мероприятиях?

Ответить

Andrey Apanasik

Евгений
0

Если говорить о временном промежутке, то после, да. Но инвестиции получили не из-за этого.

Ответить

Andrey Apanasik

Александр
0

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

Ответить

Михаил Ерёмин

2

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

Ответить

Serj Shulga

Михаил
0

Кстати да, тоже интересно)

Ответить

Andrey Apanasik

Михаил
0

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

Ответить

Vladislav Kudrinsky

1

А можете рассказать про серверную часть - на чем писали, какие технологии использовали, сервера собственные или арендуемые? Уж очень интересна эта тема )

Ответить

Andrey Apanasik

Vladislav
2

Серваки арендуем.
Были на Soft Layer. Съехали с них. Сейчас на Azure, полёт нормальный. Для CDN используем AWS, тоже проблем никаких не было пока.

Soft Layer никому не рекомендую, там всё плохо.

По поводу стека:
1) Игровые серверные инстансы билдим в том же Unity3d, только с дефайнами отличными от клиента. Кучу кода позволяет переиспользовать.
2) Сетка юнитишная LLAPI.
3) Сервисы серверные на Java/Node.js.
4) База - RethinkDB для игровых данных. Токены авторизации в Редисе. Рейтинги тоже в Редисе кешируем, чтоб нагрузку с основной базы снять.
5) Для сервис дискавери consul.io

Это если вкратце.

Ответить

Vladislav Kudrinsky

Andrey
1

Спасибо за ответ. Удачи вам и вашему интересному проекту )

Ответить

Albert Arifulin

1

Отличная история и проект симпатичный :)

Ответить

Andrey Apanasik

Albert
0

Благодарю ^_^

Ответить

Станислав Саввиных

0

Крутая история. А сколько игра заработала по итогу? Ну то есть инвестиции это хорошо, а каковы успехи самого продукта?

Ответить

Andrey Apanasik

Станислав
0

Если вопрос о том, окупила ли игра себя, то ещё нет.
Да и запустились мы пока только в Steam, по сути. Там люди в принципе не особо любят внутри игры покупки совершать. Но, к слову, они их совершают.

У нас релиз на мобилах скоро планируется, вот после этого уже можно будет о чём-то говорить.

Ответить

Станислав Саввиных

Andrey
0

А паблишер есть? Как вы трафик собираетесь привлекать?

Ответить

Andrey Apanasik

Станислав
0

Пока нету. Но если найдём хорошего паблишера, то возможно с ним запустимся.

Для мобил хорошо работает трафик из FB. Там неплохой CTR был, когда мы тестировали это во время софт ланча.

Ответить

Станислав Саввиных

Andrey
2

Ну там все не так просто :)

Прикольный проект, удачи в любом случае

Ответить

DofElite

0

Стоит вынести ссылки на игру вниз. И да, можно ключик?

Ответить

Andrey Apanasik

DofElite
0

Ссылка на Steam: http://store.steampowered.com/app/446270/UnnyWorld/
Сайт: http://unnyworld.com/
VK: https://vk.com/unnyworld
FB: https://www.facebook.com/unnyworld/

Я не могу статью менять больше, только если редакторы dtf добавят.

Ответить

Andrey Apanasik

DofElite
0

Привяжите VK/FB, чтоб я мог ключик туда скинуть.

Ответить

Alexander Kulkov

0

Бросил читать на строчке - "У вас есть своя планета, которую необходимо обустраивать."

Ответить

Andrey Apanasik

Alexander
0

Не любите билдеры?

Ответить

Сергей Шалдин

0

Удачи в развитии игры, и можно ключ?

Ответить

Andrey Apanasik

Сергей
0

Спасибо. Ключик отправил.

Ответить

Игорь Подпрядок

0

А когда планируется релиз на мобильные девайсы?

Ответить

Andrey Apanasik

Игорь
0

В середине Октября на iOS. Чуть позже на Android.

Ответить
0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "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": "createAdaptive", "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-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&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": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]