跳转至

Ludo Atlas · 类型手册 · 城市建造(City Builder)

类型手册 · 第二辑。定位:以土地布局与系统耦合为核心乐趣的品类。玩家在空地上做一连串位置决策,看着人口、需求、服务与交通四层互相牵动,把一块地养成一台会自己出毛病的机器。 配套:《游戏设计手册》(循环、系统耦合与数值)·《技术实现手册》(模拟架构与性能)·《制作管理手册》(估算与范围控制)·《避坑大全》(设计与玩法、程序与架构章节)。


1. 定位与核心循环

一句话定位:城市建造是把「土地上的位置决策」做成第一乐趣的类型。路修在哪里、区划怎么摊开、服务放在哪个路口,每个决定都要在几十小时的尺度上产生连锁后果;模拟负责让后果可见,玩家负责修补自己造出来的每一个麻烦。

核心循环用动词环写:

看地 → 划区 → 修路 → 建服务 → 人口迁入 → 收税与需求变化 → 新问题浮现(拥堵、污染、赤字)→ 解锁新工具 → 再扩张

这个环比其他建造类型跨得更长:一次布局决策的后果可能一小时之后才显形,所以「把模拟结果送达到玩家眼前」的反馈管道(图层、图表、提示)和建造工具本身一样重要。

与相邻类型划边界:

相邻类型 边界
模拟经营(双点医院那类) 那类管理抽象的房间与流程,城市建造管理的是土地本身:位置与网络决定成败
殖民模拟(环世界那类) 那类以个体代理与故事生成为卖点,规模小;城市建造里居民是统计量,重点是系统整体运转
生存建造(我的世界那类) 那类以个体视角制造与生存;城市建造不操作个人,只操作规划
4X 与 RTS 那类有对手与对抗,输赢写在战报里;城市建造的对手是系统自己的副作用

一个自检问题:如果把地图换成一堆数字列表,游戏还成立吗?答案若为「成立」,你要做的可能是模拟经营而不是城市建造。

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

体验目标(按优先级排序):

  1. 掌控感:城市在按自己的设计运转,涨落都能解释,玩坏了知道去哪里修。
  2. 创造欲:土地是画布,布局是表达;玩家会为了「好看」多花三小时。
  3. 解决问题:拥堵、污染、财政,一个接一个的工程题,解开有明确快感。
  4. 增长惊奇:从一块空地到一个会亮灯、会堵车的活体,规模本身就是奖励。
  5. 长期项目感:城市是存档也是作品,每次回来都有下一处想改的地方。

标杆作品只列大众熟知的名字;没玩过的先亲手玩,两小时的体验胜过两小时的拆解:

作品 可学的点
模拟城市 4 分区与需求(RCI)的经典实现;中小城市尺度的节奏与紧张感
城市:天际线 自由曲线道路工具与交通模拟的现代标准;mod 生态对产品寿命的放大
冰汽时代 目标模式的压力设计:倒计时、道德选择、资源绝境三件套
纪元 1800 生产链与城市层级的耦合;把「好看」做成系统奖励的一部分
放逐之城 小体量完整样本;人口年龄结构与资源链拧成的失败螺旋
江南百景图 移动端形态:轻操作加收集与放置层,证明类型可以降维

反面教材同样值得看:模拟城市(2013 重启)的地块尺寸与在线要求,是「限制玩家表达权」代价的公开样本。

3. 设计要点

3.1 模拟核心:人口、需求、服务、交通四层

城市模拟由四层咬合而成。先想清楚每层管什么、哪层驱动哪层:

层 管理什么 输出什么 常见实现粒度
人口 居民与家庭:数量、年龄、教育、就业、迁入迁出 一切需求的源头 按楼与家庭统计,不逐个模拟
需求 住宅、商业、工业与办公的开发意愿,地价与房价 玩家该划什么区、该盖什么 公式化的需求曲线
服务 消防、警察、医疗、教育、水电、垃圾 满意度与城市健康度 覆盖范围加容量
交通 道路网络、通勤时间、拥堵、公共交通 前两层能否真正到达 路段流量加采样车辆

四层按「人口驱动需求,需求驱动建设,服务与交通决定人口去留」咬合。一条完整的联动链条:新住宅区落成,人口增长,通勤量上升,公路开始堵,消防车到不了新区,满意度下降,居民停止迁入甚至搬走。链条上每一环都要有对应的可见反馈,做进图层或图表里;看不见的模拟等于不存在。

