Об этом проекте

Mobile Gaming — это коллекция браузерных пазлов, аркад и симуляторов, концепции которых заимствованы из стиля рекламы мобильных игр. Все работает в открытом вебе с использованием Phaser 3 для 2D-геймплея и Three.js для 3D-рендеринга. Живая сборка опубликована по адресу mobile-gaming.pages.dev, а страница-хаб с выбором игр служит лобби, из которого запускается каждое название. Набор в настоящее время охватывает тринадцать игр, разделенных на три основные группы. Головоломки: - Brain Teaser — задачи на нестандартное мышление, включая сортировку предметов по весу, прохождение лабиринтов и логические задачи, с более чем 10 проработанными уровнями. - Water Sort — сортировка цветных жидкостей путем переливания между пробирками, где сложность растет с увеличением количества цветов и пробирок. - Parking Escape — пазл в стиле «разблокировки», где транспортные средства отодвигаются, чтобы освободить путь для красного автомобиля. - Pull the Pin — физические пазлы с булавками, где шары направляются к цели, избегая опасностей и собирая награды. - Save the Character — сценарии выживания с множественным выбором, проверяющие рассудительность и рефлексы. - Bus Jam — пазл на сопоставление цветов, в котором пассажиры распределяются по подходящим автобусам с планированием маршрутов и заполнением автобусов до полной вместимости. - Merge Games — объединение одинаковых плиток для достижения целевого уровня, требующее планирования для эффективного слияния. Аркады: - Crowd Runner — автораннер, где толпа растет через математические врата и должна победить босса, уклоняясь от препятствий. - Bridge Race — 3D-автораннер с механикой строительства мостов, сбором блоков и гонками с ИИ-конкурентами. - Giant Runner — 3D-раннер, ориентированный на рост, где собираются подходящие сферы для усиления перед битвами с боссами. - Jelly Shift — 3D-раннер с изменением формы, в котором желеобразная капля меняет форму, чтобы пройти сквозь стены. - Makeover Run — 3D-автораннер на тему моды со станциями обновления, стильными предметами и финалом на подиуме. Симуляторы: - Satisfying Clean — расслабляющая игра в стиле ASMR, где нужно очищать поверхности с помощью свайпов. Локальный запуск требует Node и npm. Документированные команды: npm ci для установки зависимостей, npm run dev для запуска сервера разработки, npm run build для создания продакшн-сборки и npm run preview для предварительного просмотра этой сборки. Тесты запускаются с помощью npm test для модульных тестов Vitest, npm run test:e2e для сквозных тестов Playwright и npm run test:levels для валидации уровней. Сервер разработки работает на http://localhost:5173/ и автоматически обнаруживает игры из src/games/* /. Структура проекта предполагает размещение каждой игры в собственном каталоге в src/games с файлами index.html, game.js, state.js, renderer.js, input.js, styles.css и levels.json. Каталог src/hub содержит основное лобби и селектор, а src/shared — общие утилиты для аудио, подсчета очков и управления жизненным циклом. Отдельные каталоги levels/, public/, tests/ и docs/ содержат JSON-файлы уровней, статические ресурсы (манифест, service worker и редиректы), наборы тестов и документацию проекта. В README указано, что существует 121 файл модульных тестов, охватывающих игровую логику, управление состоянием и подсчет очков, а также E2E-тесты Playwright, запускаемые в мобильных версиях Chrome и Safari. Размер бандла ограничен бюджетом в 3000 КБ для JavaScript и 150 КБ для CSS, а этап валидации уровней требует, чтобы в каждой игре было не менее трех уровней. Развертывание осуществляется в Cloudflare Pages по продакшн-URL, а CI/CD управляется Argo Workflows в кластере iad-ci. Сборки запускаются автоматически при пушах в ветку main и последовательно выполняют npm ci, npm test, npm run test:levels и npm run build. Переиспользуемые определения сборки и развертывания находятся в отдельном публичном GitOps-репозитории jedarden/declarative-config. Перечисленные технологические решения: Phaser 3 для 2D-пазлов, Three.js для 3D-аркад, Vite в качестве инструмента сборки с горячей заменой модулей (HMR), Vitest для модульного тестирования и Playwright для кроссбраузерного E2E-тестирования. Проект также является прогрессивным веб-приложением (PWA): его можно установить на мобильные устройства для офлайн-игры благодаря service worker для кэширования и манифесту приложения, с адаптивным дизайном для всех размеров экранов. Проект выпущен под лицензией MIT.