这个项目能做什么

Mobile Gaming 是一系列基于浏览器的益智、街机和模拟游戏,其概念借鉴自移动游戏广告的风格。所有内容均在开放 Web 上运行,使用 Phaser 3 处理 2D 游戏玩法,使用 Three.js 进行 3D 渲染。实时构建版本发布在 mobile-gaming.pages.dev,一个游戏选择中心页作为启动每个游戏的大厅。 该系列目前涵盖三个大致分组的 13 款游戏。 益智游戏: - Brain Teaser —— 侧向思维谜题,包括按重量排序物品、导航迷宫和逻辑问题,包含 10 多个精心设计的关卡。 - Water Sort —— 通过在试管之间倾倒来对彩色液体进行排序,难度随颜色和试管数量的增加而增加。 - Parking Escape —— 一款解锁类谜题,通过滑动车辆为红车清理出路径。 - Pull the Pin —— 基于物理的销钉谜题,引导球在避开危险并收集奖励的同时到达目标点。 - Save the Character —— 多项选择的生存场景,测试判断力和反应力。 - Bus Jam —— 一款颜色匹配谜题,将乘客分到匹配的巴士上,涉及路线规划和填满巴士容量。 - Merge Games —— 合并匹配的图块以达到目标等级,需要规划以实现高效合并。 街机游戏: - Crowd Runner —— 一款自动运行游戏,人群通过数学门增长,必须在躲避障碍的同时击败 Boss。 - Bridge Race —— 一款具有造桥机制的 3D 自动运行游戏,收集方块并与 AI 竞争对手赛跑。 - Giant Runner —— 一款专注于成长的 3D 运行游戏,收集匹配的球体以在 Boss 战中增强力量。 - Jelly Shift —— 一款形状变换的 3D 运行游戏,将果冻团重新塑形以穿过墙壁。 - Makeover Run —— 一款时尚主题的 3D 自动运行游戏,设有升级站、风格物品和 T 台决赛。 模拟: - 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 文件、静态资源(如 manifest、service worker 和重定向)、测试套件和项目文档。 关于测试,README 指出有 121 个单元测试文件涵盖游戏逻辑、状态管理和计分,以及针对移动端 Chrome 和 Safari 运行的 Playwright E2E 测试。包大小被强制限制在 JavaScript 3000KB 和 CSS 150KB 的预算内,且关卡验证步骤要求每款游戏至少有三个关卡。 部署目标为生产 URL 的 Cloudflare Pages,CI/CD 由 iad-ci 集群上的 Argo Workflows 驱动。构建在推送到 main 分支时自动触发,并依次运行 npm ci、npm test、npm run test:levels 和 npm run build。可重用的构建和部署定义位于一个独立的公共 GitOps 仓库 jedarden/declarative-config 中。 列出的技术选择包括:用于 2D 益智游戏的 Phaser 3,用于 3D 街机运行游戏的 Three.js,作为构建工具并支持热模块替换的 Vite,用于单元测试的 Vitest,以及用于跨浏览器端到端测试的 Playwright。该项目还是一个渐进式 Web 应用 (PWA):通过用于离线缓存的 service worker 和应用 manifest,可以安装在移动设备上进行离线游玩,并采用旨在适配所有屏幕尺寸的响应式设计。该项目根据 MIT 许可证发布。