Всем привет! Мы команда Dev’s Battle. В этом посту расскажем о том, как мы создавали наш продукт (MMO RPG игра в телеграм для разработчиков), с какими ошибками столкнулись, и как дожили до релиза. В этом посте не будет много информации о тонкостях разработки, его мы посвящаем теме продукт девелопмента. Если у вас возникнут вопросы или комментарии по коду - мы с радостью напишем еще одну статью, где раскроем и эти детали (если конечно аудитория хабра будет к нам благосклонна ;] Однажды мы решили сделать «продукт» для начинающих программистов, которые бы вобрал в себя все крутые фишки CodeWars, LeetCode и тысяч телеграмм каналов с задачками для разработчиков. Прежде всего мы хотели создать геймифицированный образовательный инструмент, который будет полезен тысячам разработчиков по всеми миру и поможет убить 5-10 минут свободного времени с пользой. В качестве Front End решили взять Telegram ведь все мы тратим десятки часов своего времени именно там, а маркетинг для эппов мы бы точно не потянули. Кстати, по нашему скромному мнению, вся геймификация во взрослом EdTech, что есть сегодня — полный отстой. Если вдруг кого-то мотивируют ачивки и поинты — дайте знать в комментах, интересно посмотреть Основатель Dev’s Battle Итак, с базой мы определились. С этого момента можно начинать отсчет времени разработки. Хотя начали мы конечно не с разработки, а с исследований. И вот как это было Как бывалые энтерпренеры, мы начали с исследований и касдевов. Решили разбить процесс на 2 вещи: анализ продуктов, которые уже используются людьми и исследование болей нашей потенциальной аудитории. Для анализа конкурентов взяли: Java Rush, LeetCode, CodeWars, Habitika, Жабабот (кто в курсе, что это — с вас лайк), Mimo, Яндекс Практикум, Light Bot и еще пару приложений. Лично потыкали все продукты и выписали на отдельную доску все крутые фичи, механики и маркетинговые трюки. На картинке их сильно меньше, так как многие уже забрали в прод и сеттинг игры. Этот шаг очень помог нам понять, что работает, а что нет и сэкономил сотни часов разработки и тестов. Как говорят, все великое уже придумано за нас. Вот и вам советуем, перед тем, как что-то разрабатывать — идти и тыкать похожие продукты. Особенно советуем обратить внимание на ключевые механики, их реализацию, прогнать сайт или приложение через сервисы аналитики, типа SimilarWeb, попользоваться несколько дней самим. Набравшись идей и гипотез, мы пошли тестировать их через проблемные интервью с нашими потенциальными пользователями. Найти респондентов было несложно, так как один из нас владел каналом в телеграм для разработчиков на 6 тыс человек, первых респондентов там и нашли. В рамках касдевов мы определили три основных направления: Виральность — она была нужна нам, чтобы понять, что мотивирует пользователей делиться контентом и приглашать друзей. Вот тут нам и помог ЖабаБот, взяли для касдева их аудиторию. Кстати даже сумели пообщаться с их основателем. Основные проблемы разработчиков (пользователей LeetCode, CodeWars и тг каналов с задачками), их мотивацию и паттерны поведения. Все это нужно было нам, что сделать продуктом реально полезным и «не для себя», а для реальных людей. Наконец, мы хотели понять игровые предпочтения аудитории, узнав в какие игры и как часто они играют, на что тратят деньги и как пользуются продуктами. Кстати, тут же небольшой инсайд, оказалось что сеттинг и стилистика практически не важна, главное ее качество и проработка. Прошли по полному циклу: разработка сценариев интервью, проведение интервью, доработка сценариев, поиск инсайтов и анализ ответов респондентов. Вот такая красота у нас получилась. Превосполнившись от полученной информации мы принялись проектировать первые механики. Для удобства сразу начали отрисовывать в формате схем и экранов (о чем кстати потом пожалели). Боты и продукты в Telegram — очень сильно отличаются от мобилок отсутствием статичного экрана. То есть, если в условном приложении всегда есть кнопка «назад», то тут такой кнопки нет. Это бесконечная лента и весь процесс нужно выстраивать именно по этому принципу. Какие основные механики мы заложили: Возможность решать задачи на языки программирования Основные артефакты MMO RPG: развитие персонажа, скиллы, игровая валюта, боссы, уровни прокачки Мультиплеерные фишки: рейтинги, ачивки, баттлы и так далее После создания ключевых механик, мы принялись за онбординг. По нашему мнению, онбординг это одно из самых важных мест в любом продукте, будь то игра или банковское приложение. Ведь именно на онбординге человек принимает решение будет он пользоваться продуктом или нет, а также знакомится с ключевыми механиками. Онбординг мы решили сделать в формате новеллы)) Заставляя пользователя нативно пройти по всем фичам (от создания персонажа до первого баттла с игровым боссом. Результаты кстати получили — суперские, более 70% конверсии из входа в финальную регистрацию и старт игры. И вот мы уже в платную подобрались к запуску разработки. Кстати перед этим успели протестировать концепцию через конструктор ботов в телеграм, но это уже тема для другой статьи. Разработку мы конечно же начали с поиска команды и консультаций с более опытными разработчиками по поводу стэка и структуры базы данных (как оказалось, это потом очень сильно нам помогло и помогает до сих пор) За две недели нам удалось собрать крутую команду разработки из одного middle python девелопера и ментора с более 20+ опыта в разработке сложных IT продуктов. Наш стек: Python, Django, PostgreSQL, PyTelegrambotAPI, Nginx, grafana Разработку вели по спринтам в Jira, первые 2-3 недели потратили на базу данных. Правильная проектировка и сейчас помогает нам, когда мы настраиваем сложную аналитику или выкатываем новый функционал в продакшен. После базы данных, перешли к основным механикам, а далее к онбордингу и дополнительным фишкам, которые мы решили запустить уже на стадии раннего MVP. Итого, уже к 10 недели мы были готовы к закрытому бета тестированию. И тут началось! В следующие 5 недель наша команда тонула в багах, которые прилетали откуда не возьмись. Регулярно падал крон, рейтинги, то приходили, то не приходили, бот останавливался, зарплата считалась не правильно, репутация считалась не верно, задачки не подгружались. Ломалось все, что может и не может ломаться. Но мы выжили) На 12 неделе мы активно задумались о том, чтобы нанять еще одного человека в команду, и хоть проект все еще не приносил денег, ранние метрики внушали нам веру, а потому расширение команды стало тем риском, на которые мы были готовы пойти. К 16 неделе мы починили все баги, выпустили паблик версию игры, провели пасевы в телеграм каналах и закрепили это все порцией юзер интервью. Запуск прошел успешно. Наши ранние результаты: 1269 Зарегистрированных игроков спустя 3 недели с момента релиза. Внимательный читатель наверняка спросит, куда делись еще 5 недель из 20, указанных в заголовке. Отвечаем, это время мы не сидели сложа руки и развивали проект дальше, например, выкатывали новые фичи, делали собственную расширенную аналитику (Google Analytics и TG библиотеки нам не подошли, можем написать про это отдельную статью), тестировали маркетинговые гипотезы, локализовывали проект под ENG рынок, прошли в крутой Французский акселератор и многое другое. Эта статья — про запуск продукта, поэтому про его развитие мы можем написать в следующей статье (если публике Хабр. ru это конечно нужно. P. S дайте знать в комментах если эта статья вам помогла или была полезна). Сейчас мы активно развиваем проект дальше и несмотря на то, что еще находимся на ранней стадии, уже считаем что сделали достаточно большой продукт в рамках того, что есть сегодня в Telegram. А главное, этот продукт работает! И уже помогает сотням начинающих разработчиков развивать свои hard skills в программировании.