中世纪3全面战争吧 关注:3,256贴子:18,131

CA正在偷偷研发AI模型作为派系驱动大脑

只看楼主收藏回复



IP属地:福建来自Android客户端1楼2026-01-31 21:57回复
    CA其实有在干活,CA于2025.11.7在第21届AAAI人工智能与互动数字娱乐会议上发布了《在全面战争中学习战争结果》的论文,11.13在阿尔伯塔大学做了演讲。


    IP属地:福建来自Android客户端2楼2026-01-31 22:02
    回复
      2026-02-08 00:27:24
      广告
      不感兴趣
      开通SVIP免广告
      该论文并未在官网或者游戏展上提到,可能CA这次真的想做好,等时机成熟时再公布给玩家来个大的惊喜。


      IP属地:福建来自Android客户端3楼2026-01-31 22:04
      回复
        论文摘要版,不想看长文的看这总结版就行,原文放最后,如果放不出就用图片发
        摘要
        本文提出了一种监督学习方案,用于建模策略游戏中 1 vs 1 单位对决的战斗结果。这是 CA 《全面战争》的核心系统,用于计算“自动战斗”结果,并直接告知战斗 AI 是否应接战或撤退。我们通过自动化框架学习战斗结果,以此替代传统的基于启发式规则的方法。实验证明该模型能准确预测战斗结局。


        IP属地:福建4楼2026-01-31 22:07
        回复
          引言与方法论
          为了解决传统手动调整数值的低效问题,CA 放弃了“学习玩家数据”(因为数据太乱且有循环依赖),选择了从模拟数据中学习
          数据生成:在实际游戏引擎中建立隔离区,让单位进行数百万次 1 vs 1 对决。
          实时同步:每当游戏版本更新(平衡性调整)时,自动化管线会重新运行模拟,训练新的神经网络模型。


          IP属地:福建5楼2026-01-31 22:08
          回复
            神经网络架构
            输入层 :包含单位的原始属性(攻击、防御、护甲、士气、武器威力、当前疲劳度等)。
            隐藏层 :多层感知器(MLP),用于挖掘非线性的克制关系(例如:高破甲伤害对高护甲单位的实际效能函数)。
            输出层 :预测剩余生命值百分比、模型数量损失以及最终胜负概率。


            IP属地:福建6楼2026-01-31 22:08
            回复
              对战略层面派系驱动的影响
              这部分揭示了派系“大脑”如何进化:
              更明智的进攻决策:战略 AI 派系在移动军队前,会调用该神经网络模型。如果模型预测胜算极低,AI 会选择“围而不攻”或“战略撤退”,而不是像旧作那样频繁进行自杀式攻击。
              外交逻辑关联:通过神经网络对派系总实力的精准评估(不再只是看单纯的兵牌数量),AI 派系在评估“玩家威胁度”时会更准确,从而触发更具逻辑性的结盟或宣战行为。


              IP属地:福建7楼2026-01-31 22:09
              回复
                结论
                CA 成功证明了神经网络可以高效地在本地运行,并提供比人工脚本更精准的战斗评估。这为未来在更复杂的“多对多”战斗和“战略地图资源分配”中引入深度学习铺平了道路


                IP属地:福建8楼2026-01-31 22:10
                回复
                  2026-02-08 00:21:24
                  广告
                  不感兴趣
                  开通SVIP免广告
                  原文有效信息六页比较长,以下原文


                  IP属地:福建9楼2026-01-31 22:11
                  回复
                    摘要
                    本文概述了一种使用监督学习方法来建模策略游戏中“1对1单位对决”战斗结果的方案。这是 ca 旗下《全面战争》系列的核心系统,用于计算“自动战斗”的结果,并为“战斗 AI”提供决策依据,以判断单位应当投入战斗还是从战斗中撤退。我们提出了一种自动化框架来学习战斗结果,以此作为传统启发式规则方法的替代方案。我们描述了实验过程、面临的挑战,并证明了我们的模型能够准确预测单位的战斗结果。
                    引言
                    预测“1对1单位对决”的结果是《全面战争》中多个核心系统的关键需求,其中最显著的是自动战斗系统和战斗 AI。战斗 AI 系统依赖于可靠的单位对决评估来做出战术决策,例如何时参与、撤退或重新部署部队。而自动战斗系统在玩家选择跳过手动操作战斗时,利用这些预测结果来估算战斗情况,从而在保持公平性的同时加速战役进程。因此,面向玩家的系统和 AI 驱动的系统,其有效性都取决于单位对决预测结果的质量。
                    为了预测这些单位对决的结果,我们考虑了以下三种方法:
                    基于启发式规则的方法
                    这是《全面战争》以往作品中采用的传统方法。它依赖于基于既定战斗机制计算的“预期每秒伤害”,并以此推算直到某方单位被击败。虽然这种方法简单且具有可解释性,但它对开发过程中不断变化的平衡性和游戏机制高度敏感。战斗规则或单位数值的每一次调整都需要手动更新启发式逻辑,导致了巨大的维护开销。此外,该方法无法涵盖所有战斗变量(如地图位置或物理交互),容易导致异常边缘情况,增加开发时间并可能引发更多 Bug。
                    从玩家数据中学习
                    这种方法涉及收集真实玩家在战斗中的指标数据来训练预测模型。虽然潜力巨大,但在实际游戏制作中面临重大障碍。在实际战斗中,单位对决很少是孤立发生的,互动往往是“多对多”的,这使得收集干净、有代表性的“1对1”对决数据变得非常困难。此外,可行的训练数据集通常只有在游戏发布后才能获得,这产生了一个循环依赖:系统的部署必须先于其开发所需的数据采集。
                    从模拟数据中学习
                    最后一种方法是开发一个基于模拟数据的预测模型。其核心思路是利用实际的游戏引擎,在专门的环境中通过游戏内屏障隔离出“1对1”对决来收集数据。这种方法允许我们有系统地运行广泛的对决场景,并生成用于模型训练的大型、受控数据集。重要的是,自动化的数据采集管线可以随时与最新的游戏版本同步,确保生成的机器学习模型始终与当前的游戏逻辑和平衡状态保持一致。
                    我们采用了从模拟数据中学习的方法,因为它能够生成全面且即时的数据,从而准确反映预期的游戏玩法。这种方法使我们能够训练出既符合现状又能在持续开发过程中保持适应性的预测模型。


                    IP属地:福建10楼2026-01-31 22:12
                    回复
                      图 :模型框架:本图展示了我们提出的模型框架,它由三个主要部分组成。首先,**模拟环境(Simulation Environment)利用游戏设计团队提供的输入,进行大量模拟以生成包含单位对决及其结果的数据库。其次,这些数据经过预处理后,随后用于训练两个预测模型:战斗结果模型(Battle Outcome Model)和单位统计模型(Unit Statistics Model)。最后,训练好的模型既被部署在游戏环境中,也被集成到模型性能仪表板(Model Performance Dashboard)**中,以便进行持续评估。
                      ca的《全面战争》是一个结合了两种主要游戏机制的系列作品:回合制大战略和实时战术战斗。两者相互增强,构成了一个层次丰富、复杂的战争与帝国管理模拟系统。我们认为,《全面战争》因其复杂且多层级的战略与战术玩法,为开发和测试机器学习人工智能提供了一个极其丰富的环境。
                      在《全面战争》的战斗中,一个“单位”由多名士兵组成,并拥有总剩余生命值。这两个变量是相互独立的。例如,一个大炮单位可能只有三名操作大炮的士兵,而一个弓箭手单位则可能拥有 20 名个体弓箭手。在每一款《全面战争》的游戏中,代表单位能力的特征(数值/属性)都会发生变化。
                      本文工作的主要贡献包括:
                      提出了一种机器学习解决方案,用于学习《全面战争》中 1 vs 1 对决的结果。我们证明了该模型在不同类型的单位以及不同的“遭遇类型”(包括步兵 vs 步兵、远程 vs 远程、步兵 vs 远程)中均具有极高的准确性。
                      我们展示了一个可以自动化的框架,适用于同类游戏或 ca 未来的《全面战争》作品。
                      相关工作
                      预测战斗结果的方法主要分为**启发式规则和机器学习方法。早期的战争预测研究应用了启发式和数学模型,例如用于损耗动力学的兰彻斯特方程
                      以及杜普伊的部队效能模型。在像《全面战争》这样的策略游戏中,手工设计的启发式规则在历史上一直能够可靠地解释地形或特殊能力等复杂因素。然而,这些方法通常过度依赖专家的领域知识,且难以推广到多种多样的战斗场景中。
                      最近,机器学习被应用于减轻对手工规则的需求。在《星际争霸》和《帝国时代 IV》等策略游戏中,监督学习已被用于根据单位组成、阵型和衍生出的游戏状态特征来预测结果。开源的《星际争霸 II》学习环境进一步推动了在复杂战略设置下对机器学习方法的基准测试,从而深入了解了状态和特征表达对结果预测的有效性。在《帝国时代》中,在合成战斗上训练的决策树模型证明了基于模拟的数据生成对结果预测的价值。
                      除了大规模战斗,机器学习也被用于局部战斗预测,例如根据距离、健康值和掩体评估特工的威胁水平。同样,针对多人在线游戏的研究表明,仅凭团队构成就能以合理的准确度预测结果,而结合动态特征则能提高进行中比赛的预测性能。这些研究强调了特征选择的重要性,并暗示了结合机器学习模型与领域知识的混合方法的价值。
                      虽然之前的工作证明了启发式和基于机器学习预测的可行性,但大多数方法要么侧重于玩家对玩家的战斗模拟,要么侧重于像《星际争霸 II》这样有成熟基准测试的策略游戏。相比之下,我们的工作探索了《全面战争》这一独特的电子游戏,并检查了单位特征和战斗语境,以进行单位对单位级别的预测。


                      IP属地:福建11楼2026-01-31 22:18
                      回复
                        通过这种方式,我们的目标是将战斗预测研究扩展到现有的基准测试之外,并凸显可扩展的机器学习系统在实际商业游戏开发环境中的作用。
                        模拟环境
                        为了训练能够预测 1 vs 1 单位对决结果的机器学习模型,我们需要一个能够解释战斗结果的数据集。我们将该数据集分为两部分:单位特定属性和战斗语境变量。
                        单位属性 :这些变量包括单位固有的战斗属性,如近战攻击、近战防御、护甲、士气和武器威力,以及单位内的活跃士兵数量及其各自的生命值。
                        战斗语境:这指的是影响交战的空间和环境因素,例如单位之间的相对高度(高地优势)、初始距离、攻击位置以及遭遇类型(例如远程 vs 近战)。
                        除了起始生命值外,大多数单位属性都是可以直接从游戏数据库中提取的静态属性。起始生命值是一个在游戏过程中不断变化的动态因素,并显著影响战斗结果。由于在《全面战争》的战斗中,单位可能以非满血状态进入交战,我们模拟了多种生命值状态,以增强模型在此类情况下的鲁棒性。由于合理的起始生命值百分比范围维度较低,我们对该特征采用了随机采样。
                        与单位属性不同,战斗语境无法从静态数据中获取,必须通过模拟进行主动建模。单位交战时的空间和环境条件对结果有重大影响。例如,近战单位在近距离可能占据优势,但如果弓箭手在有利的高地位置拥有视野,近战单位则可能陷入苦战。为了说明这一点,我们从游戏设计团队收集了特定领域的专业信息,以识别关键的语境维度并将其参数化。这些参数随后被整合到模拟环境中,以实现受控且自动化的模拟。
                        模拟环境旨在运行生成的战斗场景,这些场景能够系统地覆盖单位属性和战斗语境。为此,我们定义了三种遭遇类型:近战 vs 近战、远程 vs 远程、以及近战 vs 远程。每种遭遇类型包括两种场景配置:
                        第一种:所有参与单位均以满血和满编制状态交战。
                        第二种:我们将单位的生命值在 10% 到 100% 之间进行随机化,以模拟真实的受损战斗情况。
                        此外,我们还模拟了不同战斗语境的随机化,例如初始间距和地形。
                        这些场景以 JSON 格式描述,明确了单位、地图类型、地图大小、战斗速度和地形类型。初始位置和地形也在该 JSON 中定义,可以灵活地应用于不同的场景(见代码清单,太长了不放了)。使用基于 JSON 的格式既便于快速分析场景配置,也便于...


                        IP属地:福建12楼2026-01-31 22:24
                        回复
                          通过这种方式,可以实现实验在多台机器上的顺畅分布。该格式的一个关键扩展是引入了镜像对决(Mirror Matches):即单位 A 对阵单位 B 的每一次交战,都会在调换阵营后(单位 B 对阵单位 A)再次重复。这确保了预测结果不会受到单位分配顺序的影响,从而提升了数据集的对称性和模型的性能。
                          我们开发了一套能够执行广泛场景的自定义模拟框架。通过使用屏障将可玩地图划分为多个独立的区域,我们构建了一个受控的游戏内模拟环境。这种设计确保了单位对决处于隔离状态,消除了诸如侧翼交叉火力等意外干扰,同时也允许并行执行多场模拟以加速数据采集(例如,同时并行 16 场对决)。
                          我们创建了海量的对决组合,每一组都对应单位属性与战斗语境变量的不同组合。每一次对决运行都会产生一份结构化日志,其中包含了对决开始和结束时的单位属性值、语境变量以及交战结果。


                          IP属地:福建13楼2026-01-31 22:31
                          回复
                            预处理流水线
                            使用我们的模拟环境收集的数据在进入模型训练之前,需要经过一个结构化的预处理流水线。该流水线包含两个截然不同的阶段:统计预处理和游戏特定预处理。统计预处理阶段涉及将原始数据转换和归一化为有利于模型高效学习的格式,从而增强收敛性和泛化能力。我们对所有连续变量使用了标准缩放器进行归一化。
                            相反,游戏特定预处理阶段侧重于以一种有助于在《全面战争》系列不同作品之间实现迁移性和鲁棒性的方式来抽象和组织数据。这种双管齐下的预处理策略既确保了特征表示的内部一致性,也保证了学习框架对更广泛战略环境的适应性。
                            在统计预处理中,我们使用了标准的特征工程技术来处理数据、提升模型性能,并促进模型学习不同单位战斗场景之间的交互关系。
                            剔除异常值:移除时长接近于零的战斗,因为这些战斗可能反映了不完整或错误的模拟数据。
                            计算衍生变量:计算分量组成、成对差异以及战斗属性比率。这些变量有助于突出敌对单位之间的相对强度和战略失衡。
                            归一化:对输入变量进行缩放,确保各变量量级一致,从而提高模型收敛速度和性能。
                            分类变量转换:使用独热编码处理分类变量。这在区分“近战 vs 近战”、“远程 vs 远程”以及“近战 vs 远程”等遭遇类型时尤为有用。这种分类区分对于确定战斗动态和模型行为起着重要作用。
                            游戏特定预处理在增强模型性能和确保对不同《全面战争》作品的适应性方面发挥了巨大作用。这种方法允许预处理流水线根据每款游戏的独特机制和设计理念进行定制。例如,与结果相关的变量(如胜利条件或单位效能)可以被重新定义,以契合特定作品的游戏玩法特征。
                            历史题材全战:遵循真实的军事背景,缺乏超自然或魔法成分,因此单位属性较为常规。
                            奇幻题材全战:引入了特殊能力,可以动态改变单位的生命值、强度或战斗经验。
                            为了适应这种多样性,预处理框架结合了游戏特定的编码策略,以明确捕获并表示这些独特的机制。这种灵活性确保了模型对特定领域的变量保持敏感,同时在整个《全面战争》系列中保持泛化能力。数据流水线的开发涉及一个结构化的决策过程:从游戏设计团队获取各变量相对重要性的分级排名,随后评估在游戏开发环境中进行数据采集的可行性,以确保方案的可操作性。变量的选择和剔除是通过迭代优化过程完成的。


                            IP属地:福建14楼2026-01-31 22:34
                            回复
                              2026-02-08 00:15:24
                              广告
                              不感兴趣
                              开通SVIP免广告
                              模型生成
                              我们提出了一种能够同时学习 1 vs 1 单位对决结果(胜利或失败)以及单位级统计数据的模型,后者包括剩余生命值、士气、交战时长和士兵数量。我们按顺序训练了两个前馈神经网络:第一个模型预测战斗胜负结果,第二个模型预测单位级的统计数据。我们采用了一种迭代训练程序,旨在最小化用于建模战斗结果的二元交叉熵损失;而对于单位统计模型,我们则使用了独立的均方误差损失。
                              神经网络的架构如下,这些参数是通过超参数调优过程选定的。模型共训练了 1000 个轮次。模型包含一个大小等于输入长度的输入层,随后是两个各有 82 个神经元的全连接层,最后是一个大小等于输出维度的输出层。优化器采用了 Adam,学习率为 0.0001,批大小为 88。该模型使用 PyTorch 2.0 实现,并在单块 NVIDIA RTX 3090 GPU 上完成训练。


                              IP属地:福建15楼2026-01-31 22:36
                              回复