Tech:GameEngines
Adaptation of the list of game engines. Only opensource & libre game engines are kept.
I'm searching for a:
- 3d,
- cross-platform ( linux, windows, osx, ios, android ),
- C++,
- HMD enabled and
- PhysX enabled
game engine.
Full list of free engines
Name | Primary programming language | Scripting | Cross-platform | 2D/3D oriented | Target platform | Notable games | License | Notes and references |
---|---|---|---|---|---|---|---|---|
Adventure Game Studio | C++ | AGSScript | Yes | 2D | Windows, Linux | wikipedia:Chzo Mythos, wikipedia:The Blackwell Series | Artistic License 2.0 | Mostly used to develop third-person wikipedia:pre-rendered wikipedia:graphical adventure games, one of the most popular for developing amateur wikipedia:adventure games. |
Aleph One | C++ | Lua, Marathon markup language | Yes | 2.5D | Windows, Linux, OS X | Aleph One (Marathon remake) | GPL | FPS engine |
Allegro | C | Ada, C++, C#, D, Lisp, Lua, Mercury, Pascal, wikipedia:Perl, Python, Scheme | Yes | 2D | Windows, Linux, OS X, iOS, Raspberry Pi, wikipedia:DOS | zlib | Graphics, audio, and input. | |
Anura | C++ | Yes | 2D | Windows, Linux, OS X, iOS, Android, wikipedia:BlackBerry 10 | wikipedia:Frogatto & Friends | zlib | ||
Ardor3D | Java | Yes | 3D | Cross-platform | zlib | Fork of wikipedia:jMonkeyEngine 2.0 | ||
Blend4Web | JavaScript, Python, C, C++ | JavaScript | Yes | 3D | WebGL, Windows, Linux, OS X, iOS, Android | wikipedia:Experience Curiosity, wikipedia:Petigor's Tale, wikipedia:Back to the Middle Ages | GPLv3 or commercial | Game content, including graphics, animation, sound, and physics, is authored in the 3D modeling and animation suite Blender. |
Blender | C, C++ | Python | Yes | 2D, 3D | Windows, Linux, OS X, Solaris | wikipedia:Yo Frankie!, wikipedia:Sintel The Game, ColorCube | GPL | 2D/3D game engine packaged in a 3D modeler with integrated Bullet physics library. |
Build engine | C | Yes | 2.5D | Windows, Linux, OS X, wikipedia:DOS | wikipedia:Duke Nukem 3D, wikipedia:Shadow Warrior, Blood, wikipedia:Redneck Rampage | Custom (?) | FPS engine, wikipedia:2.5D (2D grid base geometry.) | |
Cafu Engine | C++ | Lua | Yes | 3D | Windows, Linux, OS X | GPL or Proprietary | Includes a map editor and networking. | |
ClanLib | C++ | Yes | 2.5D | Windows, Linux, OS X | zlib | |||
Cocos2d, Cocos2d-x, Cocos2d-html5 | C++, Python, Objective-C, JavaScript | JavaScript, Java, Lua | Yes | 2D, 2.5D, 3D | Windows, Linux, OS X, iOS, Android, BlackBerry, wikipedia:Tizen | Hardest Game Ever 2, DQMSL, Tiny Village, Badland, Small Street, Tiny Tower, Pocket Planes, Hill Climb, Star Thief, Geometry Dash | MIT | iOS target uses Objective-C. Android target binds to Java. |
Codea | Lua | No | 2D | iOS | Cargo-Bot | Apache 2.0 | ||
Construct | C++ | Javascript | Yes | 2D | Windows, OS X, wikipedia:Wii U, HTML5 capable wikipedia:internet browsers | Proprietary, wikipedia:GPL | Classic version available under GPL. | |
Core3D | Objective-C | Yes | 3D | Windows, Linux, OS X, iOS | CoreBreach | 3D Engine MIT, Source Code GPL v2 | ||
Crystal Space | C++ | Java, Perl, Python | Yes | 3D | Windows, Linux, OS X | Keepsake, The Crystal Scrolls, wikipedia:Yo Frankie! | LGPL | |
Cube | C++ | Yes | 3D | Windows, Linux, OS X | wikipedia:AssaultCube, Cube | zlib | Previous generation (means it has a successor), 2D grid-based system, optimized for outdoor rather than indoor maps. | |
Cube 2 | C++ | CubeScript | Yes | 3D | Windows, Linux, OS X | Cube 2, wikipedia:Red Eclipse | zlib | Efficient 6-directional height map based geometry (versus traditional wikipedia:Polygon soup model), hence the name Cube, FPS engine. |
Delta3D | C++ | Python | Yes | 2.5D | Cross-platform | LGPL | ||
Dim3 | C++ | JavaScript | Yes | 3D | Cross-platform | MIT | ||
DimensioneX Multiplayer Engine | Java | Java, VBScript | Yes | 2.5D | Cross-platform | Underworld Online | GPL | Produces browser games with pseudo-3D views. Games can be turned into Facebook Apps. Intended for beginners. |
Env3D | Java | Yes | 3D | Cross-platform | GPL | 3D game engine that creates an interface for dynamically adding EnvObjects. Built on wikipedia:jMonkeyEngine 2.0. Intended for educational use in teaching computer science. | ||
Exult | C++ | Yes | 2D | Windows, Linux, OS X, wikipedia:BSD | GPL | wikipedia:Free software re-implementation of the wikipedia:Ultima VII game engine. | ||
Flixel | ActionScript | Yes | 2D | Various games by wikipedia:Gregory Weir | MIT | Boiler-plate code for Flash games. | ||
Game Editor | Custom (C styled) | Yes | 2D | iPhone, wikipedia:iPad, OS X, Windows (95-Windows 7), Linux, Windows-based wikipedia:Smartphones, wikipedia:GP2X, Pocket PCs, wikipedia:Handheld PCs | Notable games | GPL / Proprietary | ||
GamePlay3D | C++ | Lua | Yes | 3D | Windows, Linux, OS X, iOS, wikipedia:BlackBerry 10, Android | Apache 2.0 | Aimed at the indie game developer ecosystem with similar features to cocos2d-x. | |
Gamvas | JavaScript | JavaScript | Yes | 2D | HTML5 | MIT | HTML5 canvas game engine with wikipedia:Box2D integration. | |
Godot | C++ | GDScript | Yes | 2D, 3D | Cross-platform | MIT | ||
Horde3D | C++ | Yes | 3D | Windows, Linux | EPL | Horde3D is a small 3D rendering engine designed for large crowds of animated characters. | ||
HPL Engine | C++ | AngelScript | Yes | 3D | Windows, Linux, OS X | wikipedia:Penumbra: Overture, wikipedia:Penumbra: Black Plague, wikipedia:Penumbra: Requiem, wikipedia:Amnesia: The Dark Descent, wikipedia:Amnesia: A Machine for Pigs, wikipedia:Soma (video game) | Proprietary, GPL | HPL is a cross-platform game engine which is compatible with the OpenGL, OpenAL, and Newton Game Dynamics libraries. One of the engine's defining features is its ability for advanced object interaction through the use of Newton's physics code. HPL Engine 1, the first version, is available under GPL. |
id Tech 1 (Doom) | C | ACS | Yes | 2.5D | Windows, Linux, OS X | Doom, Doom II, Heretic, Hexen, Strife, wikipedia:Chex Quest | GPL | 2D-based level geometry, sprites, and particles, uses clever methods to give the illusion of 3D depth. |
id Tech 2 (Quake) | C | QuakeC | Yes | 3D | Windows, Linux, OS X | Quake | GPL | First true 3D id Tech engine. |
id Tech 2 (Quake II) | C | C | Yes | 3D | Windows, Linux, OS X | wikipedia:Quake II | GPL | Better known as the Quake II engine. |
id Tech 3 | C | C | Yes | 3D | Windows, Linux, OS X | wikipedia:Quake III Arena | GPL | Better known as the Quake III engine. |
id Tech 4 | C++ | C++ via DLLs | Yes | 3D | Windows, Linux, OS X | wikipedia:Doom 3, Doom 3: BFG Edition, wikipedia:Quake 4 | GPL | Better known as the Doom 3 engine with a set of good tools and wikipedia:MegaTexture. |
ioquake3 | C | Yes | 3D | Windows, Linux, OS X | wikipedia:Urban Terror | GPL | ||
Jake2 | Java | Yes | 3D | Cross-platform | GPL | Java port of the Quake II game engine. | ||
jMonkeyEngine | Java | Yes | 3D | Cross-platform | BSD | A community-centric project that is used by several commercial game studios. | ||
Jogre | Java | Yes | 2D | Cross-platform | GPL | Used by many schools as part of the course work. | ||
Kivy | Python | Kv | Yes | 2.5D | Windows, Linux, OS X, iOS, Android | Deflectouch, FishLife | MIT | For rapid development that can make multi-touch apps. |
Leadwerks Engine | C++ | Lua | Yes | 3D | Linux, wikipedia:Windows Vista, wikipedia:Windows 7, wikipedia:Windows 8 | Proprietary | ||
LibGDX | Java | Yes | 2D, 3D | GNU/Linux, wikipedia:Windows, Mac OS X, iOS, Android, wikipedia:Java applet, WebGL | Apache 2.0 | Libgdx is a Java game development framework that provides a unified API that works across all supported platforms. | ||
LÖVE | C++ | Lua | Yes | 2D | iOS, Android, Windows, Linux, OS X, wikipedia:NetBSD, wikipedia:FreeBSD, wikipedia:OpenBSD, Solaris,and all platforms supportted by pkgsrc | wikipedia:Mari0, Journey to the Center of Hawkthorne | zlib | |
Moai SDK | C++ | Lua | Yes | 2D | Windows, OS X, iOS, Android, Linux | Crimson Steam Pirates, wikipedia:Broken Age, Lost in Paradise | CPAL | |
OGRE | C++ | C++ | Yes | 3D | Linux, Windows (all major versions), OS X, NaCl, wikipedia:WinRT, wikipedia:Windows Phone 8, iOS and Android | wikipedia:Torchlight | MIT | 3D rendering engine used by several games. |
ONScripter | NScripter | NScripter | Yes | 2D | Windows, Mac OS X, Linux, wikipedia:Dreamcast, PSP, iOS | wikipedia:Narcissu, wikipedia:Saya no Uta, wikipedia:Tsukihime | GPL | Used to develop wikipedia:visual novels and first-person wikipedia:adventure games. |
OpenClonk | C++ | C4Script | Yes | 2.5D | Windows, Linux, OS X | wikipedia:OpenClonk | ISC | Engine for 2D action/strategy platformers with 3D graphics. |
OpenSimulator | C# | LSL | Yes | 3D | BSD | A server platform for hosting virtual worlds that is compatible with Second Life clients. | ||
ORX | C/C++ | Custom | Yes | 2.5D | Windows, Linux, OS X, iOS, Android | Le Magasin des Suicides | zlib | 3D accelerated |
Panda3D | C++ | Python | Yes | 3D | Windows, Linux, OS X, iOS | wikipedia:Toontown Online, wikipedia:Pirates of the Caribbean Online | BSD | |
PlayCanvas | JavaScript | JavaScript | Yes | 3D | Windows Linux OS X iOS HTML5 Android | Swoop, Zombie Pac-man | MIT | Users can work on a game at the same time via online browser and publish to multiple platforms. Engine uses WebGL and includes physics. |
PlayN | Java | Yes | 2D | iOS, Android, HTML5, Windows, Linux | Angry Birds Chrome | Apache 2.0 | ||
PLIB | C++ | Yes | 3D | Windows, Linux, OS X | LGPL | |||
Pyrogenesis | C++ | JavaScript | Yes | 3D | Windows, Linux, OS X | 0 A.D. | GPL | Designed for RTS games. |
Ren'Py | Python | Pygame | Yes | 2D | Windows, Mac OS X, Linux, Android, wikipedia:OpenBSD | wikipedia:Analogue: A Hate Story, Jisei, wikipedia:Katawa Shoujo | MIT | Used to develop wikipedia:visual novels and first-person wikipedia:adventure games. |
Retribution Engine | C++ | No | 3D | Windows | GPL | For first person shooter games | ||
Spring | C++ | C, C++, Java/JVM, Lua, Python | Yes | 3D | Windows, Linux, OS X | Balanced Annihilation, Zero-K | GPL | RTS, simulated events, wikipedia:OpenGL |
Starling Framework | ActionScript | Yes | 2D | wikipedia:Windows, Mac OS X, GNU/Linux, iOS, Android | wikipedia:Angry Birds Friends, wikipedia:Incredipede | Simplified BSD | Recreates the traditional Flash display list architecture on top of accelerated graphics hardware. | |
StepMania | C++ | Lua | Yes | 3D | Cross-platform | In the Groove, wikipedia:Pump It Up Pro, wikipedia:Pump It Up Infinity | MIT | A rhythm video game and engine that was originally developed as a simulator of Konami's DDR. |
Stratagus | C | Lua | Yes | 2D | Linux | wikipedia:Bos Wars | GPL | For real-time strategy games |
Torque3D | C++ | TorqueScript | Yes | 3D | Windows, Linux, OS X no more supported | wikipedia:Marble Blast Gold, wikipedia:ThinkTanks, wikipedia:Tribes 2, wikipedia:Villagers and Heroes, Blockland | MIT | Includes multiplayer network code, seamless indoor/outdoor rendering engines, skeletal animation, drag and drop GUI creation, a built in world editor, and a C-like scripting language. |
Turbulenz | wikipedia:TypeScript | JavaScript | Yes | 2D, 3D | HTML5, iOS, Android | Polycraft, Save the Day, Score Rush | MIT | |
Visual Pinball | C++ | VBScript | No | 3D | Windows | MAME like license | ||
Wintermute Engine | C-like syntax | No | 2.5D | Windows | Donationware, MIT License | The "lite" version lacks the 3D Actor function | ||
WorldForge | C++ | Lua (client), Python (server) | Yes | 3D | GPL | MMORPG framework consisting of Libraries, Server, Client, and Media. | ||
ZGameEditor | Delphi | Custom | Yes | 3D | Windows, Linux, OS X, Android | MIT | A lightweight game engine and IDE. | |
Zest3D | ActionScript 3, C++ | Lua | Yes | 3D | Web, Windows, Linux, OS X, Android, iOS, BlackBerry | Boost | ||
Name | Primary programming language | Scripting | Cross-platform | 2D/3D oriented | Platform | Notable games | License | Notes and references |
Ogre
After a serious headache, I'm testing 3D.
First released in 1999, I skipped it at first because it seems under maintained and out-dated. Stupid a priori. Even the wiki page reinforce the idea. When you take the time to check the news on the website and the repository on bitbucket, you realise it's actively maintained!
It has all the features I'm searching for:
- PhysX, via an addon: NxOgre.
- Oculus Rift & OSVR support.
- Cross-platform: Windows (all major versions), Linux, Mac OSX, Android, iOS, Windows Phone & WinRT support - even if I know that several features will be incomplete or impossible to run on some platforms, it will be possible to reuse the majority of work.
- And, last but not least, Ogre doesn't have a scripting language. Everything must be done in C++, so no transcoding of instructions or memory.
All bookmarks regarding Ogre3D
Installation
Running the samples on linux is straight forward. Building your first project is more tricky. See Ogre3D on linux
Irrlicht
Not even in the wikipedia list, Irrlicht is a nice candidate. It's small, fast and easy to test. All basic requirements are there. Graphics in demo are not nice even if I prefer the style of UIs. Very simple to compile and run.
Because I understand what it does, I could test an important feature I forgot to mention: multiple engines on the same machine.
Compared to graphical performances of Ogre, Irrlicht seems old-fashion. A 30 minutes internet search later: can't find nice looking games with realistics 3D shadows using Irrlicht...