Orx - Le Bottin des Jeux Linux

Orx

🗃️ Specifications

📰 Title: Orx 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 👁️ Visual: 2D
🏷️ Category: Development ➤ Engine ➤ 2D ➤ Misc. 🏝️ Perspective: Third person
🔖 Tags: Development; 2D engine; Orx engine; Framework; GLFW; C/C++; Prototyping; Easy To Use; Multi-platform ⏱️ Pacing: Real Time
🐣️ Approx. start: 2004-12-10 👫️ Played: Single & Multi
🐓️ Latest: 2025-05-27 🚦 Status: 04. Released (status)
📍️ Version: Latest: 💥️ 1.16 / Dev: 9ae724c ❤️ Like it: 9. ⏳️
🏛️ License type: 🕊️ Libre 🎀️ Quality: 7. ⏳️
🏛️ License: zlib ✨️ (temporary):
🐛️ Created: 2011-11-04 🐜️ Updated: 2025-06-04

📦️ Deliverables

📦️ Package name: ..... 📦️ Arch:
📄️ Source: ✓ ..... 📦️ RPM:
⚙️ Generic binary: ✓ ..... 📦️ Deb:
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ✓ ..... 📦️ Flatpak:
✨️ Not use: ..... 📦️ Snap:

🚦 Entry status

📰 What's new?: 🍎️ (Stable) Major release 👻️ Temporary:
💡 Lights on: ✓ 📰 Previous News: ✓
🎨️ Significant improvement: 💭️ New version published (to be updated):
🎖️ This work: 5 stars 🦺️ Work in progress:
👫️ Contrib.: goupildb & Louis 🚧️ Some work remains to be done:
🎰️ ID: 12206

📖️ Summary

📜️[en]: A libre, multiplatform game engine, 2D-oriented, modular, portable, simple and light (quick and easy game creation / prototyping), strongly data-driven (data separated from code). It supports accelerated rendering, transparency, visual effects, fragment shaders, animation via an advanced engine, collision management and rigid body physics, multiple views via a camera system, event management, touch (mobile), accelerometer and gamepad support, truetype fonts, localization (text, audio), sound spatialization, plugins, bundles (for resources), interaction via an internal console, code optimization via a profiler. 📜️[fr]: Un moteur de jeu libre et multiplateforme, orienté 2D, modulaire, portable, simple et léger (création rapide et facile de jeux / prototypage), fortement axé sur les données (données étant séparées du code). Il prend en charge notamment le rendu accéléré, la transparence, les effets visuels, les shaders de fragment, l'animation via un moteur avancé, la gestion des collisions et la physique des corps rigides, les vues multiples via un système de caméra, la gestion d'évènements, le support du toucher (mobiles), de l'accéléromètre et du gamepad, les polices truetype, la localisation (textes, audio), la spatialisation des sons, les plugins, les bundles (pour les ressources), l'interaction via une console interne, l'optimisation du code via un profileur.

🎥️ Videos


🦉️From Devs: 💥️ (202504), (202412), (202411),


🦝️ From Users: GameFromScratch (202204),


💎 Features: Tilemap with Shader (201705),


🕯️ How To: (202204), (201905),


💻️ Live Session: Session #16 (202504), Session #12 (202405), (202403),


🎮️ Showcase: (202203), (201408), (201209),

🕸️ Links

🏡️ Website & videos
Website: [Homepage] [Dev site 1 2 3] [Features/About] [Screenshots]
Videos: ft(201705) t(202xxx) gd(202504) gd(202412) gd(202411) gu(202204) gu(201805) ls(202205) ls(202209) r(202xxx) lp(202xxx) ht(202204) ht(202204) ht(201905) ht(-) d(202203) d(201408) d(201209) d(201204) d(201203) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx) g(202xxx)]
Doc: [WIKI 1 2] [FAQ]
Updates: [RSS] [Changelog 1 2 3]

💰 Commercial
[Support their work (Donate)]

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Showcase] [itch.io (Games made with this engine)] [Envato Tuts+ (How to Learn Orx)]

🦣️ Social
(Orx engine) Devs (Orx Team 1 2 [fr] [en]): [Site 1 2 3] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [Indie DB] [PressKit] [Discord] [Interview 1(202xxx) 2(202xxx)]
(Orx engine) Devs (Fully Bugged [fr] [en]): [Site 1 2] [Chat] [mastodon] [Facebook] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[HOLaRSE [de]] [GameFromScratch]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB] [pewsplosions on Peakd]

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Orx
🦊️ What's: A libre data-driven, 2D-oriented portable game engine focusing on ease of use & powerful features
🏡️ https://orx-project.org
🐣️ https://github.com/orx
🦉️ https://mastodon.gamedev.place/@FullyBugged
🔖 #LinuxGameDev #LibreEngine
📦️ #Bin
📕️ https://lebottinlinux.vps.a-lec.org/LO.html

