用于游戏中不同性格怪物移动表现AI演示

来源:互联网 发布:2017网络实名制 编辑:程序博客网 时间:2024/05/16 08:48
一个程序功能或算法的实现很多都可以说是一个分类方案的应用。
在很多arpg游戏中都有一些不同"性格"的怪物,当玩家接触它们的时候它们
会有不同的表现。
有些怪物你接近它,攻击它,他都没反应,这里将这类怪物称之为蒙昧型的。
有些怪物你接近它,他会逃跑,这里将这类称为但小型的。
有些怪物你接近它,他可能主动进攻你,进攻一下又会逃跑,这样反反复复,这类就称之为狡猾型的。
有些怪物你接近它,他会对你穷追不舍,这类这里称之为凶恶型的。
上面所述的四种类型在视觉表现上首先表现为位置的移动变化。这个演示中就来演示控制这些
变化的AI。

上面说实现方案,是一个分类方案的应用。
程序功能很多实现都使用了树状的逻辑结构
首先将怪物所处的环境分为三类: 安全、捕掠、危险
这里按照圆域来计算。以怪物自身为中心画圆,第一个圆内的区域成为危险区域,再画一个半径更大的圆,在这个园

内的区域是捕掠区域,在捕掠区域以外是安全区域。怪物自身通过检测有危险的物体是处于自己的那个区域来判定自

身当前的环境是安全状态是捕掠状态还是危险状态。如果是安全状态既可以什么也不做保持原来的行为方式,如果是
捕掠状态则看看是否是要追击,如果是危险状态则看看是要追击还是要逃跑。
追击或者逃跑或者随意的乱走都是移动状态,所以这里将移动状态也划分为这几类:
静止、随意游走、追击、逃跑。

每一种类型的怪物能"感受"到的环境是不一样的,有的永远感觉到是安全的,有的只能感觉到安全和危险,等等
而每一种环境状态下,不同的怪物会有不同的移动行为表现,例如危险环境下,有的会逃跑,有的会追击,有的
若无其事。

以上所述环境状态和移动状态的不同组合,就模拟了不同类型的行为表现。

这个示例中,深灰色的表示蒙昧型的,绿色的表示胆小型的,紫色的表示狡猾型的,红色表示凶狠型的,请见示例(点击画面可增加更多移动单位):

点击打开链接

原创粉丝点击