离散事件模拟(discrete event simulation),这个东西可能在游戏领域用得并不是很多,它是模拟仿真领域的一个仿真模型,用来模拟在时间轴上一系列离散事件后,整个系统的变化情况,这么说,可能还是有点抽象,给大家举一个使用离散事件模拟的一个经典的例子,如何计算银行柜台排队的平均等待时间[……]

继续阅读

这段时间做了很多和AI无关的事情,做了个Flash的3D引擎,用汇编写了些shader,做了很多引擎的工具,脚本,插件,游戏也发布了首个预告片(点击这里),一年多的工作收获满满,职位从AI Engineer变成了Engineer(“专科大夫”到“全科大夫”?)。虽然很多工作看似和AI没什么关系,但做[……]

继续阅读

第一部分,请点这里

上次谈到了CBES中,实体类的组成,以及实体类中实体,组件间的通信方式。这次继续这个话题,再来谈谈CBES中的性能问题和设计思路。
在CBES的实体类中,属性部分是用key-value对来描述的,这样可以方便的扩展,并且较为快速的读取和写入,但这样的灵活方式,是有一定代价的,一[……]

继续阅读

以前写过一篇关于组合式实体的文章(这里),讨论了组合式实体的架构设计,以及和传统的继承式实体架构的区别和优势,最近在项目中,由于更多的做引擎方面的工作,所以有机会更多思考,设计和实现这样的架构,并在实践中总结了许多实际的使用经验,因此来和大家分享一下,不是很复杂,但相信会比较实用。组合式实体架构的英[……]

继续阅读

最近在做项目前期的一些调研的工作,研究并参考了几个引擎和框架的设计,包括内部引擎,商业引擎,和开源引擎,通过比较和学习后,觉得对于游戏中的实体实现,用“组合”的设计模式会比用“继承”的更为便利,想到我早些时候的一个项目里用到的一个引擎,也是实现了组合式的实体,而且对于AI程序员来说也是和“游戏实体”[……]

继续阅读

游戏AI在做决策的时候,最重要的参考依据就是当前游戏世界信息,这其实和人做判断的时候是一样的,我们在做出一个决定的时候,脑中会闪过很多我们已经收集的信息,包括所见,所听,直觉(基于以往的经验)等等。所以,我们如何去抽象游戏世界信息,并收集起来以供AI使用,也是非常值得我们去思考和探讨的问题。 当然[……]

继续阅读