Подробное описание задачи: Frontend для многопользовательской настольной игры
Платформа и формат
Разработка ведется в формате MiniApp для Telegram. Это многопользовательская настольная игра, рассчитанная на 4 участников в режиме реального времени.
Ключевые задачи разработки
- Создание UI и навигация: Разработка интерактивного игрового интерфейса с плавными анимациями и анимированными переходами между различными состояниями игры (начало игры, ход игрока, результаты).
- Визуализация геймплея: Проработка игровых элементов с использованием анимаций для действий участников (перемещение фишек, вытягивание карт, бросание кубиков).
- Система отображения прогресса: Внедрение виджетов, показывающих текущий счет, рейтинг участников и игровой прогресс, обновляемых в реальном времени.
- Сетевое взаимодействие: Реализация постоянного WebSocket-соединения для синхронизации игрового состояния между всеми четырьмя игроками.
- Адаптивность: Полная адаптивная верстка интерфейса, корректно работающая на различных размерах экранов мобильных устройств (современные смартфоны и планшеты).
Требования к визуалу и поведению
- Анимации и эффекты: Обязательная реализация переходов, плавного появления новых элементов и визуальный отклик на действия игрока (последствия хода, поздравления и т.д.).
- Производительность: Оптимизация рендеринга интерфейса на мобильных устройствах для плавного игрового процесса без зависаний.
Архитектурные и инженерные требования
- State Management: Использование инструментов управления состоянием приложения для поддержания целостности данных и единственного источника правды.
- Интеграция: Полная интеграция с backend API (эндпоинты будут предоставлены заказчиком в качестве отдельного технического задания и во время обсуждения).
- Технологический стек: Подробное обсуждение окончательного списка технологий (фреймворков и библиотек) происходит с отобранным исполнителем на старте проекта.
Детали механики игры (правила, сценарий геймплея) и прототипы передаются исполнителю после отклика на вакансию или во время собеседования.