游戏开发论坛

 找回密码
 立即注册
搜索
查看: 13431|回复: 32

[讨论] 模拟野兽类怪物的AI

[复制链接]

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
发表于 2006-10-2 22:56:00 | 显示全部楼层 |阅读模式
1、狼。

特点:凶残谨慎,结群行动。感觉敏锐,善于跟踪目标并伺机突袭。

行为函数:呼唤同伴()、回应同伴()、攻击()、接近()、远离()、保持距离()

实现思想:以数值模拟狼对玩家的恐惧与攻击性(恐惧、饥饿、攻击欲望),控制狼的行为。

AI启动条件:玩家进入其觉察范围(以狼自身坐标为圆心/球心,半径30米范围内)

攻击条件:与玩家实际路径距离小于某值。

伪代码:
start() //仅在AI启动时运行
{
    饥饿=random(50,100)
    恐惧=(玩家等级-自身等级)*(觉察半径/实际距离);
    攻击欲望=饥饿-恐惧;
}
action() //在AI启动后的每一桢执行
{
    if(达到攻击距离)
        攻击();
    if(攻击欲望<T)
    {
        远离();
    }
    elseif(攻击欲望==T)
    {
        保持距离(); 呼唤同伴();
    }
    elseif(攻击欲望>T)
    {
        接近();
    }
    endif
    恐惧=(玩家等级-自身等级)*(觉察半径/实际距离);
    饥饿=饥饿*B; //使饥饿随时间增长
    if(得到同伴回应)
        恐惧=恐惧-C;
    endif
    攻击欲望=饥饿-恐惧;
}

期待效果:调整饥饿乱数及T、A、B、C等参数使狼对不同等级的玩家表现出相应合适的行为。

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-2 22:57:00 | 显示全部楼层

Re:模拟野兽类怪物的AI

暂时先想到这些。

71

主题

399

帖子

405

积分

中级会员

Rank: 3Rank: 3

积分
405
发表于 2006-10-2 23:32:00 | 显示全部楼层

Re:模拟野兽类怪物的AI

  这只是简单的状态机。

10

主题

73

帖子

75

积分

注册会员

Rank: 2

积分
75
发表于 2006-10-2 23:52:00 | 显示全部楼层

Re:模拟野兽类怪物的AI

AI想法不错,可以设计上太欠缺了.
如果用穷举法做AI,就太局限,太死板了.
开头的随机值可以用,但后面,程序员往往会写一段模糊匹配的代码,在一定误差内都认可,然后用事件触发模型,而不是去列举.
比如,有些特性只有在被攻击时才会表现出来.你一次列举,比较浪费.

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-3 00:15:00 | 显示全部楼层

Re:模拟野兽类怪物的AI

这里用不上多复杂的模式匹配吧?
而且模式匹配很占计算时间的.我以前写AICODE机器人的瞄准程序时用过,很容易超时的说.不过说到底模式匹配也是状态机的一种.

这个伪代码写得很粗略.主要是希望通过使"饥饿"和"恐惧"2个值按等级差及乱数得到一个初始值,并随时间以不同的速度衰减,以得到一个比较接近自然的攻击行为.

10

主题

73

帖子

75

积分

注册会员

Rank: 2

积分
75
发表于 2006-10-3 12:06:00 | 显示全部楼层

Re: 模拟野兽类怪物的AI

呵呵 ,看清除哦,我写的是"模糊匹配",是允许误差的一种匹配
你说的模式匹配,的确是状态机,而且是典型的状态机?
不过状态机是专家爷们,为了在目前状态下解决人工智能琢磨出来的替代法子.
真正的人脑不是用状态机去执行问题,是流水管线.数以千万计的流水线+神经元中介网络.PC机上模拟人脑是没希望了.期待AI芯片和专用的AI机吧

当然,只是简单模拟一下AI,没必要那么复杂不是.

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-3 12:54:00 | 显示全部楼层

Re: Re: 模拟野兽类怪物的AI

ouyangsiyi: Re: 模拟野兽类怪物的AI

呵呵 ,看清除哦,我写的是"模糊匹配",是允许误差的一种匹配
你说的模式匹配,的确是状态机,而且是...

模式匹配在AI领域中主要用来预测目标状态的发展趋势,前提是假设目标状态的变化是有一定规律的,是对历史的重复.模式匹配包含你说的"模糊匹配".实现起来比较复杂,主要涉及到状态特征的提取和相似度的计算.

比如在AI-CODE的瞄准程序中,主要通过记录每一桢中的敌我距离,以及到目标的速度(速率,方向)一类运动参数来得到一条历史曲线.然后根据当前一段时间内目标的运动状态曲线在历史曲线中搜索对比,找到最为相似的一段,那么可以推测目标下一段时间内的运动状态曲线就是历史记录中最相似段的下一段曲线.

模式匹配在格斗游戏和RTS中应该用的比较多.

23

主题

3388

帖子

6440

积分

论坛元老

Rank: 8Rank: 8

积分
6440
 楼主| 发表于 2006-10-3 13:18:00 | 显示全部楼层

Re:模拟野兽类怪物的AI

真正的人脑不是用状态机去执行问题,是流水管线.数以千万计的流水线+神经元中介网络.PC机上模拟人脑是没希望了.期待AI芯片和专用的AI机吧
——————————————————————————————————————————
人脑是不是状态机,目前AI界还存在较多争论。控制派认为人脑就是状态机,只不过状态组合数非常大;连接派(或仿生派,结构模拟等)与你的观点类似;符号派(或逻辑派)则认为人的智能来源于知识和逻辑,实现上多采用符号推演的方式,从宏观上(心理模型)模拟人脑的一些功能。

其实在游戏中用一点神经网络的东西也不错——推荐你玩一个叫Bug Brain的游戏,很有趣。

135

主题

3447

帖子

3800

积分

论坛元老

总版主

Rank: 8Rank: 8

积分
3800
QQ
发表于 2006-10-3 13:42:00 | 显示全部楼层

Re:模拟野兽类怪物的AI

我觉得充分考虑Server承载方面的性价比还是必要的:)

433

主题

4233

帖子

4403

积分

论坛元老

Rank: 8Rank: 8

积分
4403
发表于 2006-10-3 14:08:00 | 显示全部楼层

Re: Re:模拟野兽类怪物的AI

yii: Re:模拟野兽类怪物的AI

我觉得充分考虑Server承载方面的性价比还是必要的:)


同意你的观点,除此外,游戏AI的设计还是考虑实用性和产品需求及是否能做出,不一定要太噱头
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-8 08:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表