Files
Genarrative/apps/ai-game-creator-shell/src-tauri/design-agent/resources/exemplars/stardew-architecture.md
T
lhk229 aaa52c2b34
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
接入策划 Agent 生产迁移初版
新增独立设计会话、工作区工具和随包资源
platform-llm 支持 Responses 原生 input 续轮
无旧 V2 会话的策划入口切换到新设计 Agent
增加阶段审批、澄清卡和工作区文件浏览
同步迁移方案与决策记录
2026-09-10 08:45:11 +00:00

13 KiB

系统架构:《星露谷物语》

架构定位与目标

本阶段确定"哪些系统支撑一轮玩法",不展开单系统内部规则。 划分原则:将生活模拟 RPG 拆成职责清晰、可独立讨论的规则系统,同时保留少量跨系统入口,避免"每个功能都能互相调用"造成架构失控。系统划分服务于顶层循环:安排一天、执行活动、获得进展、投入成长、解锁新选择。

一句话架构:

玩家在有限的时间与体力下,通过农场、探索与社交三组活动系统产出资源与关系,经物品与经济系统转化为投资,由时间系统推进日终,把一天的成果变成下一天的选择。

变更记录:

  • 2026-09-05:战斗与敌人系统定为伴生风险定位,深度刻意受限,不进入最小闭环核心链(依据:概念分析 D-03)。

系统地图

编号 系统 一句话职责 优先级
S01 时间与日程 推进游戏时间、日期、季节、天气、营业时间、NPC 日程和日终结算 P0
S02 体力与状态 管理体力、负面状态、恢复、昏倒和行动成本 P0
S03 农场经营 管理土地、作物、畜牧、农场设施和生产状态 P0
S04 探索与地图 管理区域、出入口、可交互资源点、地图解锁和移动 P0(基础)
S05 采集与钓鱼 管理野外采集、钓鱼活动、资源品质和获得物 P1
S06 战斗与敌人 管理矿区或危险区域中的战斗、伤害、敌人行为和战利品 P1
S07 物品、背包与制作 管理物品实例、堆叠、工具、装备、配方和制作队列 P0
S08 成长与技能 管理技能经验、等级、工具升级、职业选择和能力解锁 P0(基础)
S09 经济与商店 管理货币、买卖、价格、商店库存、订单和资金流 P0
S10 NPC 与关系 管理 NPC 日程、对话、好感度、礼物偏好和关系事件 P1
S11 任务与社区目标 管理任务状态、阶段目标、奖励、社区修复和区域解锁条件 P1
S12 事件与节日 管理季节事件、节日活动、条件触发和特殊奖励 P1

支撑层(不拥有核心规则):

  • 存档与进度系统:保存跨日、跨季节和跨阶段的持久状态。
  • UI 与文本呈现层:展示状态、提供操作入口、呈现反馈与文本。

P0 段:

系统 目的 输入 输出 P0 原因
S01 时间与日程 全局时钟与日终 各系统行动完成信号、日终触发 日期/季节/天气变化、日终结算、跨天 tick 没有"一天",规划与取舍失去标尺
S02 体力与状态 全局行动成本 各系统行动请求、食物与休息 体力变化、昏倒、状态效果 没有它,"想做的事多于做得到的"不成立
S03 农场经营 核心产出与规划场 时间 tick、种子与工具、体力 作物畜产品、设施生产状态 概念核心承诺的载体
S04 探索与地图 活动场景与空间约束 移动指令、区域解锁条件 位置、区域状态、资源点入口 没有空间结构,农/矿/镇一体失去意义
S07 物品与制作 资源身份与转化 各系统获得物、配方请求 物品实例、制作结果 所有系统产出的公共语言
S08 成长与技能 长期回报层 各活动经验提交 等级、能力与配方解锁 长期动机的最小载体
S09 经济与商店 投资与回报换算 物品、金钱 价格、交易、库存 没有它,"变现 vs 投资"张力无载体

系统职责

