Как я сделал эмулятор SEGA прямо в Telegram за один вечер

Идея пришла случайно. Листал старые игры, вспомнил детство — Sonic, Streets of Rage, Mortal Kombat. Подумал: а что если запустить это прямо в Telegram, без скачиваний и установок?

Оказалось — реально. И быстро.

Что получилось

Telegram Mini App с эмулятором SEGA Mega Drive. Открываешь бота, выбираешь игру из 23 классических тайтлов, нажимаешь "Новая игра" — и через несколько секунд играешь. Полноценный 6-кнопочный геймпад прямо на экране телефона, система сохранений, обложки игр.

Никаких загрузок. Работает на любом устройстве где есть Telegram.

Стек

EmulatorJS — опенсорсный WebAssembly эмулятор, который умеет запускать ROM-файлы прямо в браузере. Хостинг — Cloudflare Pages, бесплатно. Уведомления о том кто и в какую игру играет — через Cloudflare Worker и Telegram Bot API. Сохранения — IndexedDB прямо в браузере пользователя, без сервера.

Самое интересное

Геймпад пришлось делать с нуля. Стандартные кнопки не работали — Telegram WebView перехватывал касания. Пришлось разобраться как правильно слушать touch-события и не конфликтовать с нативным скроллом.

Сохранения хранятся в IndexedDB — без лимитов, без сервера, работает офлайн. Каждая сессия создаёт новый слот с датой и временем старта.

Итог

От идеи до рабочего бота — один вечер. Попробовать можно здесь:

Начать дискуссию