都市天际线2 开发者日志#2 交通AI
功能特点 #2:交通AI
大家好!我们回来了,为你们带来了《都市:天际线 II》的另一个开发日志,今天我们要介绍的是全新改进的交通AI。管理日益发展的城市交通是《都市:天际线》的核心内容,进入续作,我们知道我们想要给您带来一个更高级的系统,既能满足您多年来提出的反馈,又能让城市更加真实和生动。
市民和交通是一个城市的核心组成部分。人们住在哪里,他们在哪里工作,他们在空闲时间去哪些地方?企业位于何处,他们如何获得销售商品所需的货物?他们的顾客是市民还是其他企业?他们的顾客如何找到他们,是否有更近的更好的购物选择?所有这些因素都会影响交通在城市中的流动。
在这个开发日志中,我们将介绍交通模拟的工作原理以及代理人(城市中的市民、服务和资源)在做路径规划决策时考虑的功能。在深入了解所有细节之前,请先观看下面的精彩视频。

《都市:天际线 II》与其前作《都市:天际线》之间的差异
在《都市:天际线 II》中,路径规划的方式与前作有所不同。在《都市:天际线》中,路径规划是基于接近性的,这意味着代理人会根据直线距离计算其目的地或订购服务,而不考虑现有的道路网络。例如,在火灾发生时,最近的消防站可能会派出消防车,即使由于道路连接方式导致它需要绕远路才能到达目的地。较长的响应时间可能意味着消防车无法及时阻止火灾蔓延或拯救建筑物的倒塌。代理人会选择最快的路线到达目的地,并坚持不变,即使出现交通拥堵,他们也会耐心等待,只有在道路网络发生变化导致原始路径不再可行时才会改变路线。
而在《都市:天际线 II》中,代理人会根据路径规划成本选择路线。这个成本是通过多个因素计算出来的,如城市的道路网络、行驶时间、行驶成本、代理人的偏好等,我们将在下面更详细地介绍这些因素。此外,代理人还会根据途中发生的事件调整其路线。他们可能会变换车道以避免车祸或停止的服务车辆,或者为应急车辆让出道路空间。

路径规划成本
路径规划计算的核心是四个方面:时间、舒适度、金钱和行为。
时间是计算路径时的一个重要因素。虽然其他因素也会影响路径规划,但时间通常是最重要的因素,因为所有代理都倾向于选择最快的路径到达目的地。当仅考虑旅行时间时,一条小路可能更短,但其行驶速度低于较长高速公路的行驶速度,因此在大多数情况下,如果高速公路整体上是更快的路径,代理会选择高速公路。
舒适度在路径规划中是一个重要因素,包括尽可能使路径平稳,避免在交叉口处不必要的转弯,以及找到一个合适的停车位或公共交通站点下车。舒适度直接计算到路径规划成本中,每个选项都会增加总体成本。
金钱以燃料消耗和可能的停车费形式影响路径规划选择。市民权衡旅行和停车成本,将其与其他出行选择以及步行相比较,以确定哪种选择是快速、舒适和经济实惠的。对于交付车辆来说,它们运输的资源成本随着距离的增加而增加。因此,对于公司来说,将资源和货物在本地销售更具成本效益,因为运输成本低于将货物运到外部连接处。
行为指的是代理在交通中是否愿意做出“危险”决策,例如掉头。市民和交付车辆在交通中不太可能做出危险的决策来降低路径规划成本,而紧急车辆具有更宽松的行为模型,以便在紧急情况下能够在道路网络中导航并在必要时做出危险的路径规划决策。
路径规划还考虑了旅行者的年龄组。对于青少年来说,最重要的因素是金钱:他们在旅行时寻找便宜的选择,无论是交通方式还是停车行为。成年人更看重时间,因此对于他们来说,最快的路线通常是最好的选择。而老年人则更喜欢高舒适度。只要舒适成本较低,老年人往往会选择这个选项。
市民在做决策时权衡所有路径规划因素,以追求最低的总体路径规划成本。
服务车辆的排序基于最低的总体路径规划成本,并在制定新订单时考虑当前和近期内所有适用车辆的距离(即:车辆在完成之前的服务订单后将会在哪里)。例如,一个道路维修服务车辆被要求修复一段道路。模拟系统会检查所有可用车辆的当前位置以及它们当前的订单将它们带到哪里。如果有一个当前更近的车辆,但另一辆车在不久的将来将前往附近的位置,那么当前更近的车辆可能不会被选择执行新的订单,因为另一辆车即将完成其当前的服务订单。
资源运输受到路线长度的影响,因为距离增加会增加成本,所以公司会尽可能将货物运送到距离更近的地方,以增加自己的利润率。将资源和货物运出城市成本高昂,可能大大降低公司的盈利能力。

