跳转至

Ludo Atlas · 类型手册 · 殖民模拟(Colony Sim)

类型手册 · 第二辑。定位:不扮演英雄,而是指挥一群有自己想法的人在一个危险的世界里活下去。玩家是规划者与应对者,故事不是写出来的,是从需求、心情、事件与应对的相互作用里长出来的。 配套:《游戏设计手册》(核心循环与叙事系统)·《技术实现手册》(AI 代理与性能)·《制作管理手册》(范围与估算)·《案例研究集》(长线项目复盘)。 本文不放外链。标杆只列大众熟知的作品,没玩过的先玩再看;文中数字均为量级参考,以自己项目的实测为准。


1. 定位与核心循环

一句话定位:殖民模拟是管理一群个体代理(agent)的类型。玩家没有主角,操作对象是一个营地与其中的每个人;个体有自己的需求、心情与技能,自己吃饭、睡觉、干活,也会自己惹祸。玩家的乐趣分两层:当管理者(规划、分配、优化),当应对者(危机来了,看你怎么接)。它的原型难度在类型矩阵里属于偏高一档,因为四根硬骨头同时出现:个体模拟、涌现叙事、性能、存档。

与相邻类型划边界:

相邻类型 边界
生存建造 那类玩家自己砍树盖房;殖民模拟里动手的是小人,玩家决定“让谁去、什么时候去”
模拟经营 / 城市建造 那类管理抽象的资源与统计曲线;殖民模拟的细到“一个有名有姓的人,今天没吃上饭,跟室友吵了架”
RTS RTS 的单位是可以牺牲的数值;殖民模拟的个体是资产加故事载体,死一个有名字的人是一个事件
4X / 大战略 那类以帝国为单位远距离操盘;殖民模拟通常围着一个据点与几十个人做深

一个自检问题:把个体模拟换成无名的数字劳动力,游戏还成立吗?答案若为“不成立”,你做的就是殖民模拟。

核心循环用动词环写:

规划与建造 → 指派工作 → 个体自己生活(吃、睡、社交)→ 事件与威胁打断 → 应对与善后 → 扩张与升级 → 更重的威胁

循环的嵌套层级,每一层都要有钩子:

层级 时长(现实) 玩家在做什么 结算点
分钟级 十几秒一次 一个决策:接不接这个活、修不修这堵墙 即时反馈
天 10-30 分钟 一段日常加一个事件 事件结束、日志更新
周 数小时 建设阶段:住房、防御、供暖、医疗 里程碑(新房间、新科技)
整局 数十小时 从落难者到堡垒 “故事讲完了”或重建

开工前先定死三个问题:一局是什么形态(无限沙盒、有限目标,还是分阶段的叙事节拍);殖民地规模的目标区间(常见量级十几人到几十人,见 §4);压力从哪里来(外部世界、内部情绪,还是两者交替)。三个答案决定后面所有系统的形状。

2. 玩家体验目标与标杆作品

玩家来玩这个类型,要的是四样东西,按优先级排。注意第三条与第四条天然打架,立场必须选一个,摇摆会两头不讨好:

体验目标 玩家的原话 设计着力点
故事所有权 “这是我的故事” 个体有名有姓、事件有因果、日志可回看
管理乐趣 “把每个人安排到该在的位置” 工作优先级、分区、自动化设施
危机应对 “袭击来了,先救谁” 事件强度匹配实力,多解且可恢复
依恋与失去 “我不能接受他死” 关系网、技能专精、墓碑与纪念

标杆作品(只取大众熟知样本,结构差异比质量高低更重要):

作品 核心取向 可学的一招
环世界(RimWorld,也译边缘世界) 故事生成器范式的定义者 用“节奏策略 + 事件池 + 强度评估”把随机事件编成故事
矮人要塞(Dwarf Fortress) 模拟深度的天花板 “失败即乐趣”:世界先于玩家存在,死得其所也是内容
监狱建筑师 需求与政策的小场地样本 把“需求 → 政策 → 反馈”链条做成可读的界面系统
缺氧 物理模拟叠殖民管理 让压力来自系统耦合(气体、温度、液体),而不是外敌
风暴之城 殖民循环的局内化变体 用 roguelite 的单局结构解决“后期膨胀与玩太久”

几款共享一个前提:个体有需求与情绪,故事从系统里长出来。抄它们的“系统密度”,不要抄它们的“第一版”。

3. 设计要点

3.1 个体模拟:需求、心情与技能

