项目简介:
名称 -- 无限引擎(InfiniteEngine)
为什么称无限?-- 人生有限,知识无限,所以总有人会创造一个开始,然后传承(接力)
参与进来可以做什么?
*刚学C++不久的新人 -- 可以看看基础代码部分,可以看到<Effective C++> & <More Effective C++>等书上提到过的编程技术。
*稍有经验,想专攻图形技术,或是音频,或是AI,或是物理,或是想写个自己专有的脚本引擎 -- 与我们联系,可以用基础库做一个子系统,然后使得成为“引擎运行时库”的一部分。
*想做工具 -- 与相关负责人联系,可以使用wx或是QT4之一。
*技术大拿 -- 具备独当一面的才能!可以负责关键模块的owner,这里也成为"xxx leader"!
希望有心往游戏研发发展的新人加入:
* 在整个开发过程中,可以实践高级的C++编程技术
* 互相学习,坦诚、积极的交流和分享知识
项目状态:
× 初步完成基础库代码,由本人完成,主要参考自IdTech5的部分代码,是本人才充分理解原有代码的基础上加入进来的。近期正在做文档化工作。
× 有个初始整体结构,正在细化图形渲染系统的接口定义
× 已有五人正在参与!!!
代码在哪?
http://code.google.com/p/infiniteengine/
如何联系?
到代码站上,看右下角的成员gmail邮件地址吧!
FAQ -- 一些个为什么:
* 为什么不使用STL?
因为不想随着C++标准走,而且对于一些大型数据结构的定义,以STL的方式不够直白,比如:Tree、遍历用递归更适合。而且,这里不想给编译器带来不必要的编译负担,具备更为自由的定制存储分配策略。
* 为什么不直接使用--c runtime?
这一块由inf::math::下的代替了,有些是被间接转换到了c-runtime,这么做是怕今后做的子项目之间发生链接冲突。另一方,我们有更多的针对特定平台的指令优化的机会。
* 为什么不使用boost?
太大,而且过多的模板参数推演的技法被使用,这对于一个大规模项目会带来太多的编译负担。
* 会面向商业吗?
将来除了工具的关键部分,其余代码将永久开源。