博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dsoframer.orx_Orx开放式游戏引擎入门
阅读量:2524 次
发布时间:2019-05-11

本文共 2990 字,大约阅读时间需要 9 分钟。

dsoframer.orx

互联网上有大量的游戏引擎。 有些专攻2D,有些专攻3D。 语言各不相同。 有些是基于Java的,Javascript,C#,C ++的,或者也许是他们自己的特殊脚本语言。 许可证各不相同。 有些是免费使用,但需要付费。 有些人可以完全自由地做任何您喜欢的事情。

有些拥有大型社区,丰富的工具集和大型企业。 有时,您会在互联网的一个安静角落碰到一个项目,该项目打勾了所有合适的框。 但是,大多数人只是简单地忽略了它。

Orx就是这样的一个项目。

自2007年开发以来,Orx的历史可追溯到2002年,它是C,C ++或Objective-C开发人员创建高性能2D游戏的引擎。 这个小引擎有两个方面。 一方面是API的简洁代码,完全使用C语言开发,但具有面向对象的设计。 另一面则很聪明:配置系统。

该配置系统旨在用用户定义的数据配置替换大量代码,计时器和事件侦听器。 是的,这是一个主要的内容,可能无法描述其用途。

最好描述一个典型的游戏开发方案,以及Orx的配置系统如何使这项任务容易得多。

编码

假设您想消灭屏幕上的外星人。 您会在外星飞船的顶部放置一个爆炸精灵,然后摧毁外星飞船本身。 如果爆炸对象触发了一些较小的爆炸对象,则需要一个循环来创建所有爆炸对象,然后设置事件以跟踪每个爆炸对象并更新它们的位置。 然后,您的事件代码还需要计时爆炸和子爆炸的寿命,并在超过其寿命后将其删除。

那是很多复杂的代码。 Orx如何更好地处理此问题,并使开发人员的生活更轻松? 通过构造类似于以下内容的对象配置:

ExplosionObject     
  ExplosionObjectGraphic
  Spawner
    SpawnerObject
       SpawnerObjectGraphic
       Direction:
360 degrees random,
5 units of velocity
       LifeTime:
2 seconds
       FadeOutToAlphaFX
  FadeOutToAlphaFX
  LifeTime:
1 second

这是伪配置。 但这仅表示:用图形定义对象。 给它一个生成器。 生成器将驱逐Spawner对象,后者又具有自己的图形。 但是,以一定的速度向任何方向发送这些对象,每个对象只能存活2秒钟,并在被删除之前逐渐消失。

同样,一秒钟后,主要对象也将淡出,然后再将其删除。

所有这些的结果是:在屏幕上创建一个ExplosionObject,它下定义的所有内容都会自动为您完成。 如果您不想的话,没有代码来管理对象。 没有代码可以跟踪其生存期或预期执行的操作。

在一个小而复杂的示例中,这就是Orx的配置系统的绝对美。 但是,就独立游戏开发商而言,这只是冰山一角。

社区

Orx的社区非常小巧,但友善。 正如您所期望的那样,这里有一个论坛,提供了许多有关开发人员问题的建议和答案。 该论坛是信息和提示的宝库。

最近,Orx社区在Gitter上开设了一个活跃的聊天室。 这有助于加快对Orx引擎以及基于Orx的项目和游戏的更改,并加快了用户之间的通信速度。

社区的负责人是Orx的开发人员Romain Killian。 Rom随时待命,为社区提供支持。 AI游戏开发是他的日常工作。 他曾在Ubisoft和Nihilistic等公司工作,因此受到高度重视。 他也非常友善和谦虚。 这是我本人和其他人吸引社区并发挥积极作用的主要诱因之一。 Rom对用户的支持导致社区将Orx Wiki扩展为一个活跃的学习中心,那里有大量使用Orx的示例和教程。 名单每周增加。

Little Cells game screenshot

小细胞。 完全错误,抄送

大池塘里的小鱼

尽管大多数独立开发人员几乎都直接基于C#和Unity进行开发,但很大程度上是基于其他开发人员的影响和推荐,而Orx却有所不同。 它是一个基于C的引擎,在很多方面都可以胜过Unity的输出。

