{"id":4093,"url":"\/distributions\/4093\/click?bit=1&hash=572414f048fd940828f35b0d46d6210a2c91bd9267922fbe28005f6aba01f505","title":"\u0417\u0434\u0435\u0441\u044c \u0432\u0441\u0435 \u2014 \u00ab\u0421\u0431\u0435\u0440\u00bb, \u00ab\u042f\u043d\u0434\u0435\u043a\u0441\u00bb, VK \u0438 Kaspersky","buttonText":"","imageUuid":""}

Из разработчиков игр в разработчики сервиса 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
144 комментария
Написать комментарий...
CallMeBeardman!

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

Ответить
Развернуть ветку
Andrei Apanasik
Автор
Ответить
Развернуть ветку
8 комментариев
Prison Mike

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

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

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

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

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

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

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

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

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

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

Фром ё харт?

Ответить
Развернуть ветку
Аккаунт удален

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

Ответить
Развернуть ветку
Аккаунт удален

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить
Развернуть ветку
Аккаунт удален

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

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

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

Ответить
Развернуть ветку
2 комментария
Магнит для скачивания

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

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

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

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

@WannaBe2D твой выход

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

КъХех

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

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

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

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

Favicon старая :)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить
Развернуть ветку
Базированный Гигачад

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

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

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

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

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

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

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

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

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

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

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

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

Гугл таблицы или эксель в миллиарды раз удобнее и практичнее админок. Причины тому:

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

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

4 года работал в админках, затем 5 лет гугл/эксель, админки это от лукавого :)

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

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

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

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

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

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

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

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

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

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

Не.

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

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

Ответить
Развернуть ветку
Аккаунт удален

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответить
Развернуть ветку
Аккаунт удален

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

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

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

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

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

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

Ответить
Развернуть ветку
137 комментариев
Раскрывать всегда
null