跳到主内容
⌖ OF Intel

GUIDES

OpenFront 商船目的地:你的商船到底会去哪

一篇 v0.34.22 实战决策指南,讲清楚开放前线里你唯一做不到的事:指挥商船。覆盖商船目的地的完整加权算法(港口等级、300 瓦片'太近'排除、邻近加成、同盟加成、贸易封禁与水路连通),以及为什么商船和战舰不同——你只能靠选址、港口等级和同盟去间接塑造你的贸易收入。

Tutorial 难度 · Intermediate 发布 2026年10月6日 更新 2026年10月6日 由 OpenFront Intel 编辑组核验 #trade#port#destination#warship#economy

直接答案:你指挥不了商船,所以你要指挥的是目标池

开放前线几乎给了你对地图上每个单位的逐帧直接控制。你点一艘战舰,它就巡弋在你选的瓦片上;你下令一艘运输船,它就在你指的地方登陆。商船是唯一的例外:一艘商船离港之后,你再没有任何输入能给它。它生成的一瞬间,引擎就已经决定了它要驶向哪个港口,航程中你做的任何事都改变不了这个决定。所以”我怎么让我的商船去我想让它去的地方”这个问题,在游戏里没有对应的按钮,它的形状是另一种。

这个形状是:你不指挥船,你指挥引擎从中抽样的那个池子。每一艘商船都是从一份合格目标港口的加权列表里随机抽一次,而这份列表是由你完全可以掌控的东西构成的:哪些港口存在、它们是什么等级、离你多远、在哪片连通的水域、处于哪些同盟与封禁之下。这份加权列表并不等于”地图上所有港口”。距离你不足 300 瓦片的港口,不是更不容易被选中——而是压根不在列表里。一个跨过 300 瓦线的同盟港,在同等级同距离下大约被选中的概率是一个中立港的两倍。一个三级港大约被选中三级于一级港的频率。所以”我的船会去哪”是港口网络结构的函数,而这个结构是你来设计的。整篇指南反复强调的重构就是:别再问怎么去瞄准一艘你瞄不准的船,而是问我要把哪些港口变成合格、加权上调、加权排除的。

版本边界:v0.34.22 到底规定了什么

这篇指南里的每个数字都钉死在正式版 v0.34.22 发布 tag 上,下面这些常量就是那个 tag 的源码真正实现的数值。如果你读这篇指南时跑的是别的构建,规则是稳定的,但数字会漂移,而依赖具体数字的建议——尤其是 300 瓦片排除线和 330 艘饱和拐点——要对照你服务器实际跑的 tag 重新核一遍。

整篇指南压在五个数字上。第一,短程排除距离正好是 300 瓦片:一个目标港如果它到你这边的曼哈顿距离严格小于 300,就会被从你的目标池里删掉。这是一道硬切断,不是惩罚——线以下该港权重为零,等级和同盟都救不回来。第二,邻近加成覆盖前 N 个最近的合格港,其中 N 是合格港数量除以三,夹在 4 到总港数之间。在 6、12、15、18、24 个合格港的情况下,被翻倍的是前 4、4、5、6、8 个最近的港。第三,每个港口按它的等级向加权池贡献一份副本,所以一个 L 级港的基础权重是一级港的 L 倍。第四,一个同盟或同队的接收港在上面再加一份副本(即翻倍),这个加成能与邻近加成叠加。第五,全局生成节流有一条在约 330 艘在航处接近饱和的曲线,软底一直延伸到大约 800 艘,这就是为什么后期即便什么都没变,单港贸易收入也会下滑。

还有两个边界事实很容易被忽略。目的地只被选定一次,就在那艘船生成的瞬间;船在航时如果网络变了,它不会重抽。如果目的地港被拆了,或者启航后对方宣布了封禁,这艘船就直接返航,这次航程不产生任何金币;引擎不会给它改道去新港。而且目标池里永远只包含那些被允许和你贸易的其他玩家的港口:你自己的港口永远不会出现在你自己船的目的地里,一个处于封禁状态的玩家双向都被排除,一个和你港口旁水域不属于同一连通组件的港口,无论你给它的等级多高、是否同盟,都对你的船不可见。后面每一节都是对这五个数字加两条边界事实的展开,而页面元数据里的”版本”标签就是那根钉子所在的地方,所以钉子一变,场景里的数字也跟着变。