系统 主要职责 不负责 → 移交谁
S01 时间与日程 时间推进、日期、季节、天气、营业与日终 直接决定某项活动的奖励 → 各活动系统
S02 体力与状态 行动消耗、恢复、昏倒、状态效果 农作物或敌人的具体配置 → S03/S06
S03 农场经营 土地、作物、畜牧、设施生产 商店买卖规则和角色技能 → S09/S08
S04 探索与地图 区域连接、进入条件、资源点位置、移动 具体掉落概率和战斗公式 → S05/S06
S05 采集与钓鱼 采集和钓鱼行为、成功条件、获得物 物品价格和任务奖励 → S09/S11
S06 战斗与敌人 战斗流程、敌人状态、伤害与战利品请求 角色长期成长和商店价格 → S08/S09
S07 物品与制作 背包、物品、配方、制作与工具装备 物品最终经济价值的平衡目标 → S09
S08 成长与技能 经验、等级、技能分支、能力解锁 单次行动的基础奖励 → 各活动系统
S09 经济与商店 货币、交易、库存、订单、价格 任务剧情与 NPC 情感变化 → S10/S11
S10 NPC 与关系 日程、互动、好感、关系事件 全局季节推进和商店库存 → S01/S09
S11 任务与社区 目标、前置、奖励、社区进度和解锁 NPC 的日常行为表现 → S10
S12 事件与节日 周期事件、特殊流程和限定内容 常规日常行动的基础规则 → 各活动系统

职责说明:

S01 时间与日程系统

负责一天制的节奏规则:什么时候推进日期、哪些系统收到跨天 tick、日终结算何时发生。它不负责奖励结算,也不负责作物成长规则——只负责"什么时候"和"谁被通知"。

S06 战斗与敌人系统

负责战斗内状态、敌人行为与战利品请求。它不直接修改商店价格或 NPC 好感,不负责角色长期成长;战利品只提交请求,由 S07 物品系统入账。定位是矿井探索的风险与节奏变化,不是成长主轴(D-03)。

S07 物品、背包与制作系统

负责物品身份、容器、堆叠与配方队列。它是全项目的公共语言层——任何系统的产出都以 item_id 入账;它不负责物品的经济价值平衡,价格只由 S09 维护。

依赖与数据流

flowchart TD
  S1[S01 时间与日程] --> S2[S02 体力与状态]
  S1 --> S3[S03 农场经营]
  S1 --> S4[S04 探索与地图]
  S1 --> S10[S10 NPC 与关系]
  S1 --> S12[S12 事件与节日]
  S3 --> S7[S07 物品与制作]
  S4 --> S5[S05 采集与钓鱼]
  S4 --> S6[S06 战斗与敌人]
  S5 --> S7
  S6 --> S7
  S7 --> S9[S09 经济与商店]
  S7 --> S8[S08 成长与技能]
  S8 --> S7
  S10 --> S11[S11 任务与社区]
  S12 -.读取日期季节.-> S1
  UI[UI 与文本呈现] -.读取状态.-> S1
  UI -.读取状态.-> S3
  UI -.读取状态.-> S7
  SAVE[存档与进度] -.订阅持久状态.-> S1
flowchart LR
  T[时间/体力] --> ACT[玩家行动]
  ACT --> GAIN[物品·金钱·经验·关系·任务进度]
  GAIN --> INV[制作·交易·升级·解锁]
  INV --> NEW[新的行动选择]
  NEW --> ACT

主要状态:

  • 全局状态:日期、季节、天气、当前时间、已解锁区域、社区进度。
  • 玩家状态:位置、体力、生命、技能等级、工具、装备、背包和金钱。
  • 场景状态:土地、作物成长、设施生产、资源点、敌人和宝箱。
  • 社会状态:NPC 位置、关系值、已触发事件、任务阶段和节日参与状态。

主数据归属规则:

  • 规则文档描述"如何计算"和"何时发生";数据表描述"有哪些对象"和"每个对象的配置"。
  • 系统之间通过稳定 ID 关联(物品 ID、NPC ID、区域 ID、任务 ID、配方 ID)。
  • 任何系统都不复制另一系统的主数据;任务只引用物品 ID,不重新定义物品价格。

核心循环覆盖检查

顶层循环环节 认领系统
查看天气、日程与目标 S01、S11、S12、UI
选择活动并移动 S04、S02
农务与生产 S03、S07、S02
采集、钓鱼与战斗 S04、S05、S06、S07
出售、购买与投资 S09、S07、S03
社交与委托 S10、S11、S07
日终结算与保存 S01、S12、存档、UI

目录映射

