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

继续阅读

“黑板”(Blackboard)在人工智能领域已经是一个很古老的东西了,它基于一种很直观的概念,就是一群人为了解决一个问题,在黑板前聚集,每个人都可以发表自己的意见,然后在黑板上写下自己的看法,当然你也可以基于别人记录在黑板上的看法,来发表和更新自己的看法,在这样不断的意见交换,看法更新的过程中,越[……]

继续阅读

过段时间会在公司做一个讲座课程,这个文章就是在准备过程中,用来整理思路的,里面的一些内容,在以前的博客上也有提及,有兴趣的可以去翻翻,这次系统整理一下,自己的思路也更清晰了,予人玫瑰,手留余香。
首先先来定义一下什么是我这里说的核心游戏系统,一般来说,游戏可以大致分为两个部分,一个部分是我这里指的[……]

继续阅读

这次和大家分享一下,前段时间学习unity和c#的时候,用到的一个行为树的实现方式,使用到了c#语言,并且选择了共享性行为树的方式。行为树的构建,还是用纯代码的方式,没有做工具,也没有做数据驱动的方式来编辑和加载。做工具的话,可能需要很多时间,至于数据驱动,难度不大,如果大家有需要,稍加改进,就应该[……]

继续阅读

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

继续阅读

第一部分,请点这里

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

继续阅读

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

继续阅读