ORX

Last updated
ORX
Developer(s) orx-project.org
Stable release
1.14 [1] / June 12, 2023;3 months ago (2023-06-12)
Repository github.com/orx/orx
Written in C, C++
Platform Cross-platform
Type Game engine
License zlib license
Website orx-project.org

Orx is an open-source, portable, lightweight,[ clarification needed ] plug-in-based, data-driven and easy to use 2D-oriented game engine written in C.

Contents

It runs on Windows (MinGW and Visual Studio versions), Linux, MacOS, iOS and Android.

General information

Orx provides a complete game creation framework including a 3D scene graph, hardware accelerated 2D rendering, animation, input, sound, physics and much more.

Its main goals are to allow fast game prototyping and creation. [2]

Orx is published under Zlib license.


History:

ORX's root go back to July 2002, reusing some code wrote over the past previous years by Romain Killian. He wanted to try a few new approaches (like an animation graph that you can now see in many big engines but ORX is one of the first that proposed it in a game engine in late 2003). Then he picked up the pace again in 2007, still trying making things differently (that's when the config system was designed).

In 2009, ORX version 1.0rc0 was released. This version of ORX added support for Mac OS X (x86) as well as the support for Win32 and Linux (x86). Generic input system like keyboard, mouse and joystick input and fragment shader support were introduced.

ORX version 1.2 was released in 2010. It came with bugs fixes and optimizations. The major update was the support for iOS and Unicode.

ORX version 1.3rc0 was introduced in 2011. It came out with a bunch of new features like joint support, variable width fonts, OpenGL 2.0 and others. Previous issues and bugs were also resolved. This was the first time when android support was also added to the engine.

ORX version 1.4cr0 was introduced in 2012. Some new features were added to ORX in this update like Interactive console, commands, textured mesh rendering, geometry rendering and previously known issues were fixed.

ORX version 1.11 has been released.in May 2020 with Support changes for MinGW-w64, including new support for 64bit, OSX/Retina and Windows high DPI display, Control over polled physical peripherals, Text animations and more.

ORX version 1.12 has been released in May 2021, with some Major speed & scalability improvements: from 65k to 16M concurrent objects in memory, a complete rewrite of the orxBANK module, Support for joysticks on Android-Native, a simpler Android build pipeline, Nuklear support for new projects and more.

ORX version 1.13 has been released in March 2022, with 70+ updates or new features, including a new SoundSystem plugin based on MiniAudio (OGG, WAV & MP3 files), Support for: config-driven filters for both sounds and buses, multiple sound listeners, sound panning, sound spatialization, Support for the QOI image format, Native arm64 support for MacOS 11/XCode 12.x, etc...

ORX version 1.14 has been released in June 2023, the list change of this version is available here.

The complete list of changes logged since version 1.0 can be found here.

Features

Despite being written in C, Orx has an object oriented design with a plugin architecture. This allows its kernel to be cross-platform and delegates hardware- and OS-dependent tasks to plugins. Most of these plugins are based on other open-source libraries, such as GLFW, SDL and Box2D (LiquidFun fork).

Build files are provided for GCC makefiles, Visual Studio (2017, 2019 & 2022), Codelite, Code::Blocks and Xcode.

Orx contains most of the common game engine features
It also provides more unusual features [3]
The current list of WIP features that will be added in the future

See also

Related Research Articles

Irrlicht is an open-source game engine written in C++. It is cross-platform, officially running on Windows, macOS, Linux and Windows CE and due to its open nature ports to other systems are available, including FreeBSD, Xbox, PlayStation Portable, Symbian, iPhone, AmigaOS 4, Sailfish OS via a QT/Qml wrapper, and Google Native Client.

<span class="mw-page-title-main">Visual programming language</span> Programming language written graphically by a user

In computing, a visual programming language or block coding is a programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.

GameMaker is a series of cross-platform game engines created by Mark Overmars in 1999 and developed by YoYo Games since 2007. The latest iteration of GameMaker was released in 2022.

<span class="mw-page-title-main">OpenSceneGraph</span>

OpenSceneGraph is an open-source 3D graphics application programming interface, used by application developers in fields such as visual simulation, computer games, virtual reality, scientific visualization and modeling.

Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

