提拔将领:即时战略游戏将领指挥AI方案设想



<<C&C>>巨大成功标志着即时战略游戏正式崛起而到了今年即时战略游戏无疑已占据了游戏主导位置然而<<C&C>>及<<RA>>巨大成功并不能掩盖其人工智能低劣而近期推出大量即时战略新作虽然很多在人工智能上都有突破但离玩家要求往往相差甚远其结果使即时战略游戏在单人作战时总难以摆脱苦守再屠杀固定模式从而大大降低了游戏可玩性

人工智能发展到现在实际上水平还是相当低下但对于即时战略游戏来说仍有很大发展余地但以<<C&C>>为代表AI方式已几乎走到了尽头,即时战略AI设计思维可能需要有重大变革,否则仍在此基础上发展有限改进就需要大量计算计算增加速度将远远超过科技进步速度.

即时战略AI现在普遍缺乏大致有以下几种能力:
1. 判断能力: 主要是对电脑方而言电脑应具备定程度形势判断能力能够对双方实力对比敌方兵力分布防御体系强弱作出定程度判断并据此采取相应战略战术
2战术配合、协作能力:大多数即时战略游戏现在控制方式还是单兵控制方式由于缺乏整体协作经常会出现部队堵死等毛病区别战斗单元有区别最佳作战方式在大规模战斗中玩家往往控制不过来而机器单兵作战思路方式则经常使些部队进行些看起来非常愚蠢行动
3.战略策划能力:这是建立在全局判断力基础上部队兵力分配调度主攻方向佯攻方向投入战斗时间等虽然战术配合/协作能力如果功能极其强大也可以胜任战略策划能力但这样强大战术能力实际上是做不到
4.灵活性:这是指战略战术上变化而言绝大多数即时战略游戏在电脑AI上都只有有限几种固定攻击套路,这无疑也是使游戏显得单调重要原因

判断能力是切能力基础理论上也是容易完成比如我们把每个部队和防御物定义其威力强弱以及参战能力.(固定如炮台箭塔参战能力只限于射程所及,移动部队则要有相当程度扩大越远参战能力越小),而后对其进行累加即可以判断其部队军力和分布话虽如此假设个80*60地图就有4800个地形单位上百个兵力单元每单元影响几十到上百地形单位参战能力,这已经需要巨大计算更何况这仅仅是AI因此要解决上述问题必须从控制方式上进行些变化我们考虑真正战争统帅和将领们判断具有相当大概括性和模糊性他们对自己部队指挥对敌方军力判断般是以部队为单位,而指挥模式是种逐级指挥模式.以此为借鉴我们试着解决上面几个AI问题.国产游戏<<赤壁>>创造性地在ATG游戏中引入了将领和阵形概念我们就以<<赤壁>>为例首先我们进步设计AI体系我们把它设计为统帅-->将领-->士兵 3级指挥结构不允许越级指挥区别级别设计区别AI

   先说统帅统帅是进行全局统筹对玩家来说不需要统帅级AI,仅每家电脑对手存在个统帅级AI由于其数量很少因此不必太担心速度问题
   统帅判断能力可以考虑按战区划分战区可以简单地矩形划分全图也可以考虑地形进行划分甚至由设计地图者预先划分完毕如果要较高智能后两种思路方法比较合适但比较难以完成统帅根据各战区敌我势力以及各战区地形联系,或者再加上资源等其他原因判断全局形势判断敌我势力时以部队为单位
统帅不考虑战术配合协作只考虑战略策划由于只指挥十几到 2十几个将官因此可以进行比较全面考虑同时统帅和将官的间可以有通信机制使统帅及时了解些情况变化并视情况作出相应策略变化

