文章标签 ‘技巧’

接上篇,我们接着聊。

分数系统的打分公式,是根据情况自己定义的,但也有一些方式来帮助构建出比较合理的公式来,公式的推导就是一个函数的拟合过程,我们可以先取几个样点,然后试着找到一条函数曲线,尽可能的去使样点落在我们的这条函数曲线上。在中学的时候的实验课上,大家应该都做过这种事情。在AI中,我们[……]

继续阅读

2011年7月2日23:04 | 2 条评论
分类: AI分享

最近在做的一个AI用到了分数系统,这次就来和大家聊聊这个话题。

先来设计一个场景,有一个单兵作战的士兵,在丛林中,他有一些基本的行为,比如射击(shoot),移动(move),撤退(retreat)。他必须结合很多因素来决定自己的行为,比如,敌人的数量,自身的情况,弹药的情况,环境的情况等等,我们[……]

继续阅读

2011年7月2日22:53 | 没有评论
分类: AI分享

C/C++一般函数只能返回一个返回值,要返回多个返回值,比较常用的一个办法可以传指针或者引用的参数进去,通过参数返回,还有一个办法,其实也很简单,就是返回一个structure出来。
struct stRet
{
retValue1;
retValue2;
….
}

stRet ReturnM[……]

继续阅读

2011年7月2日22:32 | 没有评论
分类: 技术杂记

AI结构中,有一种情况非常容易出现,就是程序员会非常希望有一块区域,大家可以读取,存储一些信息,并且这块区域是全局共享的。不管是写作看似丑陋的全局变量,还是有一定组织的Blackboard结构,或者作为参数一路传到底,这种结构可以被统称为共享数据(Share Data)。作用就是在不同的模块间传递变[……]

继续阅读

2011年7月2日22:21 | 没有评论
分类: AI分享

【游戏篇】

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

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

继续阅读

2011年7月2日20:45 | 1 条评论
分类: 技术闲语
标签: , ,

【通用篇】

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

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

继续阅读

2011年7月2日20:42 | 没有评论
分类: 技术闲语
标签: , ,

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

继续阅读

2011年7月2日20:38 | 1 条评论
分类: 技术闲语
标签: , ,