21 декабря 2022 31169

Как создать игру в Телеграме

Игры в Телеграме появились в 2016 году. Они представлены как HTML5 и чат-боты. В них можно играть самому с собой, с одним собеседником в переписке или с несколькими людьми в чате, открытом или приватном. Это игры с разнообразной графикой и звуком. Чтобы разработать такую игру, нужно от 3 часов до нескольких месяцев, в зависимости от планов и задуманного масштаба.

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

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

 


Какие игры можно создавать в Телеграме

Можно создавать не только простые, но и сложные игры. Простые HTML-5 игры похожи на игры в ICQ вроде War Sheep, Zoopaloola, Rock Paper Scissors. Их не нужно скачивать и отдельно устанавливать на телефон. Возможно играть прямо в браузере мессенджера, например в десктопной версии Телеграма, на iPhone новее 4+, Android 4,4+.  

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

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

Игровая платформа ТГ позволяет создавать игры различного масштаба. Есть те, которые весят 1 килобайт, а те, что весят более 1 Гб. Игры, спроектированные на платформе Телеграма, не занимают места на устройстве. Они загружаются по требованию, работают как веб-страницы в браузере.


Рынок Телеграм-игр: что в тренде

Создать игру может любой человек — Телеграм предоставляет для этого ресурсы. Для разработки такой простой игры достаточно несколько часов. Примеры: игра MathBattle была создана за 3 часа, Corsairs — за 5 часов, включая разработку, графику, музыку.

Чтобы найти другие примеры, можно воспользоваться ботом Gamee. Основные жанры — стратегии, RPG, баттлеры, интерактивные квесты, многопользовательские текстовые игры или MUD — Multi User Dungeon.

Разновидности популярных игр:

  • Логические мини-игры, включая карточные, интеллектуальные. StrawberryLogicBot, M0n0Bot, PokerBot, ruassoc_bot, krestikiBot. В Телеграме можно сыграть в Мафию, кости, покер, крестики-нолики, слова с ботом или с друзьями.
  • Текстовые игры. Они реализуются с помощью переписки. Questgamebot, viselkaBot, BastionSiegeBot, ChatWarsBot, EverlastingSummerBot, villagegamebot, WastelandWarsBot (про эту игру кейс далее). Механика таких игр может включать в себя жанры фэнтези или постапокалипсиса, симулятор средневековых войн, квесты, чаты, кланы, визуальную новеллу с интерактивными вариантами развития сюжета.
  • Викторины и квизы. Pandaquizbot, QuizariumBot, natgeowild2. Такие игры включают десятки тысяч вопросов разной сложности, игровой чат и даже возможность получения дополнительного дохода. Например, в natgeowild2 нужно быстро успевать отвечать на вопросы и заработать реальные деньги за выигрыш. С помощью этих ботов можно прокачаться в разных областях знаний: география, история, музыка, спорт, биология, точные науки, литература.

  • Гонки. F1 Racer, Moto FX, Beach Racer. Механика представляет собой симулятор гонок на разных видах транспорта, нужно обгонять соперников, быстрее добраться до финиша.
  • Релакс. Color Hit, Disco Ball, Mars Rover, Paint.IO, Sunshine Solitare. Игры для медитации, чиллаута, основное назначение — дать пользователю возможность отдохнуть, расслабиться, разгрузить мозг.
  • Экшн. Tube Runner, Gravity Ninja, Gateway, Pixel Dungeon, ATARI Asteroids. Игры, которые требуют от пользователя высокой скорости реакции. Многие из них имеют достаточно продвинутый сложный геймплей.
  • Аркады. Space Traveler, Geometry Run 3D, Neon Blaster, Karate Kido. Похожи по механике на логические и экшн-игры, предполагают активное выполнение разных действий. Например, перепрыгивания с одной плиты на другую.
  • Спорт. Penalty Shooter, Keep it UP, Football Star, Doozie Dunks, Pocket World Cup. Это симуляторы различных спортивных игр, например футбол, хоккей.
  • Быстрые. Skipper, Crazy Cat, Little Plane, Ding Dong, Spiky Fish. В игре нужна высокая скорость реакции, персонаж передвигается слишком быстро.
  • Сумасшедшие, Crazy. Tube Runner, Kung Fu Inc., Paintball Pandas, Qubo. Такой жанр выделен отдельно в каталоге игр Телеграм Gamee, обозначает игры с необычным эпатажным сюжетом и нестандартной механикой.
  • Паззлы. 99 Blocks, 1+2=3, Ten 2 One, Kingdoms of 2048, Bratz Pop, Tents and Trees. Относятся к подвиду логических игр.