设计纪律:四层里挑一到两层做深,其余做薄。四层全深是大型团队的工作量;小团队通常把交通做深(它最容易被玩家看见),把服务做薄(半径加容量就够)。

3.2 分区与道路:网格还是自由规划

两块地基先定下来:道路怎么画,地块怎么切。

取向 代表 玩家侧优势 技术代价
网格 模拟城市 4 对齐干净、易读、密度规划直观 表达受限,曲线与斜向难做
自由规划 城市:天际线 表达自由,城市有「手绘感」 地块子分算法复杂,建筑对齐要靠工具补

自由规划的隐藏成本在「地块」:道路可以任意角度相交,但建筑需要平整的临路地块,背后是多边形分割、边缘对齐、坡地适配一整套几何工作。没有两个月以上的技术预算,不要碰全自由规划。折中方案按代价从低到高排列:纯网格;网格加斜向干道;网格为底、支持装饰性曲线(道路视觉上弯曲,逻辑仍按格走);完全自由。多数项目停在第二档就够用。

道路与分区的规则清单:

  • 地块必须临路才能开发,这是城市建造区别于其他建造类的核心规则,先写进设计文档再写代码。
  • 道路分层:主干道、次干道、支路,不同宽度与限速;升级与拆除要有损耗提示。
  • 分区用笔刷涂抹,区划类型(住、商、工、办公)乘密度等级(低、中、高)共同决定生长出的建筑。
  • 路口是交通的瓶颈,也是设计的着力点:环岛、单行道、高架与隧道在中后期充当「新工具」,对应城市长出的新问题。
  • 公共交通(公交、地铁、铁路)是拥堵的解锁答案,在玩家第一次被堵到疼之后投放,别提前给。

3.3 交通层:把「可达性」做成可见的数字

交通是城市建造里最贵、也最出效果的一层。设计上只做三件事:让流量可见、让通勤有成本、让工具能修复。

  • 流量可见:路段颜色按流量渐变,上下班高峰的潮汐现象要能被看见。玩家看不到堵在哪里,就没法设计出解法。
  • 通勤成本:每个家庭组记住的通勤时间是人口迁入迁出的核心变量之一;通勤超过阈值,居民会搬去更近的区。这条规则比任何提示都直观。
  • 修复工具梯度:加宽道路(缓解)→ 单行道与信号(疏导)→ 公共交通(替代)→ 新城区(分流),每一档对应城市规模的一个阶段。

行人与车辆的「真实感」靠采样代理撑着(见 §4)。设计上只承诺一件事:玩家看得见的屏幕上,街上的车流要和统计面板的数字对得上。

3.4 失败状态与负反馈:全灾害系统与压力来源

没有压力的城市建造会在第十个小时失去玩家。压力来源分四类,投放顺序从缓到急:

压力源 表现形式 玩家可见的预警 正确应对
财政 维护费超过税收,收支翻红 预算图表、逐项开支清单 调整税率、砍冗余、贷款周转
灾害 火灾、洪水、地震、瘟疫 风险图层、电台播报 预防性服务覆盖、灾后重建
系统退化 拥堵、污染、犯罪、失业 图层恶化、图标闪烁 针对性改造,一段一段修
外部压力 目标模式的时限、预算与事件 倒计时、剧情提示 优先级取舍,牺牲局部保整体

全灾害系统的设计纪律:

  • 每个灾害配齐四件:触发条件、预防手段、发生时的可见演出、灾后可修复的残局。缺「预防」的灾害是纯随机破坏,缺「修复」的灾害是删档。
  • 概率与频率做成难度档位,沙盒里允许调到零;毁档级事件(大规模地震、陨石)只出现在目标模式或玩家明确开启的选项里。
  • 灾害的职能是打掉玩家对「绝对安全」的假设,不是惩罚。一次火灾应当教会玩家消防覆盖的价值,而不是让他重开。

负反馈的死亡螺旋是重点防护对象:财政崩、服务停、人口跑、税收更少,这条链一旦转起来,玩家会在两小时内弃档。防护手段:破产前的多级警告、紧急贷款或补助、可降级的维护费、以及「关掉一半系统也先活下来」的降级运转。惩罚要有梯度,出口要体面。

3.5 沙盒与目标模式:两种产品,一个模拟

沙盒与目标(情景、挑战)模式的取舍,是立项时就要定的事:

