转: 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)CDRom下载

虎年到来之际,我们社区给大家准备了新春贺礼。经过一年的不断完善和修正,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地址包括(还是建议大家下载光盘版,里面包括所有依赖文件以及文档)

正在开发中的0.5版本svn地址在

https://orzme.svn.sourceforge.net/svnroot/orzme/branches/0.5

取自"http://wiki.ogre3d.cn/wiki/index.php?title=Orz_0.4.0_cdrom"

时间: 2024-10-28 22:50:20

转: Orz是一个基于Ogre思想的游戏开发架构的相关文章

【Neko C Engine】一个基于 C 语言的游戏基础代码库

原本已经用 C++ 在写着一个游戏代码库了,个人作品,规模很小,只能满足基本的游戏开发需求,后来突发奇想,试着用 C 语言重写了一次自己的游戏代码库,姑且叫做 Neko C Engine 吧,缩写 nkCEngine,基于 Windows 系统,底层封装了 Win32 窗口.D3D.DirectSound 等等,使用的时候不需要操心 Win32 窗口,不需要操心绘图与音效播放的细节,直接一个 C 函数创建对象,然后用对应的 C 函数操作对象: 这个库的最终目标,是希望公开出来给所有对游戏开发感兴

flipt 一个基于golang 的特性工具开发类库

以前介绍过一个Flagr 的基于golang 的特性功能开发类库(技术雷达推荐),今天看到一个类似也很不错的方案flipt 参考架构 包含的特性 快速,使用golang 编写,同时进行了性能优化 运行以及配置简单 可以对于特定分段的用户配置分发规则 native grpc 支持 可以方便进行应用集成 提供了方便的rest api 提供了console 以及UI 可以方便进行debug 参考资料 https://flipt.dev/architecture/ https://github.com/

基于asp.net的Web开发架构探索

问题由来 最近在研究适合团队开发的web架构解决方案,该架构即要适合分工协作又要有一定扩展性,适合不同的数据库需要,因此我查阅了一些资料,初步构想出了一套架构,请各位多多指教. 探索 web开发架构最经典莫过于三层架构,表示层.逻辑层.数据处理层. 数据访问层:其功能主要是负责数据库的访问. 业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关. 表示层:是系统的UI部分,负责使用者与整个系统的交互.理想的状态是表示层不应包括系统的业务逻辑. 这些是经典的解释,如果要适合不同的数据库则需

一个基于c 3 0的开发基于2000/XP/2003下语音识别的通用类

废话少说看代码 using System;using System.Collections.Generic;using System.Linq;using System.Text;using SpeechLib;using System.Windows.Forms;using System.Collections; namespace [email protected]{    public class speechxp    { private SpeechLib.SpSharedRecoCo

Unity3D 对象池思想 在游戏开发中的运用

分类:U3D 1.在王者荣耀中,每30秒小兵会出现一波,出现之后会被敌方玩家或敌方小兵销毁,一局游戏下来,小兵会被创建多次,同时也会被销毁,在游戏中,这种频繁的创建和销毁游戏对象是很损耗性能的.在游戏开发过程中,我们会频繁的创建对象和销毁对象,为了提高游戏性能,我们就要用到对象池思想了. 2.在射击游戏中,会频繁的销毁和创建子弹,这就可以用对象池思想了. 什么是对象池? 池,想到了水池,水池是水的集合.所以,对象池就是对象的集合,我们可以初步的按照这种想法来理解对象池.使用原理的话就是,我们在创

转:高层游戏引擎——基于OGRE所实现的高层游戏引擎框架

高层游戏引擎——基于OGRE所实现的高层游戏引擎框架 这是意念自己的毕业论文,在一个具体的实践之中,意念主要负责的是物件和GUI之外的其他游戏系统.意念才学疏陋,望众位前辈不吝赐教.由于代码质量不高.环境很难于配置.资源包过大等问题,意念暂先不提供代码和程序,未来有时间的时候组织一下这些曾经的代码,再向外发布. 文过三月,也有些新的想法,以后会慢慢跟大家聊的,欢迎拍砖哦^_^. 关键字与术语: 游戏. 游戏引擎 .高层引擎.规则 .场景.物件.Terrain(地形).解释器 .Applicati

变态版大鱼吃小鱼-基于pixi.js 2D游戏引擎

之前用CSS3画了一条??,那还是一年前的事情了,这次我用一天的时间去研究了一下pixi.js,一个基于webgl的2D游戏引擎,然后用它做了一个demo出来,变态版大鱼吃小鱼. 试玩地址:变态版大鱼吃小鱼 这是一个h5游戏排名,我最看好pixi,刚开始也试过create.js,不过它不支持webgl,这是一个硬伤,然后又了解了一下Phaser,基于pixi开发的,功能肯定比pixi强大,不过我觉得它太重了,好像是500多K,不适合做小游戏,而pixi只有90K,并且支持webgl,所以就选它了

[Kails] 一个基于 Koa2 构建的类似于 Rails 的 nodejs 开源项目

最近研究了下Koa2框架,喜爱其中间件的思想.但是发现实在是太简洁了,只有基本功能,虽然可以方便搭各种服务,但是离可以适应快速开发的网站框架还是有点距离.于是参考Rails的大致框架搭建了个网站框架kails, 配合postgres和redis, 实现了MVC架构,前端webpack,react前后端同构等网站开发基本框架.本文主要介绍kails搭建中的各种技术栈和思想. 本文首发于Blog of Embbnux, 转载请注明原文出处: https://www.embbnux.com/2016/

基于Proxy思想的Android插件框架

意义 研究插件框架的意义在于下面几点: 减小安装包的体积,通过网络选择性地进行插件下发 模块化升级.减小网络流量 静默升级,用户无感知情况下进行升级 解决低版本号机型方法数超限导致无法安装的问题 代码解耦 现状 Android中关于插件框架的技术已经有过不少讨论和实现.插件通常打包成apk或者dex的形式. dex形式的插件往往提供了一些功能性的接口,这样的方式类似于java中的jar形式.仅仅是因为Android的Dalvik VM无法直接动态载入Java的Byte Code,所以须要我们提供