docs: 初始化游戏调研、设计文档与技术架构 (v0.1 设计定稿)

- 01-调研报告: 浏览器/HTML5市场、独立游戏品类、放置品类、留存洞察、技术选型
- 02-游戏设计文档: 世界观、核心循环、六大系统、MVP范围、路线图
- 03-技术架构: 栈选型、目录结构、状态模型、解码引擎、Canvas策略
- README: 项目概览
This commit is contained in:
2026-06-23 12:05:10 +00:00
parent 1e706b2ec0
commit 9e520a34c6
4 changed files with 379 additions and 2 deletions
+34 -2
View File
@@ -1,3 +1,35 @@
# echo-nexus
# 回响星核 / Echo Nexus
回响星核 Echo Nexus - 原创深空考古放置策略游戏 | Original deep-space archaeology idle strategy game
> 原创深空考古放置策略游戏 · Original deep-space archaeology idle strategy game
你是一名深空考古指挥官,驾驶自治勘探舰回收已「飞升」的以太文明遗留的记忆晶体,解码碎片拼凑出他们的故事,并最终跨越维度发起「接触」。
## 项目状态
- **版本**v0.1MVP 开发中)
- **栈**Next.js 16 · TypeScript · Tailwind · shadcn/ui · Canvas · Zustand · Prisma
- **仓库**https://git.atdunbg.xyz/Super_Z/echo-nexus
## 文档
- [`docs/01-调研报告.md`](docs/01-调研报告.md) — 游戏市场调研
- [`docs/02-游戏设计文档.md`](docs/02-游戏设计文档.md) — GDD 策划设计
- [`docs/03-技术架构.md`](docs/03-技术架构.md) — 技术架构
## 核心特色
- **解码共振谜题**:把放置游戏的「等待」变成有节奏的主动小谜题
- **碎片涌现叙事**:故事从解码中自然浮现,不打断玩法
- **深空全息美学**:晶体 + 粒子 + 共振波纹的差异化视觉
- **飞升多周目**:终局「接触」后保留蓝图开启新周目
## 开发路线
- v0.1 放置 + 解码 + 技术树 + 图谱 + 飞升(当前)
- v0.2 遗迹探险肉鸽
- v0.3 音频 + 全局星潮 socket 事件
- v0.4 云存档 + 排行榜
- v0.5 全 5 纪元叙事 + 隐藏内容
---
© Super_Z · 持续开发中
+95
View File
@@ -0,0 +1,95 @@
# 游戏市场调研报告
> 调研日期:2025 年(持续更新)
> 调研者:Super_Z
> 目的:为原创游戏《回响星核 / Echo Nexus》的设计提供数据支撑,避免落入「1:1 复刻」陷阱。
---
## 一、市场大盘(数据时效性已核实,多源交叉验证)
### 1.1 浏览器 / HTML5 游戏市场
- **市场规模**:2025 年浏览器游戏市场约 **78 亿 ~ 118 亿美元**(不同机构口径略有差异),预计 2033-2034 年达到 **92 亿 ~ 163 亿美元**CAGR 约 3.5%。
- 来源:Research and Markets78.1 亿→80.1 亿)、Dataintelo118 亿→163 亿)、Business Research Insights。
- **HTML5 游戏细分**2024 年约 53.2 亿美元,2033 年预计 92.2 亿美元,CAGR 约 7.7%LinkedIn / Metastat)。
- **供给爆发**2025 年有 **15,000+** 款 HTML5 新作上线,同比增长 **2.7 倍**Business Research Insights)。
- **技术趋势**WebAssembly 让浏览器游戏性能逼近原生;WebGL/WebGPU 渲染能力持续提升。
**结论**:浏览器游戏是增长赛道,**可及性高、潜在受众巨大(尤其国际市场)**,但供给端竞争激烈,**必须靠差异化创新突围**。
### 1.2 独立游戏品类格局(Steam 视角)
- **2025 年叙事游戏**成为 Steam 达到 1000 评价数量最多的品类(#1),超越传统品类(HowToMarketAGame 年度报告)。
- **新一代独立原生品类**:开放世界生存、卡牌构筑(deckbuilder)、Roguelike 持续走强(SuperJump)。
- **红海/饱和品类**(Reddit 独开者共识,建议避开正面对撞):Roguelike Deckbuilder、视觉小说、本地合作、4X。
- **2025 独立代表作**Hades II、Deltarune、Ways of Alchemy、Cluckmech Oasis 等。
**结论**:纯复刻热门品类(如又一款肉鸽卡牌)会被淹没;**叙事 + 创新机制组合**是突破口。
### 1.3 放置 / 增量(Idle / Incremental)品类
- **极强留存**:Idle 类天然契合浏览器场景,代表作 Cookie Clicker、Universal Paperclips、Melvor Idle 长盛不衰。
- **2025 热度持续**GameSpot、Bits N' Pixels 年度榜单均大量收录 idle/clicker 游戏。
- **典型玩法**:资源自动累积 + 主动操作 + 解锁/重置(prestige)循环。
- **优势**:开发成本可控、留存曲线平缓、适合持续迭代。
### 1.4 玩家留存关键洞察
- **核心循环(core loop**是留存的根基;D1/D7/D30 是关键基准。
- **渐进式功能发现**:让玩家逐步解锁新机制,避免一次性信息过载。
- **社交连接 + 流畅运营**:长期留存的两大支柱。
- **动机分层**:成就型、探索型、社交型玩家需要差异化设计。
---
## 二、竞品分析与差异化机会
| 维度 | 主流放置游戏 | 主流叙事游戏 | 主流肉鸽 | 《回响星核》定位 |
|---|---|---|---|---|
| 核心 | 数值增长 | 剧情推进 | 战斗随机 | **解码谜题 + 放置 + 探险** |
| 叙事 | 弱/无 | 强但线性 | 弱 | **碎片化叙事,由玩法涌现** |
| 美术 | 简笔画/像素 | 插画 | 像素 | **全息晶体 + 深空粒子美学** |
| 留存钩子 | prestige | 章节 | 随机性 | **「接触」终局 + 多周目** |
| 单局 | 长 | 中 | 短 | **可长可短(放置 + 主动)** |
**差异化结论**
1. 没有任何一款主流游戏同时是「深空考古 + 记忆解码谜题 + 放置 + 肉鸽探险 + 碎片叙事」。
2. 叙事由解码行为**涌现**而非过场灌输,符合 2025 叙事品类崛起趋势。
3. 放置核心保证留存,解码谜题提供主动乐趣,探险提供随机性重玩价值。
---
## 三、技术选型调研结论
- **框架**Next.js 16App Router+ TypeScript —— 本项目既有栈,SSR/路由/API 一体化,适合 web 游戏。
- **渲染**2D 场景用 **HTML5 Canvas**(星空/粒子/晶体动画),UI 用 **React + shadcn/ui**。3D 暂不需要,控制复杂度。
- **状态**Zustand(客户端)+ localStorage 持久化;后续可接 API 同步存档。
- **后端**Next.js API Routes + Prisma(SQLite),承载存档同步、全局统计、(后续)排行榜。
- **实时**socket.io 小服务,用于全局「星潮」事件(后续阶段)。
**结论**:在既有 Next.js 栈内即可实现,无需引入重框架,性能与可维护性平衡良好。
---
## 四、设计原则(源自调研)
1. **原创优先**:不做任何现有游戏的 1:1 复刻,机制组合与世界观均自创。
2. **核心循环扎实**:放置产出 → 解码消耗 → 解锁成长 → 探险扩张 → 终局「接触」。
3. **叙事涌现**:故事从解码碎片中拼出,不打断玩法。
4. **渐进披露**:功能随进度解锁,符合留存最佳实践。
5. **视觉差异化**:全息晶体 + 深空粒子,第一眼即与同类区分。
6. **可持续迭代**:模块化架构,便于后续通过工单需求持续扩展。
---
## 五、数据来源清单(真实性/时效性核验)
1. Business Research Insights — Browser Games Market Report
2. Research and Markets — Browser Games Market 2026
3. Dataintelo — Browser Game Market Research 2034
4. Metastat Insights — HTML5 Games Market 2030
5. LinkedIn (行业分析) — Casual HTML5 Games 2024-2033
6. HowToMarketAGame — 2025 Steam 品类年度报告
7. SuperJump — State of Indie Games 2025
8. GameSpot / Bits N' Pixels — 2025 Idle 游戏榜单
9. GameDesignSkills / GameDeveloper — 留存策略 17 条
10. Reddit r/incremental_games、r/gamedev 社区共识
所有数据均为 2024-2026 年发布,时效性满足设计决策需要。
+141
View File
@@ -0,0 +1,141 @@
# 《回响星核 / Echo Nexus》游戏设计文档 (GDD)
> 版本:v0.1(首发概念版)
> 作者:Super_Z
> 状态:设计已定稿,进入实现阶段
---
## 一、一句话概念
**你是一名深空考古指挥官,驾驶自治勘探舰回收已「飞升」的以太文明遗留的记忆晶体,解码碎片拼凑出他们的故事,并最终跨越维度发起「接触」。**
## 二、游戏定位
- **品类**:深空考古放置策略 + 记忆解码谜题 + 肉鸽探险 + 涌现叙事
- **平台**:现代浏览器(桌面优先,移动适配)
- **单局时长**:可长可短(放置 30 秒也有产出;主动游玩 10-30 分钟一轮探险)
- **目标留存**D1 > 40%D7 > 15%idle 品类基准之上)
- **差异化**:业界首个「解码谜题驱动叙事涌现」的放置游戏
## 三、世界观
数万年前,银河系存在一个高度发达的文明——**以太族(Aetherians)**。他们没有灭亡,而是集体「飞升」到了更高维度。临走前,他们将文明的知识与记忆封存在遍布星系的**记忆晶体(Memory Crystals)**中,作为留给后来者的「面包屑」——只待某个文明能解读足够多的晶体,便有资格发起「接触」。
玩家扮演人类深空考古局的指挥官,舰载 AI「回响(Echo)」辅助你勘探遗迹、回收晶体、解码记忆。
## 四、核心循环
```
┌─────────────────────────────────────────────┐
▼ │
[自治无人机采矿] ──产出──> [记忆晶体库存] │
│ │
[解码谜题] <── 主动操作 │
│ │
┌──────────────┼──────────────┐ │
▼ ▼ ▼ │
[记忆碎片] [技术洞见] [剧情片段] │
(叙事资源) (解锁升级) (拼凑故事) │
│ │ │ │
└──────────────┴──────────────┘ │
│ │
[发起遗迹探险] ─肉鸽─> 新晶体类型
│ │
[「接触」进度条 ↑] │
│ │
────── 达成 100% ───── 终局 / 新周目
```
**核心循环一句话**:采矿→解码→成长→探险→填满接触条→新周目。
## 五、核心系统
### 5.1 记忆晶体采集(Idle 核心)
- 自治无人机以 **晶体/秒** 速率自动产出记忆晶体。
- 玩家可主动「脉冲扫描」(点击/按键)获得瞬时增量 + 连击加成。
- 离线时按 50% 效率持续产出(最多累积 8 小时)。
### 5.2 解码系统(主动玩法核心 ⭐)
每颗晶体需经「解码」才能释放其中内容。解码是一个**原创的图案共振谜题**:
- 屏幕呈现一个由发光节点构成的**共振阵列**(类似星图)。
- 玩家需在限定步数内,按特定**共振顺序**点亮节点,使能量流闭合形成回路。
- 成功 → 释放记忆碎片 + 技术洞见 + 剧情片段。
- 不同晶体等级 / 类型 → 阵列规模与共振规则不同(渐进难度)。
- **设计意图**:把「解码」从被动等待变成有节奏的主动小谜题,避免放置游戏「只挂机不动手」的枯燥。
### 5.3 技术树(成长系统)
四个分支,由「技术洞见」解锁:
- **采矿**:提升晶体/秒、仓库上限、离线效率。
- **解码**:降低解码步数消耗、解锁阵列提示、自动解码低级晶体。
- **探险**:提升探险成功率、降低风险、增加稀有晶体掉落。
- **叙事**:解锁更深记忆层、揭示隐藏剧情、提升「接触」进度转化率。
### 5.4 遗迹探险(Roguelike 层)
- 消耗「能量」向随机生成的遗迹节点图派出探险队。
- 每个节点有事件(战斗/解谜/宝藏/抉择),路径分支。
- 失败损失探险队,成功带回稀有晶体 + 大量洞见 + 独有剧情。
- 单次探险 10-30 分钟,提供短期目标与随机性重玩价值。
### 5.5 碎片叙事(叙事层)
- 解码与探险产出的「记忆碎片」自动归档到**记忆图谱(Memory Codex**。
- 图谱以星图形式呈现,碎片拼合后揭示以太族编年史(5 个纪元)。
- 关键碎片触发**「回响回放」**——一段沉浸式全息短叙(文字 + 视觉),但**绝不打断玩法**(可随时关闭)。
### 5.6 「接触」终局与多周目
- 全部行为累积「接触进度」。
- 达 100% → 触发终局「接触」事件(戏剧性叙事高潮)。
- 之后可选择**飞升(Prestige)**进入新周目:保留叙事图谱与技术蓝图的一部分,重置数值,开启更高难度与隐藏内容。
## 六、美术与音频方向
- **视觉**:深空黑紫底色 + 全息青/品虹光晶体 + 流动星尘粒子。整体「冷峻神秘 + 科技仪式感」。
- **字体**:标题用未来感无衬线,正文清晰可读。
- **动效**:晶体生长、解码共振波纹、粒子涌动、飞升白光。
- **音频**:环境氛围 pad + 解码成功清脆音 + 关键叙事轻旋律(后续阶段)。
## 七、UI 信息架构
```
顶栏:晶体库存 | 接触进度 | 能量 | 设置
左侧:主视图(Canvas 星空 + 晶体集群 + 解码阵列)
右侧:标签面板
- 采矿 (Mining)
- 解码 (Decode) ⭐默认
- 技术 (Tech)
- 探险 (Expedition)
- 记忆图谱 (Codex)
底栏:当前目标提示 | 在线/离线收益 | 版本号
```
## 八、首版(v0.1MVP 范围
为快速验证核心乐趣,首版聚焦:
- [x] 放置采矿(晶体/秒 + 主动脉冲)
- [x] 解码共振谜题(3 种阵列规模)
- [x] 技术树 4 分支 × 3 级 = 12 个升级
- [x] 记忆图谱(首纪元 8 个碎片)
- [x] 接触进度 + 飞升(Prestige
- [x] localStorage 存档 + 离线收益
- [x] 精美 Canvas 星空背景 + 晶体动画
- [x] 响应式布局(桌面/移动)
**v0.1 暂不做**:遗迹探险肉鸽、socket 全局事件、音频、多语言切换、账号云存档(留待后续版本/工单驱动)。
## 九、后续路线图
- **v0.2**:遗迹探险肉鸽系统
- **v0.3**:音频系统 + 全局「星潮」socket 事件
- **v0.4**:账号云存档 + 排行榜
- **v0.5**:多周目隐藏内容 + 全 5 纪元叙事
- **持续**:根据工单需求迭代
## 十、设计风险与对策
| 风险 | 对策 |
|---|---|
| 解码谜题单调 | 多种阵列规则 + 自动解码低级晶体 |
| 放置枯燥 | 主动脉冲 + 连击 + 探险提供短期目标 |
| 叙事打断玩法 | 所有叙事可跳过,图谱自愿浏览 |
| 数值膨胀 | 飞升重置 + 指数曲线校准 |
| 移动端操作 | 解码阵列适配触控,UI 自适应 |
+109
View File
@@ -0,0 +1,109 @@
# 技术架构设计
## 一、技术栈
| 层 | 技术 | 说明 |
|---|---|---|
| 框架 | Next.js 16 (App Router) | 既有栈,SSR + API 一体 |
| 语言 | TypeScript 5 | 全量类型 |
| 样式 | Tailwind CSS 4 + shadcn/ui | 既有 UI 组件库 |
| 渲染 | HTML5 Canvas 2D | 星空/粒子/晶体/解码阵列 |
| 客户端状态 | Zustand + persist | 游戏状态 + localStorage 持久化 |
| 服务端状态 | TanStack Query(按需) | 存档同步、统计 |
| 后端 | Next.js API Routes | 存档同步、全局统计 |
| 数据库 | Prisma + SQLite | 存档、统计(v0.4+ |
| 实时 | socket.io mini-service | 全局「星潮」事件(v0.3+ |
## 二、目录结构
```
src/
app/
page.tsx # 游戏主入口(唯一用户可见路由)
layout.tsx
api/
save/route.ts # 存档同步(v0.4+
stats/route.ts # 全局统计
components/
game/ # 游戏专属组件
StarfieldCanvas.tsx # 星空背景
CrystalCluster.tsx # 晶体集群
DecodeArray.tsx # 解码共振阵列 ⭐
ResourceBar.tsx # 顶栏资源
MiningPanel.tsx
TechTree.tsx
Codex.tsx # 记忆图谱
PrestigeDialog.tsx
ui/ # shadcn/ui 既有
lib/
game/ # 游戏逻辑(纯函数,可测)
config.ts # 数值配置
types.ts # 类型
engine.ts # 核心 tick 引擎
decode.ts # 解码谜题逻辑
tech.ts # 技术树
codex.ts # 叙事数据
prestige.ts # 飞升
db.ts # Prisma
store/
gameStore.ts # Zustand 游戏状态
hooks/
useGameLoop.ts # 主循环
use-toast.ts # 既有
```
## 三、状态模型(Zustand
```ts
interface GameState {
// 资源
crystals: number; // 记忆晶体(主货币)
insights: number; // 技术洞见
fragments: Record<FragmentId, boolean>; // 已获碎片
contact: number; // 接触进度 0-100
// 产能
crystalsPerSec: number; // 由技术树计算
pulsePower: number; // 主动脉冲产出
// 技术
tech: Record<TechId, number>; // 各技术等级
// 飞升
ascensions: number;
blueprints: string[]; // 保留的蓝图
// 解码
currentCrystal: Crystal | null;
// 元
lastTick: number;
prestige: PrestigeBonus;
}
```
## 四、核心循环引擎
- 客户端 `setInterval` 每 100ms tick 一次。
- 每次 tick`crystals += crystalsPerSec * dt`
- 离线收益:加载时计算 `now - lastTick`,按 50% 效率补发(上限 8h)。
- 状态自动持久化到 localStorageZustand persist,节流 1s)。
## 五、解码谜题实现
- 阵列 = 节点图(邻接表),每节点有 `resonance` 值。
- 共振规则:玩家依序点击节点,相邻点击须满足 `resonance` 差值 ≤ 阈值,且最终形成闭合回路。
- 步数限制:规模 3×3=9 节点 / 4×4=16 / 5×5=25,步数上限分别为 6/10/15。
- 成功 → 结算奖励 + 动画;失败 → 晶体不损耗,可重试。
## 六、Canvas 渲染策略
- 单一全屏 Canvas 作为背景层(星空 + 星尘 + 远景星云)。
- 晶体集群与解码阵列用**独立 Canvas 或 SVG**叠加,便于交互。
- requestAnimationFrame 驱动,设备像素比适配,低性能设备降帧。
## 七、可扩展性
- 数值配置集中在 `config.ts`,便于平衡调整与工单需求响应。
- 叙事数据集中在 `codex.ts`,新增碎片只需追加数据。
- 技术树/解码规则/探险地图均数据驱动,支持后续模块化扩展。