中华MOD网

 找回密码
 立即加入

QQ登录

只需一步,快速开始

查看: 4067|回复: 16

三国全面战争(BI)阵型AI深入研究

    [复制链接]
发表于 2010-3-15 00:27:19 | 显示全部楼层 |阅读模式
转自太平洋游戏网

    这篇文章是翻译自国外论坛。作者在翻译的同时去掉了一些无关紧要的字句。当然,这无关紧要,值得我们注意的是,这篇文章如此的深入,对于没有一定程序设计概念的玩家来说可能中间的很长一段东西都看不懂。我们仍然希望这篇文章能够给予国内的FANS以参考,更深入的提高自己在游戏方面的研究水平。它将是一个值得一看的文章。

  “FORMATION AI 修改” BY DARTH VADER

  我给所有的TW团体提供这个完整的教程是为了利用我所知道的来帮助那些想修改的人理解游戏中这个很小却很重要的文本文件。同样,很不幸的。当一些人在某些方面取得了太多成功就会招致别人来窃取其成果。

  我开始对这个东西也一无所知,但我仍然对不断查看问题反馈,参与集体讨论,以及为了修改这个游戏夜以继日的工作,为的只有一个目的:就是能让自己第一时间玩到更加完美的游戏,然后把它共享给所有的团体,至少能在最后得到大家对我想法的肯定。

  我猜我就像其他修改者一样并不是为了谋生而弄这个东西,所以当你们的回复带有人身攻击或者窃取我的想法的话我将非常生气。关于互联网这个工具,我个人认为如果多一些合作少一些为了个人虚荣心将会对大家更有帮助。但是我想大家毕竟都是人,我必须要认识到这点。不过我从大家满意的回复中得到了很大满足,让我觉得这一切都是值得的。

  我将采用理论联系实际的方法介绍"FORMATION AI.TXT"文件。我叫它为AI“工具”,举例来说就像人类用手来取得物体,用脚来走路一样。所以内核AI通过这个文件来扩展游戏的潜力。那表示如果这个文件的值做得太差的话,AI也会变得很糟糕。所以不能单方面的说AI无法修改,因为有了这个文件我们能够翻译出“它”的想法。所以我将会告诉大家我对AI单位作战过程的理解。

  一个完整的阵型最多能容纳16个块。每个块描述一个复杂的联合体单位(可能包括步兵,骑兵,将军,大象等等)。块不仅仅是表示单位间的相对位置,而是描述的每个单位的“基础”。那表示,一个单位或者数个单位在一个确定的块中的位置以及活动范围,将会和它同块的进行配合。交互作用在单位考虑进攻,防守,站立或是奔跑中将会体现。

  整个阵型块被AI使用来依照周遭环境给单位下达指示。所以提供一个怎样的阵型影响给AI使用将显得尤为重要。如果你让单位彼此离得太远你将会注意到早期个别孤立的单位将会莫名奇妙的独自攻击。那样的情况是因为这些单位与其他单位孤立起来了,而其控制范围包含敌人单位,他们将会互相影响并攻击,而其他部队并不会给予理睬。我知道AI不会说明,但是难道我们就不能做点什么了吗?

  我所作的就是给予单位之间足够的凝聚力,让彼此的控制范围交错,给我们造成他们互相协作的假相,共同的行动将会使AI比起以前成为一个真正有价值的对手。

  块最基本的作用是当AI发出的上一个指示无效时让单位重新集结。所以你将会数次看到,尤其是移动迅速的骑兵打带跑的战术便是返回块的基本作用。如果单位同时受到数种威胁将会攻击最弱的目标直到目标被消灭。这将是AI的一把双刃剑,因为如果数种单位变得失控和狂怒,因为人类对手能够轻易欺骗并孤立它们。所以我设计阵型的思路是在中央尽可能的凝聚它们。让它们尽可能同时有几只部队有相同的目标而产生协同作战。骑兵单位将会提早并侧围对手,因为他们的战略位置在阵型的边上并和其他骑兵在一起,这样每次骑兵冲锋都将至少包含两只骑兵部队。这样即便它们被孤立也会像一个二人小组一样的工作并摧毁一切无准备的背后防御。所有这些将会在稍后解释。

  当然因为AI的想法可能包含数种可能(控制范围),所以把投射部队放在肉搏部队后面将更加的有效,因为如果敌人军队进入他们的范围,他们仍然在移动,这样快速后退将会代替投射武器,遇到骑兵时,尤为明显。这将是大屠杀。而现在这一切被我的3步交互系统所修正。第一步,在防御时,弓箭部队在所有部队最前面对敌人进行第一轮打击;第二步,如果他们需要移动,弓箭部队将会被放在重步兵后面被保护,并在其后面支援;第三步,在战斗胶着时(在DARTHMOD_6.0中使用的新技术),一部分投射将运动到整个战局的一侧对人类玩家进行破坏性的侧翼打击。

  除了由于控制范围的缘故,把将军放得太靠前将是不智的举动,因为它将会被任一只普通的单位攻击然后离敌人过近,我将会解释我是如何处理的。

  必须说到的是人类只能勉强控制一只由16块单位组成的军队如通过按“CTRL+A”选取你所有的单位,然后按ALT放到什么地方,而AI可以轻易做到。但不同的是当单位发生移动并超出AI失控的范围时,这里任然有个可以确定的地方可以修补。这是通过观察AI防御史移动它的军队到地图一个确定的位置,而一些其他的单位被AI放在整个阵型的很前方的位置(代替了移动到那个确定的位置)就好像它们拒绝了AI的控制一样。这也被我通过一个确定的命令——提供足够的空间给阵型而修正了。



  所以我将在给予各位足够创建阵型的基础知识后开始:

  研究阵型

  ;************************************************* ***************
  ;新的罗马特殊攻击阵型,使用投射武器进行阵地战战术使用“DARTHMOD SPECIAL”
  ;************************************************* ***************

  begin_formation ai_roman_line

  ;;; purpose flags
  defend
  ai_priority 1.0

  begin_dummy_block 0 ;; centre slot left empty for assault column to pass through
  spacer 150.0 150.0 150 150
  end_dummy_block

  ; 弓箭幕
  begin_block 1
  max_units 3
  unit_type missile infantry 0.9
  unit_type elephants 1.0
  unit_type heavy_chariots 1.0
  unit_density close
  block_formation line
  block_relative_pos 0 0.0 -20.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block

  ;; 前排步兵
  begin_block 2
  min_units 3
  unit_type light_pilum_infantry 0.9
  unit_type heavy_pilum_infantry 0.7
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width 20
  block_formation line
  block_relative_pos 1 0.0 -6.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block

  ;; 二排步兵
  begin_block 3
  min_units 3
  unit_type heavy_pilum_infantry 1.0
  unit_type light_pilum_infantry 0.1
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width 20
  block_formation line
  block_relative_pos 2 0.0 -6.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block

  ;; 后排步兵
  begin_block 4
  max_units 4
  unit_type light infantry 0.6
  unit_type heavy infantry 0.6
  unit_type spearmen 0.5
  block_formation line
  block_relative_pos 3 0.0 -6.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block

  ;; 支援弓兵
  begin_block 5
  unit_type ranged_missile_infantry 1.0
  unit_type light infantry 0.4
  unit_type heavy infantry 0.4
  unit_type spearmen 0.8
  unit_type any 0.001
  block_formation line
  block_relative_pos 4 0.0 -6.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block


  begin_dummy_block 6
  spans 0 1 2 3 4 5
  end_dummy_block

  ;; 阵后炮兵
  begin_block 7
  unit_type handler 1.0
  unit_type siege 1.0
  unit_type any 0.01
  block_formation line
  block_relative_pos 6 0.0 -20.0
  inter_unit_spacing 10.0
  priority 0.5
  end_block


  ;; 侧后翼骑兵

  ;; 左侧骑兵
  begin_block 8
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 6 -1.0 -1.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; 更多左侧骑兵
  begin_block 9
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 8 1 -3.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; 右侧骑兵
  begin_block 10
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 6 1.0 -1.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; 更多右侧骑兵
  begin_block 11
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 10 -1 -3.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  begin_dummy_block 12
  spans 0 1 2 3 4 5 6 7 8 9 10 11
  end_dummy_block

  ;; 阵后将军
  begin_block 13
  min_units 1
  max_units 1
  unit_type general_unit 1.0
  unit_density close
  block_formation line
  block_relative_pos 12 0.0 -1.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block


  end_formation



  begin_formation ai_roman_line

  ;;; purpose flags
  attack

  ai_priority 0.9



  ;; First line of infantry
  begin_block 0
  min_units 3
  unit_type light_pilum_infantry 0.9
  unit_type heavy_pilum_infantry 0.7
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width -20
  block_formation line
  block_relative_pos 0 0.0 -20.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block

  ;; second line of infantry
  begin_block 1
  min_units 3
  unit_type heavy_pilum_infantry 1.0
  unit_type light_pilum_infantry 0.1
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width 20
  block_formation line
  block_relative_pos 0 0.0 -6.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block

  ;; 3rd line of infantry
  begin_block 2
  max_units 4
  unit_type light infantry 0.6
  unit_type heavy infantry 0.6
  unit_type spearmen 0.5
  block_formation line
  block_relative_pos 1 0.0 -6.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block

  ;; Archers behind
  begin_block 3
  unit_type ranged_missile_infantry 1.0
  unit_type light infantry 0.4
  unit_type heavy infantry 0.4
  unit_type spearmen 0.8
  unit_type non_phalanx_spear 1.0
  unit_type any 0.0001
  block_formation line
  block_relative_pos 2 0.0 -6.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block


  begin_dummy_block 4
  spans 0 1 2 3
  end_dummy_block

  ; Screen of missile inf
  begin_block 5
  max_units 3
  unit_type missile infantry 0.5
  unit_type elephants 1.0
  unit_type heavy_chariots 1.0
  unit_density close
  block_formation line
  block_relative_pos 4 0.0 -6.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block

  ;; artillery and handlers at the back
  begin_block 6
  unit_type handler 1.0
  unit_type siege 1.0
  ;unit_type any 0.01
  block_formation line
  block_relative_pos 4 0.0 -20.0
  inter_unit_spacing 10.0
  priority 0.5
  end_block


  ;; cavalry on the flanks and back a bit

  ;; left flank cav
  begin_block 7
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 4 -1.0 -20.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; left flank cav(more)
  begin_block 8
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 7 1 -3.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; right_flank cav
  begin_block 9
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 4 1.0 -20.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; right_flank cav(more)
  begin_block 10
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 9 -1 -3.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  begin_dummy_block 11
  spans 0 1 2 3 4 5 6 7 8 9 10
  end_dummy_block

  ;; left flank missile(decides to support the flank even more)
  begin_block 12
  min_units 1
  max_units 2
  unit_type missile infantry 0.5
  unit_type missile cavalry 0.5
  block_formation line
  block_relative_pos 11 -5.0 15
  inter_unit_spacing 0.2
  priority 0.6
  end_block

  ;; right flank missile(decides to support the flank even more)
  begin_block 13
  min_units 1
  max_units 2
  unit_type missile infantry 0.5
  unit_type missile cavalry 0.5
  block_formation line
  block_relative_pos 11 5.0 15
  inter_unit_spacing 0.2
  priority 0.6
  end_block

  ;; general at the back
  begin_block 14
  min_units 1
  max_units 1
  unit_type general_unit 1.0
  unit_density close
  block_formation line
  block_relative_pos 11 0 -5.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block


  end_formation

  begin_formation ai_roman_line

  ;;; purpose flags
  attack
  defend
  ai_priority 0.01


  ; Screen of missile inf
  begin_block 0
  max_units 3
  unit_type missile infantry 0.0
  unit_type elephants 1.0
  unit_type heavy_chariots 1.0
  unit_density close
  block_formation line
  block_relative_pos 0 0.0 -20.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block

  ;; First line of infantry
  begin_block 1
  min_units 3
  unit_type light_pilum_infantry 0.9
  unit_type heavy_pilum_infantry 0.7
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width 20
  block_formation line
  block_relative_pos 0 0.0 -6.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block

  ;; second line of infantry
  begin_block 2
  min_units 3
  unit_type heavy_pilum_infantry 1.0
  unit_type light_pilum_infantry 0.1
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width 20
  block_formation line
  block_relative_pos 1 0.0 -6.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block

  ;; 3rd line of infantry
  begin_block 3
  max_units 4
  unit_type light infantry 0.6
  unit_type heavy infantry 0.6
  unit_type spearmen 0.5
  block_formation line
  block_relative_pos 2 0.0 -6.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block

  ;; Archers behind
  begin_block 4
  unit_type ranged_missile_infantry 1.0
  unit_type light infantry 0.4
  unit_type heavy infantry 0.4
  unit_type spearmen 0.8
  unit_type any 0.0001
  block_formation line
  block_relative_pos 3 0.0 -6.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block


  begin_dummy_block 5
  spans 0 1 2 3 4
  end_dummy_block

  ;; artillery and handlers at the back
  begin_block 6
  unit_type handler 1.0
  unit_type siege 1.0
  ;unit_type any 0.01
  block_formation line
  block_relative_pos 5 0.0 -20.0
  inter_unit_spacing 10.0
  priority 0.5
  end_block


  ;; cavalry on the flanks and back a bit

  ;; left flank cav
  begin_block 7
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 5 -1.0 -1.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; left flank cav(more)
  begin_block 8
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 7 1 -3.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; right_flank cav
  begin_block 9
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 5 1.0 -1.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  ;; right_flank cav(more)
  begin_block 10
  unit_type cavalry 1.0
  block_formation line
  block_relative_pos 9 -1 -3.0
  inter_unit_spacing 0.2
  priority 0.5
  end_block

  begin_dummy_block 11
  spans 0 1 2 3 4 5 6 7 8 9 10
  end_dummy_block

  ;; left flank missile(decides to support the flank even more)
  begin_block 12
  min_units 1
  max_units 2
  unit_type missile infantry 1.0
  unit_type missile cavalry 1.0
  block_formation line
  block_relative_pos 11 -5.0 15
  inter_unit_spacing 0.2
  priority 0.8
  end_block

  ;; right flank missile(decides to support the flank even more)
  begin_block 13
  min_units 1
  max_units 2
  unit_type missile infantry 1.0
  unit_type missile cavalry 1.0
  block_formation line
  block_relative_pos 11 5.0 15
  inter_unit_spacing 0.2
  priority 0.8
  end_block

  ;; general at the back
  begin_block 14
  min_units 1
  max_units 1
  unit_type general_unit 1.0
  unit_density close
  block_formation line
  block_relative_pos 11 0.0 -10.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block


  end_formation





  好了,现在我给大家从头讲起:

  - “begin_formation ai_roman_line” =这是这个阵型的名字,AI会搜索阵型名字及比较它们的优先性后并根据兵种比例来选择阵型。

  -“;;; purpose flags
  defend
  ai_priority 1.0” = 这是AI使用这个阵型的目的,就像这个AI就会在防御时使用。 AI priority = 1.0 是一个AI是否使用这个阵型的优先权的值即是否更倾向于使用这个阵型。所以这个值相当重要。这个实例倾向于当使用很多重投射武器时。
  同时要注意这个 ;=一个不会被使用到阵型文件中方便理解的解释文本。

  - “begin_dummy_block 0 ;; centre slot left empty for assault column to pass through
  spacer 150.0 150.0 150 150
  end_dummy_block”= 这是我用来根除CA公司导致AI单位离开阵型控制范围进行独立自杀行为漏洞的特殊技术,它会影响骑兵和将军单位,让它们获得一个和中央部队保持联系的特殊空间,这样阵型块就不会失去控制范围了。作出一些无法预知的怪异现象。尤其是当AI防御时,一些单位将会莫名奇妙的移动,现在如果它们不属于其它的块,它将和那个块保持距离。另外出现其余休息的单位看到人类玩家屠杀它们的单位而无动于衷,那是由于阵型AI就像一个看不见的环绕大盒子,如果阵型宽度超出了空间范围,超出的就会拒绝AI指令。

  我通过测试很小心的取了(150.150)这个值,如果你取了很高的值你会看到骑兵单位在整个军队2公里以外,如果取太小,你会发现CA漏洞仍然少量存在,当然概率很小。

  -“; Screen of missile inf
  begin_block 1
  max_units 3
  unit_type missile infantry 0.9
  unit_type elephants 1.0
  unit_type heavy_chariots 1.0
  unit_density close
  block_formation line
  block_relative_pos 0 0.0 -20.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block” =引用实例第一块

  begin_block 1=创建命令
  max_units 3=允许最大或者最小单位组成数
  unit_type 任意种类 nbr:0.0 – 1.0= 这块中这种单位的类型,可选择的单位类型包括很多种,你可以查看所有阵型来看哪些名字可以使用。而且只能是那些名字,否则就会跳出游戏。 优先权表示AI选择单位来填满这个块的优先权即更倾向用哪种部队,最大的比例表示AI会优先用这种单位来填满块,如果还没满再用排第二的单位填。
  unit_density close=(close or loose) 就像你在战斗中使用的一样,紧密或者疏松。不过注意,我已经在我的最新版里把所有的都调成了紧密,因为这里有个有时AI会在调成疏松后移动中暴走的漏洞。

  block_formation line= 可以被设置成横向,纵向,方阵。(方阵有时会作出些莫名其妙的事,如排成两个纵向的阵型,所以我从来不用)

  block_relative_pos nbr +/-nbr +/-nbr =
  第一个nbr是表示与当前阵型块的相对关系。
  第二个nbr是表示相对水平距离,单位:米(- =向左, + =向右)
  第三个nbr是表示相对纵向距离,单位:米(- =向后, + =向前)

  如果我们给第一个块一个相对0块的纵向不同位置,我们就相当于给了整个阵型。这是我使用的一个帮助AI进行有效机动的技术。我给它一个不同的位置去到达,当来自人类玩家的威胁靠近,会超越内核AI控制而开始攻击而不是移动。如果你给了太大的值你会注意到AI将不会攻击或者你减少过多,这样你就会看见真正的白痴AI攻击,一大队堆在一起,然后被一起灭掉。
  priority 1.0=这是AI决定每个块的优先权。大的值决定更多的部队将会被放在这里超过其他块。就像是块与块之间的比例一样。

  inter_unit_spacing nbr=这个决定了块内单位间的距离. 我全部设置成0.2米,除了小队阵型(我的初衷是为了保持凝聚力)。

  end_block=一个块结束,所有的块都要这样。

  -所有的块都有相似的地方,让我们看下一块:
  “;; second line of infantry
  ;; First line of infantry
  begin_block 2
  min_units 3
  unit_type light_pilum_infantry 0.9
  unit_type heavy_pilum_infantry 0.7
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width 20
  block_formation line
  block_relative_pos 1 0.0 -6.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block”


  这个块由至少3个单位组成。
  注意命令max_unit_width 20
  这个让每个块里的单位都有20排组成的方形阵型。
  这个阵型放在第一排后面6米并间隔10米,来模仿罗马战术。
  让我们看第三排。

  “;; second line of infantry
  begin_block 3
  min_units 3
  unit_type heavy_pilum_infantry 1.0
  unit_type light_pilum_infantry 0.1
  unit_type heavy infantry 0.0
  unit_type infantry 0.0
  unit_density close
  max_unit_width 20
  block_formation line
  block_relative_pos 2 0.0 -6.0
  inter_unit_spacing 10.0
  priority 1.0
  end_block”

  它看起来就跟上一个块一模一样。它在上一块后面6米。看这些单位种类和比例。它们大多数为轻步兵,所以放在前面,后面的是重步兵。 如果没有重投射我们就放其他类型的好让阵型有效。

  我们已经创造了很多块了,注意阵型必须包含所有的单位种类,在你完成后注意检查是否加了单位类型“any”来帮助AI放下所有的部队,否则就会跳出游戏。
  现在这是很重要的一块——dummy block.

  “begin_dummy_block “BlockNbr”
  spans 0 1 2 3 ……. BlockNbr -1 end_dummy_block”

  这是特殊块不包含单位,但是很有用,因为它可以凝聚其他块,不至于分散。 (使用命令spans 3 4 5 例如凝聚块 3 4 5).
  这样我们接着造的块才能和前面所有的块保持区别和联系。

  最后让我们来说说将军单位:

  “;; general at the back
  begin_block 13
  min_units 1
  max_units 1
  unit_type general_unit 1.0
  unit_density close
  block_formation line
  block_relative_pos 12 0.0 -1.0
  inter_unit_spacing 0.2
  priority 1.0
  end_block”



  一件很重要的事需要注意:
  -将军块只能包含将军单位
  -将军块与虚拟块12的关系表示将军在所有单位的后面,这样将军将会试着呆在所有他控制的单位后面。
  -我没有把它设置在很后面,仅仅1米,因为单位虚拟块已经足够大了,再弄的话将军将会出现在离军队太远的地方。


  上面提到的让将军待在部队后面的技术就在这最后一块。

  好,现在一个普通的阵型就设置完成了,现在开始说交互技术。

  当输入“end formation”后我开始了一个名字一样的阵型。

  “begin_formation ai_roman_line

  ;;; purpose flags
  attack

  ai_priority 0.9”

  是的,他仅仅和上一个名字一样:
  -目标改成了从 “defend”改成了“attack”
  -ai 优先权也降低了0.1

  这个阵型大多少都和上一个相同,但有些块切换空间,有些切换单位,有些切换优先权。
  结果是AI会在由守转攻时百分之百的选择这个阵型。

  完成这个后我又创建一个优先权更少的同名阵型。

  “begin_formation ai_roman_line

  ;;; purpose flags
  attack
  defend
  ai_priority 0.01”

  这是一个扮演着重要角色的阵型文件,攻守转换时。

  一些单位被轻微改变,这样AI不会为了到达目的地阵型而在途中完全散乱,而能较好的保持阵型的完整性。这就是渐变的概念。
  同样注意AI优先权被轻微减少了。这样它将不会在作战时起主导作用。

  所以一个完整的阵型包含3个子阵型。
  最后我要说的是我去掉了所有的“追赶”目的,因为AI变得狂暴,用任一单一部队都会去追满编部队。

  我还想说说攻城战和渡桥战的阵型问题,但由于时间问题就不多说了。
  希望大家喜欢并能从中学到如何修改阵型AI。
  对不起,如果你仍然没能在这里找到答案我只能说很抱歉,这次就只能先说这么多了。

