扫码打开虎嗅APP
本文来自微信公众号: 游戏寿司 ,作者:何北航
在现代电子游戏工业的王冠上,都市型开放世界(Urban Open World)被公认为技术复杂度最高、资源消耗最烈、工程风险最大的细分品类。
回望该品类的演进历程,早期作品尚能通过稀疏的街区信息密度、低保真度(Low-fidelity)的建模资产以及大量重复的静态几何模块,来规避算力溢出的风险并平摊研发的边际成本。
然而,随着硬件性能的迭代,玩家对虚拟都市的真实感、互动深度及垂直化程度的要求日益提升。这种全方位的规格拉满,使得开发都市型开放世界的难度不再是素材量的线性堆砌,而是呈现出一种技术熵增下的非线性增长。
不同于《塞尔达传说:荒野之息》等以自然地形(山脉、植被)为主的开放世界,都市环境是由高密度的硬表面建模构成。
这要求开发者在极高的几何密度、复杂的社会模拟系统以及严苛的资源流送瓶颈之间寻找一种动态平衡。
比如,城市中充斥着海量的直线、转角与人工建筑,这对遮挡剔除(Occlusion Culling)和动态加载(Streaming)提出了近乎残酷的要求。

而现代都市数以万计的窗户、广告牌、街道细节也给发展速度低于预期的显存提出了严苛的考验,每一条街道的转角都可能导致渲染压力瞬间激增。
这类复杂的挑战,对于美、日、欧等成熟工业体系中的技术元老而言,依然是由于物理极限和工程逻辑所导致的“无法根治、只能绕行”的顽疾。
然而,在遥远的东方,竟有从未涉足过该领域的青年才俊,能对着此类项目拍胸脯表示“易如反掌”。
这番初生牛犊不怕虎的气魄,不禁让人感慨:自古英雄出少年。
究竟是什么样的技术深渊,让老牌大厂如履薄冰,却让少年英雄谈笑风生?
接下来,我们拆解几个核心的技术“死结。
都市开放世界开发的第一重困难源于资产数量的指数级爆炸。
一个写实的都市环境不仅包含数以万计的独特建筑、街道、灯具,还包括复杂的地下设施、内部空间以及微观的城市细节。
在处理荒野、森林或山脉时,开发者可以利用过程化内容生成(PCG)和实例渲染(Instancing)实现“以量取胜”。
PCG:通过算法(Algorithm)而非手动(Manual)去创建游戏内容。
实例渲染:本质是资产数据共享,属性数据差异。
几株树木、几种岩石资产,配合随机的旋转、缩放和色相偏移,就能在地形算法的驱动下铺设出延绵数公里的森林。
这种环境的本质是有机的、具有统计学规律的重复,GPU只需要处理少量的原始数据,就能通过重复调用来填充玩家的视野。
而都市则是人类文明极端有序又极端混乱的产物。
不同于自然的“分形”,城市是由海量非重复性、异构化的资产构成的。
每一条商业街的橱窗设计、每一块招牌的文字内容、每一栋建筑的立面结构,都必须具备独特的视觉特征。如果玩家在街角看到两家一模一样的便利店,沉浸感会瞬间崩塌。
相比于自然界中相对单调的泥土与植被,都市的信息密度在于其微观细节的穷举——从路面的裂纹、不同制式的井盖、错综复杂的电线,到每一根路灯柱上的涂鸦。
这种极高的数据熵值,让传统的资产复用技术在都市面前显得杯水车薪。
信息密度的差异,直接导致了都市开发在工程层面面临“资产海啸”。
在自然环境中,增加10平方公里的森林,可能只需要增加10%的美术工作量;而在都市中,增加10个街区,往往意味着需要成千上万个独立制作的建模资产、材质球和碰撞体。这不仅仅是“量”的增加,更是管理复杂度的非线性上升。
这种“资产海啸”迫使游戏业界必须建立游戏资产自动化生产管线,即前面提到的程序化内容生成(PCG)。
然而,PCG在实际应用中并非灵丹妙药,其困难在于如何平衡算法的灵活性与设计师的控制欲。
尽管存在一些自动化管线,能够利用OpenStreetMap(OSM)等数据快速构建3D布局。