Кейс Максима Газизова: создание MMORPG — аналога Fallout

Кейс доказывает востребованность Телеграм-игр. Разработчик мобильных приложений Максим Газизов искал идею для игры и создал комплексную survival-MMORPG Wasteland Wars в формате бота для Telegram — t.me/WastelandWarsBot. В своем кейсе он подчеркивает, что на идею повлиял растущий тренд развития Телеграма как мессенджера. В Телеграме есть возможность создать игру и сразу получить для нее аудиторию.

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

Механика игры основана на текстовом формате. Чтобы создать игру, нужно только писать; нет необходимости делать сложную графику, звук. В игре Максима есть сюжетные квесты, лут, торговля, альянсы, битвы, NPC, рейды на боссов, наземный и подземный открытый мир. При создании Максим делал акцент на максимально простой интерфейс для пользователя, качественный UI/UX, буквально выверял каждую кнопку.

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

Результаты: В игру играло 500-1 000 человек в сутки. Средний суточный онлайн зависел от игровых событий, запланированных на этот день, праздников, выходных, поэтому менялся каждый день.

Реализована монетизация. За реальные деньги можно купить игровую валюту, за которую можно сменить ник, фракцию или на короткое время ускорить передвижение по Пустоши. Сколько было заработано за время существования проекта, автор кейса не дает такую информацию.


Как игра и геймплей выглядят для пользователя

Пользователь переходит в каталог @Gamee. В открывшемся окне бот предложит выбрать тип или жанр игры. Пользователь может выбрать, с кем ему играть — самому с собой (с ботом-NPC), с друзьями, либо с неизвестными противниками из числа пользователей Телеграм.

Если пользователь хочет сыграть с друзьями, он нажимает на With Friends и выбирает друга из списка контактов. Этому другу бот присылает ссылку-приглашение, друг переходит и участвует в игре. Игру можно остановить в любой момент, продолжить позднее — действует сохранение. Пользователь может управлять своими действиями в игре с помощью кнопок в боте.

Преимущества Телеграм-игр для пользователя:

  • игра не занимает места на телефоне, не перегружает оперативную память;
  • вашему другу-соигроку не нужно добавлять себе бота;
  • подходящую игру всегда легко найти, например с помощью ключевого слова в поиске;
  • пользователь может скачать игру из Телеграма себе на устройство или ПК.

Один из несущественных минусов — запуск происходит через облако, возможны зависания на несколько секунд.


Для чего создавать игру в Телеграм и как монетизировать

Условия Телеграм запрещают напрямую монетизировать игры, оставлять в них ссылки на сторонние ресурсы и сайты. Но игрового бота можно применять в рекламных, маркетинговых, мотивационных целях:

  • Корпоративное обучение, геймификация процесса. Например, когда сотруднику нужно пройти викторину, квиз на полученные знания.
  • Нестандартный подарок. Создать игру, индивидуально предназначенную для конкретного человека.
  • Рекламный проект. Создать тематическую игру, где клиенты могут выиграть приз.
  • Монетизация с помощью внедрения функционала магазина и ссылки на платежный кабинет сайта. Например, внутриигровой магазин реализован в Happy Farmer.

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


Анализ конкурентов и поиск идей

Анализ конкурентов поможет сэкономит время, даст понимание, что работает, а что нет. Как проводить анализ конкурентов и поиск идей перед разработкой:

  • выбрать наиболее подходящие проекты из ниши: другие Телеграм-игры, сервисы, приложения;
  • тестировать каждый такой сервис и проект, выписывать в отдельную таблицу лучшие практики;
  • смотреть на ключевые механики и их реализацию;
  • посмотреть показатели сайта или приложения через сервисы аналитики, например с помощью SimilarWeb.

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

Создавали бота или игру в Телеграме?
364 голоса

Упрощенное создание игры через бота @BotFather

