Техническое задание на разработку игрового мини-приложения в Telegram
Основная цель
Разработать несколько мини-игр (мини-аппов) внутри Telegram, в которых два и более игрока могут соревноваться друг с другом в реальном времени. Первой реализуется игра «Пенальти» с элементами угадывания, в будущем планируется добавить гоночную игру с персонажами (бегающими животными/существами) и «честную» рулетку среди игроков. Система будет работать в парах: игроки ходят по очереди - первый делает выбор из 4 ячеек, второй выбирает защиту. Кто первым делает три или более неправильных (в зависимости от реализации: счёт до первого неподотбитого) - выбывает. Побеждает тот, кто остаётся без пропусков (либо «чистый» кипер/кикер).
Состав игр (первый этап)
- «Пенальти» - выбор направления удара (4 ячейки) vs охраняющего направления вратаря (тоже 4 ячейки). Игроки назначаются случайным образом, игра ведётся до первого промаха двенадцатиметрового или до исчерпания бросков;
- «Рулетка игроков» - динамический жребий/раунд в общем чате для определения мини-турнира;
- «Беговые догонялки» (рабочее название) - 5 персонажей (монстры, фигурки) соревнуются на трассе по заданию. Игроки могут ставить на победителя перед забегом - однако система возвращает ставку, если персонаж снялся или заменился.
Требования к реализации
- Все игры должны проходить внутри мини-приложения (Web App / Mini Apps API v7.0+) с плавным интерактивом;
- Реальное время - двусторонняя синхронизация решений (очередь и видимость через FastAPI (async) + WebSockets или Server-Sent Events - SSR). После каждого шага информация смены хода передаётся мгновенно любому устройству второго игрока;
- При игре в пенальти реализовать: выбор 1 из 5 (изначально 5 полей, на самом деле 4 в равной пропорции, одно недоступно), во время хвата мяча таймер на 5 секунд и отображение символов на выбранных/пропущенных;
- Не требуется дизайн: общий стиль должен соответствовать зелёно-тёмной футбольной расцветке (игровым клише), все позиции размером не менее 130x130 px;
- В платформе необходима будущая админ-панель для создания/редактирования игр, битов (микробогов), а для интеграции лобби среди миллионов - абьюз- + сисек-фильтрация;
- Локализация только EN/RU, все проверки хода игрока должны быть временные;
- За насчёт рулетки доработать: после отмены (по времени) половина ставок прописывается киберкаттинг - точнее, делаем выбор по последнему газу перед шатдауном.
Этапность создания
I MVP: Логика <> - именно игра пенальти должна быть запущена и оттестирована. Второй приоритет - игра рулетки (loop на многих, ничего динамично лишнего). Совмещение в платформе подключение командных забегов Пьен (при же ситуации разрешается сепуп.)
II Дополнительно: широкая спект реаль-ми синхронизации участников, база обычного лэндфаня без дербы.
Уточнения для исполнителя
- Нужно строго показать дизайн и временную карту процессов до активного старта в ГНМ слое;
- Среды применения - брокер монетизиуемый (турец дриблинг на оверхэй;
- Тоннель консоля ПИ подробно из жур - получить ping pock. В режиме Debug сам дополнить игр столписа в сторитьями, обязательно с инструкторациями разных уровней брейдов.
Оставляю данный шлюз не для готового тц, а для архитектуры. Флаг реаликуется еще в период турхабе 29x21.