您的当前位置:首页人工智能设计在游戏中的应用

人工智能设计在游戏中的应用

2024-12-13 来源:哗拓教育

本文源自 学翼启 微信公众号 转载请注明出处

我们玩游戏,主要是为了得到一种放松、一种享受、以及在现实生活中无法得到的一种快感。这需要游戏能制作得符合玩家的口味,游戏的主题能够吸引玩家深入,游戏的规则和结果能够使得玩家满意。而在这一切中,人工智能技术扮演了相当重要的角色。

人工智能已经逐步进入到我们的生活,而在游戏中,人工智能技术又是如何得到应用的呢?本期我们就一起来聊聊关于游戏中人工智能的设计方法。

一、游戏中的人工智能

●人工智能定义的不同标准

●人工智能在游戏业的现状

●游戏人工智能的设计目的

1、人工智能定义的不同标准

学术界对AI的研究,注重的是内部机制。因为学术研究的目的是事物内部运行机制,不断地改进算法,使得内部结构趋于合理。

游戏AI基本是AI学术研究的第4个研究方向,即理性行为领域。

2、人工智能在游戏业的现状

近几年游戏AI的发展迅速。在1997年还只有24%的制作组里有专职的AI程序员,而到了2000年,约有80%的制作组都有1名以上的专职AI程序员。

3、游戏人工智能的设计目的

二、人工智能设计

1、有限状态设计

●有限状态设计(Finite State Machine,缩写为FSM)是具有一定数量的状态和状态转换的计算机模型。

●有限状态设计是游戏业所使用最普遍的技术,多用于动作、冒险、角色扮演类等第三人游戏。

2、模糊状态设计

FSM虽然有很多优点,但它有个致命的弱点:只能处理确定性的情况。使用FSM建立的NPC的行为系统过于规范,很容易被玩家识破。于是人们想到了是否能把不确定性引入NPC的行为系统中。于是另一种方法应运而生,这就是模糊状态机(Fuzzy

State Machine,缩写为FuSM)。

FuSM的基本思想就是在FSM基础上引入不确定性。

3、可拓展性AI

可扩展性AI的鼻祖是QuakeC。它是由PC游戏业里最有名的程序员John

Carmack设计的一种脚本语言工具,几年前随着《Quake》游戏一同推出。

以脚本语言工具为代表的可扩展性AI技术,最大局限性是玩家需要有一定的编程能力。

●AI编程工具●AI技术专题

(1)AI编程工具

法国MASA公司的DirectIA是一个基于代理技术的SDK。这套SDK可以用来生成自主代理或自主代理群体,从而使游戏中的角色具有一定的自主学习性和适应性,使它们可以具有感知能力和反应能力。

另外一个很有名的产品就是Motion Factory公司的Motivate。这是一个从机器人技术和实时控制技术的研究成果中转化来的AI

SDK。

(2) AI技术专题

●《半条命》中的AI技术应用层出不穷。

●《The Sims》中采用的面向对象技术。

三、玩家与AI之间的关系

●玩家和AI是否需要同样对待

▶玩家和游戏AI之间天生处于不平等地位。

●是否需要绝对的真实

▶如果游戏NPC足够聪明,他当然能够意识到自己没有机会战胜玩家,他就应该把自己锁在安全的坑道,不主动打开门而悄悄的进行埋伏,这样的做法无疑是最明智的。

▶如果玩家控制的角色在游戏中受到的伤害达到一定程度,玩家一定会让角色逃离战场或者试图进行恢复,如果NPC这么做,那么玩家就不得不进行追杀,玩家杀死他就十分困难。这种结果就使得游戏要么像一个埋伏式的较量,要么像比赛追逐的游戏,两种情况无疑都比较无聊。

四、人工智能的编写

【案例】

人工智能文档的编写过程

首先定义一个NPC的行动范围,包括如下4种:

视野范围

说明:是指NPC发现目标的有效警戒范围,是一个由视野半径形成的圆形区域。

逃跑范围

说明:是指NPC脱离目标的有效移动范围,是一个以逃跑半径形成的圆形区域。

远战攻击范围

说明: 是指允许NPC发动远战攻击的范围,是一个以远战攻击距离为半径的圆形区域。

近战攻击范围

说明:是指允许NPC发动近战攻击的范围,是一个以近战攻击距离为半径的圆形区域。

▶NPC视野AI流程图

▶NPC技能AI流程图

▶NPC数据表

小结:

一款电子游戏中人工智能设计的好坏会直接影响到游戏的可玩性。如何在现有技术水平的基础上加入更多、更新颖的人工智能是摆在电子游戏设计人员面前的又一课题,只有真正理解人工智能与玩家之间的关系,在游戏中充分考虑玩家的需求,才能最终设计出被玩家接受的优秀的游戏产品。

显示全文