Чтобы разработать игру, нужно воспользоваться ботом @BotFather. Этапы работы:

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

После создания игру можно отправлять в группы, чаты — также как обычное сообщение. Также её можно отправить в inline-режиме.

Под сообщением с игрой будет кнопка inline, которая начинает игру. Если пользователь решает поиграть, жмет на кнопку, боту приходит call-back с информацией о выбранной игре. Разработчик отвечает уникальным url, который сформирован для этого конкретного игрока. Приложение открывает игру у игрока в браузере.

Если кнопка не будет добавлена разработчиком, система сама добавит ее автоматически. Также кроме кнопки запуска, можно добавлять другие кнопки, например с правилами, ссылками на официальный ТГ-канал.

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

В интерфейсе игры система предусматривает постоянную кнопку «Поделиться» вверху экрана. Разработчик может настроить другие кнопки на HTML-странице. Нажав на них, можно открыть желаемый чат и отправить туда сообщение с количеством набранных очков.

Если в URL используется хэш, то Telegram может к нему что-то добавить от себя. Названия добавленных параметров будет начинаться с tg. Чтобы достать собственные параметры из адреса, можно воспользоваться объектом TelegramGameProxy.initParams.


Дизайн Телеграм-игр

Дизайн похож на классические HTML5-игры. Важно учитывать вес и размер изображений: фона, игровых элементов. Если они будут тяжелыми, это может негативно сказаться на скорости игры. Лучше выбирать векторные изображения, а не растровые.

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

Окно Телеграма может растягиваться благодаря автомасштабированию по ширине. Игра должна быть адаптивной, подходить под любые разрешения. Для больших окон можно добавлять небольшие поля, из-за того что рендеринг изображений на больших экранах отнимает много ресурсов. Экраны и раскадровки анимаций можно собрать в Figma или обратиться за помощью к опытным специалистам-фрилансерам.

В игре Happy Farmer поля фермы динамически генерируются под каждого игрока:

Возможности коммуникации с игроками ограничены. Можно передавать сообщения игрового мира с помощью HTML-разметки. Получить ответ игрока затруднительно. Чтобы отправить такое сообщение, пользователь должен создать команду через знак «/», а это умеют не все. В сообщение может быть встроенная клавиатура, но добавить ее достаточно сложно для разработчика. Если игра должна быть локализована на много языков и работать на всех типах устройств — сложностей прибавляется.

На клавиатуре могут отображаться символы из набора UTF-16. При создании любой игры все основные игровые предметы должны помещаться в этот набор. Игроку такая стандартизация удобна: алмаз в одной игре — премиум-валюта, значит, в другой — тоже что-то ценное.


Преимущества текстовых игр без графики

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

Преимущество текстовых игр:

  • высокая скорость разработки;
  • нет ограничений по игровому миру;
  • можно добавлять в игру ситуации любых масштабов;
  • возможна любая степень проработки игрового мира;
  • не нужно мощное оборудование для разработки.
Есть опыт разработки текстовых игр?
65 голосов

Особенности разработки

Для создания Телеграм-игр подойдут любые технологии  и библиотеки, которые доступны в браузере: JavaScript, WebGL-библиотеки, 3D-графика. Конечно, для работы с некоторыми веб-технологиями, возможно, придется освоить языки программирования на базовом уровне.

Например, движок Pixi.js удобен для игр, где используются столкновения объектов в игровой механике. Pixi.js предлагает подробную документацию, с которой разберется frontend-разработчик любого уровня.

В движениях объектов может применяться растровая графика, либо векторные анимации, например lottie-файлы, другие виды svg-анимации.

Чтобы игра интегрировалась в Телеграме, заработала в нем, нужен доступ в интернет. Также игра должна отправлять информацию об очках в API Телеграма. Поэтому нужен веб-сервер, который будет получать сообщения из Телеграм, отдавать игру с отмеченным идентификатором игрока, принимать от Frontend очки и отправлять их в API.

В конце игры очки игрока должны идти с frontend на backend. Из игры нужно отправлять запросы с подставленными очками и идентификатором пользователя. Этот идентификатор передается в ссылке на саму игру. Его нужно сохранить на время, чтобы вернуть обратно с набранным количеством очков. Для этого пишется код в Frontend.