但在工业生产中,如何确保这些程序化生成的物体具备游玩时的“游戏性”和逻辑上的“合理性”依然是一个悬而未决的问题。
游戏性
算法虽然可以生成无限的建筑物,但若缺乏社会功能的区划逻辑和环境叙事的深度,生成的都市往往会显得死气沉沉,破坏玩家的沉浸感。
纯程序化生成的都市往往是拓扑均质的。这意味着每一条路看起来都一样,没有地标,没有视觉引导。玩家在这样的城市里移动,会极度依赖小地图,从而丧失了观察世界、探索未知的欲望。
这类通过算法“复刻”的城市,本质上只是一堆冰冷的几何体。对于玩家而言,“规模”不等于“乐趣”。
如果一个都市开放世界缺乏精心设计的微观逻辑,它就只是一个巨大的、无法交互的盆景。
为了保证游戏性,开发者需要在PCG之外,手动创作关卡。
以《赛博朋克2077》(Cyberpunk 2077)为例,CD Projekt Red虽然在城市远景和基础框架上应用了大量的程序化技术,但其核心的游玩体验依然高度依赖于“人工创作”。
为了保证趣味性,开发者必须在庞大的都市网格中,“嵌入”大量经过精密设计的固定关卡。比如夜之城中那些可以潜入的帮派据点、充满了叙事细节的公寓,以及错综复杂的立体交火区。
下图是关卡设计师Max Pears为《赛博朋克2077》制作的关卡场景,考虑到玩家可以选择自己的游戏风格,设计师提供足够的选项/路线供玩家在游戏中使用。(下图三种颜色路线代表三种游戏风格)
在固定关卡中,每一个转角的掩体高度、每一条狙击视线的长度都经过千百次调试。
而PCG生成的建筑室内,往往会出现让玩家卡住的死角,或者在战斗中完全不合理的空旷地带。
在《堡垒之夜》等成熟射击游戏中,掩体、墙壁和障碍都有严格的规格(下图),但反观某国产射击游戏,其建模规格千奇百怪,看得出关卡缺乏严苛的规格化(Metric)约束。

