Files
SectSimulator/README.md
T
Admin 559710f765 docs: 更新 README 与开发计划表进度
- README 补充时间系统/用户设置完成状态,更新目录标注
- 开发计划表标记 D1 完成并新增状态列
2026-08-03 22:41:10 +08:00

162 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 模拟宗门
基于 Godot 4.7GDScript)的宗门经营模拟游戏。
## 项目结构
```
模拟宗门/
├── Doc/ # 设计文档
│ ├── 修仙宗门设计文档.md
│ ├── 宗门行政体系.md
│ ├── 宗门礼仪建筑.md
│ ├── 游戏模块总览.md
│ ├── 存档界面UI设计.md
│ └── 开发计划表.md # 开发排期与进度跟踪
├── addons/ # Godot 插件
├── assets/ # 资源文件
│ ├── sprites/ # 精灵图
│ │ ├── buildings/
│ │ ├── characters/
│ │ ├── icons/
│ │ └── ui/
│ ├── audio/ # 音频
│ │ ├── bgm/
│ │ └── sfx/
│ └── fonts/ # 字体(中文字体已导入)
├── resources/ # 配置数据 (.tres / .res)
│ ├── settings/
│ ├── buildings/
│ ├── characters/
│ ├── skills/
│ ├── items/
│ └── events/
├── src/ # 源码 + 场景(.gd 与 .tscn 同目录)
│ │
│ ├── Core/ # 核心框架
│ │ ├── MainGame.gd # [已实现] 主游戏入口,注册游戏场景分组
│ │ ├── MainGame.tscn
│ │ ├── GameState.gd # [已实现] Autoload,场景参数 + 游戏时间
│ │ ├── TimeSystem.gd # [已实现] Autoload,时间推进/暂停/流速/信号
│ │ └── Settings.gd # [已实现] Autoload,用户设置持久化 (user://)
│ │
│ ├── Data/ # 数据层
│ │ ├── Models/
│ │ └── SO/
│ │
│ ├── Sect/ # 宗门管理(规划)
│ │ ├── buildings/
│ │ │ └── buildings/
│ │ │ ├── admin/ # 行政类
│ │ │ ├── education/ # 教育类
│ │ │ ├── workshop/ # 工坊类
│ │ │ ├── storage/ # 物资类
│ │ │ ├── resource/ # 资源类
│ │ │ ├── living/ # 生活类
│ │ │ ├── ritual/ # 礼仪类
│ │ │ └── utility/ # 功能类
│ │ ├── halls/ # 各堂管理
│ │ └── panels/
│ │
│ ├── Character/ # 角色系统(规划)
│ │ └── AI/
│ │
│ ├── Production/ # 生产制造(规划)
│ │
│ ├── Combat/ # 战斗系统(规划)
│ │ └── enemies/
│ │
│ ├── World/ # 世界/地图(规划)
│ │
│ ├── Events/ # 事件/叙事(规划)
│ │
│ ├── UI/ # 用户界面
│ │ ├── HUD/ # [已实现] 顶部信息栏(灵石/时间/声望 + 速度控制)
│ │ │ ├── TopBarHUD.tscn
│ │ │ └── top_bar_hud.gd
│ │ └── Panels/ # 功能面板
│ │ ├── MainMenu/ # [已实现] 主菜单(新游戏/读取存档/设置/退出)
│ │ ├── SavePanel.gd # [已实现] 存档选择面板
│ │ ├── SavePanel.tscn
│ │ ├── SaveSlot.gd # [已实现] 存档槽位(载入/删除/新建)
│ │ └── SaveSlot.tscn
│ │
│ └── Utils/ # 工具类(规划)
├── icon.svg
└── project.godot
```
> `[已实现]` = 当前已有代码/场景;未标注目录为规划结构,随开发逐步填充。
## 当前功能进度
| 功能 | 状态 | 说明 |
| ---- | ---- | ---- |
| 主菜单 | 已完成 | 新游戏/读取存档/设置/退出,中文字体 |
| 场景切换 | 已完成 | MainMenu ↔ MainGame,经 GameState 传参 |
| 存档界面 | 已完成 | 槽位动态生成 + 空槽新建,信号驱动 |
| 时间系统 | 已完成 | 12月×30天历法,暂停/1x/5x/20x 流速,日/月/年信号 |
| 用户设置 | 已完成 | 默认流速持久化 (user://settings.cfg) |
| 顶部 HUD | 已完成 | 灵石/时间/声望显示,速度按钮组(toggle 高亮) |
| 画面质量 | 已完成 | 1920x1080 视口,MSAA 2D/3D + TAA,文字抗锯齿 |
| 宗门数据模型 | **进行中** | SectManager:灵石/灵气/声望(D2 |
| 弟子系统 | 规划中 | 生成/入宗分流/修炼(D3-D5) |
| 建筑系统 | 规划中 | 建造/产出/升级(D6) |
| 存档接入 | 规划中 | SaveSystem 序列化(D8 |
> 进度跟踪见 `Doc/开发计划表.md`,里程碑:M1(8/12) 核心闭环 → M2(9/6) 丰富玩法 → M3(10/11) 正式版本。
## 开发计划
### 下一步:核心循环闭环(P1
目标:跑通"时间推进 → 资源产出 → 弟子修炼"最小循环,让游戏可玩。
| # | 任务 | 说明 | 依赖 |
| - | ---- | ---- | ---- |
| 1 | TimeSystem | 天/月/年推进,挂载 GameState,UI 显示当前日期 | — |
| 2 | 宗门数据模型 | SectManager 单例:灵石/灵气浓度/声望/建筑列表 | — |
| 3 | 建筑系统基础 | 建筑放置、建造/升级耗时、基础产出(灵石/药材) | 1,2 |
| 4 | 弟子系统基础 | 弟子生成(资质/灵根)、入宗分流(亲传/内门/外门/杂役) | 2 |
| 5 | 修炼循环 | 弟子按资质/灵气浓度自动修炼涨修为,境界突破 | 3,4 |
| 6 | 存档接入 | SaveSystem 序列化宗门/弟子/时间数据,替换 SavePanel 测试数据 | 全部 |
### 之后(P2
| 任务 | 说明 |
| ---- | ---- |
| 财政经济 | 收支明细、俸禄发放、市场价格 |
| 任务系统 | 宗门任务发布、贡献值、兑换 |
| 生产制造 | 炼丹/炼器/符箓工坊 |
| 战斗系统 | 弟子组队、外敌入侵事件 |
### 里程碑
- **M1(P1 完成)**:新游戏 → 招弟子 → 挂机产出 → 存档读档,完整闭环
- **M2(P2 完成)**:可体验宗门经营的丰富玩法
- **M3**:战斗/秘境/外交,正式版本
## 运行方式
1. 用 Godot 4.7 打开 `project.godot`
2. F5 运行,主场景为 `MainMenu.tscn`
3. "新游戏"直接进入;"读取存档"在存档面板中选择
4. 游戏内顶部 HUD 可暂停/调速(1x/5x/20x),返回按钮回主菜单
## 命名规范
| 类别 | 格式 | 示例 |
| -------- | ---------- | ------------------- |
| GDScript | snake_case | `top_bar_hud.gd` |
| 场景文件 | PascalCase | `MainGame.tscn` |
| 信号 | snake_case | `back_pressed` |
| 回调方法 | `_on_` 前缀 | `_on_button_pressed` |
| 资源文件 | snake_case | `iron_sword.tres` |
| 精灵图 | snake_case | `bg1.png` |