- 删除 modes/02-connect-1234 全部内容(历史见首个提交 8026e46) - 重写根 README:共同规则、两玩法差异、仓库结构、快速开始、关卡、工程约定、文档索引、路线 - PRODUCT.md / design.md / shared/README / 两份 GDD / 玩法一 README 去掉玩法二引用 - 保留 01 / 03 目录编号并注明原因(存档桶名、Cocos 资源路径)
3.3 KiB
3.3 KiB
产品结构
这是一个多玩法休闲 puzzle,不是单一机制的游戏。两个玩法共用一个壳,规则、盘面模型和关卡彼此独立。
工作名沿用目录 number-swipe。上架名未定。两个玩法各自有对外名称。
目录编号保留 01 / 03:曾有玩法二(连连气球),2026-09-16 放弃并移出仓库。编号同时是存档桶名和 Cocos 资源路径,不要重排。
目录
number-swipe/
docs/PRODUCT.md 本文件:壳、隔离规则、玩法清单
docs/design.md UI 设计规范:令牌、组件、动效(玩法一为参考实现)
docs/design.html 同上的设计师版:色板、样张、可回放动效
modes/
01-number-stroke/ 玩法一 · 数字一笔
docs/GDD.md
levels/
03-hex-walls/ 玩法三 · 六边一笔
docs/GDD.md
levels/
shared/ 壳:选玩法、设置、存档索引、广告位
隔离规则
- 玩法之间禁止互相引用。
modes/*之间不得互相 import。 - 规则、求解器、关卡、对局视图属于玩法。 盘面模型不默认共用。玩法一是矩形格,玩法三是六边形 + 边墙,即使都是“顺序一笔画”也各写一份。
shared/只放壳。 允许:玩法注册表、首页选玩法、设置、存档索引、广告位、安全区、通用按钮皮肤。禁止:过关判定、邻接、提示算法、关卡 JSON。- 存档按玩法分桶。
mode:01-number-stroke/mode:03-hex-walls。 - 原型按玩法分开跑。 各玩法的 Web 原型进自己的
web/。不要求绑在同一个 index.html。 - Cocos 按玩法切场景。 资源与脚本放
assets/modes/<id>/。
壳看到的入口:
interface PuzzleMode {
id: string;
title: string;
mount(root: HTMLElement, ctx: ShellContext): void;
unmount(): void;
}
ShellContext 只提供存档读写、音效、振动、返回首页。
玩法清单
| id | 目录 | 类型 | 状态 | 规格 |
|---|---|---|---|---|
01-number-stroke |
modes/01-number-stroke |
关卡逻辑:矩形一笔画 + 序号 | M1/M2:Web 原型可玩,26 关(教学 10 + 进阶 10 + 奇偶 6) | GDD |
03-hex-walls |
modes/03-hex-walls |
关卡逻辑:六边形一笔画 + 边墙 | M1/M2:Web 原型可玩,10 关 + 转墙实验包 9 关 | GDD |
一和三同属路径推理,但几何和障碍不同,不是 DLC 关系。
新玩法开工顺序:写该玩法 GDD → 锁规则 → 再写该玩法的 src/。
共享决策(全产品)
- 手机竖屏,单机,离线可玩
- 默认无体力、无计时、无分数
- 竖直切面无广告;上线后的去广告 / 激励视频由壳统一接
- 先 Web 原型验证该玩法,再进 Cocos
- 关卡、美术全部原创,不使用第三方题库和素材
里程碑(产品级)
| 阶段 | 内容 |
|---|---|
| 现在 | 两个玩法独立可运行,均为关卡原型(M1/M2),未进 Cocos |
| 各玩法 M1 | 只在自己的 modes/<id> 里做可玩原型,互不阻塞 |
| 壳 | 两个玩法原型都已可玩,选玩法首页可以开工 |
任意一个玩法都可以单独推进,不必互相等待。