Artificial Intelligince
动物和人都有求生的本能,在它的指导下,得以完成一些基本的和生存有关的行为。而计算机是20世纪诞生的产物,能够快速的处理输入,逻辑和数学运算。AI,就是使计算机具备一定的本能,使它具备一定的行为能力。
AI领域
当然,想让计算机像真正的人那样具备各种情况下的行为能力,AI这个课题就会变得过于庞大。所以AI一般是指在特定环境,特定领域,处理特定问题的这么一项技术。(这听起来有点像算法,实际上AI就是一种算法)。
AI主要处理的问题
1.计算机识别问题。
通过camera或者别的输入设备获取图像信息,并通过算法将其识别为有用的信息。
最近几年随着硬件水平的不断提高,这一领域发展很快。Google,苹果都有各自的识别产品。
2.自然语言处理(nature-language processing)
让人理解语言是不太困难的一件事。但是自然语言对于计算机来说,就不那么简单了。一句话可以有不同的说法。同一句话结合不同的语境又可能有不同的意思。不过可喜的是,这一领域现在已经有很多成熟的解决方案了。
3.处理直觉
直觉对人来说是十分自然的一件事,直觉帮助人在没有完全弄清问题的情况下做出正确的判断。像你去了一个陌生的城市,肚子饿了,总能找到比较好的餐馆吃饭。但是想让计算机具备直觉,却是非常难的一件事。直觉是基于大量的知识库,同时在人脑中形成正确的化学反应。目前这一领域还在发展当中。
游戏AI领域
为什么要在游戏中加入AI,这个涉及到游戏设计了。游戏设计又是另外的一门知识,要谈到这一块,这个系列几乎就没办法完成了了。。。这也很简单,游戏是为了挑战而生的。游戏中的AI,是为了让游戏具备一定的挑战性。
在游戏世界中,我们希望NPC具备智能,就像它真的是活生生的生物一样。然而要让一个NPC具备与生物相同的智能,考虑到项目的真正需求,这一点也不太必要(虽然现在的计算机已经足够应付这样的运算了)。很多时候,AI只是让NPC看上去像有一些智能,但实际上,它只是几个状态的转换而已。
e.g.
举个例子,魔兽世界中的NPC怪,基本状态有,巡逻,追玩家,射杀玩家这三种。
这3种状态,通过一定的规则,在一定的事件下,转换。在代码中,是通过状态机 StateMachine来实现的。就是设计模式中的状态模式。之后我们会谈到。
今天先写到这里吧。随着UNITY,COCOS2D这样的集成工具出现,制作一款游戏对于一个想实现游戏梦想的人来说,大大节省了时间,而且这个圈子里的精英人士还会提供插件(有很多事免费的),更是进一步节省了制作一款游戏的时间。就我个人而言,我很庆幸自己生在了这个时代(Good Time)!
Have a nice trip!