目的地的抽选:引擎如何构建你的池子

引擎并不是从”所有港口”里抽。它是在你的某个港口即将生成一艘船的那一刻,才现算一份全新的加权列表,而这份列表分三步构建,每一步你都真能预测。看懂这三步就是这项技巧的全部,因为一旦你能在脑子里把池子算出来,你就能在花金币之前判断出一个新港口到底有用,还是会安静地毫无作用。

第一步是合格性。引擎看地图上每一个由”不是你、且被允许和你贸易”的玩家拥有的港口,只保留那些与你港口旁水域属于同一连通水域组件的那些,其余全部出局,加权都还没开始。这就是为什么一座窄海峡对岸的大岛可以有十个五级港却分不到你一艘船:如果你港口旁的水和他们港口旁的水不是一同一个连通组件,它们就在不同池子里,永远不会相遇。这也是为什么一个只靠铁路贸易的内陆经济体根本收不到商船——商船走的是水域组件,一个内陆港口不在你的船够得着的那个组件上。

第二步是基础权重。对每个合格港,引擎按它的等级把该港推进列表一次:一级港进一次,二级港进两次,三级港进三次。然后这艘船是整个列表里的均匀随机元素,所以一个进了三次的港被抽中的概率是一个进一次的港的三倍。这是”那个港口有多强”唯一进入的地方:等级是乘数,它放大随后那两个加成。

第三步是两个加成加一道排除。引擎按离你港口的距离由近到远遍历合格港,对前 N 个最近的、已越过 300 瓦排除线的港施加邻近加成(翻倍,N 由上一节给出),对任何由同盟或同队玩家拥有的合格港施加友好加成(翻倍)。一个既近又同盟的港因此最多可携带四倍于其等级的副本,而一个同距离的敌对港只带它自己的等级。排除则贯穿整个遍历:300 瓦以内的港永远不会被放进列表,所以它贡献零副本,与加成无关。然后就是”列表里随机抽一个”,那即是这艘船整趟航程的目的地。下一节把这三个加权来源各自拆成一条可操作的法则。

三种权重与一道排除,各自带数字

三个加权来源都能化简成简单乘数,因为它们本质都是”这个港在列表里有几份副本”。基础权重就是等级。一个三级港有 3 份副本,所以同距离同关系下,它被抽中的频率是一个一级港的 3 比 1。这是玩家最没碰过的安静杠杆:升级一个你想让船喂的远港,不只是让它多花,还让每一艘你的船在它合格时大约三倍更可能落到那里。陷阱是:等级只放大已经在列表里的港。一个 300 瓦以内的五级港无论升多少级都是零副本,所以一个大的近邻盟友在它跨过线之前,和一个小的近邻港一样隐形。

邻近加成是一个环,不是一条斜坡。它只施加在前 N 个最近的合格港上,对其他任何港都不生效,N 随合格港数量缓慢增长(六个或十二个时是四,十五个是五,十八个是六,二十四个是八)。实际读法是:存在一个甜区,刚过 300 瓦的那些港是整张地图上最受偏爱的合格港,因为它们最先越过排除线,又排在由近到近发环的最前面。一个 310 瓦的港,在其他条件相同时,权重高于一个 900 瓦的港。这颠覆了只看收益曲线会得出的”越远越好”直觉。距离仍然很重要——一趟 900 瓦的航程赚的金币远多于 310 瓦,这一点贸易航线咽喉要道指南讲得很清楚——但选择概率并不像收益那样随距离增长。你完全可能出现池子里最有价值的港反而收到最少的船,因为它又远又落在邻近环之外。

