大家好, 我是太原龙城足球俱乐部。

如果你玩过trophymanager, 那应该会听说过我。很荣幸我负责设计GoalBlink的引擎部分。要让引擎运行起来, 首先就要确定球员的属性。 如果你曾在 Trophy Manager、Hattrick、FM 等经典足球经理游戏中有过长期执教的经历,那么你对球员属性的呈现方式一定不会陌生:一列数值标签,决定着一个球员在系统中的最终评价。然而,正是因为深度参与过这些作品,并反复审视其引擎逻辑,我们才在 GoalBlink 中走向了一条截然不同的道路。本文即是这条设计路径的首次公开说明——我们将从不同足球经理的比较切入,系统地阐释 GoalBlink 球员属性体系的结构与机理。
在许多足球经营模拟作品中,属性本质上只是评分的注脚。一名前锋的射门 85 与 75 之间的差异,往往被简化为“前者更好”;一名中场的传球 80 与 90,意味着“传得更准”。至于这些数字在一场完整的 90 分钟比赛内究竟如何逐次生效、又如何与其他属性交互,玩家无从得知,因为比赛引擎是一个不透明的黑盒。
GoalBlink 的比赛引擎同样是黑盒。我们不会公开引擎内部的具体公式——那些微观机制,恰恰是诸位需要通过观察比赛、分析数据和反复实验来逐步解读的。但这绝不意味着属性只是空洞的标签。在 GoalBlink 中,27 项基础属性不是装饰性的陈列,它们就是比赛本身。每一次传球、射门、抢断、扑救,都是多项属性在多层对抗中的直接参与。
一个球员究竟需要哪些属性?——从多款足球经理的比较说起
如果我们将视野投向 Hattrick,会发现其球员技能体系高度凝练,仅凭数项主技能便可勾勒出大部分位置的职能,这在轻量级的在线经营中极具效率,却难以表达位置间微妙的职能分野。

Trophy Manager 引入了更丰富的属性维度,但其中的多数仍主要用于生成评级,属性没有明确的作用,仅作为加权判断,与比赛进程中真实发生的每一次对抗之间存在明显的割裂感。