再说将领将领是统帅命令执行人当接受统帅命令的后决定部队行军路线、队形变化以及意外情况下应变同时要把些信息如距离远近到达目标地时间发现敌情等反馈给统帅    
战斗时将官应首先建立战场概念先划定块区域以此为基础考虑作战
并在定时间后或定情况下改变战场位置和范围这样可以限制将官考虑战情时计算量
   将领判断能力主要是行军时间受到威胁情况战斗时则是判断战场范围内敌情(以战斗单元为单位)将领战斗指挥主要是决定进攻方向或防御方向如果有可能也可以引入战线概念
   由于将领数目般从十几个到 3 4十个因此将领AI可以略微复杂但不能过于复杂

   最后说士兵士兵数目般上百如何让士兵围绕将领行动可以说是整个设计方案成败关键所在为此必须使部队成为个整体(溃散时例外)
   行军时士兵应根据将领所划出路线以统速度(以部队中最慢单元速度为准)列队行进速度可以考虑采用放慢高速部队办法和让高速部队适当等待办法只有当将官下令战斗时才以各自速度投入战场战斗时区别兵种应有区别规则如步兵和骑兵应冲在第线弓兵则需要在后方放箭另外士兵般不要离开战场
   士兵判断能力则仅限于判定攻击目标价值以及自身安危周围位置安全程度(可以自己判断也可以直接将领判断)

   即使使用了分级指挥体系上述体系首先未解决灵活性问题其次它还必须避免出现过多判断分支因此我们应进步设想用计算来代替判断实际上也就是引入简单神经网络思路方法我们把影响决断各个原因都加以量化而后再加权从而得出总影响值以此为判断依据这样在战斗中不必担心考虑原因过多并且调节权值即可产生区别特点士兵将领甚至统帅

统帅到将领决策可以考虑随机化产生采用高斯随机变量等适当随机数并根据其值进行决策可以在合理基础上引入随机性有助于战斗多样性这里随机数需要大量产生使用C中随机数是不够可以根据时间按键等选定初态而后利用长周期伪随机序列批量产生随机数提供使用

   另外些较难进行或需要计算量较大判断和决定可以适当地模糊化处理统帅战区级判断就是个例子将领战场区域判断如果难以完成也可以分割战场为2x2或3x3小区域进行判断另外还可以用降低判断频率思路方法来减少计算量
   撞车处理上则采取逐级处理方案让路算法在部队级上进行如果部队级无法解决就到统帅级上进行



   假设上述设计均为可行我们就制造了个高智能电脑对手并为玩家配备了群相当灵活将领将玩家从逐个控制士兵劳累中解脱了出来那么玩家在游戏中还剩哪些工作呢?毕竟在即时战略游戏中可玩性才是第

   要使战斗仍保持紧张激烈特点就必须使战斗多样化区别时机在区别方向投入区别兵种部队产生区别结果因此可以考虑使部队状态鲜明并加入新型兵种如步兵就可以分为枪兵(攻击力强)和持盾刀手(防御力强)步降低弓箭手防御力如果产生下面效果估计玩家紧张程度不会有什么降低:
   士气相同等级相同
   个枪兵 vs 个刀手     平 
   15个枪兵 vs 15个刀手   枪兵胜
   15个枪兵 vs  8个刀手7个弓兵(正面作战) 弓兵刀手胜
   15个枪兵 vs  8个刀手7个弓兵(背后伏击)  枪兵胜
另外还可以加入探马(速度极快侦察范围广)增加工兵掘陷阱功能允许击毁鹿砦鹿砦内弓手和鹿砦外弓手互射时受到定防护可以大大提高士气作用给区别将领以区别声望并随着部队战绩变化将领败退时全军士气降低将领被杀则降低更多降低值依据将领声望而定激励只允许用这样可以使玩家注意每场战役胜败

   在计谋方面可以增大火计威力限制其使用地点并和天气联系如分地形为易燃区和不易燃区火向周围扩散概率和风向风力有关甚至于专设火矢兵放火建筑物属易燃地区这样在大风天气放火可能收到奇效

   资源上可以设木材和铁钱为招兵必需物而粮食则起到维持士气作用同时每天消耗粮仓数限制最大存粮数粮食平均储藏在各粮仓的间随粮仓被毁而消失这样使部队必须注意对基地守卫同时也使粮少方不得不迅速追求决战至少电脑统帅如此 

当然上述设想实际实行起来还是有很多困难有些问题更是世界性难题但游戏编制并不等于实际模拟人们可以通过许多理想化和简化办法来绕开障碍

Tags: 

延伸阅读

最新评论

发表评论