友好加成是一个带距离前提的同盟开关。一个合格(至少 300 瓦远)的同盟或同队接收港会把它的等级翻倍,所以一个同盟二级港在”被选中多频繁”这件事上表现像一个四级港。这就是为什么围着一个共享贸易枢纽结盟,会让人感觉盟友在抽你的收入:友好加成把你的池子里很大一块导向了他们。前提是同一条 300 瓦底线,所以一个把港口停在你十瓦之外的盟友,根本没在收你的船——这正是”为什么我盟友拿那么多”抱怨的单一最常见来源,而答案在排除里,不在加成里。最后,排除不是权重,是删除:300 瓦以内,该港零副本,句号。下一节专门讲为什么这道删除让”建得近”成了贸易港最差的计划。

为什么”建得近”是贸易港最错的计划

开放前线里最常见的贸易直觉是聚拢:把港口建得离盟友近、离自己领地近,这样船走短而安全的航程,一切看起来都连通。对工厂、对战舰覆盖来说,这常常是对的。对商船收入来说,这是错的,而且错的原因不是惩罚,是删除。300 瓦以内,一个港根本不在你的目标池里,所以在你基地周围聚一圈港口,造出来的是一片港口密度极高、商船目的地密度极低的局部区域。你的船,按构造,永远不被允许降落在离你最近的港口上。

想想这对收入形状做了什么。一个玩家在基地 200 瓦内聚了十个二级港,他造出一个自己商船大部分会忽略的高密度本地网络,因为这些港口全都在排除线之下。船生成后,落在至少 300 瓦远的那些最近港上——也就是别人的港,或者他偶尔也拥有的那几个远港。聚落仍然在做实事:它给战舰提供撤退点,锚定铁路线,给一个致密领土核心。但如果你建它的理由是为了喂商船金币,这个聚落正在安静地干砸那份工作,而失败是隐形的,因为船明显在航行、明显落在某处——只是不在你以为的地方。

贸易港的正确位置与聚落相反:它必须越过从”你想让它接收哪些港的船”算起的 300 瓦线。如果你想让基地喂一个前沿经济体,前沿港必须离基地的贸易港至少 300 瓦,理想情况是刚过线,好让它落进邻近环。如果你想喂一个盟友,盟友的枢纽必须离你的港 300 瓦以上、同一水域组件,理想情况是同盟,这样它还拿友好翻倍。而如果你想搞懂为什么你的本地港数量不少、收入却薄,去查距离:数一数你那些近港里,真正高于 300 瓦(相对生成船的那个港)的有几个。这个数字通常远小于港口总数,而这道落差就是全部解释。建多少个港口指南覆盖数量问题;这是距离问题,两个答案彼此独立。

全局节流:票、遗憾计时器与 330 艘拐点

贸易港不是按固定计时器出船。它按一个重复节奏滚点,每次滚动是一张低概率的票,所以船与船之间的间隔是带长尾的随机。每 10 个 tick,你港口的每一级拿到一次独立滚动。一个三级港每次检查抽三张票,一级港抽一张。单票概率由一个数字——生成率——设定,给定票上出船的概率是生成率的倒数。开局时,在航船很少,生成率大约在六十多到七十出头,所以每张票大约七十分之一,一个三级港因此每次十 tick 检查大约二十分之一的概率出船。这就是为什么最早的船有点慢,然后开始成串到达:你在从一个低速率、高方差的过程里抽。

有两样东西改变这个生成率,而且两者过一会儿都站在你这边。第一是每个港口的遗憾计时器。每次没出成船的滚动都留一个记号,这些记号把生成率调低,从而把单票概率调高,所以一个干了许久的港,比一个刚出过船的港在下次检查更可能出船。这正是让单个孤港最终能产出的机制:它不是保证,但干得越久期望等待越短,而一个更高级的港缩得更快,因为它每次检查抽更多票。这就是”我拿两个港坐了五分钟,没船靠港”这个体验背后的机制——是节流加随机,而杠杆是等级,不是耐心。

