{"id":3881,"url":"\/distributions\/3881\/click?bit=1&hash=e456b64697230d93edcda0dd20f3c8aa5d4abd88effca1a7571a12fa6564c38a","title":"\u0413\u0435\u0439\u043c\u0434\u0435\u0432-\u043a\u043e\u043d\u043a\u0443\u0440\u0441, \u0433\u0434\u0435 \u043f\u0440\u0438\u0437\u044b: \u0438\u043d\u0432\u0435\u0441\u0442\u0438\u0446\u0438\u0438 \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435","buttonText":"\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c","imageUuid":"a410dbd1-804c-54dc-84ea-e6227d71d9b4","isPaidAndBannersEnabled":false}
Andrey Apanasik

Из разработчиков игр в разработчики сервиса Balancy для разработчиков игр

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

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

В далёком 2014 на одном из геймджемов мы представили прототип кроссплатформенной MOBA.

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

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

Мы до последнего тянули проект и надеялись, что всё получится, но в какой-то момент, всё же, осознали, что игру лучше закрыть. У нас ещё оставалось немного денег на з/п сотрудникам (основатели на тот момент уже год как не получали зарплату), решили из ассетов UnnyWorld по быстрому сделать батлер Hero Masters.

Примерно месяца за 2-3 запустили более-менее рабочую версию, чтоб собрать базовые метрики. Они были неплохими, игра даже приносила немного денег (на удивление, больше, чем MOBA, которую пилили несколько лет), но для самоокупаемости не хватало. В итоге было принято окончательное решение закрыть компанию.

Инструменты нужны всем

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

Было несколько окружений: dev, stage, production. При публикации изменений они все улетали в виде json’ов на CDN, а игра уже эти данные потом подкачивала. Было довольно удобно: не нужно возиться напрямую со спредшитами, json’ами, xml’ками и прочими штуками. Геймдизайнер в руки получал удобный инструмент, а вся остальная магия, связанная с движением данных по сети, их не заботит.

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

Т.к. компанию пришлось закрыть, а денег последний год+ мы себе не платили, то пришлось искать работу, но параллельно с одним из ко-фаундеров Пашей Игнатовым решили, всё же, попробовать запилить сервис.

Судьбоносный пивот или как появился Balancy

Пока пилили Hero Masters и UnnyWorld, очень хотели сделать аналог BattleNet, но для своих игр: общий аккаунт, друзья, чат и прочие социальные фишки. Так и появилась первая версия сервиса под названием UnnyNet.

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

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

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

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

Для прототипа этого хватило, но тут же всплыло множество проблем, начиная от удобства (особенно, если человек раньше работал с чем-то типа Гугловских Спредшитов), заканчивая тем, что не было каких-то чётких структур сущностей, что выливалось в некорректно сгенерированные json’ы.

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

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

Сами шаблоны и их параметры теперь нужно задавать заранее.

Для работы с документами шаблона выбираем потом его в левом меню.

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

Шаблоны ещё используются и в том же Unity (для которого нужно поставить наш плагин) для генерации необходимых классов. Все те параметры, которые были заданы в админке, становятся свойствами сгенерированных классов. Код по закачке json’ов и их мапингу на эти классы тоже генерируется нами. Разработчик в итоге получает уже готовые структуры, которые использует непосредственно для работы с игровой логикой.

Мы позиционировали решение как «умные Спредшиты». Клиенты находились, но, если сравнивать с нашим прошлым стартапом, Balancy — это чистый b2b проект, для которого намного тяжелее искать клиентов. Продать потенциальному покупателю решение, которое «будет лучше json’ов и Гугл Таблиц», весьма проблематично. Как пример, самые частые препятствия, которые мы встречали:

  • Я привык к X, Y, Z
  • Наши разработчики сами такую админку сделают за месяц (спойлер: не сделают)
  • За это нужно платить
  • Вендерлок (это частая причина отказа крупных студий, который хотят всё инхауз делать)
  • У нас уже есть подобие админки

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

Умные оферы и лайвопс

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

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

Таким образом получилось реализовать как базовые логические условия типа и/или, так и всякие дополнительные по полям/enum’ам. И, что самое главное, редактировать такие документы очень удобно по сравнению с Гугл Таблицами или, упаси боже, сырыми json’ами.

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

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

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

Эхо *****

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

Одно из условий было переезд и оформление гражданства/ВНЖ в другой стране. Следующие месяцы мы шлифовали проект и параллельно искали варианты. Был один акселератор из Канады, который мог бы инвестировать и помочь с релокацией, но они за это брали ещё процент компании сверху, что нас не устраивало.

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

На данный момент ищем четырёх сотрудников в компанию:

  • Бекендщик. Стек: нода + ts + nest.js + Постгря.
  • Фронтендщик. Тут реакт + ts + вебпак.
  • Лайвопс менеджер/продюсер с опытом запуска и оперированием успешных проектов. Из задач: участие в создании продукта и помощь текущими клиентам для создания успешных кейсов.
  • Биздев для общения с игровыми разработчиками и партнёрами, включая, онбординг и привлечение новых клиентов. Нужен человек с нативным английским или около того.

