# 模拟宗门 基于 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**:战斗/秘境/外交,正式版本 ## 运行方式 1. 用 Godot 4.7 打开 `project.godot` 2. F5 运行,主场景为 `MainMenu.tscn` 3. "新游戏"直接进入;"读取存档"在存档面板中选择 ## 命名规范 | 类别 | 格式 | 示例 | | -------- | ---------- | ------------------- | | 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` |