命令与征服
出版商: Electronic Arts 开发商: EA Pacific 类型:RTS 发布时间:2003.2.11
 
评论
  预览   动态   攻略   秘籍   专题    
论坛

秘技 《命令与征服:将军》AI基础教程!

游戏轴心-廖子鹏 [转载]
北京 2004年08月19日12:04




《命令与征服:将军》AI基础教程!

译者:征服者之jaffe


将军AI系统基础教程:

      将军AI基于谓项逻辑学。21世纪的石器语言。什么叫做谓项逻辑语言呢?它是一系列条件和行动的组合。举个例子给你瞧瞧:


1. IF [game begins] THEN [build barracks]
2. IF [I have enough money] THEN [build an upgrade]
3. IF [my forces are attacking] THEN [launch superweapon] ELSE [build more units]
4. IF [enemy infantry is attacking me] THEN [set value=1] ELSE [set value=0]
5. IF [set value=1] THEN [order all overlords to build gattlings] ELSE [order all overlords to build propaganda towers]

1. IF [游戏开始] THEN [造兵营]
2. IF [我有足够的钱] THEN [升级!]
3. IF [我的部队开始攻击] THEN [超武发射] ELSE [造更多单位]
4. IF [敌人步兵攻击我] THEN [set value=1] ELSE [set value=0]
5. IF [set value=1] THEN [命令所有overlords建造加特林] ELSE [命令所有的overlords制造宣传塔!]

      使用这种表达方式的语言汇总起来就是AI。使用这种构架的AI不能分析事情,不能学习,不能建造新单位、建筑和相关升级,不能做太多其他的事情。

      从哪里找AI,怎么才能打开呢?

      每张单人地图都有它的脚本。假如你想编辑单人模式的AI,就请打开你所希望打开的地图。然后"Edit" -> "Scripts".这样可以打开对话窗口,在那里你能找到AI和其他东西。将军挑战模式和单人地图的修改类似,编辑将军挑战AI和单人或将军挑战模式AI。地图们都在maps.big and mapsZH.big里。


      遭遇战AI就是Generals/Data/Scripts/SkirmishScripts.scb,这下子没被打包,所以你不用提取它,根据下列指示直接做爱就行了:

1让地图编辑器运行
2 单击"Edit" -> "Edit Player List'. 单击 "Add Skirmish Players". 单击 "OK".
3单击 "Edit" -> "Scripts'. 单击"Import Scripts".找到 SkirmishScripts.scb and 单击 "OK'.
4. 修正bug

      在遭遇战脚本里有十分严重的bug,每个将军的文件都放错了文件夹,你必须在脚本对话框里打开每个文件夹,把里面的内容拖到正确的文件夹里。你能自己修正或者直接在这里下载:http://sdi.origin-network.net/downl...ishScripts.zip


如何编辑脚本
单击"Edit" -> "Scripts"打开脚本窗口。编辑脚本允许你操作将军技能,升级和建筑。单位的修改不在此列,它们在teams对话框。文件夹是黄色的,脚本是蓝绿色的。双击脚本打开编辑框。

Script Flags:
-Script is Subroutine (allows you to call this script from other ones)
-Script is Active (not active scripts never work)
-Deactivate upon success (run this script only once when its condition is succeeded and then make it inactive)

脚本标记。
脚本为子程序——允许你从另外的脚本里激活这个脚本。
脚本已激活——没激活的脚本从来不能运行。
在成功之后进入睡眠状态——这个脚本只在条件符合的时候只会运行一次。

Active in:
-Easy
-Normal
-Hard
The list of difficultly levels in which the script is active.
这个脚本控制难度。

Evaluate script.
-Every frame
-Every X seconds
How often to run this script or how often to check its condition.

评估脚本
每帧
每隔n秒
间隔多少时间运行这个脚本,或者间隔多少时间检查运行它的条件。

脚本条件:基本的逻辑表达方式。你能部分的增加或删除它。假如你想每次运行脚本就把条件设为true,设为false将关闭脚本。有数百个不同的条件和组件。研究一下吧!

Actions if true. 如果逻辑表达方程运算结果为true,那么电脑必须运行这个行为,这里有数百个不同的行为,我不会在这里一一解释。看它们的脚本,努力理解他们会产生什么行为,并记住他们使用的行为。