车道使用
在《都市:天际线II》中,车辆使用更多的车道。它们试图优化道路使用,以尽可能平稳地流动交通,占用所有可用的车道前往目的地。这意味着如果多车道道路中的一个车道被等待红绿灯的车辆堵满,新到达交叉口的车辆会选择其他空车道来平均填充交叉口。
在多车道道路上,当模拟发现其他车道较少使用时,车辆可以超越较慢的车辆。车辆还会换道以避免因交通事故、交通堵塞或停车辆(如救护车接病人)导致车道完全堵塞。此外,车辆将尽可能换道让出空间给紧急车辆通过。

交通模拟、代理和性能
《都市:天际线 II》中的交通模拟是复杂的。除了计算它们的路径外,所有车辆和行人都会时刻考虑到周围的所有代理者,因此它们在城市的街道和路径上行驶时会做出决策。这些代理者在行驶过程中多次进行影响交通流量的决策,与它们的路径规划决策分离。这些决策包括沿着交通流加速、刹车减速、在转弯时避开对向交通、换道优化交通流量以及在原计划路线上出现交通事故等意外事件时做出路径规划决策。
这意味着路径规划的计算比《都市:天际线》中更多且更深入,因为代理者的决策受到更多影响因素的影响。然而,这些计算更加高效,在路径规划和模拟等计算中充分利用了多核心 CPU 的所有可用处理能力,从而提高了整体性能。
此外,作为系列中的一项重大改进,《都市:天际线 II》不对城市中的代理者数量设置硬性限制。总体而言,模拟和路径规划的性能得到了极大的改进,这意味着可以实现更大的人口规模。模拟的唯一真正限制是运行游戏的平台的硬件限制。

建设大都市,观察您的市民在其中工作或休闲旅行。
环岛行为
我们在上一篇开发日志中谈到了环岛的建造,但这并不是唯一的改进。交通模拟还考虑了环岛进入和离开的规则。进入环岛的车辆必须给正在行驶的车辆让路,然而,就像现实生活中一样,如果有合适的机会,车辆可能会在已经在环岛上行驶的车辆前面插队。这是代理者的行为的一部分,它们始终在寻找合适的位置来改善交通流量,比如换道或在最后一刻穿过交叉口。

交通事故
游戏中会发生交通事故,车辆失控并撞向交通或建筑物。事故发生的可能性根据道路段的特征进行计算,而这些特征包括道路状况、照明条件、天气和灾害。通过使用道路维护服务和设置街灯来保持道路的良好状态,可以降低事故发生的概率。
当一条道路段上的事故检查成功时,随机选择一辆车辆来“失控”。该车辆会被随机推向一个方向,并获得简单的碰撞和物理效果,以使其在途中撞击障碍物。如果一辆车辆与另一个代理者发生碰撞,它在事故期间也会获得碰撞和物理效果。
事故现场需要由警察和道路维护部门进行保护和清理。模拟会暂停受事故影响的车道上的交通,车辆会等待道路被清理后才继续行驶。如果事故现场的清理导致长时间的交通堵塞,代理者可能会重新计算其路径规划,出现“危险”的行为,并掉头寻找绕过被堵车道的替代路线。