评分

参与人数 1金币 +200 智力 +5 收起 理由
liu1412 + 200 + 5 优秀转贴

查看全部评分

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-4-10 02:20:48 | 显示全部楼层
太长了啊,,,,

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-4-4 02:26:28 | 显示全部楼层
哦,好复杂啊!

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-3-23 19:15:29 | 显示全部楼层
满不错~~顶一个

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-3-20 01:53:08 | 显示全部楼层
这个太专业了 , {:5_155:}

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-4-11 16:39:37 | 显示全部楼层
:),楼主辛苦

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-4-17 14:09:10 | 显示全部楼层
回复 1# Evenmov
编程帝啊!!!

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-5-29 22:09:31 | 显示全部楼层
不错,很好很强大

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-6-14 13:40:24 | 显示全部楼层
强大啊!

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-6-14 14:24:21 | 显示全部楼层
这些东西若是能完善2.0,…

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-6-14 15:12:16 | 显示全部楼层
很好很強大....八陣圖可以在2.0中出現嗎????

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-6-14 15:31:46 | 显示全部楼层
楼主放出来不怕人家偷师?哈哈!小弟先学习下,偷个师!

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-6-17 00:43:08 | 显示全部楼层
好专业 看不懂的说

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-6-25 06:47:54 | 显示全部楼层
高手高手高手高手高手高手高手高手高手高手高手高手

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2010-7-12 03:54:28 | 显示全部楼层
学习了  

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

发表于 2013-1-9 14:35:31 | 显示全部楼层
非常强大。。。。

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

回复 鲜花 砖头

使用道具 举报

发表于 2018-7-18 10:21:04 | 显示全部楼层
看看看看

发帖求助前要善用【网站搜索】功能,那里可能会有你要找的答案

中华MOD网推荐搜索:https://kan.1mod.org/

中华MOD网新浪微博:https://weibo.com/1mod

中华MOD网推荐浏览器点击我下载

中华MOD网腾讯微信:All1mod 或首页左边

中华MOD网游戏帮助Q群:218311682

回复 鲜花 砖头

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

关闭

站长推荐上一条 /2 下一条

QQ|Archiver|手机版|手机专用客户端|中华MOD官网

GMT+8, 2024-11-21 18:40

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表