docs: 初始化游戏调研、设计文档与技术架构 (v0.1 设计定稿)
- 01-调研报告: 浏览器/HTML5市场、独立游戏品类、放置品类、留存洞察、技术选型 - 02-游戏设计文档: 世界观、核心循环、六大系统、MVP范围、路线图 - 03-技术架构: 栈选型、目录结构、状态模型、解码引擎、Canvas策略 - README: 项目概览
This commit is contained in:
@@ -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.1(MVP 开发中)
|
||||
- **栈**: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 · 持续开发中
|
||||
|
||||
@@ -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 Markets(78.1 亿→80.1 亿)、Dataintelo(118 亿→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 16(App 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 年发布,时效性满足设计决策需要。
|
||||
@@ -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.1)MVP 范围
|
||||
|
||||
为快速验证核心乐趣,首版聚焦:
|
||||
- [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
@@ -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)。
|
||||
- 状态自动持久化到 localStorage(Zustand 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`,新增碎片只需追加数据。
|
||||
- 技术树/解码规则/探险地图均数据驱动,支持后续模块化扩展。
|
||||
Reference in New Issue
Block a user