游戏 AI
本专栏主要目的是观摩和总结一下大牛们的思想和操作
甩一甩SAMA
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【游戏 AI】10 - 转向行为 I
本文描述的转向行为概念是在前一节运动学算法的基础上扩展增加了速度和旋转,在某些类型中,比如驾驶游戏,转向行为占主导地位;在其他类型的游戏中,它们更依赖于具体游戏内容:有些角色可能需要它们,有些角色则不需要。现有的各种转向行为算法,命名往往含糊不清或互相冲突。随着这一领域的发展,还没有出现明确的命名方案来区分单个原子转向行为和将多个原子转向行为结合在一起的复合行为。在这本文中,我将区分这两种行为:基本行为和由基本行为组成的复合行为。虽然在各种论文和代码样本中有大量的转向行为命名,但其中大多是一个或两个主题原创 2020-10-09 22:59:28 · 983 阅读 · 0 评论 -
【游戏 AI】9 - 运动学移动算法
如上一篇文章所说的,移动算法通常分为两大类:运动学移动算法 和 动态移动算法。这篇文章主要介绍运动学移动算法,相比较而言,运动学移动算法虽然更简单,但却十分实用。运动学移动算法输入是静态数据(位置和方向,没有速度),输出是所需的速度。输出通常只是一个开或关、或者是目标方向、以全速移动、静止。运动学算法不使用加速度,尽管速度的突然变化可能被平滑在几个帧。许多游戏甚至将事情简化得更简单:它强迫角色的方向与它所行进的方向一致;如果角色是静止的,它要么面对一个预先设定的方向,要么面对它移动的最后一个方向。如果原创 2020-07-30 10:56:16 · 1128 阅读 · 0 评论 -
【游戏AI】8 - 移动算法基础
除非你开发的游戏是一个纯经济模拟器,否则游戏中的角色基本都需要移动。在移动算法中,角色都会有一个当前的位置和可能附加的控制其移动的物理道具,比如一辆车,然后算法使用这些属性来计算出角色下一步应该在哪里。所有的运动算法都有相同的基本形式:它们获取关于自身状态和世界状态的几何数据,然后给出一个几何形式的输出,来表示它们接下来要进行的移动。下图显示了这一点,角色的速度属性设为可选项,因为只有特定的移动算法才需要它。有些移动算法只需要很少的输入:例如,只需要角色的位置和要追赶的敌人的位置。另一些则需要与游戏状原创 2020-07-28 20:32:28 · 1515 阅读 · 0 评论 -
【游戏 AI】7 - AI 引擎
layout: posttitle: “游戏 AI - 6”subtitle: “AI 引擎”author: “Kang Cai”header-img: “img/post-bg-dreamer.jpg”header-mask: 0.4tags:游戏 AI在行业早期的时候,一款游戏基本上都是从零开始创建的。有些代码是从以前的项目中拖出来的,有些代码被重新编写和重用,但大多数都是新的。少数公司使用相同的基本代码来编写多款游戏,前提是游戏的风格和类型相似。例如,LucasArts(201.原创 2020-07-15 21:58:00 · 742 阅读 · 0 评论 -
【游戏 AI】6 - AI 与硬件的关系
AI 开发人员工作的最大限制是机器的物理限制。游戏 AI 没有数日的处理时间和 TB 级的内存,我们甚至无法使用运行游戏的计算机的所有处理器和内存。其他任务需要空间和时间,比如图形、声音、网络和输入。在团队中,不同团队的开发人员必须同时从事他们的专业工作,CPU和内存预算通常会有严格的限制。学术界或商业研究中的 AI 技术没有得到广泛应用的原因之一是它们的处理时间或内存需求,在一个简单的演示中引人注目的算法可能会使成品游戏直接卡死。本节讨论与AI代码的设计和构造相关的底层硬件问题,这里所包含的大部分内容原创 2020-07-14 21:53:38 · 909 阅读 · 0 评论 -
【游戏 AI】5 - 游戏 AI 的三要素
从软件工程的角度来看,游戏总是因为编程糟糕而受到批评:它们使用技巧、神秘的优化和未经验证的技术来获得额外的速度或简洁的效果。尽管游戏引擎可能会被重用,但游戏玩法代码通常不会,或者至少不会在编写时考虑到这一点,而较大的时间压力意味着程序员通常会为了完成游戏而去做任何他们需要做的事情,游戏 AI 也不例外。在游戏中的 AI 和其他编程行业或学术界认为的 AI 之间存在着巨大的鸿沟。根据我的经验,游戏的 AI 等同于 “特殊技巧+启发式方法+算法”,其中黑客表示临时的解决方案并表现出整洁效果,启发式并不是必需,原创 2020-07-09 20:06:54 · 599 阅读 · 0 评论 -
【游戏 AI】逻辑越复杂越好吗?
一种常见的错误是认为游戏中的AI越复杂,玩家对角色的感觉就越好。事实上,创造优秀的 AI 就是要将游戏的要求与正确的行为、以及产生这些行为的正确算法相匹配,在本书中有一系列令人眼花缭乱的技巧,正确的方法并不总是最直观的选择。无数难以实现的复杂人工智能的例子导致了糟糕的,甚至愚蠢的行为。同样,如果使用得当,一个非常简单的技巧也可以是完美的。一、当简单的事情看起来很棒《吃豆人》是最早的具有任何形式角色的游戏之一人工智能,其中幽灵 AI 有3种状态:一种是玩家收集点数时的正常状态;第二种状态,当玩家吃了电源后原创 2020-07-09 11:34:38 · 513 阅读 · 0 评论 -
【游戏 AI】3 - 算法与数据结构
提前说明一下,这篇文章没有具体的介绍 AI 的实现,只是对后面其它文章的一个纲领性的概述。实现本书描述的技术有三个关键要素:算法本身,算法所依赖的数据结构(表征形式),以及向算法表示游戏世界的方式。一、算法算法是为人工智能问题生成解决方案的一步一步的过程。我们将着眼于在游戏关卡中生成路径以达到目标的算法,确定向哪个方向移动以拦截逃跑的敌人的算法,了解玩家下一步应该做什么的算法,以及其他许多算法。数据结构是算法的另一面。它们以一种算法可以快速操作的方式保存数据,从而得到解决方案。通常,数据结构需要.原创 2020-07-09 10:45:54 · 557 阅读 · 0 评论 -
【游戏AI】2 - 游戏AI模型
在这本书中有大量的算法和技术。读者很容易迷失其中,所以从全局着眼去了解各个部分是如何组合在一起的十分重要。为了有所帮助,我使用了一个统一的结构来讨论游戏中使用的AI。这不是唯一可选的模型,也不是唯一贴合本书中技术的模型。但是为了使讨论更清楚,我将展示每种技术如何适用于制作游戏 AI 角色的通用结构。下图描述了这个通用模型。它将人工智能任务分成三个部分:运动、决策和策略。前两个部分包含基于字符的算法,最后一个部分针对某一团队或某一方进行操作。围绕着这三个AI元素的是一套完整的附加基础设施。并不是所有的原创 2020-07-08 20:23:14 · 739 阅读 · 1 评论 -
【游戏AI】1 - 什么是AI
一、学术AI为了讲述这个故事,我将学术AI分为三个时期:早期时代,象征时代,自然计算(统计)时代。当然,这是一个过度粗略的简化,它们在某种程度上都有重叠,但我发现这是一个有用的区别。如果要收集一份更细致和充实的报告,见文章《Max Lungarella, Fumiya Iida, Josh Bongard, and Rolf Pfeifer. 50 Years of Artificial Intelligence. Springer Science & Business Media, 2007.原创 2020-07-08 20:09:07 · 358 阅读 · 0 评论
分享