个体是这个类型最小的叙事单位,也是最大的成本项。三件套先立住:

需求(needs):每个需求是一条随时间衰减的量,衰减速度决定节奏;需求与解法成对投放,没有解法的需求等于纯惩罚。常见清单:

需求 满足方式 惩罚线 设计注意
饥饿 进食 低值掉心情,归零伤身 前期最常见的打断源,衰减放慢
睡眠 睡觉 缺觉掉心情、效率下滑 床的品质做差异化
休息/娱乐 消遣设施 娱乐不足慢慢抑郁 中期上线,防“干完活没事干”
社交 聊天、聚会 孤独掉心情 关系网的故事发动机(见 §3.4)

心情(mood):需求满足度的加权和,加上事件修正(正面与负面 buff)。心情不是装饰,是可干预的仪表:

  • 阈值要分层:低心情先提示,再进入“崩溃行为”(发疯、暴食、出走、斗殴);崩溃之后给恢复窗口(睡觉、吃药、倾诉),不要一次性毁掉角色。
  • 每个修正都要能被查到:“他为什么心情差”必须有一个确切答案,否则玩家会把系统当成随机数。

技能与特质:技能决定工作速度与质量,带兴趣加成学习更快;特质修正行为而不只是数值(懒惰的人干活慢,也更容易在娱乐上花时间)。两者相加制造差异,差异制造分工,分工制造故事:“我们唯一的医生受了伤”比“医疗产能下降 20%”好听一百倍。

3.2 工作指派与优先级

殖民模拟的管理层只有三根杠杆:谁去(分组)、做什么(工作类型)、先做哪个(优先级)。全部围绕一张工作表展开。

  • 工作类型做成清单(采集、建造、搬运、烹饪、医疗、战斗等,常见 10-20 种),每个个体对每种工作有等级与开关;优先级用简单分级(禁用、低、中、高这类 3-5 档)比伪连续的百分比好懂,默认值必须设计过,否则新手一进游戏就看到小人乱跑。
  • 指派要能批量与模板化(人群分组、职业预设、复制设置);给“等待”一个可见性:谁在偷懒、谁被卡住,一眼能看到,玩家才不会把系统问题当成 AI 智障。

3.3 故事生成器:事件驱动叙事

理念一句话:不写剧情,写会生成情节的系统。玩家想要的不是编剧写好的桥段,而是“这一局,只有我经历过”的故事。实现上是三件套:

  1. 强度评估器:给殖民地算一个实力值(人口、财富、装备、防御),这是事件系统的节拍器。环世界的做法是让威胁强度跟随殖民地财富,于是“越富越危险”,玩家攒下的每一分家当都在变成未来的麻烦。
  2. 事件池:事件按类型(威胁、机遇、琐事)与强度分档,触发条件可组合(季节、天气、位置、前置事件)。
  3. 节奏策略:同一套事件系统,换一个节奏就换一种体验。稳步加压型、长喘息型、无规律型各做一个,让玩家在开局选,或随难度解锁。

故事从系统里长出来,还有两个放大器:

  • 关系网:个体的社交自动生长(朋友、恋人、仇人),吵架、重归于好、亲友死亡都被继承,这是免费的故事发动机。
  • 记录与呈现:事件日志、家谱、墓碑、纪念物,把系统的“输出”翻译成玩家能复述的“故事”。日志本身就是叙事界面;不呈现的模拟等于没发生(见 §3.5)。

3.4 事件与随机性:危险事件的压力曲线

事件是殖民模拟的“关卡”。玩家能接受的随机量这样分层:

随机层 内容 作用 失控的后果
世界生成 地图、同伴特质、初始位置 定义“这一局的问题” 开局就注定没法玩(无食物、无矿区)
过程随机 事件、天气、疾病、来客 制造节奏与意外 事件连发,玩家疲劳或麻木
结果随机 命中、作品质量、手术成败 制造紧张 读档刷结果,紧张感归零

压力曲线的四条规则(与《关卡设计手册》的强度曲线同源):

  • 强度跟实力走,不跟时间表走:威胁档次按实力评估选择,前 30 分钟不该出现灭顶级事件。
  • 高潮之间留喘息:每次重大事件之后给一段平静的生产期,长喘息与危机交替。
  • 重大事件前有预告:伏击之前有侦察报告,寒冬之前有换季提示。看不见的灾难是差评重灾区。
  • 给死亡螺旋一个止损出口:崩一个环节导致连锁崩盘(食物断供、全员虚弱、更没法生产)是这个类型的经典失控。至少留一条救命通道:盟友救援、商队、难度选项、撤退重建。