停车
停车是《都市:天际线II》中的新功能,也是路径规划的四个主要方面之一。当代理考虑路径规划并决定如何前往目的地时,他们会考虑可用的停车位。通常,对于代理来说,最舒适的选择是能够停在他们要前往的建筑物的停车场上。如果这不可能,他们会选择其他停车选择或不同的交通方式。缺乏停车位可能会导致市民选择其他地方进行活动,例如选择不同的购物地点或休闲地点。
不同年龄组的市民在旅行舒适性、时间和旅行花费方面有不同的偏好。停车以某种方式影响所有这些方面。老年人更注重舒适度,如果他们的目的地附近有停车位,他们很可能会选择它们,而不管潜在的停车费用如何。成年人最关心时间,会选择沿最快路线的地点,而青少年最缺钱,会选择廉价的停车选择,即使这意味着他们不得不步行更长的距离或使用其他交通方式完成旅行。
停车选择和代理的路径规划成本计算可能会受到个别停车场和建筑物设置的费用以及添加到区域的路边停车费用的影响。低或不存在的费用鼓励所有市民群体停车,而高停车费则有利于更富裕的市民。

信息视图
《都市:天际线II》提供了两个信息视图,交通信息视图和道路信息视图,以帮助及早解决交通问题。
交通总览
交通信息视图显示整个城市的交通流量和容量,可以快速发现道路网络中的问题区域,因为交通拥堵会使道路变红。交通流量指示交通在城市中的流畅程度。较高的数字表示没有拥堵,而较低的数字表示可能出现瓶颈。最后,交通容量显示一天中不同时间段内在道路网络上行驶的车辆数量。高交通量表示高峰时段。

道路总览
道路信息视图显示关于单个道路的更详细信息,包括道路状况以及交通流量和容量。通过这些工具,可以非常精确地改善道路网络。如果某条道路交通量很大,很可能是一条主要道路,您可能需要密切关注它,因为城市不断发展,需要将其升级为更大的道路以缓解未来的交通拥堵问题。
道路状况会对事故概率和行驶速度产生负面影响,增加事故风险并减缓交通。道路维护车辆会在冬季保持道路状况良好,清除积雪,以实现交通更顺畅和更安全。

服务车辆
当服务车辆从建筑物和道路段接收订单时,它们会计算一条适合的路径到达目的地。当车辆前往目的地时,它们会影响所经过的路径和/或周围环境,例如当垃圾车接到前往下一个目的地清理垃圾的订单时,它们也会顺路清理垃圾。同样,道路维护车辆会在前往当前目的地的过程中修复道路段。
警车和消防车等紧急车辆的路径规划受到额外规则的影响。与市民、其他服务车辆和运输车辆相比,它们的行为更具“危险性”:如果违反规定可以缩短到达目的地的路线,它们可以进行“非法”的掉头。如果可能,其他车辆会让道让紧急车辆,通过在多车道道路上变道来加快紧急车辆到达目的地的速度。
警察巡逻队的行为有额外的规则,如果发生抢劫或交通事故等紧急情况,他们可以中断巡逻职责(降低其穿越区域犯罪概率)。
公共交通车辆沿着指定线路行驶,出租车则可以根据类似私人车辆的路径规划规则自由选择路线。最初,出租车在出租车站上接客,但随着出租车站升级,它们可以在城市的任何地方接客。
服务车辆的操作可以限制在玩家创建的区域内。在这种情况下,车辆只会按照指令行动,并在其指定区域内响应紧急情况。任何城市服务都可以为一个或多个区域提供服务,同时也可以为整个城市提供服务(默认情况下)。

城市之间的交通
游戏也会有来自其他城市的车辆,从一个外部城市连接到另一个外部城市。这种交通不会对城市的经济产生贡献,但随着城市的发展和高速公路融入城市的道路网络,这些交通流量可能成为整体交通流量的一部分。如果玩家在两个外部连接之间建立了较短的路径,那么这些城市之间的交通将会改变,使用新创建的选项,如果这样做在路径规划方面更具成本效益的话。

以上就是我们今天开发日志的全部内容。我们希望这为《都市:天际线II》中的交通行为提供了一些见解,并帮助您设计出理想的城市。交通AI是《都市:天际线》中一直以来的话题,我们期待听到您对《都市:天际线II》中更先进和更真实的交通模拟的反馈。下周我们将介绍公共交通和货物运输,以及它如何将其与您的城市整合。

下周一晚十点,不见不散!