Зарплата в евро + опцион. В Россию переводить деньги нет возможности, поэтому нужны люди с иностранными счетами.

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

Если есть какие-то вопрос по технологиям, переезду или ещё про что-то, то отвечу в комментариях 😎

0
142 комментария
Написать комментарий...
CallMeBeardman!

Я первый раз в жизни увидел, что Апанасик реально делал игры

Ответить
Развернуть ветку
Andrey Apanasik
Автор
Ответить
Развернуть ветку
8 комментариев
Израильский утюг

Андрей, я уже выучил React и начал учить TS, так что скоро стану разработчиком вашей хуйни. Готовь 300к.

Ответить
Развернуть ветку
Сода

В наносекунду?

Ответить
Развернуть ветку
1 комментарий
Азылбэк Мазлтопф

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

Ответить
Развернуть ветку
1 комментарий
Гуманитарный паркур

Хеллоу ай ем фром Андрей апанасик компани ду ю лайк ту юз ОУР продукт ор нот? Вай нот? Вай? Лет ми толк виз ю ебаут зис.

Ответить
Развернуть ветку
Roanoac

Ноу ? Ну тогда плиз дуй отсюда

Ответить
Развернуть ветку
lolipop popilol

Фром ё харт?

Ответить
Развернуть ветку
Арсений Мирный

Из обычного российского поставщика ножей в спину в поставщика ножей в спину, живущего на Кипре!

Ответить
Развернуть ветку
Плохой Мурод

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

Ответить
Развернуть ветку
Kysh

Создатели EVE Online совмещают

Ответить
Развернуть ветку
Игорь Черняев

Вспоминается золотая лихорадка и продажа лопат. Впрочем, в этом нет ничего плохого, лопаты нужны)

Ответить
Развернуть ветку
2 комментария
Зеленый магнит

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

Ответить
Развернуть ветку
2 комментария
L8OLOOE
получили инвестиции.
стартап пришлось закрыть

Бизнес. Потом интересуются, почему гейм индустрии нет

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Бизнес как бизнес. Большая часть стартапов закрывается. Это норма.

Ответить
Развернуть ветку
6 комментариев
Сода

Думаете это пост про игры? Нет, это очередная тгавля одного человека. :D
А если серьезно, интересно было почитать как оно у вас всё работает, спасибо.

Ответить
Развернуть ветку
Roanoac
мы себе не платили, то пришлось искать работу

И до сих пор в процессе поиска

Ответить
Развернуть ветку
Арсений Мирный

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

Что делаем
Какую проблему это решает
Кто ЦА и почему именно я
Как это лучше всего, что есть
Как это поможет мне прямо сейчас
Как это будет помогать мне в будущем

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Это просто ретроспектива. Думаю, в будущем буду чаще про сервис писать и подробнее.

Ответить
Развернуть ветку
2 комментария
ASZI

Интересно было бы узнать про Кипр, и вообще твой впечатление, какие истории были и.тд. =)

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Про Кипр будет отдельная статья. К тому моменту как раз ВНЖ уже получу.

Ответить
Развернуть ветку
Милый Мальчик

@WannaBe2D твой выход

Ответить
Развернуть ветку
WannaBe2D

я просто хочу быть счастливым

Ответить
Развернуть ветку
4 комментария
Blendamed

Когда сортировку добавите нормальную? как вообще можно продавать такое говно без сортировки по столбцам?

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Но там есть сортировка 🤔

Ответить
Развернуть ветку
6 комментариев
Igorious

Пациент скорее жив?..

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Жив и развивается.

Ответить
Развернуть ветку
1 комментарий
Мужской спрей

Лучше бы экшен рпг делал.

Ответить
Развернуть ветку
Фирудин Ярметов

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

Ответить
Развернуть ветку
Andrey Apanasik
Автор

А оно очень надо? Я уже обдумывал вариант, чтоб как-то это докерами поставлять, чтобы можно было потом в любом контуре развернуть, но такое почти никто не просил, поэтому приоритет был низкий у задачи.

Напиши мне в Телегу, может что-то и придумаем.

Ответить
Развернуть ветку
2 комментария
Уау Вагага

Ждем разьеб по вашему собесу.
А так, наконец то написал про проект)

Ответить
Развернуть ветку
Andrey Apanasik
Автор

У нас, на самом деле, довольно лайтовые собесы.

Ответить
Развернуть ветку
4 комментария
xelblch24

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

Данные тягать можно только через плагин для Unity? API нет?

Ответить
Развернуть ветку
Andrey Apanasik
Автор

json'ы так-то можно самому с CDN'а тягать. Плагин пока есть для Unity, т.к. все почти клиенты на нём. Но в будущем сделаем и для других движков.

Ответить
Развернуть ветку
2 комментария
Alexander Gunko

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

Ответить
Развернуть ветку
Andrey Apanasik
Автор
Подозреваю, что он может приглянуться разве что инди-командам или одиночкам

Инди с сомнениям относятся, т.к. платить нужно.

Более-менее крупные компании или уже имеют

Есть такие, но зачастую там не самый крутой инструмент, т.к. это не основной фокус студий, они, всё же, игры делают.