随机性还有一个来源要克制:重试。单机游戏的玩家会读档,把“可以刷”的随机量降权(结果随机只给小幅修正,不给成败),把刷不了的随机量加重权重(世界生成、事件)。读档刷还是赌一把,这是设计立场,要提前定。

3.5 涌现叙事的边界控制

涌现叙事会从两个方向崩掉,边界控制就是防这两头。

一头是无感:系统在运转,玩家没有感知。症状:心情掉了玩家不知道;事件发生了玩家不关心;故事只存在于日志里。对策:

  • 状态可见:每个异常状态都要能在一到两次点击内查到原因和出口。
  • 输出靠筛选:呈现层只留“可讲的故事”(有名字、有因果、有后果),琐事沉进日志;每个事件至少要能对应一个玩家决策(预防、应对、善后),对应不上的事件是噪音。

另一头是失去:玩家失去掌控,叙事变成霸凌。症状:事故无法预防、惩罚不可恢复、被迫看自己的心血被随机数碾碎。对策:

  • 打断预算:每单位时间强制打断玩家心流的次数设上限,琐事不弹窗。
  • 失败分级:从受伤、损失财物,到建筑被毁,再到死亡,惩罚逐级加重;每一级都有恢复窗口,不要一步到位。
  • 玩家是作者之一:危机的解法至少两种(硬扛、躲、谈、逃),单解的高压事件只在罕见的大节点使用。
  • 收尾仪式:失去要可讲述,墓碑、遗物、以死者命名下一艘船,把损失转化成故事的结尾而不是删除键。

自检方法只有一个:试玩之后请玩家复述“这一局发生了什么”。讲不出故事,说明系统再复杂也没有转化为叙事。

4. 技术要点

殖民模拟的工程难点集中在:模拟循环(tick)、个体 AI、寻路、存档与性能,全部与引擎无关,本节只给结构。另有一条贯穿全部系统的底线:数据驱动,个体不是脚本,而是数据组件与行为系统的组合;它是模组与社区长尾的前提(见《技术实现手册》与《Mod 与 UGC 手册》)。

模拟循环与 tick 策略(数量与性能的平衡点):

  • 逻辑用固定步长的 tick(常见 30-60Hz),渲染与逻辑解耦;模拟量分频率层:位置与执行高频(每 tick),需求与心情评估降频(0.5-2 秒一次),作物生长、温度、经济等宏观量最低频(秒级或更粗)。
  • 错峰(time slicing):给每个个体一个 nextThink 时间戳,把决策摊到不同帧;禁止“同一帧所有个体一起评估”。几十个个体就值得用,几百个个体没它必卡。
  • 模拟降级(sim LOD):远离玩家视线的个体降频,或只算事件;访客与敌人按必要性排序。
  • 决策架构用效用评分而不是硬编码状态机:每个候选行为按需求紧急度打分,选分最高执行;需求过阈值或目标失效时打断重评估。状态机分叉爆炸是这类项目的头号技术债。
  • 把每帧的毫秒预算写进设计文档:个体 AI 与寻路占多少,超了就降频、降级,而不是“加机器”。

寻路与空间:

  • 一张共享的可走性图(网格或分层图),个体不各自持有地形数据;工作与休息只是图上的点与区域。
  • 寻路缓存:按区域缓存路径,目标变化才重算;大图用分层寻路(房间图加房间内网格);门、家具、可拆除建筑会动态改图,改图时给受影响区域打脏标记,不要全图重算。

存档:

  • 存档就是整个世界:地图格子、个体、物品、事件状态、随机种子全量序列化。从第一天就带版本号与迁移函数,改数据结构时老档必须能升上来;坏档是差评重灾区。
  • 存档体积随物品与地图增长,物品要能堆叠、压缩;自动保存异步写盘(先写临时文件、成功后改名,防崩溃损坏)。联机(若有)是另一个量级:先做好单人,再评估同步粒度(见《联机与后端深入手册》)。

5. 内容量与工作量参考

以下为同类项目的常见量级,用于估算范围,不构成承诺。

