|
|
首页 策划基础 《命令与征服:将军》AI基础教程 |
|
《命令与征服:将军》AI基础教程 |
|
|
作者: 征服者之…
|
|
2007-08-17 |
将军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"文件。开始游戏,选一个盟国和一个敌国,进入游戏后卖掉主基地,然后看那两个电脑互相扭打。
|
| |