维度 沙盒模式 目标模式(情景与挑战)
玩家动机 创造与表达 解题与征服
资源与约束 宽松:可调资金、无倒计时、灾害可关 收紧:固定预算、时限、灾害频率
内容成本 一套模拟加一套工具 同一套模拟加参数包与脚本事件
风险 前几小时爆发,之后失去目标 平衡失手变成劝退,尤其前 30 分钟
代表 城市:天际线 冰汽时代(极端形态,几乎只有目标模式)

取舍建议:

  • 模拟必须先沙盒跑通。目标模式会放大模拟的一切缺陷;模拟不稳时做情景,只会把挫败感集中给最认真的玩家。
  • 沙盒也要有内生目标:人口里程碑、地标解锁、成就、蓝图与拍照模式。没有内生目标的沙盒,三小时后会变成挂机看风景。
  • 目标模式是性价比最高的内容:复用同一套模拟,改初始条件、限制与胜利条件即可,单个情景的成本远低于一组新建筑。
  • 发布顺序上,沙盒保下限、情景拉上限:先让创造型玩家能无限玩下去,再给挑战型玩家一道一道的题。

4. 技术要点

工程命题只有一句:不必逐个居民真模拟。城市建造的性能红线由模拟粒度决定,粒度由屏幕决定:玩家看得见的才值得认真算。

  • 分层代理:居民与家庭以统计量存储(按楼、按区聚合的分布),车辆与行人只是从统计里采样的「可视化代理」,用来承载交通流量的表现。代理数量设上限,屏幕外的降级为纯数字流量。
  • 模拟频率分级:交通与车辆走高频(帧或每秒数次),服务与建设走中频(秒级),人口、经济与需求走低频(十几秒到分钟级)。低频层用批处理结算,绝不每帧全量遍历。
  • 交通求解:道路是图,节点是路口,边是路段。寻路带拥堵代价做动态加权;城市大起来后,用分区子图与流量近似(把车队折叠成流量数字)压住开销。交通几乎总是这类游戏的性能天花板,第一个性能预算就打在它身上。
  • 覆盖与可达性:消防、医疗这类服务覆盖用多源广度优先的距离场计算(从服务点向外扩散),比逐个建筑寻路便宜一到两个数量级。
  • 数据驱动:建筑、区划、服务、政策、经济参数全部外置成表,代码只读表。平衡是这类游戏的主工作,改参数不能等编译。
  • 存档:城市状态大(每栋建筑、每条路、每个区划),存档要带版本号与迁移函数,自动轮换备份。玩家在这里投入几十小时,坏档是差评里的头号重罪。
  • 表现与模拟解耦:建筑生长、车辆移动、昼夜光照都是表现层,允许插值与延迟,模拟真相以数据为准;渲染侧用实例化与合并网格扛规模,模拟侧用后台线程或分帧扛频率。
  • 调试工具:模拟统计面板(人口、就业、收支曲线)、图层开关(覆盖、噪音、污染、流量)、时间加速与批量模拟。没有这些工具,四层模拟的平衡就是盲调。
  • 规划模式的数据代价:网格地图是二维数组,建设与查询的代价低到可以忽略;自由规划需要几何库支撑地块运算,每落一条路都要重新评估周边地块,早期就拿最复杂的路口做压力测试。

5. 内容量与工作量参考

城市建造的成本一半在模拟、一半在内容,两者互不通用。以下为常见量级,用于估范围,不构成承诺:

项目形态 规模 周期量级 备注
模拟原型 一张小图,四层简化版 4-8 周 零美术,验证人口驱动需求的循环
小体量完整作品 一张中等地图,一套建筑 6-12 个月 放逐之城向,单人或二三人
常见独立与中型作品 数张地图加情景模式 1.5-3 年 平衡与调参吞掉可观比例
大型作品 大图、多城、mod 支持 3 年以上 对标天际线们的量级

内容单元的成本结构:

内容单元 单位成本(量级) 最小可行 商业体量 备注
建筑资产 1-3 天/栋 30-50 栋 150-400 栋 最大成本项;模块化加换色是救命手段
区划与服务数值表 半天到 2 天/张 3 类区划、5-8 种服务 全量系统 反复平衡,改动会连锁
车辆与行人 1-2 天/种 5-10 种 30-80 种 含动画与昼夜灯光
地图 1-3 周/张 1 张 5-15 张 手工地形,或生成加手工地标
情景(目标模式) 1-4 周/个 2-3 个 10-30 个 复用模拟,主要是约束与脚本