Понадобится сервер, с которого игроки будут подгружать игру и где будет размещаться Телеграм-бот. Также будет нужен SSL-сертификат, посколько Телеграм работает с играми по HTTPS-протоколу для безопасного общения. Такой сертификат, привязанный к домену или поддомену, можно получить у Let's Encrypt.


Сервера для разработки игр в Телеграм

Для игры не обязательно брать мощный сервер. Можно воспользоваться недорогим облачным вариантом, для решения небольших задач.

Топ-1 хостинг 2023

От расположения сервера зависит скорость доступа игроков из разных городов. Например, если предполагается, что ЦА — жители России, желательно выбирать сервера, которые находятся в Москве или Санкт-Петербурге. Операционную систему можно взять Ubuntu 20.04, либо выбрать другую или свой образ ISO или виртуальной машины.  

Этапы настройки:

  1. Если это игра с простой механикой, можно выбрать фиксированную конфигурацию с возможностью оплаты части ядра. Доля vCPU будет отражать производительность сервера. Она может оказаться выше заявленного, в зависимости от нагрузки на хост. Может хватить одного ядра или 50% этого ядра. Если не будет хватать мощности, можно сменить конфигурацию сервера.
  2. Выбрать размер диска. Так как не предполагается хранить много файлов, для операционки и кода можно взять до 5-10 Гб.
  3. Выбрать 1 публичный IP, запомнить пароль от root пользователя или загрузить публичный SSH-ключ. Далее нужно создать и установить сервер.
  4. Когда IP-адрес сервера будет получен, к нему можно подключиться по SSH. К серверу подключается домен. В настройках DNS-хостинга нужно указать A-запись на нужный домен или поддомен, значение в виде IP-адреса нового только что созданного сервера. Если домен новый и DNS-хостинга пока нет, можно подключить бесплатный DNS на панели управления.
  5. Подключиться к серверу по SSH, либо через консоль, настроить ngnix — веб-сервер, который будет работать с SSL.
  6. Запустить ngnix, перейти в папку с конфигурацией сервера, создать файл конфигурации, открыть его в текстовом редакторе и добавить в него настройки сервера.
  7. Сохранить файл. Таким образом ngnix будет перенаправлять запросы к домену на 3 000 порт, по которому отвечает backend.
  8. Проверить, что в конфигурации нет ошибок, сгенерировать бесплатный SSL-сертификат, чтобы игра была доступна по HTTPS.
  9. Воспользоваться утилитой Certbot и установить игру.
  10. Сгенерировать сертификат. Он будет отвечать по HTTPS. Затем нужно настроить и запустить его.

Создание Телеграм-бота для игры

Чтобы создать бота, нужно запустить botfather в Телеграме, вызвать в меню команду newbot, далее по инструкциям получить токен доступа. Этот токен нужно сохранить в конфиденциальном месте, не показывать третьим лицам во избежание того, что кто-то может представиться вашим ботом. Далее потребуется включить возможность делиться игрой с друзьями через inline-запросы.

Затем нужно вызвать команду newgame и создать игру. Понадобится принять условия работы. Если нарушить эти правила — игру удалят с платформы.  Запрещено:

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

Этапы работы с ботом:

  1. Добавить название, описание, обложку 640х360, превью-гифку такого же размера. Гифка не является обязательной составляющей, но лучше загрузить ее, чтобы игра выглядела более привлекающей внимание.
  2. Настроить сервер, объединить составляющие.
  3. Установить систему Docker для создания контейнеров для кода. Это облегчит работу, позволит не устанавливать node.js, npm и зависимости.
  4. Взять из репозитория env.example, Dockerfile, index.json и package.json. Их нужно скопировать на сервер.
  5. Открыть env.example, подставить в него токен, ссылку на фронтенд, доступный из интернета, ID игры, который был сообщен BotFather; env.example нужно переименовать в .env (mv env.example .env).
  6. В Frontend-коде  настроить отправку очков на нужный домен.
  7. Создать Docker-образ приложения и запустить приложение.

Тестирование

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

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

Участвовали в проекте, связанном с геймификацией в бизнесе?
6 голосов

Кейс Библиотеки Программиста: создание игрового Telegram-бота

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

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

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

