Об этом проекте
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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.