浅析计算机游戏软件中人工智能技术的应用
2020-11-09孙力
摘要:不可否认我国近年来计算机软件与硬件系统得到快速发展,其在游戏画面设计方面也注重引入虚拟现实以及3D图形技术等,一定程度上可与电影画面表现力相媲美。然而实际进行游戏软件开发过程中,仍缺少配套的理论指导,即使许多人工智能技术开始应用于设计环节中,但多局限在设计人员自身主观经验方面,游戏中所表现的人工智能极为落后。本文主要从游戏引擎、角色运动以及路径规划等方面,对人工智能技术的应用进行探析。
关键词:人工智能技术;游戏软件;应用
随着计算机技术的快速发展,对游戏软件的设计也提出更高的要求。以人工智能技术为典型代表,是近年来游戏软件开发应用的主要技术之一,能够满足实时特性要求,为游戏玩家带来更丰富的体验。对此,在游戏软件设计中,如何发挥人工智能技术的作用,成为现行游戏软件开发需关注的重要内容。
一、人工智能技术在游戏引擎中的体现
在用户对计算机游戏需求不断提高的背景下,为游戏程序设计带来极大的难题,如3D游戏在游戏画面表现力提高方面,需注重3D图形技术的应用,而设计中除考虑美术设计内容外许多游戏逻辑环节中也要求引入較多的数据,无论在数据处理或整合等各方面都面临极大的挑战,由此,便产生游戏引擎的概念,其要求采用分层次的设计方式,一定程度对人工智能技术的应用进行明确。具体应用中,游戏引擎结构主要可细化为三方面,即:第一,高层接口。该接口设计中,主要考虑人工智能算法作用的发挥,程序设计人员可通过调用接口对游戏角色的战术活动、攻击活动等进行操作,其中人工智能算法的作用主要体现在对中层接口的调用方面。第二,中层接口。该接口的设计主要结合低层接口中相关的动画控制或运动控制等功能,确保游戏角色可进行难度较高的行为动作。第三,低层接口。该接口的作用在于控制角色的动画与基本动作,并提供物理计算与3D渲染等功能,但需注意其功能仅设定在控制角色朝向或位置方面,许多高层次运动、行为如速度等,主要由中层接口完成[1]。
二、人工智能技术在角色运动中的应用
对游戏中角色的运动,主要考虑到位置与朝向两方面属性,而在角色类型上,又可细化为如动物或人类等自由运动角色,以及依托于转向力实现运动的,如飞机或汽车等角色。其中人工智能技术的应用首先体现在随机运动方面,以往游戏设计中,进行角色移动的控制主要利用随机数,角色的运动不具备较强的稳定性与一致性,对此利用人工智能技术完成随机移动的设计:①对角色转向力利用噪声函数进行计算;②将可作为转向力的变量融入随机函数中,确保左右运动尽可能保持一致性;③记录运动的路线与实际位置,确保再次运动中不会重复之前的路线;④通过投射目标点的方式,使角色向该目标点前进。其次,从躲避障碍物角度。由于游戏中的角色往往受自身机动性限制,即使应用相关的模型算法也难以防止碰撞问题的产生,对此可引入传感器进行障碍物的判断,但通常障碍物形状过于复杂的情况下单纯利用传感器难以有效解决碰撞问题。这种情况下便需进行游戏物体的区分,判断其是否为动态或静态等。其中动态物体多指为处于移动状态的角色或道具,可被称为碰撞圆柱体,而静态物体一般体现在游戏场景中的如墙壁或房间等物体,可引入相应的寻路算法判断物体移动路径。除此之外,人工智能技术在角色运动方面也表现在如模式运动或群聚行为等方面,往往引入一定的算法如追踪算法、测试框算法以及Boid算法等确保角色运动的设计更为合理[2]。
三、人工智能技术在路径规划中的应用
路径规划中,通常需应用全局或局部两种寻路的方式。其中全局方式主要指一次性完成目的地路径的计算,多适用于战略游戏中,而局部方式则主要以周边环境变化特征为依据进行方向的确定,在动作游戏中的体现较为明显。在确定路径规划寻路方式的基础上还需构建相应的搜索空间,其主要指对路径相关属性,如路边或路点等进行分析。不难发现大多三维游戏中所体现的场景多以三维形式存在,但场景中本身存在模拟重力,场景实质为二维图,如其中的运动方式包括飞行、跳跃等都将二维图作为基础。因此搜索空间的构建需以二维平面投影为基础。具体构建中,人工智能技术的应用多体现在空间划分、导航网络以及指出路点位置等方面。实际路径规划中,无论选择哪种寻路方式都可能因场景中角色过多或画面复杂等出现资源过载情况,需利用人工智能技术进行路径规划的优化,具体方法包括:第一,对最短路径进行计算。可在游戏软件运行中不再拘泥于查查路径方面,而通过路径查找表的描述寻找最短路径。第二,对路径代价的计算,其主要判定路点之间运动最小的代价,可直接通过交叉索引对代价进行分析,第三,采用分层次的方式。游戏软件设计中对于搜索空间图可进行不同级别的构建,在完成路径计算的基础上使搜索空间更为细致,保证路径计算更为准确。这样在完成路径规划优化的条件下,才可使游戏软件路径规划更加合理[3]。
结论:游戏软件中,引入人工智能技术是使游戏动画效果提高的重要途径。实际应用中除文中提及的游戏引擎、角色运动以及路径规划等方面内容外,人工智能技术的应用也表现在逻辑控制以及脚本系统设计等方面,只有游戏软件设计中发挥人工智能技术优势的情况下,才可解决以往游戏中存在的动画表现力不强以及系统资源过载等问题。
参考文献:
[1] 杨易东.人工智能技术在计算机游戏软件中的应用[J].通讯世界. 2015(16).
[2] 葛玮,吴佳.计算机游戏中的人工智能技术[J].电子技术与软件工程. 2014(10).
[3] 刘伟,王目宣.浅谈人工智能与游戏思维[J].科学与社会. 2016(03).
作者简介:
孙力(1980—),男,汉族,黑龙江齐齐哈尔人,吉林大学软件工程硕士,哈尔滨信息工程学院软件学院软件工程专业教师,研究方向:游戏开发、虚拟、增强、混合现实应用开发。