или могут сами сделать систему под свои требования

Такое слышал. Но те, от кого это слышал, так в итоге ничего и не сделали, т.к. это не за 1 месяц делается, а куда больше.

Плюс хранение данных на своем сервере, где с ними можно делать все, что угодно.

Это да, пока у нас нет именем. Поэтому заходим через средние студии, которые не против шарить данные с нами.

Ответить
Развернуть ветку
Alexander Gunko

Кстати, у вас на сайте фавиконка с буквой "u", видимо старая еще

Ответить
Развернуть ветку
1 комментарий
Mikotaro

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

Лайвопс менеджер/продюсер

КъХех

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Я на беке единственный. Умею в ноду/ts и Джаву. С Джавы давно слез, т.к. слишком громоздкая. Поэтому пока на ноде.

В будущем другие микросервисы, в принципе, можем и на других языках писать. Сам на Go посматриваю.

Ответить
Развернуть ветку
12 комментариев
DarkMessiah

Favicon старая :)

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Угу, в этом месяце будем и это менять, и лендинг.

Ответить
Развернуть ветку
Медный томагавк_два

Да и ладно, что перешли в бизнес приложения. Зато, если найдете приличных клиентов, то это надежно, и компания сможет держаться за счёт саппорта и кастомизации.

Ответить
Развернуть ветку
Andrey Apanasik
Автор

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

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

Ответить
Развернуть ветку
Артемий Фролов

Хм, интересно! Я для нашей игре сделал продвинутую кастомную аналитику (через файрбейз, но которой все еще нет в гугловских / юнити дэшбордах) с красивыми интерактивными графиками.
Игра не взлетела (даже с рекламой :D), но после статьи задумался, насколько эта аналитка может быть превращена в продукт, надо поресерчить!

Ответить
Развернуть ветку
Andrey Apanasik
Автор

С Файербейзом это прям явный вендорлок + ценник мутный.

Ответить
Развернуть ветку
1 комментарий
BillyBob

Дашбордможно и самому написать, какой нужен

Ответить
Развернуть ветку
Михаил _

Мож сначала надо сделать игру интересную? А уж ПОТОМ всё остальное?

Ответить
Развернуть ветку
1 комментарий
Илья Бамбуков

Почему какой то залетный киприот пиарится на шару? Пусть покупает рекламу.

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Этот "залётный киприот" написал пост в своём собственном блоге.

Ответить
Развернуть ветку
Питерский будильник

Круто как, Андрей! Удачи и успехов вам.
Хотелось бы конечно в такой команде поработать, жаль что я не на ноде(

Ответить
Развернуть ветку
Andrey Apanasik
Автор

А на чём пишешь? В будущем может будем нанимать и на другой стек.

Ответить
Развернуть ветку
13 комментариев
Forever Metal

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

Ответить
Развернуть ветку
Alexander D

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

Ответить
Развернуть ветку
Andrey Apanasik
Автор

У нас сейчас появился инвестор и эдвайзеры из индустрии, как раз всё приоритезируем и курс выстраиваем)

Ответить
Развернуть ветку
Alex Fielding

круто вроде, но нихера непонятно

Ответить
Развернуть ветку
foki

Интересно, сколько разрабов полегли из-за больших амбиций

Ответить
Развернуть ветку
Andrey Apanasik
Автор

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

Ответить
Развернуть ветку
2 комментария
Сложный велосипед

Очень интересно, как, кто и зачем в итоге пользовался вашим сервисом, если таких на рынке уже тысячи. Искали неопытных инди с непрофильными инвесторами?

Ответить
Развернуть ветку
Andrey Apanasik
Автор
если таких на рынке уже тысячи

Не.

Искали неопытных инди с непрофильными инвесторами?

Если студии уровня Гейминсайт, Некки или Плейрикc — это неопытные инди, то да.

Ответить
Развернуть ветку
Джек из Тени

Хм, этот чувак мне подозрительно кого-то напоминает. А если покрасить одежду в красный? Ц, не пойму кого.

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Персу лет 5 уже. Если кого-то и напоминает, то не из новых игр)

Ответить
Развернуть ветку
1 комментарий
Вирджин Вулф

Those who cannot do, teach. Those who can't teach, teach gym.

Ответить
Развернуть ветку
Andrey Apanasik
Автор

О, вы из Англии.

Ответить
Развернуть ветку
1 комментарий
Алексей Фокс

"Кто не умеет - помогает". На Кипре бездомных кормят?

Ответить
Развернуть ветку
Роман Величкин

В чем преимущества по сравнению с https://machinations.io/?

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Это абсолютно разные решения, я даже не знаю как нас сравнить 😅

Ответить
Развернуть ветку
Кржемелик

Компании не станут доверять свои балансы рандомам, которые их могут слить конкурентам.

Ответить
Развернуть ветку
Andrey Apanasik
Автор

Всё так, проблема недоверия действительно существует. Поэтому пока ориентируемся не на крупняк, а на небольшие-средние студии.

Ответить
Развернуть ветку
IC

Ну и жирно же флексит перс.

Приятно выглядит игра.

Ответить
Развернуть ветку
Читать все 142 комментария
null