🥁️ Update: 1.16
⚗️ Major release(Stable)🍎️
📌️ Changes: https://github.com/orx/orx/releases
🦣️ From: https://mastodon.social/@holarse/114602735865354073
🛜️ https://github.com/orx/orx/releases.atom

💎 https://www.youtube.com/embed/rp9VaavgBW4
🕵️https://www.youtube.com/embed/5t7O-0Cw8xU
🕯️https://www.youtube.com/embed/qRuVgGOL3fI
🎮️ https://www.youtube.com/embed/9TUXof0zUCE

🕶️ The engine logo

📚️ Orx is a libre, multiplatform game engine, 2D-oriented, modular, portable, simple and light (quick and easy game creation / prototyping), strongly data-driven (data separated from code). It supports accelerated rendering, transparency, visual effects, fragment shaders, animation via an advanced engine, collision management and rigid body physics, multiple views via a camera system, event management, touch (mobile), accelerometer and gamepad support, truetype fonts, localization (text, audio), sound spatialization, plugins, bundles (for resources), interaction via an internal console, code optimization via a profiler.

📕 Description [en]

📜️ "A libre data-driven, 2D-oriented portable game engine focusing on ease of use & powerful features" 📜️

ORX: Portable Game Engine

Orx is a heavily data-driven, 2D-oriented, portable game engine, focused primarily on ease of use and powerful features.

✅️ Data driven configuration
Powerful data driven config that provides an easy to use load/save system. Write one line of code to create a full featured object. Change data without recompiling!

✅️ 3D acceleration
3D accelerated rendering using OpenGL on desktop and OpenGL ES 1.1 / OpenGL ES 2.0 on mobile platforms

✅️ Sprite rendering
Automatic object sprite rendering allowing: translations, anisotropic scale, rotation, transparency (alpha blending), coloring, tiling and mirroring

✅️ Multiple Camera/Viewports
Camera/Viewport system allowing multiple views on one screen with camera translation, zoom and rotation.

✅️ Texture manipulation
Realtime rendering to texture and texture manipulation.

✅️ Audio
Sound and music handling where you can tweak volume, pitch and stereo balance.

✅️ Collisions
Collision handling and rigid body physics with joint support

✅️ Input system
Generic input system that abstracts keyboard, joystick, mouse inputs and touch.

✅️ Language and localization
Powerful localization module allowing you to support multiple languages with ease.

✅️ Animation
Easy to use animation system, supporting text, spritesheets, link chaining, inheritance, auto framing, adjustable frequencies and durations all in data configuration.

✅️ Event management
Respond to clocks, FX, Inputs, Physics, Shaders, Sound, Spawners, Timelines and many more.

✅️ Plugin based architecture
You can easily port Orx to new platforms and extend/customize it easily with your own plugins.

✅️ Multi-platform
Develop for Windows (mingw and native using visual studio), linux (x86/x86_64), MacOS X (ppc/x86), iPhone/iPod Touch/iPad and Android.

✅️ Develop for free
Under the zlib license. Use or modify Orx for free for any kind of project, freeware or commercial.


Some notable features of the engine are (more detailed, updated to version 1.16):

