用途:用于构建 RPG/JRPG/动作 RPG,即玩家拥有可成长属性、背包、任务、对话与持久进度;也用于设计升级曲线、伤害公式、物品/装备模型或任务状态机。不适合永久死亡、无持久角色的地牢式玩法(属 roguelike)、纯对话分支剧情(属 visual-novel)、开放世界采集建造(属 survival-crafting);对话引擎本身应使用 dialogue-systems。
核心循环:探索→遭遇(战斗/对话/解谜)→获得奖励(经验、掉落、剧情)→成长(升级、换装、解锁)→挑战更难内容,所有系统都应服务于成长与选择。
必备系统:属性与升级(基础属性、派生战斗数值、经验曲线、升级收益);背包与装备(数据定义物品、堆叠、槽位、属性修正);战斗(回合或即时、伤害公式、状态效果、胜负);任务(目标、状态机 available→active→complete→turned-in、奖励);对话(分支台词、依赖游戏状态的条件、有意义的选择);存档读档(角色、背包、任务进度、世界标记,带版本号);经济与进度门槛(金钱/商店,用等级/任务/区域限制强度);UI(HUD、背包、任务日志、对话框、角色面板)。
设计旋钮:经验曲线形状影响节奏(前期快后期慢);属性到派生数值的缩放影响流派多样性;伤害公式影响战术手感(减法与比例减免);随机浮动/暴击建议 ±10%、约 1.5 倍;掉落率与经济影响奖励节奏;强度门槛用于难度限制;可逆修正用于增益/装备正确性(叠加修正层,不直接改基础属性);选择后果通过标记影响后续分支。
关键模式:派生数值由基础属性每次重算,绝不作为真值存储;升级可用二次曲线,例如 xp_to_next(level, base=100) 返回 baselevellevel;任务目标由游戏事件推进,全部完成则置为 complete。
常见陷阱:用直接改基础属性实现增益/装备会导致数值漂移并在存档重载时损坏;把派生数值当真相存储会失步;经验/伤害数值失控;内容硬编码而非数据驱动(可用 godot-resources / unity-scriptableobjects);存档无版本字段导致更新后旧档失效;选择无后果令分支空洞;任务中间进度未持久化。
组合方式:对话用 dialogue-systems;持久化用 save-systems;内容数据用 godot-resources / unity-scriptableobjects;敌人行为用 game-ai,回合顺序可复用 roguelike 的调度思路;UI 用 game-ui-ux 与 godot-ui-control;世界用 level-design 与引擎地图/3D 技能。公式、曲线、物品数据结构与任务状态模型另见 references/stats-combat-quests.md。