Два месяца назад я решил сделать игру. Не сервис и не бот с кнопками, а настоящую survival arena в духе Vampire Survivors — целиком внутри Telegram. Без App Store, без установки, без регистрации. Открываешь бота, жмёшь «Играть» и через пару секунд уже уворачиваешься от монстров.
Играть: tapsurvivor.online
Полная версия на vc.ru.
Идея была простая: один тап
Управление строится вокруг одного действия: тапаешь по экрану — герой делает рывок в эту точку. Дальше он сам атакует оружием, а твоя задача — вовремя уворачиваться.
Звучит просто, но тут спрятана ловушка геймдизайна. Если рывок слишком сильный, игра превращается в автопилот. Если слабый — раздражает. Баланс одного действия оказался сложнее, чем баланс десятка кнопок.
Что происходит в забеге
Формула короткая: тап → рывок → автоатака → волны врагов → опыт → улучшения → смерть → монеты → прокачка → новый забег.
Герой прокачивается прямо во время забега. На каждой локации (биоме) стоит финальный босс — чтобы открыть следующий биом, его нужно завалить. Между забегами прогресс не сгорает: монеты уходят в мету, открываются персонажи, оружие и питомцы.
Результат каждого забега попадает в лидерборд. Как только в таблице появляются реальные люди, а не только твой личный рекорд, игра начинает работать иначе.
Почему именно Telegram
Mini App убирает главный барьер мобильных игр: не нужно идти в стор и ждать одобрения. Ссылка на бота — и ты уже в игре.
Но Telegram WebView — не обычный браузер. На iPhone вылезает safe-area. Один тап иногда превращается в два события. Canvas может перекрыть кнопки интерфейса. Пришлось разбираться с авторизацией через initData, защитой на сервере и мостом между React-интерфейсом и игровой сценой на Phaser.
Момент, когда чуть не сломалось доверие
В какой-то момент прогресс жил в двух местах: локально на телефоне и на сервере. Если синхронизация ломалась, у игрока могли пропасть монеты. Для маленькой инди-игры это фатально.
Пришлось сделать сервер главным источником правды, добавить очередь на случай обрыва сети и проверки, что экономика и лидерборд не разъехались. Не самая эффектная часть разработки — но именно она отделяет прототип от продукта, в который не страшно пригласить незнакомого человека.
Где помогал ИИ, а где нет
Я делал проект с Cursor с первого дня — это реально разогнало скорость. Но фичи прибавлялись быстрее, чем я успевал держать архитектуру в порядке. В какой-то момент пришлось притормозить и навести порядок.
ИИ ускоряет разработку, но не отменяет необходимость понимать, что ты строишь. Скорость без контроля — это просто быстрее прийти к хаосу.
Что дальше
Сделать первую играбельную версию оказалось быстрее, чем я думал. Гораздо дольше — сделать так, чтобы в игру хотелось вернуться на следующий день.
Сейчас в TapSurvivor уже есть биомы, оружие, питомцы, лидерборд и поддержка через Telegram Stars. Главный вопрос сместился с «смогу ли я это технически сделать» на «смогу ли я сделать так, чтобы люди возвращались».
Попробовать: tapsurvivor.online