第七天:休战日
出自Ogre3D开放资源地带
目录 |
前言
哦,终于到了最后一天了。 回头看看之前六天的学习过程,你会发现,在目前的条件下,制作一个平常的游戏已经很简单了(当然,如果要制作精品,也需要大量的工作和付出)。现在如果不让你接触任何开发库从头做一个一样的游戏,我估计一年都很难完成。这就是开源软件的魅力。
但是,在这里我发现我们犯了一个巨大的错误,那就是——我们所有的课程在昨天已经讲完了 。哦,天啊,为什么非要叫“七天”教程呢,六天就好了么。真的不是我不识数,只是这些代码简单的过分了,分到七天来讲确实太不容易了。
那好吧,为了实至名归,今天我们只好来总发一些感慨了。
正文
Ogre3D 一切的根基
如果“免费打工仔”的名字有幸被您知道,那一定是因为Ogre3D社区的关系。从5年前开始接触Ogre3D 到今天,让我不仅学到了很多知识,认识了很多志趣相投的朋友,同时让我也深深的了解了开源软件带来的好处以及其运作的方式。可以说现在的这个工程和项目,就是从Ogre的思想中催生出来的。
Ogre对我影响最大的一句话,就是其创立者所说:好的结构可以带来更多的功能,而更多的功能不能带来好的结构。这让我认识到,一个好的软件开源社区,最重要的是以好的结构支撑的开放化以及易用性,这样才可以吸引更多的参与者。而效率和效果以及功能,都可以随着硬件的进步,参与者的增加以及自身的发展不断完善。与商业软件不同,开源软件会经历几年或者几十年的不断完善和持续开发,没有一个好的基础和结构,是很难做到这点的。这也是开放软件为什么没有一个严格的组织结构却能完成安全完整大型的软件工程的本质(比如Linux)。
所以,在这里——不论Ogre开发者们是否认识中文——我都要由衷的感谢Ogre社区对游戏开发届,开源软件,以及我本人带来的帮助。谢谢。
boost C++的扩展
和boost社区比起来,Ogre开源社区只能算是小巫。
下面引用一个不知道出处的评价:
Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。
基于boost对C++的扩展,才可以让我们的Orz程序框架的易用和已扩展概念成为现实,除了良好的结构外,boost提供了大量的实用工具,包括智能指针、编译期断言、测试框架、有限状态机等等。因为采用boost才能让我们在短时间内完成大量实用代码。并且在boost的帮助下,在某一些特定领域然让我们可以骄傲的说:超越Ogre3D!比如我们熟知的异常处理库,我们通过boost提供的灵活易扩展的异常库结合Ogre样式的操作,使我们能得到比Ogre3D中更强大的异常处理支持。这里还包括智能指针,Any等等。
可以这么说,Ogre3D是Orz的发射器,而boost成为Orz的助推工具,让Orz可以有机会飞得更快更高。
Orz 你的损友
- <Open Resources Zone>:开放资源地带。我承认这也是我在模仿Ogre的作风,先想到orz这个网络kuso词,才反过来想项目的全称。
- Orz是一个软件库,虽然是一个暗地里已经做了4~5年的项目,不过在牛年的春节里,才是她真正诞生并产生作用的时候。
- Orz是一种开源精神,把我们的资源共享。
- Orz更是一个kuso的符号,要有恶搞的精神,要有宅的文化。Orz是ACG的G的助推器,我相信中国人原创的精神,囧的灵魂一定会创造出很多让人为之兴奋的内容。Orz就要负责把这些伟大的作品以Game的形式展示出来。这就是Orz社区的精神,这就使Orz和其他技术论坛的前区别。
- Orz也希望有一天可以:“让我重生整个Orz(参考恋爱ing歌词)”。
开源世界 欢迎你的到来
除了上面提到的Ogre3D以及boost,我们还从开源社区以及相关社区得到更多的资源:
- OIS,谢谢你,提供了简单易用的跨平台输入封装。
- Loki,虽然只用到一点,但是你绝妙的设计让人赞不绝口。感叹一下既生Loki何生Boost!
- tinyxml,在Boost无能为力的时候你帮助了我们。
- fmod,虽然你不是开源软件,但是你对开源软件免费还是给我们极大的帮助,毕竟你是包括魔兽世界、使命召唤等大作业使用的强大音频库。
还要感谢以下开源程序库:
utf8...
课程结语
这个最宝贵的地方,留着以后感慨~
