В материале про минский хакерспейс мы писали о том, как в стенах клуба зарождаются новые проекты. Так, основатели Battle.Guru тренируют нейросеть для киберспорта на подаренном Юрием Мельничком компьютере для машинного обучения. Разработчик Владислав Романовский и студент Евгений Демидович рассказали dev.by, как меняют правила игры.
Илон Маск повысил интерес к искусственному интеллекту в киберспорте
Идея создать продукт для киберспорта появилась у Владислава два года назад. Его брат — стартапер, поэтому мысль «а чем я хуже?» и опыт в запуске других проектов подстёгивали программиста к созданию своей компании. Первая идея — социальная сеть для геймеров — провалилась. Парня это не испугало, и он начал работу над сервисом по поиску напарников для игры в Dota.
— После первых трудностей команда разбежалась, но я не сдался. Пришёл в Гродненский государственный университет им. Янки Купалы и попросил у декана толкового студента, — рассказывает Владислав. — Он порекомендовал мне звезду университета, призёра многих соревнований по программированию и анализу данных — IDAO, Calculus World Cup. Оказалось, этот парень не любитель компьютерных игр, но мне удалось его заинтересовать.
После того, как в лаборатории OpenAI Илона Маска создали бота, который победил топового игрока в Dota, интерес к использованию искуственного интеллекта в киберспорте вырос, и это тоже мотивирует, подчёркивает Владислав.
Киберспорт сейчас напоминает футбол когда-то, считают разработчики: пришло телевидение, толпы болельщиков, вокруг спортивной дисциплины появились деньги. На Олимпийских играх в Китае киберспорт хотят признать официальной дисциплиной. В Беларуси интерес к киберспорту только просыпается, и стоять у истоков — как минимум занятно.
Не читерство, а анализ игры противника
Сейчас Battle.Guru — это, с одной стороны, сервис, который помогает находить напарника для игры. А с другой — точечные решения, которые анализируют игру как противника, так и команды, их слабые/сильные стороны и позволяют находить новые стратегии и тактики боя. В будущем эти направления будут интегрированы в одну SaaS-платформу.
— Мы улучшаем тренировочный процесс команды, экономим её время, подсказываем, в каком направлении двигаться. Читерством мы не занимаемся — это строго запрещено. При помощи сервиса команды могут проанализировать свои ошибки, понять, каких персонажей с какими ставить в одних связках, какие внутриигровые артефакты помогут им выиграть.
Со слов стартаперов, одна из их целей — решить проблему токсичности аудитории в играх, характерную для стран СНГ. «Из-за хамства русскоязычных игроков происходит большой отток пользователей, — поясняет собеседник. — Dota даже выпустила инструмент для новичков, который подсказывает, что делать, чтобы они не тормозили и другие игроки не злились».
Главной ошибкой они считают то, что взялись за реализацию своих идей без анализа рынка. Сейчас команда работает над этим: общается с экспертами, командами, киберспортивными организациями. В результате проект сдвинулся с мёртвой точки.
В дальнейшем хотим использовать психологические портреты игроков, особенности игры конкретного человека, его поведения в соцсетях. На самом деле с технической стороны все играют примерно одинаково, а вот психология у всех разная. И мы можем использовать это для контратаки.
Нам хотелось бы стать стартапом, который занимается полноценной аналитикой в мобильных, консольных и прочих играх, основанных на умениях (где есть взаимоотношения людей и нет читерства).
Техническая реализация
В платформе Battle.Guru использована микросервисная архитектура, в которой самое сложное — заставить микросервисы работать как часы в режиме реального времени, считают разработчики. Бэкенд сделан на PHP и частично на Node.js. В базах данных использован Redis для кэширования, RabbitMQ для очередей сообщений между компонентами, Apache Cassandra для больших данных, MySQL для хранения простых данных платформы.
Также разработчики применяют математические алгоритмы ранжирования, балансировщики в сервисе, который напрямую работает с Dota2, анализаторы, написанные на Python, поисковой движок Elasticsearch, который помогает искать и сравнивать игроков.
Интеграцию с чат-ботом делают при помощи Microsoft Bot Framework (в перспективе хотят делать своё кроссплатформенное решение). В планах — создать такую интеграцию, чтобы сервисом можно было пользоваться из любой экосистемы. Например, через виджет в Twitch.
Львиную долю разработки занимает обучение нейронной сети, которую студент Евгений пишет на Python с использованием Keras и TensorFlow. Данные команда берёт из публичных API, например, ресурса Open Dota или Steam. Нейронке «скармливают» игровые реплеи, и она, анализируя вражеские матчи, даёт рекомендации и предсказания командам.
— Мне потребовалось, наверное, года два, чтобы освоить машинное обучение. Хотя у меня был неплохой бэкграунд, я выступал на международных олимпиадах по математике, — рассказывает Евгений. — Дело оставалось только за практикой, которую я получил на соревнованиях по машинному обучению (том же Kaggle). Теперь могу решать практически любые задачи.
Я предпочитаю сперва понять все взаимосвязи, корреляции, и только после этого приступать к работе. Данные, как правило, разрозненные, их десятки и сотни гигабайт. Поле непаханое, на этой теме можно не один десяток диссертаций защитить.
Поэтому мы двигались постепенно, наращивая функционал и переходя от простой к более сложной архитектуре. Если ошибся в самом начале и ещё неделю с этим работал — всё, начинай сначала. Модель, которую я построил, может не соответствовать игровым показателям.
— Простыми словами, мы пытаемся из палок и желудей создать рабочую систему. И не всегда это хорошо, потому что такой сервис сложно будет поддерживать и тем более масштабировать, — поясняет Владислав.
«Чего вы здесь сидите, поезжайте в Долину»
— Я всегда говорю, что аутсорс — это хорошо, он двигает нашу страну вперёд. Но с людьми, которые долго в нём работают, очень сложно строить бизнес, — выражает своё мнение стартапер. — Найти партнёров было непросто, разработчики не хотят терять нагретые места — даже несмотря на то, что ты предлагаешь дивиденды и роль ведущего CTO. В Кремниевой долине люди за любой кипиш, кроме голодовки, а у нас нет.
Совмещать основную работу и стартап, конечно, сложно. Но никто не говорил, что будет легко. Пока мы делали ядро платформы, приходилось работать по 14-16 часов в день, уже глаз дёргался, на людей бросаться хотелось. На этом фоне выскакивали разные болячки.
Чтобы проект уверенно себя чувствовал на начальных этапах, по нашим подсчётам, нужно $100 тысяч.
Поднять инвестиции под наш проект в Беларуси просто нереально: большинство инвесторов не понимают этот рынок. Общались с Васей Шинкаренко, основателем успешного стартапа Storyline, он говорит: чего вы здесь сидите, вам нужно в Кремниевую долину ехать! Но пока пробуем искать инвестиции в СНГ и на Кипре.
Были предложения от нецелевых бизнес-ангелов без опыта в индустрии: они хотели вложиться в наш проект и даже купить всю команду. Но мы ищем не столько деньги, сколько человека, который поможет нам пережить «долину смерти» — период, когда у бизнеса одни убытки. Продавать себя мы тоже не хотели, так как проект будет прибыльным. Поэтому отказались от поступивших предложений и пока работаем на энтузиазме.
Как покорить Москву и не попасть в передрягу
Недавно ребята ездили покорять Москву.
— Заселились в хостел: в комнатах — настоящий гадюшник, моль по кроватям ползает, гастарбайтеры грозятся друг другу морды набить. В общем, посреди ночи съезжали, еле деньги забрали и ноги унесли.
А вот переговоры с потенциальными заказчиками, напротив, прошли успешно. Стартаперы получили четыре оффера, сейчас обсуждают сметы и NDA.
За недолгую поездку ребята успели посетить Чемпионат EPICENTER XL по Dota 2, где разыгрывали призовой фонд в $1 млн. На трибунах было около 4 тысяч зрителей, а онлайн следило за игрой около 15 млн человек: «Основываясь на нашем опыте, мы предсказали все победы, ошиблись только один раз».
— Пока всё складывается лучше, чем мы предполагали. Люди охотно идут на контакт. К примеру, уже после чемпионата на закрытой вечеринке один парень, игровой аналитик, завёл нас в курилку и говорит: «Ребята, расскажите подробнее, что у вас есть, мне это срочно нужно». Теперь, пообщавшись с огромным количеством людей, мы уверены, что наш стартап жизнеспособен.
Обсудить со стартаперами будущее искусственного интеллекта в киберспорте можно в Telegram: @VladRomanovsky
Фото: Андрей Давыдчик
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.