<span class="mw-page-title-main">Quartz Composer</span> Node-based visual programming language

Quartz Composer is a node-based visual programming language provided as part of the Xcode development environment in macOS for processing and rendering graphical data.

Wintermute Engine (WME) is a set of software tools and a runtime interpreter primarily designed for creating and running graphical adventure games.

<span class="mw-page-title-main">C4 Engine</span> Proprietary computer game engine developed by Terathon Software

The C4 Engine is a proprietary computer game engine developed by Terathon Software that is used to create 3D games and other types of interactive virtual simulations for PlayStation 5, PlayStation 4, PlayStation 3, Windows, Mac OS X, Linux, and iOS.

<span class="mw-page-title-main">CEGUI</span>

Crazy Eddie's GUI (CEGUI) is a graphical user interface (GUI) library for the programming language C++. It was designed for the needs of video games, but is usable for non-game tasks, such as applications and tools. It is designed for user flexibility in look-and-feel, and to be adaptable to the user's choice in tools and operating systems.

<span class="mw-page-title-main">Box2D</span>

Box2D is a free open source 2-dimensional physics simulator engine written in C++ by Erin Catto and published under the MIT license. It has been used in Crayon Physics Deluxe, Limbo, Rolando, Incredibots, Angry Birds, Tiny Wings, Shovel Knight, Transformice, Happy Wheels, and many online Flash games, as well as iPhone, iPad and Android games using the Cocos2d or Moscrif game engine and Corona framework.

Game Editor is a 2D game authoring package. It supports multi-platform development to iPhone, iPad, Mac OS X, Windows, Android, Linux, Windows Mobile-based Smartphones, GP2X, Pocket PCs, and Handheld PCs. Compatibility with these platforms is mentioned on Game Discovery, a popular site for game developers, among other software like The 3D Gamemaker, DarkBASIC, and GameMaker.

<span class="mw-page-title-main">Grome</span> 3D terrain generation software

Grome is an environmental modeling package developed by Quad Software dedicated for procedural and manual generation of large virtual outdoor worlds suitable for games and other 3D real-time simulation applications.

iClone is a real-time 3D animation and rendering software program. Real-time playback is enabled by using a 3D videogame engine for instant on-screen rendering.

<span class="mw-page-title-main">Hollywood (programming language)</span> Programming language

Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS, MorphOS, WarpOS, AROS, Windows, macOS, Linux, Android, and iOS. Hollywood has an inbuilt cross compiler that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive. An optional add-on also allows users to compile projects into APK files.

<span class="mw-page-title-main">Simple and Fast Multimedia Library</span> Graphics and Multimedia Library written in C++

Simple and Fast Multimedia Library (SFML) is a cross-platform software development library designed to provide a simple application programming interface (API) to various multimedia components in computers. It is written in C++ with bindings available for Ada, C, Crystal, D, Euphoria, Go, Java, Julia, .NET, Nim, OCaml, Python, Ruby, and Rust. Experimental mobile ports were made available for Android and iOS with the release of SFML 2.2.

Felgo is a cross-platform development tool, based on the Qt framework. It can be used to create mobile apps or games. Felgo apps and games are supported on iOS, Android, Windows Phone, embedded devices and desktop devices. Felgo developers use QML, JavaScript and C++ to create mobile apps and games.

LÖVE is a free, open-source, cross-platform framework released under the zlib license for developing video games. The framework is written in C++ and uses Lua as its scripting language and is still maintained by its original developers. The framework is cross-platform supporting the platforms Microsoft Windows, macOS, Linux, Android, and iOS.

References

  1. "Download page - GitHub". orx-project.org. Retrieved 12 June 2023.
  2. "How to Learn Orx". Nov 27, 2013.
  3. "ORX News".
  4. "A custom ZIP archive support".

[1] [2] [3] [4]

  1. "Getting started with the Orx open gaming engine". May 9, 2017.
  2. "How to write a 2D UFO game using ORX". February 27, 2018.
  3. "Orx–Data Driven 2D Game Engine". May 14, 2018.
  4. "Orx Data-Driven C/C++ Game Framework". April 30, 2022.