ai电脑:电脑AI浅谈

   说到电脑AI(人工智能)就会有人认为它是高深莫测东西其实并没那么复杂电脑AI其实是语句各类型游戏有各类型AIRPG(冒险类)游戏AI最简单只要用产生随机数在对攻击对象取余即可稍微复杂点也只增加了道具、魔法攻击其AI性质都是例如:

attack(((unsigned)biostime*rand)%3);/*电脑攻击*/

这是个虚拟代码省略了我们关心只是它入口我们定义它入口为要攻击对象选择对象使用了随机数和时间共同工作这样敌人就在3个攻击对象中随机地选择攻击对象了
   在这个语句中没有使用选择语句在这个语句中我方3个对象受攻击概率是均等其实我们还可以将电脑AI提高让电脑选择我方最弱对象攻击机率提高改为:

i,leastblood=20000,weakest;/*leastblood存储最弱对象血量(化为个比所有对象可能血量都大值)weakest存储最弱对象代号*/
for(i=0;i<3;i)
{ (blood[i]<leastblood)/*blood为已知我方对象血量*/
  {leastblood=blood;weakest=i;}
}
i=((unsigned)biostime*rand)%4;
switch(i)
{ 0:
  1:i=leastblood;;
  2:i=(leastblood+1)%3;;
  3:i=(leastblood+2)%3;;
}
attack(i);

这样最弱对象受攻击机率就提高到了1/2电脑变聪明了电脑AI设计是不是很简单?其实电脑AI有深有浅这只是个最简单而已要深奥只不过是把制约条件增多罢了
   相对来说RPG游戏AI是最容易设计其次是SLG游戏SLG游戏电脑AI般遵循规则有:最弱对象攻击原则、就近攻击原则、最大攻击力原则在这 3个原则中排在最先是就近攻击原则即电脑对象要攻击则向距离该对象最近(最省MP)对象靠近攻击排在第 2是最弱对象攻击原则在可以攻击到对象中选择最弱对象进行攻击排在第 3是最大攻击力原则如果电脑选中了个攻击目标则会使用电脑对象能使用最大攻击力方式去攻击你可能会问知道电脑如何行动了那玩游戏对电脑行动不是了如指掌了?不我不是说过AI深度和制约条件有关吗?制约电脑行动条件远不止这些如电脑游戏就有种攻击指定目标玩法在这种模式下电脑优先攻击就是你指定保护目标了而且如果加入魔法机制电脑行动就不光是攻击了而且要定义使用魔法条件将更为复杂
   再谈谈影响电脑AI状态游戏脚本游戏脚本就跟乐器演奏乐谱影响着整个游戏进程:在什么时候、什么条件下执行什么动作地图上出现什么消失什么状态(如攻击力、防御力等)改变都要在游戏脚本中详细介绍说明只不过是使用符号化语言而已可以说游戏脚本就是种解释类AI游戏脚本是非常重要RPG游戏不用说RPG游戏几乎是单线式绝对需要脚本支持而在SLG游戏中也是非常重要比如说关设计时我布置了大量强大敌人如果不用脚本加以控制那么敌人将蜂涌而上玩家绝对吃不消而使用脚本控制后每隔定时间后有部分敌人进入搜寻并攻击状态其它敌人仍然在待机状态玩家将敌人部分部分吃掉即不费多大力又有对N成就感娱乐就达到了ACT(动作类游戏)中也要使用脚本控制游戏进程不过这种脚本非常简单只要写明什么地方出现什么敌人什么机关工作就可以了即时战略游戏脚本相对复杂和抽象既然是浅谈这里就不用说了
Tags:  ai电脑高级 ai电脑地图 dota电脑ai ai电脑

延伸阅读

最新评论

发表评论