第二样,也是主导后期的,是全局饱和曲线。生成率被一个饱和因子除掉,这个因子早期接近一,然后在约 330 艘在航商船附近陡峭爬升,带一个软底,让生成(以减速)一直可能到大约 800 艘。实际含义是:过了大约 330 艘,地图上每个港都出得更慢,而这种减速是整个舰队的属性,不是你个人的。你多建自己的港不会给你挖一个豁免:它只是往那个正在节流行所有人的同一个全局计数里加注。这就是社区反复在他们港口数学里测到的零和性质,也是”多建港”为什么在后期不再回本,哪怕单船收益没变。节流就是目的地问题和数量问题在终局分道扬镳的原因:过了拐点,赢法是抬高你真正想要的接收港的等级,并控制池子里还有谁,而不是往一支已经饱和的舰队里继续加票。

你能操控的:战舰,以及商船为什么是那个例外

值得把这种不对称说清楚,因为关于商船的很多困惑都来自”以为船像其他每个单位一样”。战舰是可以被操控的。你可以把一艘战舰设定为巡弋某个具体瓦片,游戏会追踪这个手动更改:当你选的巡弋瓦片变了,战舰会更新它的计划,而且在你移动它之后的一小段时间里,自动撤退与修复行为会被抑制,让它遵循你的命令,而不是它自己的求生反射。运输船同样是指向式的,它在你送它去的地方登陆。所以对这两类”作战与后勤”单位,控制回路是”你选瓦片,单位就去那里”。这个回路是真的,它是游戏里你真正能感觉到手在动的部分。

商船没有这个回路。没有你能分配的瓦片,没有巡弋命令,没有”把这艘船送到那个港”的操作。船的目的地在它生成的瞬间由加权抽选定死,引擎在航程中唯一自动运行的行为是一个安全检查:如果目的地港不再活跃,或者中途宣布了封禁,船就掉头返航回母港,这次航程不产生任何东西。它不会选一个新目的地;它只是放弃。所以你在航程中对商船能做的事,实际上是一个空集。你无法加速它,无法给它改道,无法用一条具体命令保护它(你只能派战舰巡弋它大概率会经过的水域,那是把战舰回路套在它周围)。

这种不对称正是整篇指南的核心。游戏给你战舰和运输船一个真方向盘,然后给承载你后期主要收入的那个单位一个锁死的方向盘。所以技巧不是”我怎么瞄准商船”(你做不到),而是”我怎么设计港口网络,让引擎那不可操控的抽选落在金币所在的地方”。你操控战舰去保护船将走的航线,你操控运输船做登陆,你操控池子去做商船。下一节具体列出那些真正移动池子的杠杆,按它们有多重要排序,这样你能拿游戏里真实存在的东西,而不是你希望存在的那些按钮,来给你的决策排优先级。

真正能改变你的船落点的杠杆

把三种权重和一道排除放在一起,这里是一份按效果大致降序排列的清单,列出那些真正改变你目的地分布的东西,每条附上诚实的限定。第一,水路连通。这是闸门,也是唯一能在结构层面把一个港的权重从任意值降到零的杠杆。一个港必须与你生成港旁的水域属于同一连通水域组件。如果不是,无论等级和同盟给多少,它都进不了池子。行动项:在你规划一个远贸易港之前,确认它旁的水和你港口旁的水是同一组件;在岛图上,这正是一个港能用和一个港永久对你的船不可见的差别。

第二,300 瓦排除。线上,一个港可以有权重;线下,不能,所以对一个烂池子最高价值的编辑,就是把一个关键接收港从刚好低于 300 挪到刚好高于 300。如果你想喂的枢纽在 290 瓦,把这个概念挪一挪——把那个枢纽建得再远 30 瓦,或者把你的供料港建得再远 30 瓦——就把它从零副本变成满副本,可能还加邻近环。这是唯一能把零变成数字的杠杆,所以它排在纯乘数之前。

第三,港口等级。等级是对一个已合格港的干净乘数。把一个远、已合格的接收港从一级升到三级,大约让它抓住你池子份额的三倍,而且如果它是你的港,它还多拿到生成票。诚实限定:等级放大的是选择份额,不改变船降落后赚到的距离收益(那是港口对比工厂指南的领域),所以一个三级但 300 瓦以内的近港仍然抓不到任何东西。