目录 本阶段定位
03_systems/S01_time_schedule/ 时间推进、日期季节天气、营业时段、日终结算
03_systems/S02_stamina_status/ 体力、状态效果、昏倒与恢复
03_systems/S03_farm_management/ 土地、作物、畜牧、设施生产
03_systems/S04_exploration_map/ 区域、连接、资源点、解锁与移动
03_systems/S05_foraging_fishing/ 采集、钓鱼、品质与获得物
03_systems/S06_combat_enemies/ 战斗、敌人行为、伤害与战利品请求
03_systems/S07_items_inventory_crafting/ 物品、背包、配方与制作队列
03_systems/S08_progression_skills/ 技能经验、等级、工具升级、能力解锁
03_systems/S09_economy_shop/ 货币、买卖、价格、库存与订单
03_systems/S10_npc_relationship/ NPC 日程、对话、好感与关系事件
03_systems/S11_quests_community/ 任务、社区目标、奖励与解锁条件
03_systems/S12_events_festivals/ 季节事件、节日、条件触发
支撑层不单开系统文档 存档与 UI 随实现层组织,规则不独立成文

MVP 最小闭环

  1. 玩家在一个游戏日内完成开垦、播种、浇灌,并看到成长状态反馈。
  2. 在时间与体力约束下选择当日主目标(农场劳动或外出)。
  3. 外出采集(或矿井轻度战斗)带回资源。
  4. 通过出售或加工获得金钱,投资种子或工具。
  5. 日终结算展示当日变化并保存。
  6. 次日作物状态变化,玩家据此形成新计划。
  7. 数个游戏日内出现第一次技能提升与配方解锁。

如果这条闭环不成立,不应继续增加钓鱼深度、节日、社区目标或更多区域。

统一数值基准

本案例采用"宽松治愈型"数值风格。全局单位:时间片、游戏日、货币、体力、经验;所有数值字段必须注明单位。

  • 时间节奏基准:单次常规行动控制在短时间片内;玩家一天应能完成农务、一个主要外出目标和少量顺路活动;早期玩家不应因一次路线失误失去整天进度。
  • 货币量级基准:主要货币只有一种;初期基础种子可用少量日常产出购买;一次普通收获不应立刻买下最高阶升级;任务奖励以补足短期资金为主,不替代生产交易。
  • 成长回报基准:前几级在正常尝试一种活动的数个游戏日内出现;升级奖励优先采用节省时间体力、扩大选择和解锁配方,而非单纯提高伤害售价;专长分支宽松可恢复。
  • 体力与风险基准:体力是规划提示不是严苛倒计时;普通农务与移动成本低,战斗、钓鱼和重型工具才产生明显取舍;失败成本采用时间、少量金钱或位置变化,不损毁进度。

(具体换算数值与前五日验算由技术文档层·数值策划承接。)

系统边界

  • 农场经营只管理农场内的生产状态,不负责所有资源的通用背包逻辑。
  • 探索与地图只管理"在哪里"和"能否进入",不管理每种活动的具体奖励。
  • 战斗只管理战斗内状态和战利品请求,不直接修改商店价格或 NPC 好感。
  • NPC 与关系负责互动和关系变化;任务与社区负责可验证目标,二者通过事件和条件连接。
  • UI、文本和表现不反向承载核心规则;所有关键变化必须由规则系统确认。
  • 本案例不拆出独立多人、拍卖、复杂天气模拟、动态市场或高复杂度叙事工具系统。

优先级与范围

  • P0(最小可玩闭环):时间与日程、体力、农场、物品背包、经济、基础地图、基础成长和日终结算。
  • P1(形成完整案例):采集、钓鱼、轻度战斗、NPC 关系、任务、社区目标、制作、商店、季节和节日。
  • P2(扩展内容):更多区域、敌人、作物、配方、关系事件、节日小游戏和终局后的自由活动。

拆分系统不等于所有系统都要在最小版本同时实现;系统独立性是为了便于协作和后续裁剪。

风险与校验

风险 校验方式
农场变成例行公事,失去规划感 玩家是否在目标选择阶段出现真实取舍与计划调整
矿井战斗反客为主 战斗收益是否仍以"农场难以产出的材料"为主,而非直接金钱
时间压力变成打卡义务 休闲型玩家能否自由调低日程重量而不被惩罚
经济成长过快,后期失去决策 升级价格是否持续制造"效率 vs 规模"的选择
UI 泄题,探索失去意义 关键信息是否保留为探索发现而非全量直读
系统间主数据重复维护 交叉检查:同一事实是否只有一个系统拥有写权

开放的结构问题

  • 体力与生命是否保持为两个状态,还是在轻度战斗中共享一套风险资源?
  • NPC 日程、任务条件和节日事件之间采用统一条件格式还是各自维护?
  • 农场设施生产是否由农场系统统一管理,还是交给通用制作队列?
  • 采集、钓鱼和战斗是否共享统一的"活动结果"接口?
  • 哪些系统需要独立数据表,哪些小型配置应合并为一张内容表?