✅️ powerful config system that makes orx data-driven and provides an easy to use load/save system
✅️ hardware-accelerated rendering that provides: translation, anisotropic scale, rotation,
✅️ transparency (alpha blending), different blending modes, coloring, tiling and mirroring
✅️ advanced rendering features such as MRT (Multiple Render Targets), offscreen rendering, flexible pipeline & easy compositing
✅️ advanced resource management allowing for easy multi-platform data support and patching
✅️ C++ extension with semi-automated C++/config binding
✅️ bundle support (automatic resource encryption & packaging)
✅️ automatic hotloading of resources upon modification on disk drastically shortens iteration times
✅️ timelines and commands modules allow for config-driven scripting-like features
✅️ interactive console can execute commands at runtime (very useful for tweaking/debugging purposes)
✅️ advanced animation engine (including a chaining graph & custom animation events for synchronization)
✅️ fragment (pixel) shader support
✅️ visual FXs based on curve combinations
✅️ integrated runtime profiler (with graphical display) to easily spot which parts of your game need to be optimized
✅️ collision handling and rigid body physics
✅️ camera/viewport scheme allowing multiple views displayed with camera translation, zoom and rotation
✅️ generic input system that abstracts keyboard, mouse, joystick, touch and accelerometer inputs
✅️ powerful localization module (for localized texts, audio, graphics, etc.)
✅️ spawners (provides an easy way to create particles or projectiles)
✅️ 3D positioning using "scene nodes"
✅️ custom bitmap, truetype & SDF font support
✅️ automatic differential scrolling and depth scaling upon request
✅️ fully featured and extensible sound system (WAV/MP3/OGG/QOA support, streams, hierarchical buses, filters, spatialization, etc.)
✅️ clock system that provides time consistency and allows time stretching + high precision timers
✅️ event manager
✅️ unicode support with UTF-8 encoding
✅️ plugin system
✅️ screenshot capture tool (supports BMP, PNG, JPG, QOI, TGA, PNM, GIF, PSD and DDS)

Supported Platforms

The engine compiles for, and is tested on:

✅️ Linux (x86/x86-64 with codelite, codeblocks and GNU makefile)
✅️ Windows (x86/x86-64 with vs2017, vs2019 & vs2022, x86/x86-64 mingw-w64 (14.2.0) with codelite, codeblocks and GNU makefile)
✅️ MacOS X (x86/x86-64 with xcode or x86/x86-64 with codelite, codeblocks and GNU makefile), version 10.6+
✅️ Web/HTML5 (Emscripten)
✅️ Android (Gradle build files, simulator & device)
✅️ iOS (iPhone/iPod Touch/iPad, simulator & device with xcode)

Versions

Those are not revision versions but link/run versions. Orx library can be compiled as a static or a dynamic library. In addition to these modes, orx can be compiled as an embedded version or not.

Orx's core is basically platform-independent. All the platform/OS-dependent features are implemented via plugins. These plugins can be loaded at runtime (hotplug) or they can be embedded at linktime.

If you use the non-embedded versions, you'll have to specify which plugins to use. This is more flexible but also requires additional files (the plugins themselves). The embedded version will store everything in orx's library, meaning you won't be able to choose which plugin to use at runtime, but will also be more compact. This will also make orx run considerably faster.

From the download page you'll find precompiled binaries for Windows (x86), Linux (x86/x86-64), MacOS X (ppc/x86/x86-64), iOS and Android, using the dynamic embedded versions only.
If you want to use the non-embedded versions (to use with your own plugins), you'll need to compile orx yourself from the source. Everything compiles out-of-the-box for the hardware platforms cited above.

The embedded versions currently use:

• GLFW-based (+stb_image/webp/qoi/BasisU) display, joystick, keyboard and mouse plugins for all non-iOS/non-Android platforms
• miniaudio (+stb_vorbis) sound plugin for all platforms
• LiquidFun-based physics plugin
• Homemade rendering plugin (2D)
• OpenGL ES display plugins for iOS and Android
• Touch/MultiTouch-based mouse plugin for iOS and Android
• Accelerometer-based joystick plugin for iOS and Android
• If the headless variants of the embedded versions are requested, dummy plugins will be used for the display, joystick, mouse, keyboard and soundsystem plugins.
• The render & physics plugins will be the same as the ones used for the non-headless versions.

Some tools (precompiled binaries only) are also shipped with the dev packages:

• orxCrypt : command line tool to encrypt/decrypt/merge multiple config files
• orxFontGen: command line tool to generate custom bitmap & SDF fonts from TrueType/OpenType fonts

📕 Description [fr]

Un moteur de jeu libre orienté 2D, modulaire, portable, simple et léger, fortement axé sur les données, par l'Orx Team (dont une partie composent le studio Fully Bugged).
En C (avec quelques plugins en C++/Obj-C). Il utilise le framework GLFW.

Orx est un moteur de jeu libre et multiplateforme, orienté 2D, modulaire, portable, simple et léger (création rapide et facile de jeux / prototypage), fortement axé sur les données (données étant séparées du code). Il prend en charge notamment le rendu accéléré, la transparence, les effets visuels, les shaders de fragment, l'animation via un moteur avancé, la gestion des collisions et la physique des corps rigides, les vues multiples via un système de caméra, la gestion d'évènements, le support du toucher (mobiles), de l'accéléromètre et du gamepad, les polices truetype, la localisation (textes, audio), la spatialisation des sons, les plugins, les bundles (pour les ressources), l'interaction via une console interne, l'optimisation du code via un profileur.


