人气 168

[教程]寻找属于你的对手,GM简单AI设计(ARPG篇)转Gameaker小教程 ... [复制链接]

九艺网 2017-4-25 08:54:27

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x


对于一个游戏而言,我们需要的游戏对手当然是越来越强,在人与人对战的游戏中,这方面倒是无须多做(所以制作对战游戏为何来的更快),但是在人与电脑的对站立,我们则需要设计一个拥有活性思维的电脑对手,而不是一个让我们活活虐待的靶子,所以,对于我们制作游戏来说,则不得不考虑这个问题,久而久之,也就形成了我们所说的人工智能——AI (Adequate Intake)。

    游戏的AI设计,一般来说对于游戏的类型也有不同的分类,( ACT - AVG - RPG - STG - ARPG - SLG - RTS - FTG等..),其中AVG、RPG、STG相信我们大部分的爱好者能轻松完全掌握,并且能设定出优良的AI,但是从ARPG开始,我们可爱的怪物们,将逐渐拥有拟人的AI,如集合,偷袭,逃跑,寻找同伴,破招,收招等,这一类AI,设计起来,对于我们刚入手的gm爱好者来说,则会有一定的难度了。

    那么,我们就这样止步不前了吗?其实不然,GM的强大功能,让我们制作这些AI也是毫不费力,那么,今天我们就来做一个拥有连环动作的AI吧。开始我们自然需要设计一个对象,暂且就叫他obj_Mon,我们接下来,将会赋予它智慧,它在我们的程序下,会变得像一个胆小的地精;目前这个AI的执行效果大概为:

1、当它在直径200范围发现了玩家,则会采取进攻,当然他附近50范围内的同伴,也会同他一起进攻;
2、内当它在和玩家搏斗的时候,在HP少于30%的时候,则会判定附近的同伴是否大于2(包括自己),如果只剩自己则会逃跑;
3、逃跑的路线,如果附近375范围内拥有同伴,则会跑向同伴,移动速度只有之前的70%,并且发出呼救;
4、逃跑的路线,如果附近375范围内没有同伴,则会随机选择一个路线逃跑,移动速度只有之前的40%(绝望囧)。

    看起来这个AI,是不是感觉很麻烦呢?其实这套AI,在很多游戏里,都得到了广泛的应用,我们现在就来完成它的设计:

    首先,obj_Mon就是怪物啦,他负责接收任何Ai信号,当然如果很多对象需要用到这个AI的时候,我们不妨做脚本让他作为一个模块,这里我们主要讲述的是如何制作AI,所以这步就略过哦(偷笑...),我们现在来设定一些需要用上的变量:

1、攻击力 atk
2、体力 HP
3、移动速度 Spd
4、攻击检测范围 Chg_rog
5、寻找友军范围 Fnd_rog
6、逃跑血量 EscapeHP
7、助攻范围 Alies_rog
8、攻击范围 Atk_rog
9、攻击速度 ASpd
10、是否已经开始进攻 Battle
11、攻击目标的ID
12、追击范围bra_rog  

设定好以上的参数以后,我们就可以开始设计程序,可以把这些语句写在step里,这样就可以随时检测到游戏的数据,当然,有的朋友也希望在一个固定的时间扫描一次,我们就可以使用到alarm定时器啦,这里我们采用的是即时扫描。

在step里,我们的程序将分为这2个判断组:

//进攻判断

(程序见源程序)

//逃跑判断

(程序见源程序)


这样再加上一些其他的参数,我们就能完整的设定好这个AI了哦

    以上便是这一期的内容,以后也将不定期做出其他AI的制作,非常感谢大家的支持。

---------------------------------

注: 文章的对象例子里不明白的,请参考范尼斯的心nearest。

gm原程序下载地址:

http://d.namipan.com/d/a81afea6c ... faa83d31eff8d020300

---------------------------------
简单看看,感觉也许对新人有点价值吧,至少新人知道有哪些条目可以用
回复

使用道具 举报

zmklopiu 2017-4-25 09:13:34
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|小黑屋|九艺游戏动画论坛 ( 津ICP备2022000452号-1 )

GMT+8, 2024-4-20 03:03 , Processed in 0.147911 second(s), 23 queries .

Powered by Discuz! X3.4  © 2001-2017 Discuz Team.