第一次看到Everfront的演示时,我盯着屏幕愣了几秒——这游戏的领土不是格子,不是像素块,而是一坨会流动、会碰撞、会互相撕扯的多边形。就像把战略游戏和流体模拟搅在了一起,看着有点怪,但又有点上头。

开发者Wilhelm Tranheden是个单枪匹马的独游制作人,他用Godot 4.5做了这款叫Everfront的东西。核心概念挺反直觉的:没有单位,没有基地,你的领土本身就是你的军队。地盘越大越强,被夹扁了就消失。听起来简单,但背后藏了一套相当硬核的技术方案。

打开网易新闻 查看精彩图片

为什么不用Godot自带的Geometry2D?

Wilhelm在分享技术细节时直接说了三个原因。首先是性能——要在60帧下跑大规模程序化地图的实时多边形运算,GDScript根本扛不住。其次是精度需求,Godot内置的几何库满足不了领土边界那种既要平滑又要准确的碰撞计算。最后是功能缺口,Clipper2库能做的事,Geometry2D做不了。

所以他写了个C++的GDExtension,把核心模拟塞进去,每帧调一次。这个选择挺务实的:Godot的脚本层负责游戏逻辑,重活扔给原生扩展,两边各干各的。

一帧里到底发生了什么

Wilhelm拆解了每帧的运算流程。第一步,把每个领土多边形切成更小的"细胞级"多边形。第二步,这些小块向外扩张,模拟领土生长。第三步,扩张后的形状跟更强的敌方领土做裁剪——打不过的地方直接被切掉。第四步,再跟静态地形裁一遍,湖泊、海岸线、地图边界都会挡住扩张。最后,所有幸存的小块合并回一个完整的领土形状。

这套流程听着像流水线,但每一步都是实打实的多边形布尔运算。Clipper2在这里是核心工具,专门处理这种高精度几何操作。Wilhelm没提具体用了Clipper2的哪些特性,但从"裁剪更强敌方领土"这个需求来看,应该涉及多边形差集和交集运算。

跟同类游戏比,差别在哪

Wilhelm自己列了几个参照物。老派的Risk、文明、欧陆风云4都是格子系统,领土一块一块的,边界整齐得像行政区划。近一点的Territorial.io和OpenFront用了栅格化方案,领土是像素拼的,战斗一格一格算。Everfront走的是第三条路:真正的矢量多边形,边界是数学曲线,碰撞是连续的几何运算。

这个区别玩起来应该挺明显的。栅格游戏的领土边缘是锯齿状的,放大看全是马赛克;Everfront的边界理论上可以无限平滑,缩放也不会失真。更重要的是物理感——多边形碰撞比像素检测更接近"流体挤压"的直觉,领土互相顶撞时的形变应该更自然。

不过代价也很明显。栅格系统查个像素颜色就能判断归属,多边形系统每帧都要重建几何结构,计算量完全不是一个量级。Wilhelm必须用C++扩展才能稳住60帧,说明这个设计在性能上确实吃紧。

没有单位,怎么玩

原文没细说具体玩法,但从"领土即军队"这个设定可以推测一些方向。扩张可能是核心动作,玩家需要决定往哪长、长多快。遇到强敌时,领土会被裁剪掉,所以边缘地带的争夺应该是关键。没有单位意味着没有微操,策略重心完全放在宏观地形控制上。

这种设计有点像某些简化版的RTS或领土争夺手游,但多边形物理的加入让战术维度变了。栅格游戏里,你占一格就是一格,边界是死的;Everfront里,边界是活的,可以被挤压、被切割、被包围后孤立成飞地。领土形状本身成了战略资源——狭长地带容易被拦腰切断,圆形地盘更稳固,这些几何直觉可能会直接转化为游戏策略。

Godot 4.5 + C++扩展,这个组合有意思

Wilhelm的技术选型挺值得琢磨。Godot 4.5是今年的版本,GDExtension是Godot 4.x主推的原生扩展方案,比以前的模块编译友好很多。但即便如此,写C++扩展对独游开发者来说还是有一定门槛的,尤其是要绑第三方库Clipper2。

他选择这条路,说明对性能的要求是硬约束,没有妥协空间。这也反过来印证了设计本身的激进程度——如果做个保守的格子系统,GDScript完全够用,根本不需要折腾原生扩展。

另一个细节是"程序化地图"。原文提了这么一句,但没展开。 procedural generation加实时多边形模拟,这两个都是CPU密集型任务,叠在一起对优化的压力更大。Wilhelm没透露地图规模有多大,但从"large procedural maps"的描述来看,应该不是小打小闹的关卡。

发售信息和一些疑问

Everfront这个月刚公布,计划2026年11月登陆PC。Steam页面已经能加愿望单,但具体售价还没透露。从开发进度来看,还有一年半左右的时间,技术框架应该已经跑通了,剩下主要是内容填充和打磨。

有几个点我比较好奇,但原文没提。一是多人模式怎么做——多边形同步比栅格状态同步复杂得多,延迟和一致性都是挑战。二是胜利条件是什么,纯领土面积比拼还是有其他目标。三是AI怎么设计,没有单位意味着传统的建造-进攻循环不成立,AI需要全新的决策逻辑。

Wilhelm说他准备发一篇完整的技术博客,详细讲多边形裁剪的实现。对技术实现感兴趣的人可以蹲一下,应该比这篇简短分享深入得多。

最后说两句

独游圈子里,用技术冒险换设计独特性的案例不少,但成的不多。Everfront的卖点很清晰——流体般的领土战争——但这个卖点能不能转化为好玩的游戏体验,现在还说不好。多边形物理是噱头还是核心乐趣,得等上手才知道。

不过Wilhelm的务实态度让人有点信心。他没吹牛说"重新定义策略游戏",只是老老实实讲技术选型、讲性能瓶颈、讲为什么必须用C++扩展。这种开发者通常更清楚自己在做什么,也更可能把承诺的东西做出来。

11月发售,到时候看看这坨会流动的领土到底好不好玩。