, "2.5D" (les objets et les caméras sont créés dans un espace 3D, repris par un plug-in de rendu 2D), et


Utilisé par ces jeux / Used by these games: BoohaBlox, Dstroy 2, Little Cells, Mushroom Stew, Ytterbite,


Orx est un moteur de jeu portable, orienté 2D et fortement axé sur les données, qui met l'accent sur la facilité d'utilisation et les fonctionnalités puissantes.

✅️ Configuration pilotée par les données
Configuration puissante pilotée par les données qui fournit un système de chargement/sauvegarde facile à utiliser. Écrivez une ligne de code pour créer un objet complet. Modifiez les données sans recompiler !

✅️ Accélération 3D
Rendu 3D accéléré en utilisant OpenGL sur le bureau et OpenGL ES 1.1 / OpenGL ES 2.0 sur les plateformes mobiles

✅️ Rendu des sprites
Rendu automatique des sprites d'objets permettant : les translations, la mise à l'échelle anisotrope, la rotation, la transparence (mélange alpha), la coloration, le tuilage et la mise en miroir

✅️ Caméras/points de vue multiples
Système de caméra/viseur permettant plusieurs vues sur un même écran avec translation, zoom et rotation de la caméra.

✅️ Manipulation de la texture
Rendu en temps réel d'une texture et manipulation de la texture.

✅️ Audio
La gestion du son et de la musique où vous pouvez régler le volume, la hauteur et la balance stéréo.

✅️ Collisions
Traitement des collisions et physique des corps rigides avec support articulaire

✅️ Système de saisie
Système d'entrée générique permettant d'abstraire les entrées au clavier, au joystick, à la souris et au toucher.

✅️ Langue et localisation
Puissant module de localisation vous permettant de prendre en charge plusieurs langues avec facilité.

✅️ Animation
Système d'animation facile à utiliser, supportant le texte, les feuilles de sprites, le chaînage des liens, l'héritage, le cadrage automatique, l'ajustement des fréquences et des durées, le tout dans la configuration des données.

✅️ Gestion d'événements
Répondre aux horloges, aux effets, aux entrées, à la physique, aux shaders, au son, aux frayères, aux lignes de temps et bien d'autres choses encore.

✅️ Architecture basée sur des plugins
Vous pouvez facilement porter Orx sur de nouvelles plateformes et l'étendre/personnaliser facilement avec vos propres plugins.

✅️ multiplateforme
Développé pour Windows (mingw et natif en utilisant visual studio), linux (x86/x86_64), MacOS X (ppc/x86), iPhone/iPod Touch/iPad et Android.

✅️ Développez librement
Sous la licence zlib. Utilisez ou modifiez Orx gratuitement pour tout type de projet, gratuit ou commercial.


Voici quelques caractéristiques notables du moteur (plus détaillé, actualisé à la version 1.16) :

