19f81ceeecc5451763d9170469368d2743dba7cb
- 新增 month_passed/year_passed 信号,供俸禄与年度结算 - 新增 speed_changed/pause_changed 信号及 set_paused - 新增 set_date 接口,供读档恢复时间
模拟宗门
基于 Godot 4.7(GDScript)的宗门经营模拟游戏。
项目结构
模拟宗门/
│
├── Doc/ # 设计文档
│ ├── 修仙宗门设计文档.md
│ ├── 宗门行政体系.md
│ ├── 宗门礼仪建筑.md
│ ├── 游戏模块总览.md
│ └── 存档界面UI设计.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 # [已实现] 主游戏入口,按 GameState 参数区分新游戏/读档
│ │ ├── MainGame.tscn
│ │ └── GameState.gd # [已实现] Autoload 单例,场景间参数传递
│ │
│ ├── 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 传参 |
| 存档界面 | 已完成 | 动态槽位 + 空槽新建,信号驱动 |
| 顶部 HUD | 已完成 | 灵石/时间显示,返回主菜单 |
| 画面质量 | 已完成 | 1920x1080 视口,MSAA 2D/3D + TAA,文字抗锯齿 |
| 宗门经营 | 规划中 | 见 Doc/修仙宗门设计文档.md |
开发计划
下一步:核心循环闭环(P1)
目标:跑通"时间推进 → 资源产出 → 弟子修炼"最小循环,让游戏可玩。
| # | 任务 | 说明 | 依赖 |
|---|---|---|---|
| 1 | TimeSystem | 天/月/年推进,挂载 GameState,UI 显示当前日期 | — |
| 2 | 宗门数据模型 | SectManager 单例:灵石/灵气浓度/声望/建筑列表 | — |
| 3 | 建筑系统基础 | 建筑放置、建造/升级耗时、基础产出(灵石/药材) | 1,2 |
| 4 | 弟子系统基础 | 弟子生成(资质/灵根)、入宗分流(亲传/内门/外门/杂役) | 2 |
| 5 | 修炼循环 | 弟子按资质/灵气浓度自动修炼涨修为,境界突破 | 3,4 |
| 6 | 存档接入 | SaveSystem 序列化宗门/弟子/时间数据,替换 SavePanel 测试数据 | 全部 |
之后(P2)
| 任务 | 说明 |
|---|---|
| 财政经济 | 收支明细、俸禄发放、市场价格 |
| 任务系统 | 宗门任务发布、贡献值、兑换 |
| 生产制造 | 炼丹/炼器/符箓工坊 |
| 战斗系统 | 弟子组队、外敌入侵事件 |
里程碑
- M1(P1 完成):新游戏 → 招弟子 → 挂机产出 → 存档读档,完整闭环
- M2(P2 完成):可体验宗门经营的丰富玩法
- M3:战斗/秘境/外交,正式版本
运行方式
- 用 Godot 4.7 打开
project.godot - F5 运行,主场景为
MainMenu.tscn - "新游戏"直接进入;"读取存档"在存档面板中选择
命名规范
| 类别 | 格式 | 示例 |
|---|---|---|
| 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 |
Languages
SVG
100%