上一篇文章里说的一种基于命令的结构,这种结构的缺点主要是,没法设计行为结构,GD也没法参与其中,而且不是一种层次逻辑结构,下面这种结构在游戏界也是一种主流。
基于静态树结构的行为系统(Based on Static Tree’s Behavior System)
behavior-3-1
这种结构就是传说中的Beha[……]

继续阅读

上次说了AI行为的一些想法,在很多的游戏AI引擎中,都或多或少存在这样的概念,这篇文章想继续上面的话题,说说实现。在现在的项目里,我做过一些探索,并且用两种方式实现过AI行为系统,效果都还可以。

在实现前,一般有几个必须要考虑的问题,当然,这些不仅适用于游戏AI开发,也适用于其他类型的软件开发[……]

继续阅读

在我的概念里,AI应该分为两层,决策(Decision)行为(Behavior),当然这个是从狭义的AI角度来说的,广义上来说,AI还会包括一些其他要件,比如物理,动画等等。现在这个项目里在做Behaviour模块的一些东西,从做结构开始就参与其中,期间经过了几次大的重构。
behaivour-1-1

可能Beha[……]

继续阅读

其实,刚进游戏这个行业,也没有想过要做哪块,毕竟对游戏开发并不熟悉,一开始比较向往做3D,因为游戏给人的第一感觉就是画面,而且不少讲游戏开发的书也是以3D为主。但对一个newbie来说,3D的上手难度会比较大,需要一定时间的学习和积累,我不是计算机系毕业,在大学最多做过的程序是网络,对图形,DX基上[……]

继续阅读

【游戏篇】

0. 我的游戏引擎核阅读心得:找到Update,就找到了一切!

1. 找到游戏主循环:游戏主循环是游戏的核心所在,所以找到主循环至关重要,有几个办法,如果代码是可运行的(一些时候,代码连编都编不过),那比较简单的就是加断点(其实很多时候,都可以用加断点的方式来辅助阅读),这样[……]

继续阅读

【通用篇】

0. 我的一句话心得:“看代码有时候和阅读外文文章一样,先泛读,了解文章大意,再精读,了解单词语法。”

1. 了解代码的命名规则:代码一般都有自己的命名规范,比如cl打头表示类,E打头表示枚举,函数名前会带返回值类型等等,掌握这些命名规则,可以很方便的知道这个变量或函数的信息[……]

继续阅读

一般游戏代码的量都是相当惊人的,在开始做项目的时候,特别是porting项目,都会阅读引擎代码,所以阅读代码的能力确实不可或缺。在进公司后做的第一个项目,我看代码的能力有了很大的提高,记得第一个项目的引擎代码有180万行,我和一些新进的同事,足足研究的了3个月,收获颇丰,后来也陆陆续续的看了多种引擎[……]

继续阅读