Actions if false. 当逻辑表达方程运算结果为false,那么电脑不会运行这个行为。

Purpose of some folders in scripts:
"Sell Off" - Conditions when computer will sell everything and give up
"Paper work" - Initialization
"Build Conditions" - Building units
"Base Building" - Building structures
"Upgrades" - Building upgrades
"Attack Waves" - The wave is the team computer send to attack
"Generals Powers" - Use of purchasable super weapons (paradrop for example)
"Super Weapon Use" - Use of buildable super weapons (nuclear missile for example)
"Garrison Builds" - Build infantry to garrison neutral buildings
"Garrison Orders" - Order infantry to garrison neutral buildings

脚本中不同文件夹的作用

"Sell Off" - 电脑卖掉所有的东西、投降的前提条件
"Paper work" - 初始化
"Build Conditions" - 造单位
"Base Building" -建造建筑物
"Upgrades" - 建筑升级
"Attack Waves" - 电脑的进攻波次
"Generals Powers" - 将军技(例如伞兵)
"Super Weapon Use" - 超武(例如核弹)
"Garrison Builds" - 造步兵守中立区
"Garrison Orders" - 造步兵守中立建筑


INI code also contAIn some pieces of AI. Data/INI/Default/AIData.ini contAIn sciences that computer will purchase. Data/INI/SpecialPower.ini contAIn super weapons use logic. For example if "Enum = SPECIAL_DAISY_CUTTER" in code then computer will drop this super weapon on enemy base. If "Enum = SPECIAL_CLUSTER_MINES" then computer will drop this super weapon on self base.

      ini代码也包含一些AI内容,Data/INI/Default/AIData.ini包含电脑将军技列表,Data/INI/SpecialPower.ini包含超武使用逻辑。例如假如"Enum = SPECIAL_DAISY_CUTTER" 在代码里 电脑就会把超武投在敌人的基地里。假如"Enum = SPECIAL_CLUSTER_MINES" 电脑就会把超武仍在自己家里。

How to edit teams. 如何编辑进攻编队

      单击 "Edit" -> "Edit Teams". 选择一个将军看看它的出兵列表。双击一个子项打开对话框,假如你想让AI建造你想要的单位,编辑所有子项,增加所需要的单位。

鉴定区

条件:脚本告诉AI什么时候组建部队。
优先权:假如能够实现具有不同子项的条件,电脑将以更高的优先权建造部队

增强区
      输送的不同材质

行为区域
      这里你将告诉子项在特殊的事件里什么脚本可以运行。什么时候创建,什么时候闲散,什么时候敌人看得见等等。脚本必须成为子程序。

普通区
      另一个放脚本的地方。执行条件必须包含在文件内部之内。脚本必须是子程序。

一些子项的作用
      "Alert Invasion"子项 将在电脑基地遭到进攻时建造。例如"USA Alert Invasion Tanks"子项将在敌人坦克进攻电脑基地时建造。
      "Wave" 子项指电脑进攻波次。例如"USA 1st Wave Rush"是指电脑的第一次进攻。AI并不能像玩家一样立刻组织大规模的进攻。

How to save. 如何保存
步骤:
Click "Edit" -> "Scripts". Click "Export Script(s)". UNCHECK ALL. Check 'Export All Scripts". Then click 'Ok".


How to test skirmish AI. 如何测试遭遇战AI

      警告!在运行游戏前务必到"My Documents/Command and Conquer Generals Zero Hour Data/" 删除 "_tmpChunk.dat"文件。开始游戏,选一个盟国和一个敌国,进入游戏后卖掉主基地,然后看那两个电脑互相扭打。

More tutorials about AI are here: 更多的AI教程在这里:
http://sdi.origin-network.net/page.php?file=/tuts/list

AI editing forum is here: AI论坛在这里:
http://forums.origin-network.net/in...p?showforum=163

 
本文转载自:征服者

     本文原先为中英对照文章,现改为部分中英对照,且小鹏对文章中个别词语进行了修改。

小鹏将继续关注这部游戏的资讯。

  游戏截图
《命令与征服:将军》精彩截图
好友地址

您的邮箱

您的附言

 网友讨论(仅供参考与本站立场无关) Comment
即刻发表你的意见和看法(1000字以内)