第四,邻近环。你动不了环本身,但你可以把港口放到由近到近排序的最前面,做法是把合格接收港放在刚好过 300 而不是远出去。一个 310 瓦的港几乎在任何地图上都在环内;一个 900 瓦的港不在。行动项:当你在两个合格接收点之间做选择时,近的那个赢更多船,尽管远的那个每船赚更多,所以正确答案取决于你要的是量还是值。

第五,同盟与封禁。一个 300 瓦以外的同盟接收港等级翻倍,而一个被封禁的玩家双向都从池里删掉。所以与你想喂的一个枢纽结盟,买一个干净的 2 倍;封禁一个一直在抽你池子的对手(因为他们落在你的环里),就把他们的港从你的抽选里整个删掉。封禁是游戏里最锐利的池子编辑,封禁时机与贸易控制指南讲什么时候扣这个扳机。这份清单里故意缺的那一项是”点船”,因为那个杠杆不存在,而清单上其他每个杠杆,都是你对它缺席的补偿。

两个带数字与假设的实战场景

场景 A 是经典的”我建了一大堆本地聚落,结果破产”案例。假设一个 v0.34.22 的玩家在基地周围有五个二级港,彼此都在 200 瓦以内,外加一个二级港在 500 瓦外、同一水域组件,整张地图对这个基地的船来说大约有 14 个合格港。聚落里那五个港全都在 300 瓦以内,所以它们对基地目标池的贡献都是零副本。该玩家自己的合格港只有 500 瓦那一个,它落在邻近环之外(环是前四个最近的合格港,而它们被别人那些恰好落在 300 到 400 瓦之间的港占满了)。因此该玩家的船落到自己港口的速率,大致等于那一个二级港的两份副本除以整个加权列表,也就是一个很小的个位数百分比。这里起作用的假设是:聚落那些港对贸易收入什么都没做,它们是战舰与铁路基建,不是贸易目的地。修法不是”升级聚落”(排除线上的等级对选择毫无价值),而是”在刚好过 300 处加合格接收港”——把枢纽概念挪到 320 瓦并升到三级,就把它从池子里的一小片变成一大片,这正是让这个玩家从破产转为稳定流水的那一处改动。

场景 B 是”我盟友港口更少却比我富”案例。假设有两个同盟玩家 A 和 B,各有三个二级港,都在同一水域组件,A 的港离 B 的枢纽 340 瓦,而 B 的港离 A 的枢纽 280 瓦。A 的枢纽从 B 那边是合格的(过 300 且同盟),所以 B 的船给 A 的枢纽的权重是二级乘友好翻倍,大约四份副本,如果落在 B 的邻近环里还会更多。B 的枢纽从 A 这边不合格(280 低于 300),所以 A 的船给 B 的枢纽零副本。结果是单向的:B 的船喂 A,A 的船在 B 那边喂不到任何人。A 更富不是因为 A 建得多,而是因为两个枢纽之间的距离在 300 瓦线两侧不对称。起作用的假设是:两个枢纽同级、同组件,唯一区分它们的是距离和 300 瓦那道切。修法是一个共同决定:B 把它的枢纽再挪远 60 瓦,好让它也越过 A 的排除;或者 A 接受这个单向流作为当前几何的代价。无论哪种,杠杆都是跨 300 线的距离,不是港口数量,而一旦玩家看到那两个数字(340 对比 280),“他们只是更强”的解释就崩了。

失败模式、反制,以及模式与地图调整

最值得点名的失败模式是那个隐形的:你的收入薄,你看不出为什么,因为船明显在航行、明显在降落。诊断方法是去算合格集合,而不是去数港。打开地图,挑出生成你船的那个港,列出每一个其他满足 (a) 同一水域组件、(b) 未被封禁、(c) 至少 300 瓦远的港。这个列表的长度,而不是你的港口总数,才是你的收入真正建在其上的东西。如果列表很短,你的网络是”密但本地”,你的船全都落在那些够格的少数远港上,所以反制是在同一组件里于刚好过 300 处加接收港,而不是继续加你已有的东西。第二个失败模式是后期跳水:收入没有可见原因地掉了。那是 330 艘饱和拐点,反制是停止加票,转而抬高你真正想要的那几个合格接收港的等级,并用封禁把对手从池里删掉,因为过了拐点,数量杠杆已经变负。