Для написания бота использовались Composer — стандарт при разработке на PHP, библиотека telegram-bot-sdk, symfony/dotenv для парсинга .env-файла. Composer позволяет скачивать сторонние библиотеки на проект и предоставляет механизм по автозагрузке классов. Вся работа с Composer происходит через консоль и в файле composer.json.

Файл app.php — точка входа в приложение, где вешается веб-хук. Это значит, что бот не будет постоянно опрашивать сервер на наличие обновлений; он их будет получать только тогда, когда они будут.

Затем нужно создать объекты всех нужных классов, проверить, в каком вы чате — приватном или супергруппе. Код можно разделить на независимые части. Настройки хранятся в файле .env, что позволяет пользователи вводить свои, и бот будет работать после создания всех нужных таблиц.


Кейс Selectel: создание игры с постройком башни из серверов

В кейсе команда Selectel создала игру, механика которой — построить башню из серверов. Цель — PR и реклама: среди клиентов-игроков проводился конкурс, те, кто построят от 100 этажей, участвуют в розыгрыше призов с мерчем.

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

Было отрисовано 3 персонажа и 3 локации. Стройка башни начиналась под землёй, затем шла в городе и после 50 блоков-этажей продолжалась в космосе. Фон был 23 000 пикселей: его пришлось разделять на 4 части, так как Android-смартфоны не справились с отрисовкой.

Для движения крана применялась растровая графика. Движение было заанимировано отдельно и вставлена уже готовая анимация. Для этого команда Selectel использовала спрайты — картинки, кадры анимации и спрайт-листы — наборы всех элементов графики. Загружалась картинка с несколькими спрайтами, это было экономичнее по ресурсам, чем грузить несколько картинок каждую отдельным файлом. В качестве сервера Selectel использовал свой вариант Shared Line.


Как продвигать игру в Телеграм

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

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

Примеры таких каналов:

  • av_games — канал с новостями про игры, также здесь бывают раздачи, информация о скидках в сторах приложений;
  • EasyAPK — канал, где можно бесплатно скачивать APK-файлы приложений для Android;
  • theappbox — канал для владельцев iOS-устройств, на котором можно бесплатно устанавливать приложения;
  • egs_tg — канал Epic Games Store, который еженедельно дарит одну игру.  

Основные способы продвижения, которые используют разработчики:

  • сарафанное радио, виральность — когда вокруг проекта создается хайп, об игре узнают лояльные и преданные представители ЦА;
  • продвижение на других платформах;
  • каталоги ботов, например Storebot.me, Telegrambots.info.
  • обзоры и подборки в Telegram-группах, каналах, посвященных развлекательной тематике.

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

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


Локализация и работа с аудиторией

Телеграм — международный мессенджер. Игра должна быть понятна всем пользователям. Если в планах стоит создать топовый проект, нужно задуматься о локализации минимум на 5 языков. Лучше ориентироваться не только на распространенные европейские языки вроде английского, французского, немецкого или испанского, но добавить португальский, персидский, арабский, так как на них говорит значительно большая часть населения планеты.

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

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


Кейс Dev’s Battle: MMORPG для повышения hard skill разработчиков

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

В течение первых 3 недель команда анализировала конкурентов, аудиторию, тренды, определялась с сеттингом. Для анализа конкурентов были рассмотрены Java Rush, LeetCode, CodeWars, Habitika, Жабабот, Mimo, Яндекс Практикум, Light Bot. Из этих проектов разработчики взяли «лучшие практики» и фишки. Смотрели на то, что мотивирует пользователей делиться контентом и приглашать друзей, с какими проблемами они сталкиваются, какие у аудитории предпочтения.

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

Механики, которые придумала команда Dev’s Battle:  

  • решение задач на языки программирования;
  • артефакты MMORPG: развитие персонажа, скиллы, игровая валюта, боссы, уровни прокачки;
  • мультиплеерные фишки: рейтинги, ачивки, баттлы.

Онбординг — это этап, после которого пользователь принимает решение, играть или нет. Разработчики сделали онбординг в формате новеллы: пользователь должен был нативно пройти по всем шагам — создать персонаж, побиться с боссом.

