Project AS Developer Doc Help

3.4 居民系统(ResidentSystem)

居民系统负责管理浮空方舟中的所有人口个体,包括其基本属性、派系立场、技能类型、健康/情绪状态、岗位分配与 AI 行为逻辑。居民是推动设施运作、参与事件、形成派系倾向的关键单元。

3.4.1 居民数据结构设计

public class ResidentData { public string id; public string name; public int age; public int health; // 0~100 public int mood; // -100 ~ 100 public int loyalty; // 0~100 public SkillType primarySkill; public int skillLevel; // 1~3 public FactionType faction; public ResidentState state; public string assignedFacilityId; // 当前岗位设施 } public enum SkillType { Agriculture, Medical, Engineering, Science, Maintenance } public enum FactionType { Neutral, Immigrant, Restoration } public enum ResidentState { Idle, Working, Resting, Sick, InConflict, Deceased }

居民数据支持 ScriptableObject 批量生成初始模板,同时支持运行期持久存档。

3.4.2 AI 行为逻辑框架

建议采用简化 FSM(有限状态机)为居民行为系统基础。每名居民每日行为可抽象为:

Evaluate → Select → Execute → Feedback → Update

核心流程:

阶段

描述

状态评估

当前健康、情绪、设施分配、资源充足性

行为决策

是否罢工 / 求医 / 继续工作 / 组织集会等

状态变迁

切换状态至 Resting、Sick、Working 等

情绪波动

依据设施状态/事件反馈调整居民 mood

派系影响

mood 长期低落时易被派系渗透或转变

示例状态迁移图:

Idle → Working → Resting ↘ Sick → InConflict

行为执行入口统一由 ResidentManager.TickResidents() 调用,在 GameManager 每 Tick 中分派。

3.4.3 与设施/资源的交互逻辑

  • 每个需要操作员的设施(如医疗舱、科研站)会登记岗位需求 → ResidentManager 为其分配技能匹配的居民

  • 居民在执行岗位时提升对应技能等级,效率影响设施产出

  • 若情绪过低/健康过低,居民会中止工作请求就医或休息

  • 居民每日消耗基础资源(如食物、水),其 mood/health 将反馈至任务与事件系统

3.4.4 派系系统与转换逻辑

每名居民绑定当前思想立场(中立、移民派、重建派)。派系比例将动态影响结局走向与任务分支。

派系支持动态转变机制:

  • 居民情绪极化时易加入极端派系

  • 派系广播设施或剧情事件可群体影响派系归属

  • 可在居民 UI 中观察其派系图标与近期影响事件

派系影响机制:

  • 推动任务类型(如建设发射站 or 播种塔)

  • 触发冲突事件或组织抗议

  • 决定终章支持路线

3.4.5 扩展与进阶建议

  • 居民关系系统 :可选实现亲属关系、好友/对立关系网络(影响情绪联动)

  • 家庭结构 :可解锁后期“居民育种”机制,用于多周目演化(如育种仓)

  • 性格特征与事件互动 :每名居民可携带若干性格标签影响事件选择(如谨慎、急躁、乐观等)

  • AI 驱动干预机制 :玩家可通过强制指派、安抚、广播等手段干预居民行为与倾向

14 七月 2025