KBlog

蔡康的博客

游戏 AI - 8

移动算法基础

除非你开发的游戏是一个纯经济模拟器,否则游戏中的角色基本都需要移动。在移动算法中,角色都会有一个当前的位置和可能附加的控制其移动的物理道具,比如一辆车,然后算法使用这些属性来计算出角色下一步应该在哪里。 所有的运动算法都有相同的基本形式:它们获取关于自身状态和世界状态的几何数据,然后给出一个几何形式的输出,来表示它们接下来要进行的移动。下图显示了这一点,角色的速度属性设为可选项,因为只有特...

游戏 AI - 7

AI 引擎

在行业早期的时候,一款游戏基本上都是从零开始创建的。有些代码是从以前的项目中拖出来的,有些代码被重新编写和重用,但大多数都是新的。少数公司使用相同的基本代码来编写多款游戏,前提是游戏的风格和类型相似。例如,LucasArts(2012年被迪士尼收购,2013年倒闭)的 SCUMM 引擎就是一个逐渐发展的游戏引擎,用于支持许多点击式冒险游戏,比如《古墓丽影》系列、《印第安纳琼斯》系列。 后来...

游戏 AI - 6

AI 与硬件的关系

AI 开发人员工作的最大限制是机器的物理限制。游戏 AI 没有数日的处理时间和 TB 级的内存,我们甚至无法使用运行游戏的计算机的所有处理器和内存。其他任务需要空间和时间,比如图形、声音、网络和输入。在团队中,不同团队的开发人员必须同时从事他们的专业工作,CPU和内存预算通常会有严格的限制。 学术界或商业研究中的 AI 技术没有得到广泛应用的原因之一是它们的处理时间或内存需求,在一个简单的...

游戏 AI - 5

游戏 AI 的三要素

从软件工程的角度来看,游戏总是因为编程糟糕而受到批评:它们使用技巧、神秘的优化和未经验证的技术来获得额外的速度或简洁的效果。尽管游戏引擎可能会被重用,但游戏玩法代码通常不会,或者至少不会在编写时考虑到这一点,而较大的时间压力意味着程序员通常会为了完成游戏而去做任何他们需要做的事情,游戏 AI 也不例外。 在游戏中的 AI 和其他编程行业或学术界认为的 AI 之间存在着巨大的鸿沟。根据我的经...

游戏 AI - 4

逻辑越复杂越好吗?

一种常见的错误是认为游戏中的AI越复杂,玩家对角色的感觉就越好。事实上,创造优秀的 AI 就是要将游戏的要求与正确的行为、以及产生这些行为的正确算法相匹配,在本书中有一系列令人眼花缭乱的技巧,正确的方法并不总是最直观的选择。无数难以实现的复杂人工智能的例子导致了糟糕的,甚至愚蠢的行为。同样,如果使用得当,一个非常简单的技巧也可以是完美的。 一、当简单的事情看起来很棒 《吃豆人》是最早的具...

游戏 AI - 3

算法与数据结构

提前说明一下,这篇文章没有具体的介绍 AI 的实现,只是对后面其它文章的一个纲领性的概述。 实现本书描述的技术有三个关键要素:算法本身,算法所依赖的数据结构(表征形式),以及向算法表示游戏世界的方式。 一、算法 算法是为人工智能问题生成解决方案的一步一步的过程。我们将着眼于在游戏关卡中生成路径以达到目标的算法,确定向哪个方向移动以拦截逃跑的敌人的算法,了解玩家下一步应该做什么的...

游戏 AI - 2

游戏 AI 模型

在这本书中有大量的算法和技术。读者很容易迷失其中,所以从全局着眼去了解各个部分是如何组合在一起的十分重要。 为了有所帮助,我使用了一个统一的结构来讨论游戏中使用的AI。这不是唯一可选的模型,也不是唯一贴合本书中技术的模型。但是为了使讨论更清楚,我将展示每种技术如何适用于制作游戏 AI 角色的通用结构。 下图描述了这个通用模型。它将人工智能任务分成三个部分:运动、决策和策略。前两个部分包含...

游戏 AI - 1

什么是 AI

一、学术AI 为了讲述这个故事,我将学术AI分为三个时期:早期时代,象征时代,自然计算(统计)时代。当然,这是一个过度粗略的简化,它们在某种程度上都有重叠,但我发现这是一个有用的区别。如果要收集一份更细致和充实的报告,见文章《Max Lungarella, Fumiya Iida, Josh Bongard, and Rolf Pfeifer. 50 Years of Artificial...

面试 · 机器学习基础

理解 CNN 的好文:Gentle Dive into Math Behind Convolutional Neural Networks

机器学习 · 监督学习篇 VIII

决策树

本质上,树模型拟合出来的函数其实是分区间的阶梯函数。树形模型具有的最大优点是:更加接近人的思维方式,产生的模型具有可解释性,而且可以直接得到可视化的分类规则。 跟前一篇介绍最大熵模型用的示例一样,本文仍采用银行贷款资质判定的这个例子来对决策树进行解释,如下表所示,前 4 列属性,包括 “年龄”、是否“有工作”、是否“有房”、“信贷情况”是否良好,是 4 个维度的特征,银行根据该 4 个特征...