游戏AI怎么写(一)——高级随机技术

本文探讨游戏AI的高级随机技术,包括施密特触发器与滞后在AI控制中的应用,如何生成更符合需求的高斯随机值,处理随机序列的策略,以及柏林噪声在角色行为、动画等方面的使用。通过这些技术,可以提升游戏AI的智能表现和多样性。
摘要由CSDN通过智能技术生成
写在前面

最近在研究游戏AI,感觉要写一个不傻的AI并没有那么容易,于是开始研究AI到底该怎么写,有没有什么技巧和框架。
发现Web图书:Game AI Pro
刚开始读这一套书,我似乎意识到了把技巧理论化的重要性,我写AI时用瞎搞的逻辑,居然是什么“施密特触发器”“双阈值法滞后”,我决定把这一套书读完。

知识点
1.施密特触发器和滞后

据说双阈值法滞后是保持AI控制系统干脆利落的关键
例:物体A跟随物体B,物体A与物体B的距离超过5米,A就会靠近B,当A与B的距离缩小到2.5米以下的时候,停止跟随。再次超过5米,又会进入跟随状态。

const float SEPARATION_DISTANCE = 2.5f; 
const float APPROACH_DISTANCE = 5.0f; 
if (approach_player == false) {
    
	if (distance > APPROACH_DISTANCE) 
	{
    
		approach_player = true; 
		//动作函数
	} 
} 
else 
{
   
 	if (distance < SEPARATION_DISTANCE)
	{
    
		approach_player = false; 
	} 
}

注:这段是c语言伪代码,本篇博客中其余脚本均为MATLAB

2.高斯随机值

你一定了解过正态分布,在概率论,统计学等诸多学科都有用到
如果不知道: https://zh.wikipedia.org/wiki/正态分布

我们经常用到伪随机数rand(),它可以产生白噪声,是绝对随机的。但这样的随机往往满足不了我们的需求
比如我们以 vec2(0.5,0.5)为中心,产生100个随机坐标

clear;
x=rand(1,100);
y=rand(1,100);
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值