前段日子,和以前大学的同窗们聚会,很多人都是好久未见,有些人也是难得从国外回来一次,大家相聊甚欢,说说近况如何云云。
正巧,有个人现在在美国某著名大学读PHD,而且主要研究的是人工智能相关,那我作为一个AI程序员,对她研究的东西自然也就要打听一番。聊了一点之后,发现学术的东西还真是学术,和我现在在做的非常的不同,不仅偏向于理论,而且门类非常的窄。虽然,这也是在我的预料之中的,虽然,我在游戏行业里对AI技术摸爬滚打了几年,但还是不得不感叹:此AI非彼AI。
游戏中用到的AI技术,不管从架构还是实现上,较之于学术上的AI研究来说,都是相当简单的东西了。当然,不是说游戏AI不追求前沿,这也是有原因的,首先游戏AI技术的发展,和其他游戏技术一样,也是依赖于硬件的发展,在红白机时代,受硬件所限很难处理复杂的AI逻辑,所以看以前的游戏,AI大多是简单的if-else逻辑,或者简单的脚本化的逻辑为主。随着游戏硬件的处理速度越来越快,AI才可以越来越多的用到一些稍稍复杂或者高级的技术。
其次就是游戏对于处理速度的要求是相当之追求的,如果一个60帧的游戏,那一帧的处理时间就是16毫秒左右,在这之中分给AI的时间一般也就是6~8毫秒(视具体要求和如何划分AI而定)。所以游戏的AI很难选用一些,虽然很强劲,但很费时的算法,而我们知道,学术上的一些人工智能的研究,它的一些算法是很费时间的,这也就导致了很多学术上的研究并不能直接给游戏AI所用。
还有,就是可控性和灵活性。人工智能的极致就是极度的拟真,让人感觉不出这个是由程序算出来的结果,对于学术研究来说,这个是他们所最求的目标,但游戏的AI不同,拟真只是一个方面,游戏的AI是为游戏服务的,拥有一个拟真的AI的游戏,并不一定是一个好玩的游戏。所以有时,游戏的AI会作假,会不断的根据设计的要求调整,所以,游戏AI技术一般是注重于模块化的,灵活的架构,而不是拟真的算法。就拿神经网络来说,20世纪40年代就提出了神经网络的基本概念和雏形,做为一种学习型的算法和结构,可以说非常吸引人。但直到现在,我还是很少看到游戏中用神经网络作为主要的AI架构的,归根结底,就是它并不符合我提到的可控性和灵活性的要求。作为一个游戏的AI架构来说,太难以掌控和调式了。在游戏中,我所看到的一些运用到神经网络的地方,还是在一些语音识别的处理上。当然,可能以后会有更多的发展和运用,但就我现在的感觉来说,游戏AI还是需要具备可控性和灵活性的特点。
当然,不少游戏AI技术,也是取自于从学术研究。比如现在很多游戏用到的HTN(Hierarchical task network),中文翻译应该叫“层次化的任务网络”,就是一种实时的做计划(Plan)的系统,类似的学术研究其实从20世纪70年代就开始了,现在经过各种发展,慢慢的也应用到了游戏中了,而且不管从性能,还是最后的效果来看,还是很不错的。随便说一句,类Planner的AI系统,这也是我将来会重点学习和研究的地方。
游戏AI和游戏中的3D技术很不一样,3D技术经常是能把一些最新的研究带入进来,呈现出极其真实的画面,但游戏AI,就像我前面所说的那样,一方面要考虑的计算量的问题,更重要的是,它是为游戏服务的,所以好的游戏AI可能被学院派所不屑(因为并没有艰深的理论和算法),但它确实常常能表现出极佳的游戏性,这不是正是我们做游戏的人来说,最追求的吗?:)
所以,此AI非彼AI,不过多接触和了解一些前沿的AI研究,对于拓宽思路还是很有益的,最后,推荐一本书,《人工智能的未来》,记得当初读的时候,是通宵读完的,而且兴奋的满脑子都是里面的字句。真是非常有意思的书,我想,大家看完也会有种豁然和不一样的感觉。
————————————————————————
作者:Finney
Blog:AI分享站(http://www.aisharing.com/)
Email:finneytang@gmail.com
本文欢迎转载和引用,请保留本说明并注明出处
————————————————————————
游戏AI方向,冷门中的热门啊。
游戏AI是很有意思的东西,不同的游戏AI的做法都会不同,很有挑战,欢迎留言一起讨论:)
不过话说AI程序员这个职位好少,大多数还是UI,GPP.网游公司的就更少了。
国内对职位细分还是不够啊
专门做AI的人比较少,我想还是国内流行的MMO和社交类游戏对AI的要求没有平台游戏高吧
是啊,现在国内的游戏,对AI需求很低,基本FC时代的AI就够用了,比起更深层次的AI表现,效率更为重要,为了效率,AI可以做很大的让步,最近都在做3D,AI方面已经很久没有涉足了,不过上个项目留给了我的一些经验,都写在这个博客上了~
嗯,的确是的,我发现讲AI的书,真正在游戏里运用的,还是很少的一部分。《人工智能的未来》我也非常喜欢呵,大四时也是因为看了这本书,所以很想做AI呵。