内容单元 单位成本(量级) 最小可行 商业体量 备注
一个模拟系统(需求、工作、战斗、医疗等) 1-4 周 5-7 个 12-20 个 单做都不难,成本在系统耦合
一个事件(含条件与结果) 2 小时-2 天 20-30 条 80-200 条 文字、平衡、测试各过一遍
一种物品与配方 1-4 小时 60-100 种 200-400 种 含图标与平衡
一个工作类型 半天-2 天 6-10 种 15-25 种 连带优先级与动画
一个特质的写作 0.5-2 小时 30-50 条 100-200 条 成本低、故事密度高,多做
一个派系 / 生物 1-3 天 3-4 个 8-15 个 含行为逻辑与平衡
首局时长 10-20 小时 30-60 小时 100 小时以上 沙盒形态下由玩家决定

几条量级结论:

  • 成本结构是“前重后长”:模拟骨架(需求、工作、寻路、事件系统)占前期大头;之后是持续的内容与平衡(事件、物品、更新),没有终点。给强度评估器留出可视化与调参工具:平衡是无底洞,全靠感觉调,后期必失控。
  • 环世界由一人主导开发、经历多年早期访问;矮人要塞由两人开发二十余年。任何“半年做一个环世界”的估计,先乘三再乘三。
  • 压缩优先级从高到低:砍地图尺寸,合并派系与生物,减物品与配方,减事件数量。不要砍个体模拟的深度,那是这个类型的卖点;宁可少一半内容,也要保住“人会自己活”的感觉。

6. 第一个原型怎么起步

目标:两周到一个月,做出“一个小人自己活着”的最小循环。占位美术,一个房间,一个人。

里程碑 做什么 验收(看行为,不看问卷) 参考工期
M1 一个会活的人 两种需求(饿、困)加吃饭睡觉加寻路 不操作,小人自己找食物吃、找床睡 3-5 天
M2 三个人与分工 工作优先级加 2-3 种工作 玩家改优先级,能看到行为随之改变 5-7 天
M3 心情与日志 心情系统加事件日志加状态查询 玩家能说出“他为什么心情差”并干预成功 3-5 天
M4 一个威胁与善后 一次袭击或疾病,加医疗与恢复 危机结束后,玩家能讲出发生了什么 5-7 天
M5 建造与存档 放置与拆除,加全量存档 关掉重开,世界还在,继续昨天的事 5-7 天

起步纪律:

  • 先定“一局的形态与失败条件”再写一行代码(无限沙盒和有限目标,事件系统的写法完全不同);每一档规模先自己玩一小时,只回答一个问题:“这一小时里有没有发生过值得讲的事?”
  • 不做美术、不做多题材、不做大地图;数据表从 M1 就开始外置(需求、工作、特质)。这个类型的第一乐趣是“看小人活着”,先验证它。

7. 常见坑

  1. 用硬编码状态机写个体 AI:分支指数增长,第五个系统之后没人敢改。改用效用评分加数据表(§4)。
  2. 心情系统不可读:小人崩溃了,玩家查不到原因。每个修正都要有出处,阈值分层(§3.1)。
  3. 事件强度不看实力:前期灭顶、后期无聊,两个方向都是失败。强度评估器优先做(§3.3)。
  4. 事件连发没有喘息:玩家从期待变得麻木,叙事疲劳。打断预算进设计文档(§3.5)。
  5. 死亡螺旋不可逆:食物一断,全员虚弱,越来越没法翻盘。至少留一条救援通道(§3.4)。
  6. 工作优先级默认值没设计:新手进来看到小人乱跑,判定“AI 很蠢”。默认值就是产品的一部分。
  7. 每帧全量评估所有个体:几十人卡到不能玩。分频、错峰、模拟降级三个工具都用上(§4)。
  8. 模拟没有呈现层:内容很丰富,玩家感知不到,等于没做。日志、告警、状态面板是核心系统,不是界面边角料(§3.5)。
  9. 存档从简:世界全量状态加后期改结构就是坏档。版本号与迁移函数从第一天就有(§4)。

延伸阅读

  • 《游戏设计手册》:核心循环、系统互锁与叙事三节,是第 3 节的底稿。
  • 《技术实现手册》:AI 代理、寻路与性能预算的方法论,第 4 节的完整展开。
  • 《制作管理手册》:估算、范围控制与长线排期,与第 5 节互为补充。
  • 《案例研究集》:找模拟与建造类的拆解,重点看内容消耗速度与更新节奏的真实数字。
  • 《独立开发者深度谱》的 Tarn Adams 专题:矮人要塞式的二十年单人长跑样本。
  • 《避坑大全》:项目管理与协作类坑位,立项评审时逐条对照。