GoalBlink 必须在这条光谱上找到自己的坐标。我们确立的设计目标是:属性种类必须恰好覆盖所有足球行为,不多余,不缺失,从而使每个位置和动作都能拥有一组真正差异化的属性画像。最终落地的方案为 27 项基础属性,分属四大类,外加 5 项精神属性,构成一个 32 维的球员画像。
- 身体属性(5 项):力量、耐力、速度、弹跳、体质
- 技术属性(9 项):射门、头球、远射、接球、盘带、短传、长传、传中、技术
- 战术属性(5 项):盯人、抢断、铲断、位置感、工作投入
- 门将属性(8 项):手持球、反应、一对一、制空、沟通、出击、大脚、手抛球
加上 5 项精神属性(冷静、领导、职业、适应、决断),每个球员有 32 个维度的画像。
在游戏界面上,所有基础属性均以 20 分制展示(内部原值除以 5 后取整)。这意味着你在球员卡片上看到的“射门 17”,对应引擎内部值 85。20 分制的存在是为了让属性差异一目了然——一名射门 17 的前锋与一名射门 14 的前锋之间,仅有 3 分的视觉差距,但你已经可以直觉地理解这 3 分所代表的质变。
我们用位置权重来计算一个球员在他所在位置的综合评星:
$$ Rating_{pos} = \sum_{i=1}^{27} w_{pos,i} \times attr_i \tag{1} $$
每一位置对 27 项属性的权重分配各有侧重。前锋极度仰赖力量和射门,中后卫的核心维度则是盯人、位置感与身体对抗能力,而所有非门将位置的门将属性权重恒为零。
然而,评星仅仅是评估球员时的一个参考指标,它绝不能充当球员优劣的最终裁决。决定球员在比赛中实际发挥的,并非属性的简单加权求和,而是一套复杂的、高度近似真实足球的交互机制。一名评星稍低但工作投入极高的防守型中场,在攻防转换瞬间可能远比评星更高的同类球员更具战术价值;一名冷静属性超群的门将,即便反应值略逊,其长时间高压防守下的稳定性也可能远超评星更高的同行;一名擅长持续施压的前锋,即便射门并非顶尖,也能通过不断迫使对方防线与门将进入受压状态来制造错误,其贡献远非评星所能涵盖。评星能够告诉你一名球员的各项能力在该位置上大致所处的水平,而比赛引擎则会让每一项属性,都在它理应出现的时刻,成为决定性力量。
每一项属性都对应一项确定的足球行为
这些属性不是随便列的。每一项都对应一种真实的足球行为,在比赛中通过引擎的多阶段对抗来发挥作用。
身体属性是足球的基础。力量(Strength)决定球员在对抗中能不能站住位置,从射门机会的挤占到防守时的身体卡位都离不开它。速度(Speed)影响球员的冲刺表现,但只有当球员需要冲刺时它才成为关键。耐力(Endurance)决定球员的体力储备上限——耐力越高,体力槽越大,同样的比赛强度下更难被耗尽。弹跳(Jumping)在争顶头球时直接对抗。体质(Physique)影响球员的长期健康和受伤恢复。
技术属性是球员持球时的工具箱。射门(Shooting)是禁区内的终结能力,远射(LongShot)是禁区外的远距离打门。短传(ShortPass)和长传(LongPass)分别对应不同距离的传球精度,而传中(Crossing)是边路球员送出高质量传中的关键。接球(BallControl)决定球员能不能在压力下把球停好,盘带(Dribbling)决定能不能带球过掉防守者。技术(Technique)是一个综合性的技术底子,在射门质量、传球精度等多个场景中都会参与计算。头球(Heading)是空中对抗的专属属性,传中争顶、定位球抢点都看它。
战术属性是球员无球时的阅读比赛能力。盯人(Marking)决定防守者能不能紧跟对手,抢断(Tackling)是站立状态下的防守出脚,铲断(Sliding)是倒地滑铲的成功率。位置感(Positioning)可能是最被低估的属性——它同时影响进攻时的跑位找空当和防守时的站位封堵。工作投入(WorkRate)是一个独特的属性,它不直接参与对抗计算,而是通过 Buff 系统影响球员在攻防转换时的整体表现。
门将属性是一套独立的体系。手持球(HandHeldBall)决定门将扑救后是稳稳抱住还是脱手。反应(Reaction)几乎在所有扑救场景中都是最核心的属性。一对一(OneOnOne)在地面单刀出击时最重要,制空(Aerial)在应对传中争顶时最关键。沟通(Communication)影响定位球时门将指挥防线的效率。出击(RushOut)是门将离开球门线后的对抗能力,在争顶传中和定位球时是核心属性。大脚(Volley)和手抛球(ThrowIn)则影响门将发动进攻的方式。
精神属性是看不见但无处不在的修正层。冷静(Calmness)影响球员在高压环境下的稳定性,对门将尤为重要。决断(DecisionMaking)影响球员的判断质量,比如门将是出击还是留守、前锋是射还是传。领导(Leadership)、职业(Professionalism)和适应(Adaptability)更多体现在球员的长期成长和更衣室影响中。
工作投入(WorkRate)不是跑得多的意思
在众多足球经理作品中,工作投入常被处理为一类静态的“跑动意愿”或“全场覆盖加成”。在 Hattrick 式的简化体系里,这类属性有时甚至被直接归并。GoalBlink 的选择截然不同:我们将 WorkRate 设计为一种具有明确生命周期的动态 Buff 系统,其核心并非“幅度的恒定加成”,而是“时机的有选择爆发”。
这个 Buff 的生命周期是这样的:
- 攻防转换:球权改变时,所有球员的 Buff 重置到初始值——高工投球员此时获得最大的表现加成
- 每次动作后:Buff 逐步衰减
- 衰减到基准线后:Buff 不再继续下降,直到下一次攻防转换才重置
这意味着高工投球员的价值体现在攻防转换的那几秒钟。正如真实足球中,坎特(Kanté)之所以伟大,不是因为他 90 分钟都在冲刺,而是因为每次球权转换时他总是第一个到位。
Buff 还会受到体力的调节。当体力充沛时,Buff 效果完整;体力下降到一定程度后,Buff 的实际效果会打折。耐力(Endurance)在这里也很重要——耐力高的球员体力储备更大,Buff 被体力拖累的时刻来得更晚。
实际的 Buff 值会影响几乎所有动作的表现计算,同时也影响球员被选为防守者的概率——高工投球员更积极,更容易参与防守。
我们不希望工投只是一个静态的"全场 +25% 表现"。如果 WorkRate 100 就是全场比赛所有动作都加成 25%,那它和"全属性 +25%“有什么区别?WorkRate 的设计核心是"时机"而非"幅度”。
设计问答
GoalBlink 的属性系统,其初衷决不是为了在球员卡片上多陈列几行数字。我们希望它能够系统性地回答以下这类问题:
为何一名射门 85 的前锋时常无法破门?——因为一次终结行为的成败,绝不止由射门属性单独决定。力量、位置感、技术、对方防守者的盯人与抢断、门将的反应与弹跳,以及此时刻你方工投 Buff 的衰减阶段、体力残量,都在同时作用于最终结果。
为何高工投球员的价值难以在基础数据面板上得到充分体现?——因为他们的决定性贡献高度集中于攻防转换的短暂窗口。而正是这几秒钟,往往决定了对手能否从容组织攻势、防线能否及时落位。
为何我们坚持称引擎为“黑盒”而非“暗箱”?——因为我们不会向外界逐条公布每一次对抗的精确公式,那正是需要各位通过观察比赛、分析数据、对比不同阵容配置来逐步发现的领域。但我们可以明确无误地告知的是:每一项属性都有其清晰的设计来源,每一个设计选择背后都存在可追溯的足球逻辑。
在 GoalBlink 中,每个数字都绑定着一项具体的足球行为。27 项属性,无一例外,都会在比赛的特定片段成为决定性力量。至于它们具体如何交织、在何种情境下权重突显——请亲自指挥几场比赛,答案会慢慢浮现。
[待续]
不必担心机制太过复杂, 给用户呈现的是简单直接的。