五千年(敝帚自珍)

主题:初到贵宝地,灌一点游戏开发的东东 -- foundera

共:💬23 🌺4
全看分页树展 · 主题 跟帖
家园 多元化的即时战略AI

多元化的即时战略AI

关于如今即时战略的AI,实在不想多说。如今没有几个不是通过电脑作弊

而完成看似高AI的即时游戏。因为电脑和其操作是一体的。所以自然速度

要快。但是如此就是对玩家不公平。

完成一个高AI,就需要赋予电脑在不同情况下的思考能力。思考的越严密,

仿真程度就越高。而其思考的过程就是分步的判断敌我双方的状态。

举个地形AI的例子:

我们把整个地图根据地形分成若干个区域,分别以不同的字母来标记。如

地图中央有一块易守的高地(攻10防10移3)。设区域为A,A的西北方三

块区域为缓坡,设为B、C、D三个区域,皆为草地(攻6防4移7)。A东南

三块区域为陡坡,设为E、F、G,为石路(攻7防3移8)。

A对其他的区域攻击可以用冲锋、弓箭和落石。冲锋是主动攻击,刨除在

外,单以守来说,对付B、C、D应该用落石,E、F、G用弓箭。如此才能

达到最大的效果。

除此之外还要判断敌人的兵种和速度,来决定进一步的细节战术。

因此在发现敌人后的第一部应该是判断敌人所在的区域,其次是自己的区

域,再后是敌我的兵种。如此一来就能判断最佳的攻击方式。

换低地的攻方,在判断攻取地形标记为A后判断自己的地形,然后决定前

进方式,如果是在缓坡,为了防落石应该采取蛇行前进,而陡坡则应该

突击来减小损失。最后实时检测敌人状态来变换战术。

然后应该加入兵种的判断,以决定最佳的战术。每种兵种应该有自己单

一的AI判定和对付任何兵种时的多种战术。在特殊的地形应该有其独有

的特殊处理AI,如,在一个关口,骑兵可以一夫当关,或是退后诱敌

(须判断自己周围的部队),然后弓箭手配合伏击……

按此方法引深,可以策划出一套极其优秀的战术性AI,但是其缺点是AI

运算取决于机器的速度,如果机器速度慢的话就会在运算时发生停顿。

对于机器配置低的玩家是不公平的,解决办法是尽量优化AI程序。

前面提到了兵种自己单一的AI,这种设置会使整体的战局变得多样。同

时因为,现在许多游戏都是总体AI,例如某士兵发现敌人,于是全军都

知道了。按理说应该是士兵的通报有一定的范围,就象盟军敢死队里一

样,只有离其最近的单位才有可能得知。

因此,玩家的设置应该是可以看得到所有部队,但是只能看到所选部队

势力范围内的敌人。敌人同样如此,一个士兵发现敌人以后,按其兵种

及其位置作出判断,有能力的话,单独进行破坏,不行的话,回去报告

部队。

如此方法,实时地图系统应该取消,代之以势力范围地图,只有自己变

化或己方部队发现敌人变化后,地图才产生变化。

………………

……………………

想来想去,即时战略的AI可以开发的地方实在是太多了……

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河