总不能是因为负责人完全不懂吧?
合理性
算法或许可以精确计算出一栋楼应该矗立在何处,但它无法回答一个更关键的问题:
为什么这扇窗户是破损的?为什么这个后巷堆满了空酒瓶?
这些被称为“环境叙事”(Environmental Storytelling)的细节,恰恰是点亮世界的关键——也是当前任何PCG管线都难以复刻的人文厚度所在。
环境叙事往往依赖一种“有意义的混乱”。
例如,一个杂乱的桌面,算法可以随机摆放咖啡杯、钢笔与纸张,使其看起来“自然”。但这种自然,仅停留在视觉层面。
真正的叙事来自“刻意”。
人类策划者会有意识地留下痕迹,让环境本身成为故事的载体。
在《辐射4》中,玩家深入某处地铁、清剿土匪后,会发现地上散落着许多玩具熊,以及一条“All are welcome”的标语。
凶残的土匪,与天真的玩具熊形成强烈反差,在无声之中讲述了一个令人不安的故事。
这种逻辑链条“行为引发痕迹,痕迹讲述故事”要求创作者具备对人类行为模式的深度同理心。
因此,这里的“合理性”,并非数学意义上的逻辑自洽,而是一种情感上的互文与呼应。
而这,正是当前PCG所无法触及的边界。
都市开放世界的第二个核心难点在于如何将庞大的资产库在有限的硬件资源下流畅地呈现。
由于都市环境的几何密度远超自然景观,且玩家在城市中往往具备极高的移动速度,底层系统的资源流送(Streaming)和输入/输出(I/O)压力达到了临界值。
在《漫威蜘蛛侠》(Marvel's Spider-Man)的开发过程中,Insomniac Games面临的最主要技术挑战之一,便是如何让玩家在曼哈顿高速荡秋千的同时,系统能及时从光盘或硬盘中读取资产。

由于城市环境每立方米的资产量极大,引擎必须能够在毫秒级的时间窗内完成大量贴图、模型和碰撞数据的解压与上传。
如果流送系统无法跟上玩家的速度,就会出现严重的“资产弹出”(Pop-in)现象,这在高速度移动的索尼克身上尤为明显。(下图:玩家反馈)

这种瓶颈在旧世代硬件(如PS4/Xbox One)上表现尤为突出,其配备的传统机械硬盘(HDD)的寻道时间和IOPS根本无法支撑现代高密度都市的动态加载需求。
为了在25英里甚至更远的视距下维持帧率,开放世界图形引擎必须实现多级细节层次(LOD)的无缝切换。
这在都市环境中尤为复杂,因为建筑物的遮挡剔除(Occlusion Culling)计算量极大。
当玩家站在摩天大楼顶端俯瞰全城时,引擎需要同时渲染数以千计的低模,同时保持近景物体的高分辨率。
《赛博朋克2077》在发布初期的技术灾难充分说明了硬件下限对都市开发的影响。
其后台流送系统在执行密集的I/O操作时会极度消耗CPU资源,导致即使拥有强大显卡的玩家在进入繁华城区时也会因为CPU瓶颈而遭遇帧率骤降。
由于都市场景的高密度信息,这种CPU受限的情况在都市环境中比在自然环境中更常见。
一个真实的都市必须是“活着”的。
这意味着数以千计的行人和车辆需要展现出合理的、甚至是涌现的行为。
然而,实现这一目标的计算开销巨大。
不同于渲染管线可以靠提升显卡规格来强行“续命”,社会系统的模拟主要依赖于CPU的逻辑计算。
NPC寻路
在荒野中,NPC的寻路只需要沿着道路,避开几棵树即可;但在高楼林立、立体交通错综复杂的都市,数千个智能体同时寻找最优路径,其A*算法或导航网格(NavMesh)的查询开销会随人数呈指数级增长。
每一个行人都需要判断:现在是红灯吗?前面有玩家在开枪吗?我该去哪里上班?
当屏幕中出现数百个需要实时决策的个体时,CPU的多线程调度压力将直逼物理极限。
交通模拟
交通系统是都市开放世界中最难维护的子系统之一。
每个市民或车辆离开出发点时,都需要计算到目标位置的最快路径。
当城市人口达到数十万甚至百万级时,即便只对活跃个体进行计算,其累积的寻路开销也会让最强大的处理器不堪重负。
决策逻辑与死锁:交通模拟不仅是A*寻路,还涉及复杂的车道变更策略。
如果算法过于简单,会导致车辆排队堵车;如果过于复杂,则计算复杂度会呈几何倍数增长。
为了降低开销,开发者通常采用分布式更新策略,例如每秒仅模拟4次车辆运动,而在渲染层通过插值来实现平滑视觉。
群体流动
对于极高密度的行人,传统的基于个体的寻路(Individual Pathfinding)已经彻底失效。
在CPU资源被渲染和物理逻辑疯狂压榨的背景下,为每一个路人实时计算复杂的路径,无异于一场算力自杀。
为了解决这一矛盾,工业界引入了流场算法。这种方法不再关注“某个人想去哪”,而是将整个地面划分为网格,通过并行计算生成一个密度场(Density Field)和速度场(Velocity Field)。
个体不再是独立的决策者,而是变成了场域中的一个“粒子”。它们只需读取所在网格的向量方向,顺着“水流”前进即可。
无论场景中有100个人还是10,000个人,算法只需计算一次全局场图。这种对GPU并行计算极其友好的数据结构,是维持都市繁华感的核心技术支撑。
然而,这种优雅的数学解法背后,隐藏着破坏沉浸感的巨大隐患。当个体化身为液体,城市就会面临“行为同质化”的危机:
在流场驱动下,人群往往表现出一种诡异的同步感。你会看到所有路人在转角处都以同样的弧度转身,像是在表演集体舞。
而在真实的城市中,急匆匆赶地铁的白领、悠闲散步的老人、停下看手机的游客,其行为逻辑本应完全不同。
但在基础流场中,赋予不同个体差异化的阻力系数或偏好权重,会迅速抵消掉算法带来的性能收益。
此外,当一个“液态”的群体遇到突然发生的突发事件(如玩家开火)时,如何从全局流场中瞬间剥离出受惊吓的个体,并切换回复杂的个体避障逻辑,是让无数高级工程师头痛的状态机切换灾难。
现代都市开放世界,正在从“地表铺设”的二维扩展,迈向“垂直堆叠”的三维结构。
在传统的平面地图中,内容规模大致遵循N²的增长逻辑:地图越大、面积越广,需要填充的内容也随之线性扩展。
但当“高度”这一维度被真正引入,城市不再只是横向展开,而是向上、向下不断叠加——内容复杂度随之跃迁为N³级增长。
这并非简单的“多做几层楼”那么直接,而是意味着开发者必须同时处理多个维度的设计问题:
•每一层楼都需要具备独立的可探索价值,而非重复贴图的空壳,或者用叙事来解释为何不可探索
•室内空间从“装饰背景”转变为“功能空间”,需要承载叙事、战斗与交互
•立体交通系统(电梯、楼梯、空中连廊、索道等)必须形成逻辑自洽的网络
换句话说,城市不再是“地图”,而是一个真正意义上的“空间系统”。
但坦白说,很多都会面临技术、成本和游戏性的三重挑战。
比如一栋摩天大楼,每一层都可以去是否有必要?成本增加多少?技术上能否实现?
不如就设计一个剧情,让主角直接坐电梯到顶楼与BOSS展开最终决战,更为轻松。
NavMesh挑战
传统的NavMesh(导航网格)建立在一个隐含前提之上:
世界主要是2.5维(拓扑流形)的,角色在一个连续的平面上移动。
这一假设在平面开放世界中基本成立,但在立体城市中会迅速崩溃。
垂直结构带来的挑战包括:
•多层空间的重叠:同一水平坐标上可能存在多个“可行走平面”
•电梯、跳跃点、攀爬路径等“非连续连接”,打破传统路径搜索逻辑
•狭窄通道与复杂室内结构,使路径计算更加精细且昂贵
当任天堂技术大牛堂田卓宏在演讲中谈到“攀爬”玩法花了很大精力才完善,而一个新人制作人却认为“攀爬很简单”,老板可以给出自己的判断。
更棘手的是,不同体型与能力的角色,对“可通行空间”的定义完全不同:
•大型单位可能无法进入狭窄室内
•具备跳跃或飞行能力的角色可以跨越传统路径限制
•NPC与玩家在导航规则上的差异,也会导致行为表现不一致
这意味着开发者往往需要维护多套NavMesh系统,或引入更加复杂的分层导航与动态路径规划机制,极大增加了工程复杂度与性能压力。
技术可以支撑空间的存在,但“游戏性”与“可理解性”则属于人本设计范畴。
垂直空间首先带来的问题,是方向感的丧失。
在二维地图中,玩家依赖的是“平面认知”:
前后左右+小地图,即可建立稳定的空间记忆。
而在三维城市中,玩家必须同时处理“上下”这一维度:
•当前目标是在楼上还是楼下?
•是否需要绕行、乘坐电梯,还是寻找隐藏通道?
一旦缺乏清晰的视觉引导或路径提示,玩家很容易陷入“就在附近却找不到入口”的挫败体验。
此外,垂直性还会直接影响战斗设计的公平性:
•高处单位天然拥有视野与攻击优势
•狭窄高差空间可能导致“卡位”“单向压制”等问题
•不同武器或技能在立体空间中的表现差异会被放大
如果缺乏精细调校,战斗体验可能从“策略丰富”迅速滑向“失衡与挫败”。
从本质上看,立体城市不仅是“多了一维”,而是对空间认知、技术架构与玩法设计的全面重构。
它所带来的,不只是规模的膨胀,更是复杂度的指数级跃迁。
当我们谈论都市开放世界的“真实感”时,视觉往往是第一优先级,但真正决定沉浸深度的,往往是听觉。
高楼林立的城市空间,会自然形成一个极其复杂的声学场:
狭窄街道、开放广场、半封闭天桥、地下空间……每一种结构,都会对声音产生截然不同的影响。
玩家听到的,不只是“声音本身”,而是一个被空间不断塑形后的结果。
声学模拟
在物理层面,声音传播并非简单的“直线扩散”,而是一个高度复杂的过程,主要包括:
•反射:声音在墙面、玻璃或地面反弹,形成回声与混响
•绕射:声音可以绕过障碍物,使玩家在看不见声源时依然“听得到”
•阻隔:墙体、楼层等结构会衰减甚至完全阻断声音传播
在立体城市中,这三种现象会高度叠加:
因此,声音系统不再只是“播放资源”,而是需要实时响应环境变化的动态模拟系统。
技术路径
目前主流的声学模拟大致有两条技术路线:
•声学射线追踪(Ray Tracing)
类似光线追踪,将声音视为射线进行传播与反射计算,适合处理高频声与明确路径
•波动方程求解(Wave-based Simulation)
从物理本质出发模拟声波传播,能够更真实地还原绕射等现象,但计算成本极高
在实际项目中,纯粹使用任一方案都难以落地,因此通常采用混合方案:
•关键路径使用射线追踪保证效率
•局部或低频效果用近似波动模型增强真实感
•再辅以经验参数(如混响区块、音频滤波)进行工程化补偿
这种“物理+经验”的折中,是目前工业界的主流解法。
工业实践
在实际开发中,如何在“真实性”与“性能预算”之间取得平衡,是声音系统的核心问题。
一种常见方案是体素声学系统(Voxel-based Acoustics):
•将空间离散为体素(3D网格)
•在体素层面预计算或近似传播路径
•运行时快速查询,实现较高效率的空间声学模拟
这种方法在复杂城市环境中表现稳定,尤其适合处理多层结构与遮挡关系。
相比之下,传统的Portal系统(基于房间与连接口的声学划分):
•在室内、走廊等结构明确的环境中效果良好
•但在开放城市中,由于空间边界模糊、连接关系复杂,往往难以准确表达真实声场
从本质上看,听觉系统的挑战在于:
它必须在玩家“看不见的地方”维持真实。
如果视觉决定了世界的“形状”,
那么声音,决定了这个世界是否“活着”。
都市开放世界的构建,不只是“把建筑堆起来”,而是要让城市看起来像是被人类社会长期塑造出来的结果。
换句话说,开发者面对的不是一个几何问题,而是一个“社会系统的空间投影”。
如果缺乏规划逻辑,再精细的建模也只会拼接成一个漂亮却空洞的舞台。
社会结构
一座可信的城市,首先必须体现其背后的社会结构。
这不仅关乎美术风格差异,更关乎“为什么这里会变成这样”。
•阶级分层
富人区与贫民区不只是建筑精致程度的差别,还体现在空间占有、视野资源与安全感上:
高处、临水、开阔区域往往被高阶层占据,而低洼、拥挤、嘈杂的空间则逐渐边缘化。
•功能区划
商业区、住宅区、工业区并非随机分布,而是由历史、交通与经济逻辑共同塑造:
工业区远离核心居住区,商业区依附交通节点,而老城区则可能保留复杂、低效但充满故事的空间结构。
当这些结构合理存在时,玩家无需解释,也能“读懂”这座城市。
在《英雄联盟》的城市构建(特别是《双城之战》中)中,这种分层被推向了极致。
皮尔特沃夫(上城)坐落在阳光普照的高地,建筑风格采用大量的装饰艺术(Art Deco)和白金配色,强调秩序、通透与向上伸展的权力感。
而与之共生的祖安(下城)则蜷缩在海湾的岩层裂隙中。
由于重力与社会结构的双重压迫,祖安不仅在地理位置上处于低洼,在资源流向上也承接了上城的工业废料。这种“垂直阶级学”让玩家一进入场景就能感受到那种令人窒息的社会压强。
核心要素
在具体设计层面,城市规划通常围绕几个关键要素展开:
•交通层级
主干道、次干道、步行街、地下通道、快速交通(如地铁或高架)构成分层网络。
交通不仅决定移动效率,也决定了人流、商业与事件的分布密度。
•分区逻辑
不同区域需要有清晰的“功能身份”,并通过建筑风格、密度、灯光与人群行为加以强化。
玩家进入一个区域时,应当在数秒内形成直觉判断:“这里是做什么的”。
•视觉走廊(Visual Corridor)
城市需要有“引导视线”的结构:
远处的地标、高耸建筑、道路延伸线,都会在无形中引导玩家前进方向。
这是解决“迷路感”的关键设计手段之一,也是连接宏观规划与微观体验的重要桥梁。
这些要素共同作用,使城市从“可通行”提升为“可理解”。
动态叙事
即便规划再合理,如果缺乏动态内容,城市仍然会迅速暴露出“空壳感”。
因此,需要通过系统化的动态叙事机制,让城市持续“发生事情”:
•随机事件
突发冲突、事故、交易、巡逻等事件,为城市注入不确定性与生命力
•NPC行为网络
NPC不应只是站桩或循环路径,而应具备基础的日程、反应与互动逻辑
(例如:上班、休息、避险、围观等)
•环境反馈
玩家行为应当在城市中留下痕迹:
一场战斗后的破坏、一次任务引发的秩序变化,都能成为后续体验的一部分
当这些系统协同运作时,城市不再只是“被观看的对象”,而是一个能够对玩家行为产生回应的复杂系统。
从本质上看,城市规划的目标并不是“做得更大”,
而是让玩家相信:
这里本来就应该是这样的。
但这样一来,就会出现一个显而易见的问题:精细的城市需要人工精雕细琢,但现代城市的规模过大,对成本控制提出了挑战。
结语
都市型开放世界的开发,本质上是一场横跨技术、工程与艺术的极限挑战。
它不仅依赖于图形学与引擎能力,还要求开发者具备城市规划的结构意识、社会学的理解深度,以及系统工程层面的整体掌控力。
正因如此,真正能够完成度高、体验成熟的作品,始终凤毛麟角。
强调这些困难,并非否定都市型开放世界这一方向的价值;相反,它的吸引力正来源于其复杂与宏大。
但也正因为门槛极高,更现实的路径,往往不是“一步到位”,而是分阶段实现:
从局部空间,到小规模开放区域,再逐步过渡到更复杂的系统整合。
对于缺乏开放世界开发经验的团队或个人而言,直接挑战这一类型的“最终形态”,成功概率往往极低,甚至可能在中途耗尽资源与信心。
与其正面硬攻,不如通过渐进式构建,在不断验证与迭代中逼近目标。
这不仅更可行,也更符合复杂系统本身的成长规律。