转: Orz是一个基于Ogre思想的游戏开发架构
Orz是一个基于Ogre思想的游戏开发架构,好的结构可以带来更多的功能。
Orz和其他的商业以及非商业游戏开发架构不同。Orz更专著于开发者的感受,简化开发者工作。
Orz可以用于集成其他Ogre3D之外的图形引擎。
Orz 0.4.0版本以及以后采用MIT开源授权。
关于Orz的评价,请看这里。
- Orz是一个易扩展、易使用的面向对象游戏开发框架。Orz全称是Open Resources Zone,中文就是开放资源地带。Orz的目标是让每一个看电视的人,都能开发游戏。
作为对大家新春的贺礼,Ogre3D中文社区在鼠年最后一天里,把积累的代码资源捐献给社区,并承诺持续提交和维护相关项目资源和相关教程。希望对刚刚进入游戏开发领域的朋友们提供一些帮助。相关代码资源可以到,http://orz.ogre3d.cn 上面下载。我们把这个计划称为开放资源地带(open rescores zone 缩写为 Orz)。致力于游戏开发领域的技术代码交流和为新进游戏开发者提供系统提学习的资源。本计划把众多眼花缭乱的库整合,提供统一的简单流程以及相关教程,并把各种很难划分的小型工具整合发布。在后续的版本中会加入各位社区朋友们提供的的代码。
- 囧:在这里什么是Orz?
- 冏:在这个论坛中Orz = Open Resources Zone的意思,中文就是“开放资源地带”。
- 囧:Open Resources Zone的宗旨是什么?
- 冏:Orz项目是一个基于LGPL的开源工程,目前他主要服务于小型休闲游戏开发(但不代表其只能开发小型游戏)。
- 囧:分为哪几部分?
- 冏:Orz包括以下部分,开放的源代码,一系列开发工具集合,一些简单的框架,其他开发引擎的整合以及应用,相关的文档和社区。
- 囧:Orz从何而来?
- 冏:整个工程源于一个普通程序员多年的积累,为了回报开源社区,把所有的代码捐献出来并作为整个Orz项目的基础。
- 囧:我应该如何使用Orz,能从中得到什么?
- 冏:如果你是初学者的话,可以简单了解一下Orz工程所提供的知识。你也可以通过Orz框架更容易的开发一些Demo。如果你是一个从也多年的老鸟,希望你可以对Orz工程提供相应的批评和修改。如果你是一个小型企业(特别是使用OGRE3D引擎),在没有太多开发实力和经费的情况下,可以用其作为开发的基础。
- 囧:是否Orz只能开发小型休闲游戏?
- 冏:虽然Orz被设计成为了更适合小型游戏开发的框架,但不限制开发大型的应用。但对与大型应用可能在这里不会提供完整的实现,需要用户自己把整个框架补充完整。
- 囧:Orz能否商用?
- 冏:Orz本身是遵守LGPL协议的开源软件,但不限制用户在二次开发后进行商用。用户也不必在动态连接的情况下开源。
虎年到来之际,我们社区给大家准备了新春贺礼。经过一年的不断完善和修正,Orz终于从最初的版本进化到第三个发布版本0.4(另外两个版本是0.1和0.2)。并秉承Ogre3D的服务大众精神,从LGPL授权过渡到MIT开源授权(是一个最少限制的开源授权)。
在这一年中,Orz不仅承接和完成了一些小型项目,在这个过程中,我们撰写了一系列相应的功能插件。很高兴Orz具有的良好扩展和重用能力,这些插件都可以作为Orz的一部分内容提供给大家使用。
另外在2009年的最后几个月里面,我们撰写完成了Orz的相关书籍,在这个过程中,我们对接口完整的进行了审核和调整,整个框架趋于稳定。我们希望这是一个良好的调整,更努力做到最后一次这种大规模接口变化。希望之后接口可以稳定下来。
在今后一年中,Nous和我将会有新的计划,Nous除了完善已有的OrzAsio传统网络引擎之外,还会开展OrzMPI(分布网络引擎)项目的开发。希望这些对于网络游戏的开发者有一定的帮助。当然Nous还有更大的目标,这些大家可以在以往的帖子中找到。
我个人在新的一年中,暂时放缓功能的开发,进行一些实质性的项目。除了完善程序和具体游戏开发之外之外,还要开始实践一些良好的编程习惯。这主要指的是《极限编程》中的方法学在游戏开发中的应用。不论这个过程中成功的或者失败的地方,我都会把这些经验记载在http://class.gd这个新的网站中。希望大家可以在我的经验和教训中得到一些有价值的东西。
在Orz发布的一年内,我们用其开发很多不同类型的项目。因为其具有良好的扩展性和重用性,在addons目录下我们提取了不同项目中的功能模块给大家分享。这里面包括Orz到一些功能性引擎的适配(OrzAomiUI),一些通用工具的实现(OrzTrigger),甚至一些从旧版本移植过来的Ogre3D插件(OgrePackFileSystem)等等。编译过程可以参照上面提供的方法。如果有其它问题欢迎到http://bbs.ogre3d.cn论坛交流。
- OrzAomiUI
说明:Awesomium 到Orz的适配,需要依赖Ogre3D,只支持VC8.0和VC9.0。相关依赖文件在dependencies.7z。需要解压缩。
- OrzLua
是《游戏变成精粹5》中对Lua框架的具体实现。
- OrzOgreNewt
是Orz中对OgreNewt的适配。OgreNewt是Ogre中对Newton物理引擎的适配,这里提供版本为NewtonWin-2.16(发布本帖时最新),相关依赖文件在dependencies.7z。需要解压缩。
- OrzQt
OrzQt是Qt中嵌套Orz的通用框架。
- OrzTrigger
一个基于Orz消息系统的触发器实现,可以使用,但并未完成所有功能。
- OrzScript
正在开发中的Orz脚本接口,未完成。
- OgrePackFileSystem(是Ogre3D插件)
Ogre中使用有密码Zip文件的“档案”插件。
- OrzMd5Checker
极其简单的MD5封装。
0.4的版本svn地址包括(还是建议大家下载光盘版,里面包括所有依赖文件以及文档)
- 总地址(包括OrzSDK,addons插件,tutorial教程,example例子)
正在开发中的0.5版本svn地址在
https://orzme.svn.sourceforge.net/svnroot/orzme/branches/0.5
转: Orz是一个基于Ogre思想的游戏开发架构的更多相关文章
- 一个基于 .NET Core 2.0 开发的简单易用的快速开发框架 - LinFx
LinFx 一个基于 .NET Core 2.0 开发的简单易用的快速开发框架,遵循领域驱动设计(DDD)规范约束,提供实现事件驱动.事件回溯.响应式等特性的基础设施.让开发者享受到正真意义的面向对象 ...
- Android系统是一个基于BInder通信的C/S架构
Android系统基本上可以看作是一个基于Binder通信的C/S架构.他有服务器端和客户端.比如自己开发一个程序,肯定是基于Activity的而Activity就是作为客户端,他的服务器端就是Act ...
- 基于HTML5的SLG游戏开发(序)
2012年前后,HTML5游戏凭借跨平台.易移植.部署简单.节省成本等优点被炒的火热,经过一两年的快速发展,市场出现了一些成功地HTML5游戏产品,像磊友的<修仙三国>,神奇时 ...
- 初识TPOT:一个基于Python的自动化机器学习开发工具
1. TPOT介绍 一般来讲,创建一个机器学习模型需要经历以下几步: 数据预处理 特征工程 模型选择 超参数调整 模型保存 本文介绍一个基于遗传算法的快速模型选择及调参的方法,TPOT:一种基于Pyt ...
- flipt 一个基于golang 的特性工具开发类库
以前介绍过一个Flagr 的基于golang 的特性功能开发类库(技术雷达推荐),今天看到一个类似也很不错的方案flipt 参考架构 包含的特性 快速,使用golang 编写,同时进行了性能优化 运行 ...
- 基于HTML5的SLG游戏开发( 三):认识PureMVC
在游戏开发中,对于一般网络游戏,由于需要多人协同开发,每个人负责不同的模块开发,为了减少耦合,需要用来一些MVC框架,减少模块之间的耦合.我们现在使用的mvc框架是pureMVC.pureMVC的官网 ...
- 自动化的基于TypeScript的HTML5游戏开发
自动化的开发流程 在HTML5游戏开发或者说在Web客户端开发中,对项目代码进行修改之后,一般来说,需要手动刷新浏览器来查看代码修改后运行结果.这种手动的方式费时费力,降低了开发效率.另外,如果我们使 ...
- 基于asp.net的Web开发架构探索
问题由来 最近在研究适合团队开发的web架构解决方案,该架构即要适合分工协作又要有一定扩展性,适合不同的数据库需要,因此我查阅了一些资料,初步构想出了一套架构,请各位多多指教. 探索 web开发架构最 ...
- 基于HTML5的SLG游戏开发(一):搭建开发环境(2)
游戏开发过程中经常需要处理各种事件,而HTML5游戏开发中,所有的场景和UI面板都是绘制在Canvas上面,假设需要对某一UI面板上的关闭按钮添加事件监听,采取的方法是对关闭按钮图片资源进 ...
随机推荐
- OpenCV教程(47) sift特征和surf特征
在前面三篇教程中的几种角检测方法,比如harris角检测,都是旋转无关的,即使我们转动图像,依然能检测出角的位置,但是图像缩放后,harris角检测可能会失效,比如下面的图像,图像放大之前可 ...
- 使用C#反射机制访问类的私有成员【转】
首先我必须承认访问一个类的私有成员不是什么好做法.大家也都知道私有成员在外部是不能被访问的.而一个类中会存在很多私有成员:如私有字段.私有属性.私有方法.对于私有成员访问,可以套用下面这种非常好的方式 ...
- File targeting 'AMD64' is not compatible with the project's target platform 'x86' 解决方法
我在使用vs2010制作64位安装包时出现了以下问题: File targeting 'AMD64' is not compatible with the project's target plat ...
- ARDC Android 远程桌面助手 录屏 演示 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Hadoop家族学习路线、实践案例
作者:Han Hsiao链接:https://www.zhihu.com/question/19795366/answer/24524910来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...
- 必须记住的 30 类 CSS 选择器
大概大家读知道`id`,`class`以及`descendant`选择器,并且整体都在使用它们,那么你正在错误拥有更大级别的灵活性的选择方式.这篇文章里面提到的大部分选择器都是在CSS3标准下的,所以 ...
- mahout0.7 示例运行纪实
http://1992mrwang.blog.51cto.com/3265935/1205282 运行太不容易了 所以要记下来以免后面忘记了 首先是数据 vim testdata.txt 第一列为Us ...
- Oracle PGA
PGA(Process Global Area),是server process一段私有内存区,它包含有全局变量,数据结构和一些控制信息.在Oracle8i 中,PGA调整非常复杂,要调整SORT_A ...
- 报错信息:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
用Eclipse创建jsp页面时,提示这个错误 解决的方法是:右键项目,Build Path->Configure Build Path Add Library Server Runtime,这 ...
- Core Java-多线程-线程的生命周期
0. 在介绍线程前我们先看一下什么是进程? 进程是线程的母亲,如果在大学计算机课程里读过操作系统一定不会陌生. 所谓进程,它是计算机程序关于某数据集上的一次活动,是系统进行资源分配和调度的基本单位,是 ...