第三个失败模式是跨组件陷阱,它存活最久,因为看起来像运气差。一个岛图玩家在另一座岛上建了一个极好的港,却几乎收不到船,而游戏内可用的唯一解释是”我的船随机去”。真正原因是那两片水是不同组件,所以那个远港在结构上不合格,等多久都修不好。反制是在任何长投入之前做连通性检查:确认水域组件,如果是另一座岛,规划一条连接(或者干脆把港建在近边的岛上)。第四个是封禁惊吓:你正在喂的一个盟友对你宣布封禁(或者你误封了他们),你的池子里很大一块就安静地消失了,因为封禁在两个方向上删除那个玩家的港。池子突然缩小时,去查封禁状态。

模式和地图改变哪个杠杆占主导。在小而密的图上,大多数港都在 300 瓦以内,整张图都贴着排除线,所有人的贸易都稀缺;那里只有连通与距离杠杆有效,数量杠杆几乎无用,因为加一个港通常是加一个被排除的港。在大而散的图上,很多港越过 300,合格集合很大,等级和同盟成为区分因素,因为距离不那么紧。在岛图上,连通是压倒一切的闸门,所以一条海峡就能决定你的整个贸易网络能不能用。下面的决策表把每个杠杆压缩成”它做什么、何时最紧、随之而来的动作”,这样你可以在把金币投入下一个港口之前,自上而下地把整张表过一遍。

决策表:你该拉哪个杠杆、什么时候拉

在你伸手拉任何一个杠杆之前,先把局势说准确:是你想喂的接收港不合格(零副本),还是合格但份额低(小权重),还是份额够但舰队已经饱和(节流)。这三个不同的问题各有一个不同的第一动作,把下面这张表自上而下过一遍,再决定把金币花在哪,这样你就不会把资源扔到一个根本动不了池子的操作里。

局势第一动作为什么它排第一诚实的限定
你喂的枢纽收不到船,而它的距离低于 300 瓦把它(或你的供料港)挪到刚好高于 300 瓦排除线上的等级与同盟毫无价值;只有过线才从 0 变正挪 30 瓦可能同时把你踢出邻近环,先量环
枢纽合格,但抓到的份额比你想要的少把它升到三级,并保持过 300 且近等级是干净的乘数,同时增加生成票不改变单船距离收益;一个三级 300 瓦以内的近港仍拿不到
你的港口数量不少但收入薄去算合格集合,在同一组件里于刚好过 300 处加接收港收入建在合格集合长度上,不是港口总数上加一个本地被排除的港是零收益,先检查距离
你的盟友比你富,而你的枢纽离他们不到 300 瓦让双方共同把枢纽挪到越过彼此的排除线距离在 300 线两侧的不对称制造单向流需要盟友配合;单方面挪只能修一半
收入掉得没有可见原因假设你过了 330 艘饱和拐点,停止加票,抬高想要的接收港节流是全局的,加票不挖豁免,只往饱和计数加注拐点随地图规模漂移,先确认在航船数
一个对手一直落在你的邻近环里抽你的池子封禁他(他双向出局),或把那个枢纽挪出你的环封禁是池子编辑里最锐利的删除封禁也删掉他喂你的任何船,权衡双向
你在一座岛图上,远港几乎收不到船先做水域组件检查,而不是加港跨组件的港在结构上不合格,等多久都修不好确认是组件而非距离,再规划连接

这张表就是整篇指南的压缩形式:每个杠杆做一件事,有一个明确的”它什么时候最有用”的触发条件,和一个诚实的限定,告诉你它不是什么。把金币投入下一个港口之前,先找你的局势落在哪一行,执行那一行的第一动作,然后重新量一次你的合格集合,再看收入有没有动。

相关内容

继续阅读
自适应建造顺序:把下一笔 Gold 投给真正的限制

依据 OpenFront v34.3 的成本、部队增长、路线回报与停止信号,在 City、Port、Factory、防御和现金储备之间做选择,而不是照抄固定脚本。