选择更高的性能确实要付出代价。 Orx社区较小。 因此,您没有期望像Unity这样的产品随附任何游戏构建器风格的工具。 有人可能会争辩说,使用Orx提供的配置系统,根本就不需要编辑器。

但是,当您习惯于使用编辑器进行设计并开始依赖它时,这种感觉就不好了。 尽管这样的产品将是有益的,但在Orx中开发游戏时却不会破坏交易。

这并不是说没有Orx的工具。 例如Inkscape,Tiled MapEditor或DarkFunction sprite动画编辑器,并且所有这些转换器都可用。 此外,Orx确实拥有自己的编辑器,专门设计用于1942年的Galaga或Raiden风格的游戏中的异形波形成。

Flip Runner game screenshot

无尽的翻转赛跑者。 火山移动,CC BY

速度

我是否提到过Orx快? 非常快。 引擎非常优化。 用Orx编写的游戏已经过1920 x 1080的测试,在配备Pentium N3700 CPU / Intel HD Graphics的Intel NUC上可以达到稳定的60FPS。 我不确定其他可以满足这些低端规格的引擎。

当然,在更高规格的机器上,性能也非常出色。

灵活性

没有使用Orx的固定模式,也没有隐藏的陷阱。 您将很难找到Orx无法支持的2D游戏开发概念。 您不会花数周的时间来从事一个项目,而会发现引擎中缺少某些东西。 没有破坏者。

您会期望从顶级引擎获得的功能包括:图形,动画,声音, ,事件,时钟和时间线,文件IO,效果,字体,输入,物理,当然还有配置系统。 当然,还有很多。 为了全面了解可用资源,可以在线获取API。

自由

Orx不附属于任何公司或商业利益。 您可以简单地使用引擎,为任何平台开发所需的东西,并以任何方式出售您的游戏,而无需任何对Orx的认可。

有什么收获? 好吧,什么都没有。

您完全可以自由地做自己喜欢的事情。 但是,在游戏中确认引擎始终是一种表示谢意的礼貌方式。

这与其他具有商业利益并且相互竞争激烈的发动机形成对比。 这些付费模式中有许多允许您免费使用和开发引擎,但是只有在销售了数千次之后才支付特许使用费。 不错。 但这也不是完全的自由。

马匹的课程。

最后的话

多年来,欢迎新手加入Orx一直很有趣。 一些留下来,一些继续前进。 许多群一起前往Unity或 。 但是,尽管更大的知名引擎在公共领域将其打败,但互联网边缘的安静引擎将继续保持多年来一直在做的最好的事情。

小型Orx社区将继续聚会并为台式机和移动设备推出游戏。

当然,欢迎新的独立开发者的大门总是敞开的,他们渴望尝试使用最好的基于C / C ++的小型2D引擎。

开始吧

如果您对使用Orx编写游戏感兴趣,可以在学习Wiki上找到《 。 这将指导您下载并设置Orx,然后编写一个简单的游戏。

该包含很多帮助和建议。 Wiki上有和 。 非常适合社区的实时帮助。

您可以从或获得最新的Orx新闻。

翻译自:

dsoframer.orx

转载地址:http://gwdzd.baihongyu.com/

你可能感兴趣的文章
mysql查询优化2:列选择原则
查看>>
跟我一起玩Win32开发(13):握手对话框
查看>>
C#调用C/C++动态库 封送结构体,结构体数组
查看>>
ASP.NET MVC WebAPI 从入门到精通 (二)– 客户端和WebService之间文件传输
查看>>
卸载LabVIEW及其模块的方法
查看>>
[C/C++] C++中new的语法规则
查看>>
Texture2D 二维纹理
查看>>
RedHat6.4 安装yum源
查看>>
js funciton总结
查看>>
汇编中标号与变量名的区别
查看>>
JavaWeb学习之HttpServletRequest
查看>>
C语言模拟进程
查看>>
HDFS常用命令
查看>>
远程接发命令,黏包
查看>>
20150403--RBAC+首页登录-01
查看>>
使用浏览器访问或调试微信公众号(跳过微信认证)
查看>>
Ansible运维自动化工具19个常用模块使用实例【转】
查看>>
关于素数表-C++
查看>>
Number Complement
查看>>
net与树莓派的情缘(一)
查看>>