当前课程知识点:游戏与电竞概论 > 第三章 游戏工程与技术 > 3.3 人工智能在游戏中的应用 > 3.3.5 游戏与AI
同学们好
那今天我们继续跟同学探讨一下
人工智能与游戏设计
最核心的部分
游戏与AI
那么之前也介绍过
其实 在我们的游戏当中
充斥着大量的AI的算法
但是应该这么理解
游戏AI是属于弱AI的范畴
因为我们现在的电子游戏
大部分还是通过游戏的平台去玩的
那么里边的很多只是
在控制游戏的相关的
一些内容的时候用到了AI
所以呢游戏AI相对来说比较简单
而且技术现在用起来也比较成熟
但是呢 游戏AI的定义
也是非常的广泛和灵活的
我们可这样理解
但凡是能够产生适当水平的智能
从而让游戏更加逼真
有挑战性
我们就称为游戏的AI
一般来说的话
在游戏中
计算机控制的非NPC
非玩家角色
能够模拟人类思考
那么这个我们也称为叫AI
表现出一定智能行为
实际上在游戏当中
我们经常会跟游戏进行博弈
这有点像人机对战
跟下象棋其实原理是一样的
跟刚才讲了
这个AlphaGo跟
我们柯洁进行
围棋大战跟李世石进行围棋大战的形式是一样的
实际上我们在玩游戏的时候感觉
这个游戏就是个课题
它跟我在一起进行对弈
而这个对弈当中好像它有
很多拟人似的东西
譬如说在这个地方突然
就出现NPC
这个时候我出这招
它能够用这招化解我
好像它能懂我或者能够
猜透我的一些行为
好像它会思考
而这个是人工智能
给游戏带来了无穷的魅力
那么我们可以稍微细分一下
游戏的人工智能的一些模式吧
那么大体呢
我们可以归纳为以下四个方面
第一个方面
以规则为基础的游戏人工智能
一般来说我们游戏肯定有游戏的规则
而规则就是我们游戏的一个边界
这个时候 一旦玩家犯规了
那么计算机会做出自动的判断
说玩家犯规了
这个监测过程
其实也是人工智能的一个使用的范围
另外一个
第二个就是以目标为基础
什么意思呢
就是说我们游戏要完成特定的任务
那在我完成游戏特定任务当中
我要检测玩家是否完成任务
或者是NPC能达到某些目的
而这个往往是以
目标为基础而设定我的游戏人工AI
游戏的人工智能
那么还有以代理人为基础
什么叫代理人呢
举个很简单的例子
就是说我们在游戏当中
很多操作是自动进行的
而这种称作代理人
就好像 游戏外挂
它也能够像模拟玩家去玩游戏
其实这个也是人工智能的使用
另外就是人工生命为基础
就是像我们游戏当中的这个NPC
它是有思考的
而且甚至有像人一样的一个行为的
那么这个也是游戏AI
带给我们的一些模式
那具体的有哪些技术和算法呢
大致我们可以跟同学介绍一下
有以下一些
当然有些技术它是组合在一起
譬如说 第一个
有限状态机
有限状态机简称FSM
它是计算机游戏当中
最普遍的一种人工智能的模式
其实在我们游戏当中
经常会有改变着这个游戏的状态
而不同的状态之间进行转换
这个其实我们就称为状态机了
就好比我们最经典的这个
Pac-Man吃豆人
在这个游戏当中呢
大家都玩过
很简单
就是Pac-Man要吃满这个豆子
而且要躲避这些Ghost
Ghos
刚开始Ghost在中间的
那么这个就是个主状态
就是这个Ghost的目标这个NPC
这些Ghost就要追我这个吃豆人
那这个吃豆人同时要躲闪
而且要吃豆子
但是呢我们有个例外
就是如果豆子能吃到了
这一个金球的话
那么这些Ghost就会怎么样
这些Ghost就会被冻结
而这时候吃豆人就会吃这些Ghost
这个时候这个游戏的状态就发生变化
而当这个金球的
解药被解除之后呢
怎么样呢
那么这些Ghost
又是能够运动了
或者是这个时候如果我们
被解冻的时候
这个Pac-Man
吃掉这些GhostGhost就会死掉
而死掉之后会怎样呢
回到了这个开发区
回到原来的这个区域进行复活
那么这个过程当中
就产生游戏当中的
各种各样的状态在变化
那这个我们称为有限状态机
另外一个就是模糊逻辑
模糊逻辑就是模仿
人脑的不确定性的判断
或推理思维的过程
我们称为模糊逻辑
其实就好像我们的很多
游戏是有不确定性的
其实不确定性是怎么来的
像我们扔骰子
那么在游戏当中
我们更多时候是随机行为
就是譬如说我们这个敌人开枪
它不会按既定的时间和地点开枪
它会随机开枪
而在这里我们只要设定一个随机的函数
就会让这个玩家NPC
能够发射不同的子弹
而这个就是
这个时候对玩家来说
就感觉到这个NPC怎么这么厉害
冷不登就发射还会放个炸弹
其实这个就是模糊逻辑起到了作用
另外一个是决策树
决策树一般都是从上而下来生成的
就像一个什么
就像一个树状的结构
那当在游戏
我们推进游戏剧情的时候
会进行多路的分支
就像是我们编程序IF-THEN
如果
那么能满足一定条件
就往这条路去走
如果满足这个条件就往这条路走
而这个过程当中
我们就会让游戏出现了什么
分支
预测和变化
那么这里游戏还可以
根据玩家的行为和输入
提供不同的剧情和不同的玩法
而这个往往是在游戏内核当中
有一个决策树
这个决策树给到了判断
这个就是我们多路分支判断
称为决策树
那还有一个就是遗传算法
遗传算法是特别近几年
发展起来一种崭新的全局优化的算法
它就是模仿人的这个遗传
就是我们自然的选择
遗传 变异的机制
实现个体的适应性的提高
那么实际上在这里
就类似我们仿生的一个方法
当然在游戏当中
也会经常用到
譬如说我们一些敌人的派生
那种关系根据这一个游戏的状态
而产生派生不一样的属性
这也是有的
那么还有像
还有一定方面就是神经网络
神经网络
这个也是类似于仿生的一种算法
其实我们想想我们的神经
神经呢我们有人说有神经细胞
那神经细胞里面最关键有什么
有一个树突
那还有这个轴突
那么当这个树突
有达到一定感知量之后
它形成一个脉冲通过轴突传导到
这个细胞体里边
那么每一个细胞
形成就是每一个传感
这个节点了
只要有一部分树突感受到
一定强度就把整个反馈到中枢
大脑中枢
这是我们人的
神经系统的基本的原理
那么这个时候
我就模拟这个人的神经系统的
这样一个机制 设计
那么通过大量的
这个节点之间相互的关系
如果节点间收集的信息
达到一定的阈值之后
就会做出反应的一个过程
其实在这里一些复杂的游戏
往往用到神经网络那些算法
其实神经网络算法也是现在
这个人工智能的
核心的一个算法
还有就是像
状态空间法 A乘算法
那么有了很多的这些
人工智能的技术
投入到游戏当中
游戏会用大量的算法
那么在下一节课
老师跟大家分享一下
几个重要的游戏算法
-1.1 什么是游戏,什么是电子游戏
--讨论:游戏的意义
--本节测试
-1.2 游戏的平台
--本节测试
-1.3 游戏的类型
--本节测试
-1.4 中国游戏产业的发展现状
--本节测试
-2.1 游戏机制与设计要素
--讨论:游戏的死角
--本节测试
-2.2 游戏策划
--本节测试
-2.3 游戏美术
--讨论:游戏美术
--本节测试
-2.4 游戏程序
--本节测试
-2.5 游戏音乐
--本节测试
-2.6 关卡设计
--实践:关卡设计
--本节测试
-2.7 游戏故事与剧本
--本节测试
-2.8 如何快速撰写游戏文档
--大作业:撰写1页文档和10页文档
-实践作业:Paper Design
-3.1 游戏项目开发流程
--本节测试
-3.2 游戏的数学与物理
--本节测试
-3.3 人工智能在游戏中的应用
--本节测试
-4.1 电子竞技发展沿革
--本节测试
-4.2 电子竞技俱乐部
--本章测试
-4.3 电子竞技赛事
--本节测试
-5.1 电子竞技与媒体
--本节测试
-5.2 电子竞技与其他产业
--讨论:电子竞技+
--本节测试
-5.3 电子竞技产生链
--本节测试
-5.4 电子竞技的主要岗位
--本节测试