На 6-15 неделе команда занималась разработкой MVP и основных механик. За 2 недели были собраны участники проекта: Middle Python Developer, опытный ментор-консультант. Использовали стек Python, Django, PostgreSQL, PyTelegrambotAPI, Nginx, grafana. Разработку вели по спринтам в Jira, первые 2-3 недели работали над базой данных.

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

Игра продвигалась с помощью посевов в ТГ-каналах, дополнительный PR шел через интервью с пользователями. В последующие недели разработчики внедряли новые фичи, делали расширенную аналитику, тестировали гипотезы, локализовали проект под бурж.

Результаты: 1269 зарегистрированных игроков спустя 3 недели с момента релиза. Всего на разработку и все этапы ушло 20 недель. Благодаря качественному онбордингу получилось 70% конверсии из входа в регистрацию и старт игры.  


Эксперты отвечают
 

ММаксим Газизов, разработчик мобильных приложений

В чем основные проблемы при разработке Телеграм-игр и как их можно решать?

Сложности связаны с платформой Bot API. У Telegram есть 2 системы для связи их ботов с вашим сервером: Long Polling и Webhooks. Long Polling: сервер будет с определенным интервалом опрашивать Telegram на предмет наличия новых запросов, и при наличии обрабатывать, возвращая ответ Bot API. Webhooks: сервер говорит Telegram «если у тебя появятся какие-то запросы – кидай их вот на этот адрес». Для реализации бота на Webhooks необходим постоянный IP адрес и обязательно SSL сертификат. У Long Polling есть проблема: бот начинает тормозить, постоянно перезапускаться, причиняет неудобства игрокам. Лучше делать проект на Webhooks.

Другие сложности появляются, когда проект набирет масштабы. Бот может начать «подтупливать» при получении запроса. С нагрузкой на сервер это не связано: бот упирается в лимит Bot API по количеству одновременных запросов. С этой проблемой можно справиться, написав в поддержку Телеграм, попросить увеличить лимиты. Чаще всего бот упирается в лимиты по типу запросов callback на inline-кнопки. В случае моего проекта пришлось перерабатывать интерфейс.

Третий вид проблем — в среде разработки и коде, конкретно, в Python 3 и в том, как он работает с потоками. Каждый новый поток в Python 3 создается вместе с переменными окружения, занимая большое количество памяти. В игре полно таймеров, и когда они запускались в отдельных потоках, возникала утечка памяти. По мере роста игры утечка достигла безумных масштабов, сжирая оперативную память и подкачивая оставшуюся память SSD сервера. Это было решено созданием очередей таймеров, обрабатывающихся в одном потоке для каждого типа.
 

РРостислав Бородин, Full-Stack веб-разработчик, куратор школы GeekON

Из каких этапов состоит создание текстового квеста?

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

Чтобы создать собственного бота, сперва его надо зарегистрировать с помощью @BotFather и далее следовать его инструкциям. После того, как мы введем название бота, @BotFather сообщит нам токен — пароль к нашему почтовому ящику.

Сначала нужно создать первого бота, добавить к нему пояснение, которое объяснит пользователю, что он делает. Затем нужно настроить взаимодействие с несколькими пользователями одновременно.

Удобнее всего хранить все данные, которые привязаны к конкретному пользователю в словаре. Ключом в этом словаре будет id пользователя, а значением — произвольные данные. Нужно использовать разные переменные хранения слова, чтобы сообщения от разных пользователей не путались.

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

Вывод

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

Играли в Телеграм-игры?
10 голосов

 

Как вам статья?
ПОЛУЧИТЬ АКТУАЛЬНУЮ ПОДБОРКУ КЕЙСОВ

Прямо сейчас бесплатно отправим подборку обучающих кейсов с прибылью от 14 730 до 536 900 ₽.

Лучшие промокоды
Партнерки
Welcome Partners
Конвертируйте свой трафик в нише онлайн-казино
TRAFORCE
Дейтинговая СPA-сеть
Leadshub
Gambling и Betting CPA-сеть
Сервисы
Dolphin{anty}
Лучший антидетект браузер
PARTNERKIN
20%
iRent.Market
Aренда iOS-приложений с уникальной технологией
PARTNERKIN
20%
AdPlexity
Мониторинг мобильной, десктоп и нативной рекламы
partnerkin_m
25%