✅️ un système de configuration puissant qui permet à orx d'être piloté par les données et qui fournit un système de chargement/sauvegarde facile à utiliser
✅️ un rendu accéléré par le matériel qui fournit : translation, échelle anisotropique, rotation,
✅️ transparence (mélange alpha), différents modes de mélange, coloration, tuilage et miroir
✅️ fonctionnalités de rendu avancées telles que MRT (Multiple Render Targets), rendu hors écran, pipeline flexible et compositing facile
✅️ gestion avancée des ressources permettant une prise en charge facile des données multiplateformes et des correctifs
✅️ extension C++ avec liaison semi-automatique C++/config
✅️ prise en charge des bundles (cryptage et conditionnement automatiques des ressources)
✅️ téléchargement automatique à chaud des ressources lors de leur modification sur le disque raccourcit considérablement les temps d'itération
✅️ modules de timelines et de commandes permettant des fonctionnalités similaires à celles des scripts pilotés par la configuration.
✅️ console interactive peut exécuter des commandes au moment de l'exécution (très utile pour le réglage/débogage)
✅️ moteur d'animation avancé (comprenant un graphique d'enchaînement et des événements d'animation personnalisés pour la synchronisation)
✅️ prise en charge des shaders de fragments (pixels)
✅️ FXs visuels basé sur des combinaisons de courbes
✅️ profileur d'exécution intégré (avec affichage graphique) pour repérer facilement les parties de votre jeu qui doivent être optimisées
✅️ gestion des collisions et physique des corps rigides
✅️ système de caméra/port de vue permettant des vues multiples affichées avec translation de la caméra, zoom et rotation de la caméra
✅️ système d'entrée générique permettant d'abstraire les entrées du clavier, de la souris, du joystick, du toucher et de l'accéléromètre
✅️ module de localisation puissant (pour les textes, l'audio, les graphiques, etc. localisés)
✅️ spawners (permet de créer facilement des particules ou des projectiles)
✅️ positionnement en 3D à l'aide de "nœuds de scène"
✅️ bitmap personnalisé, support des polices truetype et SDF
✅️ défilement différentiel automatique et mise à l'échelle de la profondeur sur demande
✅️ système sonore complet et extensible (support WAV/MP3/OGG/QOA, flux, bus hiérarchiques, filtres, spatialisation, etc. )
✅️ système d'horloge qui assure la cohérence du temps et permet l'étirement du temps + minuteries de haute précision
✅️ gestionnaire d'événements
✅️ support unicode avec encodage UTF-8
✅️ système de plugins
✅️ outil de capture d'écran (supporte BMP, PNG, JPG, QOI, TGA, PNM, GIF, PSD et DDS)

Plateformes supportées

Le moteur se compile et est testé sur :

✅️ Linux (x86/x86-64 avec codelite, codeblocks et makefile GNU)
✅️ Windows (x86/x86-64 avec vs2017, vs2019 & vs2022, x86/x86-64 mingw-w64 (14.2. 0) avec codelite, codeblocks et GNU makefile)
✅️ MacOS X (x86/x86-64 avec xcode ou x86/x86-64 avec codelite, codeblocks et GNU makefile), version 10. 6+
✅️ Web/HTML5 (Emscripten)
✅️ Android (Gradle build files, simulator & device)
✅️ iOS (iPhone/iPod Touch/iPad, simulateur & device avec xcode)

Versions

Il ne s'agit pas de versions de révision mais de versions de liaison/exécution. La bibliothèque Orx peut être compilée en tant que bibliothèque statique ou dynamique. En plus de ces modes, Orx peut être compilé en tant que version intégrée ou non.

Le noyau d'Orx est fondamentalement indépendant de la plate-forme. Toutes les fonctionnalités dépendantes de la plate-forme/du système d'exploitation sont implémentées via des plugins. Ces plugins peuvent être chargés au moment de l'exécution (hotplug) ou ils peuvent être intégrés au moment de la compilation.

Si vous utilisez les versions non intégrées, vous devrez spécifier les plugins à utiliser. C'est plus souple, mais cela nécessite des fichiers supplémentaires (les plugins eux-mêmes). La version intégrée stockera tout dans la bibliothèque d'orx, ce qui signifie que vous ne pourrez pas choisir le plugin à utiliser au moment de l'exécution, mais elle sera également plus compacte. Cela permettra également à orx de fonctionner beaucoup plus rapidement.

Sur la page de téléchargement, vous trouverez des binaires précompilés pour Windows (x86), Linux (x86/x86-64), MacOS X (ppc/x86/x86-64), iOS et Android, en utilisant uniquement les versions dynamiques embarquées.
Si vous souhaitez utiliser les versions non intégrées (pour utiliser vos propres plugins), vous devrez compiler orx vous-même à partir des sources. Tout se compile immédiatement pour les plates-formes matérielles citées ci-dessus.

Les versions embarquées utilisent actuellement :

• Des plugins d'affichage, de joystick, de clavier et de souris basés sur GLFW (+stb_image/webp/qoi/BasisU) pour toutes les plateformes non-iOS/non-Android
• Plugin de son miniaudio (+stb_vorbis) pour toutes les plateformes
• Plugin physique basé sur LiquidFun
• Plugin de rendu maison (2D)
• Plugin d'affichage OpenGL ES pour iOS et Android
• Plugin de souris à base de Touch/MultiTouch pour iOS et Android
• Plugin de joystick basé sur l'accéléromètre pour iOS et Android
• Si les variantes headless des versions embarquées sont demandées, des plugins factices seront utilisés pour les plugins d'affichage, de joystick, de souris, de clavier et de système sonore.
• Les plugins de rendu et de physique seront les mêmes que ceux utilisés pour les versions sans tête.

Certains outils (binaires précompilés uniquement) sont également fournis avec les paquets de développement :

• orxCrypt : outil en ligne de commande pour crypter/décrypter/fusionner plusieurs fichiers de configuration
• orxFontGen : outil en ligne de commande pour générer des polices bitmap et SDF personnalisées à partir de polices TrueType/OpenType