dsoframer.orx_Orx开放式游戏引擎入门

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或Löve之类的地方 。 但是,尽管更大的知名引擎在公共领域将其打败,但互联网边缘的安静引擎将继续保持多年来一直在做的最好的事情。

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

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

开始吧

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

论坛包含很多帮助和建议。 Wiki上有示例教程Gitter聊天室非常适合社区的实时帮助。

您可以从官方网站Twitter feed获得最新的Orx新闻。

翻译自: https://opensource.com/article/17/5/getting-started-orx-open-gaming-engine

dsoframer.orx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值