Как мы сделали образовательную игру для разработчиков в телеграмме?

Всем привет! Это команда игры Dev's Battle (Образовательной MMO-RPG игры для разработчиков в Телеграмм). В этой статье мы решили рассказать, как разрабатывали наш продукт, к каким нестандартным решениям пришли и как вообще дошли до такой (жизни) идеи.

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

Как мы сделали образовательную игру для разработчиков в телеграмме?

Как появилась идея

Однажды мы решили сделать «продукт» для начинающих программистов, который бы вобрал в себя все крутые фишки CodeWars, LeetCode и тысяч телеграмм каналов с задачками для разработчиков. Всем нам нужно "иногда разминать свои мозги". Особенно начинающим разработчикам, которые ищут работу, для того чтобы оставаться в тонусе.

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

В общем решили мы сделать этакий симбиоз Duolingo, ЖабаБота (Лайк если в теме, что это) и LeetCode. Основная задача была не слишком перегибать с образовалкой, чтобы интерес к игре сохранялся даже через несколько недель.

Автор
Даже визуализацию добавили)) Лайк за жабабота!! Я знаю, что ребята даже комментировали одну из наших статей и в целом знают про наш проект
Даже визуализацию добавили)) Лайк за жабабота!! Я знаю, что ребята даже комментировали одну из наших статей и в целом знают про наш проект

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

Первый концепт игры

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

Это был обычный скрипт с возможностью решать простые задачки в формате квиза на разные языки программирования и получать за это игровую валюту. После 5 или 10 задач игра заканчивалась, а всем пользователям приходило сообщение с возможностью записаться в лист ожидания ;) Сделали, как это полагается, из го**a и палок. Но самое главное смогли за неделю протестировать основную игровую механику и понять цепляет она или нет.

Так как МВП посмотреть уже не выйдет - оставим фото тут
Так как МВП посмотреть уже не выйдет - оставим фото тут

Результаты получили в течении недели, из 100+ человек более 70% прошли нашу мини игру до конца и 50% подписались на канал (проявив желание дождаться релиза основной версии игры). Кстати почти никто из "бета-тестеров" не смог понять, что игра сделана на конструкторе, а потому на вопрос "когда игра?" были очень удивлены тем, что мы только планируем начать ее разработку.

В общем на примерно 4 неделю начала работы над проектом нами было принято решение - Dev's Battly быть! А почему Девс Баттлу? Ну просто потому что основная фича игры это возможность устраивать баттлы между разработчиками. Вот так быстро и незамысловато появилось и рабочее название.

Как появились основные фишки

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

Какие фичи были выбраны основными?

1) Задачки на языки программирования. Как вы поняли это и есть основной образовательный функционал. Один пользователь сравнил нашу игру с приложениями для подготовки к тестовым экзаменам на водительские права. Мы с такой формулировкой не совсем согласны, и планируем расширять данный функционал и в ширь и в глубь, но пока это самое простое, что мы придумали с возможностями телеграмма.

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

Задачи в формате квиза, другого формата пока не придумали ;(
Задачи в формате квиза, другого формата пока не придумали ;(

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

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

Персонаж
Персонаж

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

Рейтинги
Рейтинги

4) Баттлы между игроками. Куда же без этого. Данный функционал был сложнее всего в разработке, но именно на него мы возлагали большие надежды. Батталы должны были сделать игру более живой и показать игроку, что он играет не один. Мы также планируем допилить сюда полноценную рейтинговую систему и добавить пару чисто игровых фишек.

Баттлы
Баттлы

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

Визуал и айдентика

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

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

Дизайн персонажей

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

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

Красные - варианты от которых отказались ;)
Красные - варианты от которых отказались ;)

Дизайн игры и ее элементов

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

Дизайн карточек для игрового магазина
Дизайн карточек для игрового магазина

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

Разработка и первые баги

Сейчас мы пилим наш продукт командой из 2 разработчиков и иногда привлекаем к решению проблем наших друзей, знакомых или просто неравнодушных к игре людей (кстати команду во многом собирали именно из них).

Наш стек: Python, Django, PostgreSQL, PyTelegrambotAPI, Nginx, grafana

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

После базы данных, перешли к основным механикам, а далее к онбордингу и дополнительным фишкам, которые мы решили запустить уже на стадии раннего MVP. Итого, уже к 10 недели мы были готовы к закрытому бета тестированию.

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

Карточки слева - это все баг репорты. Конечно потом мы запустили форму баг репортов и немного проапдейтили нашу систему работы с багами
Карточки слева - это все баг репорты. Конечно потом мы запустили форму баг репортов и немного проапдейтили нашу систему работы с багами

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

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

Что имеем в сухом остатке?

В этой статье не будет какого-то глубокого вывода. Эта статья — про запуск продукта, поэтому про его развитие мы можем написать в следующей статье (если публике Хабра это конечно нужно. P. S дайте знать в комментах если эта статья вам помогла или была полезна).

Наши выводы, которые мы поняли и записали для себя:

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

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

1010
4 комментария

Игра для программистов, где они могли бы ещё и в игре программировать? Да я ж джва года ждал такую игру...

2
Ответить

Когда ты разработчик игр и разрабываешь игру для себя.

Ответить

Ееее, залетай!

Ответить

тоже всегда поражался необходимости таких залепух

Ответить