成为 AI 游戏开发者
你是否曾梦想过成为一名 AI 游戏开发者?或者也许你只想能够编写“智能”程序?那么这本书就是为你而写的!
然而,我必须提醒你,这并非一项简单的任务。
游戏开发和设计是艺术领域最广泛的工作之一。这需要大量的经验才能将游戏变为现实。你可以通过看一款游戏的最终信用来了解这一点。它们是无尽的,包含了无数把时间投入到游戏各个角色中的人们。AI 开发是这个大过程的核心部分,需要花费数年时间来掌握它,就像生活中的大多数事情一样。因此,迭代是关键,这也是你在这本书中可以开始的很好的地方。
成为 AI 游戏开发者的含义
首先,你需要精通数学、物理和编程。此外,你很可能会在一个跨学科团队中工作,这个团队包括艺术家、设计师和程序员。实际上,你很可能会与现有的专有软件一起工作。你需要建立新技术以满足项目的技术需求。你将被要求研究编码技术和算法,以便保持对游戏行业技术进步的了解,并识别技术和发展风险/障碍,找到解决方案来克服它们。
另一方面,你将能够为视频游戏中的角色和实体注入生命。在你可能经历的所有挫折之后,你会是第一个帮助或生成游戏中智能行为的人。这需要时间,而且相当具有挑战性,所以不要在早期过于依赖自己。一旦你在游戏中实现了真正的 AI,能够独立思考,这就是值得为自己奖励的成就。
对于AI初学者,这本书将帮助你为这个目标奠定第一步。对于专家来说,这本书将提供有用的指南,以便在Unreal中刷新不同的AI系统,并探索可能在你的工作中对你有帮助的深度特性。
在游戏开发过程中的AI
游戏开发流程可能因你访问的工作室而大不相同,但所有的流程都指向一个视频游戏的创作。这不是一本关于流程的书,所以我们不会深入探讨它们,但大致了解AI的应用位置是很重要的。实际上,AI与游戏开发流程的许多部分都有交集。以下是一些主要的方面:
动画:这可能会让一些人感到惊讶,但关于这个话题有很多研究正在进行。有时,动画和AI是重叠的。例如,开发者需要解决的一个问题是我们如何程序化地为角色生成数百个动画,这些动画可以表现得非常逼真,以及它们如何相互交互。事实上,解决逆向运动学(IK)是一个数学问题,但选择哪种无限解决方案来实现目标(或只是提供逼真的外观)是一个AI任务。我们在这本书中不会遇到这个具体问题,但最后一章将提供指向你可以了解更多这方面的地方的指针。
关卡设计:如果游戏自动生成关卡,那么AI在游戏中扮演着重要的角色。游戏中的程序化内容生成(PCG)是目前的一个热门话题。有些游戏完全基于PCG。不同的程序化生成高度图的工具可以帮助关卡设计师实现逼真的景观和环境。这确实是一个值得探索的广泛主题。
游戏引擎:当然,在游戏引擎内部,有许多AI算法在起作用。其中一些是专门为代理设计的,而其他一些只是改进引擎的特性和/或任务。这些代表最广泛的类别,它们可以从简单的算法,如根据上下文调整贝塞尔曲线,到实现行为树或有限状态机用于动画。在幕后,这里有很多工作。我们将在这本书中探讨其中的一些概念,但要点是,一个算法可以被改编来解决不同领域的类似问题。事实上,如果有限状态机(FSMs)被用来做决策,为什么不使用它们来决定播放哪个动画呢?或者甚至处理整个游戏逻辑(即在Unreal Engine中的蓝图视觉脚本)?
非玩家角色(NPCs):这是游戏中使用AI的最明显的例子,也是对玩家最明显的AI(我们将在第14章《超越》中更深入地探讨AI与玩家之间的关系)。这本书的主要内容都集中在这方面,即从移动角色(例如,使用路径规划算法)到做决策(即,使用行为树),或者与其他NPC合作(多智能体系统)。
不幸的是,我们没有空间在这本书中处理所有这些主题。因此,我们将只关注最后一部分(NPCs),并探讨内置在Unreal中的AI框架。
最后更新于