中易网

如何学习写游戏AI

答案:1  悬赏:40  
解决时间 2021-01-15 14:56
  • 提问者网友:轻浮
  • 2021-01-14 17:00
如何学习写游戏AI
最佳答案
  • 二级知识专家网友:山河有幸埋战骨
  • 2021-01-14 17:23
现代电脑游戏简介
电子游戏从1971年诞生以来,越来越受到人们的喜爱。随着现代计算机、网络、虚拟现实、人工智能等技术的发展,游戏的拟人化越来越逼真。高度的拟人化使得现代电脑游戏能够模仿人类社会中的各种情形,并把这些情形通过视觉、听觉、甚至触觉等多种感官反映到人的大脑,从而对人们的现实生活产生巨大冲击。基于游戏中的这些反映人类社会的情形不同和游戏表示的方式不同,可以把电子游戏分为几大类别:纵向卷轴和横向卷轴类、棋牌逻辑类、文字冒险类、图形冒险类、模拟类、战略类、第一或第三人称射击类和角色扮演类。
无论游戏属于何种类别,游戏玩家都希望在游戏中能够体验到现实中无法体验到的刺激,得到现实中无法得到的满足。这些刺激和满足主要表现在特定的挑战、社会化、吹嘘与幻想、情感等方面。实际上,大部分的玩家并不能预先知道他们想要什么样的游戏,但是他们往往在看到了一个精美的游戏后说,“嗯,我要的就是这个!”
要使得玩家喜欢游戏,游戏的开发过程必须得到重视。一般来说,游戏的开发过程主要分为四个阶段:构想阶段、总体设计阶段、细节设计阶段和建设阶段。[1]
万事开头难,构想阶段是游戏开发中最为重要的阶段。一个好的游戏背景故事是整个游戏成功的一半。在准备好游戏故事之后,就需要考虑游戏采用何种游戏类型,并把游戏故事分割成幕(Act),改编为游戏剧本(Gameplay)。
在总体设计阶段,要考虑每个幕中的角色和规则,同时也要考虑相关的技术问题。比如,游戏将采用何种技术、准备运行在什么上等。
在细节设计阶段,要对每一幕中的焦点(Focus)进行设计,对每一幕的效果产生效果图,选择合适的音乐匹配到各个场景,设计各个角色和场景的细节。
最后是建设阶段。开发者要采用选定的技术对游戏进行开发。游戏制作包括编程和触发器的制作。最后要进行游戏测试。2. 基于电脑游戏的图灵实验
人们在娱乐电脑游戏的时候,往往希望游戏中的其他角色能够拥有某些程度上的智能。这些智能可以使得人们能够在游戏的同时得到满足。然而,这种智能必须得到控制。如果游戏中的机器角色的智能明显高于玩家的能力,使得玩家对胜利丧失信心,那么玩家会放弃这样的游戏。所以,人工愚蠢(Artificial Stupidity)技术也是必不可少的。在游戏中,太强或太弱的人工智能都是不合适的。
那何种程度的人工智能才是合适的呢?回答这个问题首先要考虑怎样的机器可以算作智能机器。图灵曾经提出了“图灵实验”的概念。他认为能够通过图灵实验的机器是具有智能的。其实,在游戏中也是一样的。“图灵实验”在游戏中可以这样描述:当玩家和其他玩家同诸多机器在同时游戏时,如果这个玩家通过游戏规则中的任何方式都无法分辨游戏中的其他角色哪个是其他玩家,哪个是机器的线程,那么我们可以说这个游戏通过了“游戏中的图灵测试”。[2]一般来说,通过了“游戏中的图灵测试”的游戏是最适合玩家娱乐的。3. 游戏中的人工智能技术
人工智能在游戏中的目标主要有五个:一是为玩家提供适合的挑战;二是使玩家处于亢奋状态;三是提供不可预知性结果;四是帮助完成游戏的故事情节;五是创造一个生动的世界。这个生动的世界可以是类似现实生活中的世界,也可以是与现实世界完全不同的世界。但不管何种世界都要求有一整套能够自圆其说的游戏规则。
在游戏制作过程中,实现人工智能的关键主要有:虚拟现实与拟人化、动画效果与机器角色场景感知[3]、机器角色的机器学习和进化、玩家与机器角色之间的平衡性、人工愚蠢技术、确定性人工智能技术与非确定性人工智能技术的互补。
游戏中的人工智能的主要技术主要有:有限状态自动机(Finite State Machines)、模糊逻辑(Fuzzy Logic)、A*算法与有效寻径(A* Algorithm for Efficient Pathfinding)、脚本设计(Scripting)、基于规则的人工智能和系统(Rules-based AI and Systems)、人工生命(Artificial life)、贝叶斯推论(Bayesian Inference)和非确定性贝叶斯网络(Bayesian Networks for Uncertainty Decisions)、神经网络(Neural Networks)和遗传算法(Genetic Algorithms)等。4. 目前的局限与前景展望
就目前来说,技术上的困难主要来源于两个方面:一是游戏中的非确定状态实在太多;二是现有的硬件和计算机网络对于高级人工智能还说,速度还达不到要求。[4]
目前要解决这些困难,在技术上来说还是不成熟的。对于数量极多的非确定状态来说,尽可能地提高硬件和计算机网络的速度,可能是一个解决方法。但是要提高硬件和计算机网络的速度也并非易事。这可能要等到全息光学计算机和光互联网诞生之后才能彻底解决。但目前有效的办法是提高的执行速度。比如使用更有效的算法或神经网络等新技术。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息