几条量级结论:

  • 平衡是这个品类的隐性大头:四层耦合意味着改一个税率能掀动房价、需求与迁入。给平衡与调参预留总工期的两成以上。
  • 建筑资产按「密度等级乘区划类型」展开,每类还要变体与升级形态。这里正是范围失控的高发区:先定建筑总数上限,再往下分配。
  • 砍范围的优先顺序:建筑变体、地图数量、情景数量,模拟深度排在末位。模拟深度砍掉,游戏本身就不成立了。

6. 第一个原型怎么起步

第一个原型只做一张小图和四层的最小循环,4-8 周,不碰美术、灾害与情景。

  1. 相机与地图:64×64 以内的网格地图,俯视相机支持平移缩放;地形先只有平地与水。
  2. 道路工具:直线与矩形拖动两种画法,拆除工具同批做出来。
  3. 分区笔刷:住宅、商业、工业三种,只做低密度;地块临路才允许开发。
  4. 生长与人口:区划上的地块自动长出建筑,人口开始积累。这是全项目第一个正反馈高光,把生长动画做足。
  5. 需求循环:人口产生住宅需求,就业产生商业需求,一条简单公式即可;需求失衡时地图上有可见提示。
  6. 一个服务:只做一种(消防或电力),圆形半径覆盖,覆盖外的建筑显示警告图标。
  7. 交通最小版:车辆从住宅区移动到工作区,先直线移动,再升级为最短路;观察第一个堵点怎么出现。
  8. 面板与图层:一张统计面板(人口、收支、就业率),一张覆盖热力图。没有这两样,前七步的效果无法验收。

原型验收(全部可观察):

  • 连续玩 30 到 60 分钟,玩家能说出「下一条路修在哪」和「现在最头疼的问题是什么」。痛点即玩法,说不出痛点说明反馈链没通。
  • 人口曲线能涨到第一个瓶颈(通常是道路容量),且瓶颈的成因肉眼可见。
  • 关掉全部美术提示,仅看面板与图层,逆推城市状态没有明显偏差。

反例:先做自由曲线道路,先做灾害,先做美术资源。城市建造的美术量极大,模拟循环成立之前,每一栋楼都是沉没成本。

7. 常见坑

坑 现象 规避
模拟循环未成立先铺内容 建筑表堆了几百行,人口与需求却不联动 先跑通四层最小循环,再开内容生产线
交通性能失控 每辆车全量寻路,城市一大就掉帧到不可玩 分层代理加流量近似,第一个性能预算给交通
破产即删档 财政崩盘后没有挽回路径,玩家直接弃档 死亡螺旋防护:贷款、补助、维护费降级
灾害只有破坏没有预防 随机火灾烧掉一片城区,玩家毫无准备 灾害四件套:触发、预防、预警、修复
模式单一或沙盒缺内生目标 创造型或挑战型玩家被砍掉一半,或三小时后开始挂机看风景 沙盒保下限、情景拉上限;里程碑、地标、成就、蓝图做成可见进度
数值耦合失控 改一处税率,房价、需求、迁入全乱 参数集中外置,长时间模拟测试当回归测试用
图层缺失 玩家看不见为什么堵、为什么不满意 每个模拟变量配一个图层或图表出口
开局太空 穷开局前二十分钟无事可做,玩家流失 压缩前期,尽快给出第一个「建成」高光
存档翻车 几十小时的城市坏档或版本不兼容 版本号、迁移函数、轮换备份,第一天就上

延伸阅读

  • 《游戏设计手册》重读两节:核心循环与嵌套、经济系统的源与汇;读之前先给四层模拟画一张耦合图。
  • 《技术实现手册》的性能与架构章节:代理模型、分帧计算与数据驱动,对应本文第 4 节。
  • 《制作管理手册》的估算章节:先给「一栋建筑、一张地图、一个情景」计时,再乘内容量。城市建造是范围失控的重灾区。
  • 《避坑大全》的设计与玩法、程序与架构两章,与本文第 7 节对照看。
  • 玩而不是读:模拟城市 4、城市:天际线、冰汽时代各玩十小时,记录自己「想退出」的那一分钟发生了什么。
  • 动手练习:不写代码,用电子表格搭一个四层联动小模型(人口、需求、服务容量、通勤时间),跑一百个回合,看失败螺旋从哪里冒出来。