Difference between revisions of "Tech:GameEngines"
Frankiezafe (Talk | contribs) |
Frankiezafe (Talk | contribs) (→Others) |
||
(35 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | Adaptation of the [[wikipedia:List_of_game_engines| 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 == | ||
+ | |||
+ | {|class="wikitable sortable" style="text-align: center; font-size: 85%; width: auto; table-layout: fixed;" | ||
+ | |- | ||
+ | ! style="width: 12em" | Name | ||
+ | ! Primary [[wikipedia:programming language|programming language]] | ||
+ | ! [[wikipedia:Scripting language|Scripting]] | ||
+ | ! Cross-platform | ||
+ | ! 2D/3D oriented | ||
+ | ! [[wikipedia:Computing platform|Target platform]] | ||
+ | ! Notable games | ||
+ | ! License | ||
+ | ! class="unsortable" | Notes and references | ||
+ | |- | ||
+ | ! [[wikipedia:Adventure Game Studio|Adventure Game Studio]] | ||
+ | | [[wikipedia:C++|C++]] | ||
+ | | AGSScript | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]] | ||
+ | | [[wikipedia:Chzo Mythos]], [[wikipedia:The Blackwell Series]] | ||
+ | | [[wikipedia:Artistic License|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 game]]s. | ||
+ | |- | ||
+ | ! [[wikipedia:Aleph One (game engine)|Aleph One]] | ||
+ | | C++ | ||
+ | | Lua, Marathon markup language | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | |Aleph One (''[[wikipedia:Marathon (video game)|Marathon]]'' [[wikipedia:Remake (software)|remake]]) | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | FPS engine | ||
+ | |- | ||
+ | ! [[wikipedia:Allegro (software)|Allegro]] | ||
+ | | [[wikipedia:C (programming language)|C]] | ||
+ | | [[wikipedia:Ada (programming language)|Ada]], [[wikipedia:C++|C++]], [[wikipedia:C Sharp (programming language)|C#]], [[wikipedia:D (programming language)|D]], [[wikipedia:Lisp (programming language)|Lisp]], [[wikipedia:Lua (programming language)|Lua]], [[wikipedia:Mercury (programming language)|Mercury]], [[wikipedia:Pascal (programming language)|Pascal]], [[wikipedia:Perl]], [[wikipedia:Python (programming language)|Python]], [[wikipedia:Scheme (programming language)|Scheme]] | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Raspberry Pi|Raspberry Pi]], [[wikipedia:DOS]] | ||
+ | | | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | Graphics, audio, and input. | ||
+ | |- | ||
+ | ! [[wikipedia:Frogatto & Friends| Anura]] | ||
+ | | C++ | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:BlackBerry 10]] | ||
+ | | [[wikipedia:Frogatto & Friends]] | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Ardor3D|Ardor3D]] | ||
+ | | Java | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | Fork of [[wikipedia:jMonkeyEngine]] 2.0 | ||
+ | |- | ||
+ | ! [[wikipedia:Blend4Web|Blend4Web]] | ||
+ | | [[wikipedia:JavaScript|JavaScript]], [[wikipedia:Python (programming language)|Python]], [[wikipedia:C (programming language)|C]], [[wikipedia:C++|C++]] | ||
+ | | [[wikipedia:JavaScript|JavaScript]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:WebGL|WebGL]], [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]] | ||
+ | | ''[[wikipedia:Experience Curiosity]]'', ''[[wikipedia:Petigor's Tale]]'', ''[[wikipedia:Back to the Middle Ages]]'' | ||
+ | | [[wikipedia:GPLv3|GPLv3]] or [[wikipedia:commercial software|commercial]] | ||
+ | | Game content, including graphics, animation, sound, and physics, is authored in the 3D modeling and animation suite [[wikipedia:Blender_(software)|Blender]]. | ||
+ | |- | ||
+ | ! [[wikipedia:Game Blender|Blender]] | ||
+ | | C, C++ | ||
+ | | Python | ||
+ | | {{yes}} | ||
+ | | 2D, 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:Solaris (operating system)|Solaris]] | ||
+ | | ''[[wikipedia:Yo Frankie!]]'', ''[[wikipedia:Sintel The Game]]'', ''ColorCube'' | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | 2D/3D game engine packaged in a 3D modeler with integrated Bullet physics library. | ||
+ | |- | ||
+ | ! [[wikipedia:Build (game engine)|Build engine]] | ||
+ | | C | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:DOS]] | ||
+ | | ''[[wikipedia:Duke Nukem 3D]]'', ''[[wikipedia:Shadow Warrior]]'', ''[[wikipedia:Blood (video game)|Blood]]'', ''[[wikipedia:Redneck Rampage]]'' | ||
+ | | Custom (?) | ||
+ | | [[wikipedia:First-person shooter engine|FPS engine]], [[wikipedia:2.5D]] (2D grid base geometry.) | ||
+ | |- | ||
+ | ! [[wikipedia:Cafu Engine|Cafu Engine]] | ||
+ | | C++ | ||
+ | | [[wikipedia:Lua (programming language)|Lua]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | | ||
+ | | [[wikipedia:GNU General Public License|GPL]] or [[wikipedia:proprietary software|Proprietary]] | ||
+ | | Includes a map editor and networking. | ||
+ | |- | ||
+ | ! [[wikipedia:ClanLib|ClanLib]] | ||
+ | | C++ | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Cocos2d|Cocos2d, Cocos2d-x, Cocos2d-html5]] | ||
+ | | C++, Python, [[wikipedia:Objective-C|Objective-C]], JavaScript | ||
+ | | JavaScript, Java, Lua | ||
+ | | {{yes}} | ||
+ | | 2D, 2.5D, 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:BlackBerry|BlackBerry]], [[wikipedia:Tizen]] | ||
+ | | Hardest Game Ever 2, DQMSL, Tiny Village, Badland, Small Street, Tiny Tower, Pocket Planes, Hill Climb, Star Thief, Geometry Dash | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | iOS target uses Objective-C. Android target binds to Java. | ||
+ | |- | ||
+ | ! [[wikipedia:Codea|Codea]] | ||
+ | | [[wikipedia:Lua (programming language)|Lua]] | ||
+ | | | ||
+ | | {{no}} | ||
+ | | 2D | ||
+ | | [[wikipedia:iOS|iOS]] | ||
+ | | Cargo-Bot | ||
+ | |[[wikipedia:Apache License|Apache 2.0]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Construct (game engine)|Construct]] | ||
+ | | C++ | ||
+ | | Javascript | ||
+ | | {{Yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia: Windows| Windows]], [[wikipedia:OS X|OS X]], [[wikipedia:Wii U]], [[wikipedia:HTML5|HTML5]] capable [[wikipedia:internet browser]]s | ||
+ | | | ||
+ | | [[wikipedia:Proprietary software|Proprietary]], [[wikipedia:GPL]] | ||
+ | | Classic version available under GPL. | ||
+ | |- | ||
+ | ! ''Core3D'' | ||
+ | | [[wikipedia:Objective-C|Objective-C]] | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]] | ||
+ | | CoreBreach | ||
+ | | 3D Engine [[wikipedia:MIT License|MIT]], Source Code [[wikipedia:GNU General Public License|GPL v2]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Crystal Space|Crystal Space]] | ||
+ | | C++ | ||
+ | | Java, Perl, Python | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | [[wikipedia:Keepsake (video game)|Keepsake]], The Crystal Scrolls, [[wikipedia:Yo Frankie!]] | ||
+ | | [[wikipedia:GNU Lesser General Public License|LGPL]] | ||
+ | | | ||
+ | |- | ||
+ | ! ''[[wikipedia:Cube (video game)|Cube]]'' | ||
+ | | C++ | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | [[wikipedia:AssaultCube]], [[wikipedia:Cube (video game)|Cube]] | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | Previous generation (means it has a successor), 2D grid-based system, optimized for outdoor rather than indoor maps. | ||
+ | |- | ||
+ | ! ''[[wikipedia:Cube 2: Sauerbraten|Cube 2]]'' | ||
+ | | C++ | ||
+ | | CubeScript | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | [[wikipedia:Cube 2: Sauerbraten|Cube 2]], [[wikipedia:Red Eclipse]] | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | Efficient 6-directional height map based geometry (versus traditional [[wikipedia:Polygon soup]] model), hence the name Cube, FPS engine. | ||
+ | |- | ||
+ | ! [[wikipedia:Delta3D|Delta3D]] | ||
+ | | C++ | ||
+ | | Python | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:GNU Lesser General Public License|LGPL]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Dim3|Dim3]] | ||
+ | | C++ | ||
+ | | JavaScript | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:DimensioneX Multiplayer Engine|DimensioneX Multiplayer Engine]] | ||
+ | | Java | ||
+ | | Java, VBScript | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | Underworld Online | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | Produces browser games with pseudo-3D views. Games can be turned into Facebook Apps. Intended for beginners. | ||
+ | |- | ||
+ | ! [[wikipedia:Env3D|Env3D]] | ||
+ | | Java | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:GNU General Public License|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. | ||
+ | |- | ||
+ | ! [[wikipedia:Exult|Exult]] | ||
+ | | C++ | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:BSD]] | ||
+ | | | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | [[wikipedia:Free software]] re-implementation of the [[wikipedia:Ultima VII]] game engine. | ||
+ | |- | ||
+ | ! [[wikipedia:Flixel|Flixel]] | ||
+ | | ActionScript | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | | ||
+ | | Various games by [[wikipedia:Gregory Weir]] | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | [[wikipedia:Boilerplate code|Boiler-plate code]] for Flash games. | ||
+ | |- | ||
+ | ! [[wikipedia:Game Editor|Game Editor]] | ||
+ | | | ||
+ | | Custom (C styled) | ||
+ | | {{Yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:iPhone|iPhone]], [[wikipedia:iPad]], [[wikipedia:OS X|OS X]], [[wikipedia:Microsoft Windows|Windows]] (95-Windows 7), [[wikipedia:Linux|Linux]], Windows-based [[wikipedia:Smartphone]]s, [[wikipedia:GP2X]], Pocket PCs, [[wikipedia:Handheld PC]]s | ||
+ | | Notable games | ||
+ | | [[wikipedia:GNU General Public License|GPL]] / [[wikipedia:Proprietary software|Proprietary]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:GamePlay (game engine)|GamePlay3D]] | ||
+ | | C++ | ||
+ | | [[wikipedia:Lua (programming language)|Lua]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:BlackBerry 10]], [[wikipedia:Android (operating system)|Android]] | ||
+ | | | ||
+ | | [[wikipedia:Apache License|Apache 2.0]] | ||
+ | | Aimed at the indie game developer ecosystem with similar features to cocos2d-x. | ||
+ | |- | ||
+ | ! [[wikipedia:Gamvas|Gamvas]] | ||
+ | | [[wikipedia:JavaScript|JavaScript]] | ||
+ | | [[wikipedia:JavaScript|JavaScript]] | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:HTML5|HTML5]] | ||
+ | | | ||
+ | | [[wikipedia:MIT license|MIT]] | ||
+ | | [[wikipedia:HTML5|HTML5]] canvas game engine with [[wikipedia:Box2D]] integration. | ||
+ | |- | ||
+ | ! [[wikipedia:Godot (game engine)|Godot]] | ||
+ | | C++ | ||
+ | | [[wikipedia:GDScript|GDScript]] | ||
+ | | {{yes}} | ||
+ | | 2D, 3D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:MIT license|MIT]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Horde3D (game engine)|Horde3D]] | ||
+ | | C++ | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]] | ||
+ | | | ||
+ | | [[wikipedia:Eclipse Public License|EPL]] | ||
+ | | Horde3D is a small 3D rendering engine designed for large crowds of animated characters. | ||
+ | |- | ||
+ | ! [[wikipedia:HPL Engine|HPL Engine]] | ||
+ | | C++ | ||
+ | | [[wikipedia:AngelScript|AngelScript]] | ||
+ | | {{Yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|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)]]'' | ||
+ | | [[wikipedia:Proprietary software|Proprietary]], [[wikipedia:GNU General Public License|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. | ||
+ | |- | ||
+ | ! [[wikipedia:Doom engine|id Tech 1 (Doom)]] | ||
+ | | C | ||
+ | | ACS | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | ''[[wikipedia:Doom (1993 video game)|Doom]]'', ''[[wikipedia:Doom II: Hell on Earth|Doom II]]'', ''[[wikipedia:Heretic (video game)|Heretic]]'', ''[[wikipedia:Hexen: Beyond Heretic|Hexen]]'', ''[[wikipedia:Strife (video game)|Strife]]'', ''[[wikipedia:Chex Quest]]'' | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | 2D-based level geometry, sprites, and particles, uses clever methods to give the illusion of 3D depth. | ||
+ | |- | ||
+ | ! [[wikipedia:Quake engine|id Tech 2 (Quake)]] | ||
+ | | C | ||
+ | | [[wikipedia:QuakeC|QuakeC]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | [[wikipedia:Quake (video game)|Quake]] | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | First [[wikipedia:3D computer graphics|true 3D]] id Tech engine. | ||
+ | |- | ||
+ | ! [[wikipedia:Quake II engine|id Tech 2 (Quake II)]] | ||
+ | | C | ||
+ | | C | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | ''[[wikipedia:Quake II]]'' | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | Better known as the ''Quake II'' engine. | ||
+ | |- | ||
+ | ! [[wikipedia:id Tech 3|id Tech 3]] | ||
+ | | C | ||
+ | | C | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | ''[[wikipedia:Quake III Arena]]'' | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | Better known as the ''Quake III'' engine. | ||
+ | |- | ||
+ | ! [[wikipedia:id Tech 4|id Tech 4]] | ||
+ | | C++ | ||
+ | | C++ via [[wikipedia:Dynamic-link library|DLLs]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | ''[[wikipedia:Doom 3]]'', ''[[wikipedia:Doom 3 BFG Edition|Doom 3: BFG Edition]]'', ''[[wikipedia:Quake 4]]'' | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | Better known as the ''Doom 3'' engine with a set of good tools and [[wikipedia:MegaTexture]]. | ||
+ | |- | ||
+ | ! [[wikipedia:ioquake3|ioquake3]] | ||
+ | | C | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | ''[[wikipedia:Urban Terror]]'' | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Jake2|Jake2]] | ||
+ | | Java | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | Java port of the ''Quake II'' game engine. | ||
+ | |- | ||
+ | ! [[wikipedia:jMonkeyEngine|jMonkeyEngine]] | ||
+ | | Java | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:BSD Licenses|BSD]] | ||
+ | | A community-centric project that is used by several commercial game studios. | ||
+ | |- | ||
+ | ! [[wikipedia:Jogre|Jogre]] | ||
+ | | Java | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | Used by many schools as part of the course work. | ||
+ | |- | ||
+ | ! [[wikipedia:Kivy|Kivy]] | ||
+ | | Python | ||
+ | | Kv | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]] | ||
+ | | Deflectouch, FishLife | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | For rapid development that can make multi-touch apps. | ||
+ | |- | ||
+ | ! [[wikipedia:Leadwerks Engine|Leadwerks Engine]] | ||
+ | | C++ | ||
+ | | Lua | ||
+ | | {{Yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Linux as a gaming platform|Linux]], [[wikipedia:Windows Vista]], [[wikipedia:Windows 7]], [[wikipedia:Windows 8]] | ||
+ | | | ||
+ | | [[wikipedia:Proprietary software|Proprietary]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:LibGDX|LibGDX]] | ||
+ | | [[wikipedia:Java (programming language)|Java]] | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2D, 3D | ||
+ | | [[wikipedia:Linux|GNU/Linux]], [[wikipedia:Windows]], [[wikipedia:OS X|Mac OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:Java applet]], [[wikipedia:WebGL|WebGL]] | ||
+ | | | ||
+ | | [[wikipedia:Apache License|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 | ||
+ | | [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:NetBSD]], [[wikipedia:FreeBSD]], [[wikipedia:OpenBSD]], [[wikipedia:Solaris (operating system)|Solaris]],and all platforms supportted by pkgsrc | ||
+ | | [[wikipedia:Mari0]], Journey to the Center of Hawkthorne | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Moai (game development platform)|Moai SDK]] | ||
+ | | C++ | ||
+ | | Lua | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:Linux|Linux]] | ||
+ | | Crimson Steam Pirates, [[wikipedia:Broken Age]], [[wikipedia:Lost in Paradise (game)|Lost in Paradise]] | ||
+ | | [[wikipedia:CPAL|CPAL]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:OGRE|OGRE]] | ||
+ | | C++ | ||
+ | | [[wikipedia:C++|C++]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Linux|Linux]], Windows (all major versions), OS X, [[wikipedia:Google Native Client|NaCl]], [[wikipedia:WinRT]], [[wikipedia:Windows Phone 8]], [[wikipedia:iOS|iOS]] and [[wikipedia:Android (operating system)|Android]] | ||
+ | | [[wikipedia:Torchlight]] | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | 3D rendering engine used by several games. | ||
+ | |- | ||
+ | ! [[wikipedia:NScripter|ONScripter]] | ||
+ | | [[wikipedia:NScripter|NScripter]] | ||
+ | | [[wikipedia:NScripter|NScripter]] | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:OS X|Mac OS X]], [[wikipedia:Linux|Linux]], [[wikipedia:Dreamcast]], [[wikipedia:PlayStation Portable|PSP]], [[wikipedia:iOS|iOS]] | ||
+ | | [[wikipedia:Narcissu]], [[wikipedia:Saya no Uta]], [[wikipedia:Tsukihime]] | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | Used to develop [[wikipedia:visual novel]]s and first-person [[wikipedia:adventure game]]s. | ||
+ | |- | ||
+ | ! [[wikipedia:OpenClonk|OpenClonk]] | ||
+ | | C++ | ||
+ | | C4Script | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | [[wikipedia:OpenClonk]] | ||
+ | | [[wikipedia:ISC license|ISC]] | ||
+ | | Engine for 2D action/strategy platformers with 3D graphics. | ||
+ | |- | ||
+ | ! [[wikipedia:OpenSimulator|OpenSimulator]] | ||
+ | | C# | ||
+ | | [[wikipedia:Linden Scripting Language|LSL]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | | ||
+ | | | ||
+ | | [[wikipedia:BSD Licenses|BSD]] | ||
+ | | A server platform for hosting virtual worlds that is compatible with Second Life clients. | ||
+ | |- | ||
+ | ! [[wikipedia:ORX|ORX]] | ||
+ | | C/C++ | ||
+ | | Custom | ||
+ | | {{yes}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]] | ||
+ | | Le Magasin des Suicides | ||
+ | | [[wikipedia:zlib License|zlib]] | ||
+ | | 3D accelerated | ||
+ | |- | ||
+ | ! [[wikipedia:Panda3D|Panda3D]] | ||
+ | | C++ | ||
+ | | Python | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:iOS|iOS]] | ||
+ | | ''[[wikipedia:Toontown Online]]'', ''[[wikipedia:Pirates of the Caribbean Online]]'' | ||
+ | | [[wikipedia:BSD licenses|BSD]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:PlayCanvas|PlayCanvas]] | ||
+ | | [[wikipedia:JavaScript|JavaScript]] | ||
+ | | [[wikipedia:JavaScript|JavaScript]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]] [[wikipedia:Linux|Linux]] [[wikipedia:OS X|OS X]] [[wikipedia:iOS|iOS]] [[wikipedia:HTML5|HTML5]] [[wikipedia:Android (operating system)|Android]] | ||
+ | | Swoop, Zombie Pac-man | ||
+ | | [[wikipedia:MIT License|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. | ||
+ | |- | ||
+ | ! [[wikipedia:PlayN|PlayN]] | ||
+ | | [[wikipedia:Java|Java]] | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:HTML5|HTML5]], [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]] | ||
+ | | Angry Birds Chrome | ||
+ | | [[wikipedia:Apache License|Apache 2.0]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:PLIB|PLIB]] | ||
+ | | C++ | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | | ||
+ | | [[wikipedia:GNU Lesser General Public License|LGPL]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:0 A.D. (video game)#Game engine|Pyrogenesis]] | ||
+ | | C++ | ||
+ | | JavaScript | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | [[wikipedia:0 A.D. (video game)|0 A.D.]] | ||
+ | | [[wikipedia:GNU Lesser General Public License|GPL]] | ||
+ | | Designed for RTS games. | ||
+ | |- | ||
+ | ! [[wikipedia:Ren'Py|Ren'Py]] | ||
+ | | [[wikipedia:Python (programming language)|Python]] | ||
+ | | [[wikipedia:Pygame|Pygame]] | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:OS X|Mac OS X]], [[wikipedia:Linux|Linux]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:OpenBSD]] | ||
+ | | [[wikipedia:Analogue: A Hate Story]], [[wikipedia:Jisei (video game series)|Jisei]], [[wikipedia:Katawa Shoujo]] | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | Used to develop [[wikipedia:visual novel]]s and first-person [[wikipedia:adventure game]]s. | ||
+ | |- | ||
+ | ! [[wikipedia:Retribution Engine|Retribution Engine]] | ||
+ | | C++ | ||
+ | | | ||
+ | | {{no}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]] | ||
+ | | | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | For first person shooter games | ||
+ | |- | ||
+ | ! [[wikipedia:Spring (game engine)|Spring]] | ||
+ | | [[wikipedia:C++|C++]] | ||
+ | | [[wikipedia:C (programming language)|C]], [[wikipedia:C++|C++]], [[wikipedia:JVM Languages|Java/JVM]], [[wikipedia:Lua (programming language)|Lua]], [[wikipedia:Python (programming language)|Python]] | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] | ||
+ | | [[wikipedia:Spring: Balanced Annihilation#Balanced Annihilation|Balanced Annihilation]], [[wikipedia:Spring (game engine)#Zero-K|Zero-K]] | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | [[wikipedia:Real-time strategy|RTS]], simulated events, [[wikipedia:OpenGL]] | ||
+ | |- | ||
+ | ! [[wikipedia:Starling Framework|Starling Framework]] | ||
+ | | ActionScript | ||
+ | | | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Windows]], [[wikipedia:OS X|Mac OS X]], [[wikipedia:Linux|GNU/Linux]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]] | ||
+ | | [[wikipedia:Angry Birds Friends]], [[wikipedia:Incredipede]] | ||
+ | | [[wikipedia:Simplified BSD License|Simplified BSD]] | ||
+ | | Recreates the traditional [[wikipedia:Adobe Flash|Flash]] display list architecture on top of [[wikipedia:Graphics Processing Unit|accelerated graphics hardware]]. | ||
+ | |- | ||
+ | ! [[wikipedia:StepMania|StepMania]] | ||
+ | | C++ | ||
+ | | Lua | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Cross-platform|Cross-platform]] | ||
+ | | [[wikipedia:In the Groove (series)|In the Groove]], [[wikipedia:Pump It Up Pro]], [[wikipedia:Pump It Up Infinity]] | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | A rhythm video game and engine that was originally developed as a simulator of Konami's [[wikipedia:Dance Dance Revolution|DDR]]. | ||
+ | |- | ||
+ | ! [[wikipedia:Stratagus|Stratagus]] | ||
+ | | C | ||
+ | | Lua | ||
+ | | {{yes}} | ||
+ | | 2D | ||
+ | | [[wikipedia:Linux|Linux]] | ||
+ | | [[wikipedia:Bos Wars]] | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | For real-time strategy games | ||
+ | |- | ||
+ | ! [[wikipedia:Torque (game engine)|Torque3D]] | ||
+ | | [[wikipedia:C++|C++]] | ||
+ | | TorqueScript | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]] no more supported | ||
+ | | [[wikipedia:Marble Blast Gold]], [[wikipedia:ThinkTanks]], [[wikipedia:Tribes 2]], [[wikipedia:Villagers and Heroes]], [[wikipedia:Blockland_(video_game)|Blockland]] | ||
+ | | [[wikipedia:MIT License|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]] | ||
+ | | [[wikipedia:JavaScript|JavaScript]] | ||
+ | | {{yes}} | ||
+ | | 2D, 3D | ||
+ | | [[wikipedia:HTML5|HTML5]], [[wikipedia:iOS|iOS]], [[wikipedia:Android (operating system)|Android]] | ||
+ | | Polycraft, Save the Day, Score Rush | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Visual Pinball|Visual Pinball]] | ||
+ | | C++ | ||
+ | | VBScript | ||
+ | | {{No}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]] | ||
+ | | | ||
+ | | [[wikipedia:MAME#License|MAME like license]] | ||
+ | | | ||
+ | |- | ||
+ | ! [[wikipedia:Wintermute Engine|Wintermute Engine]] | ||
+ | | | ||
+ | | C-like syntax | ||
+ | | {{No}} | ||
+ | | 2.5D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]] | ||
+ | | | ||
+ | | [[wikipedia:Donationware|Donationware]], [[wikipedia:MIT License|MIT License]] | ||
+ | | The "lite" version lacks the 3D Actor function | ||
+ | |- | ||
+ | ! [[wikipedia:WorldForge|WorldForge]] | ||
+ | | C++ | ||
+ | | Lua (client), Python (server) | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | | ||
+ | | | ||
+ | | [[wikipedia:GNU General Public License|GPL]] | ||
+ | | MMORPG framework consisting of Libraries, Server, Client, and Media. | ||
+ | |- | ||
+ | ! [[wikipedia:ZGameEditor|ZGameEditor]] | ||
+ | | [[wikipedia:Embarcadero Delphi|Delphi]] | ||
+ | | Custom | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:Android (operating system)|Android]] | ||
+ | | | ||
+ | | [[wikipedia:MIT License|MIT]] | ||
+ | | A lightweight game engine and IDE. | ||
+ | |- | ||
+ | ! [[wikipedia:Zest3D|Zest3D]] | ||
+ | | [[wikipedia:ActionScript 3|ActionScript 3]], C++ | ||
+ | | Lua | ||
+ | | {{yes}} | ||
+ | | 3D | ||
+ | | [[wikipedia:World Wide Web|Web]], [[wikipedia:Microsoft Windows|Windows]], [[wikipedia:Linux|Linux]], [[wikipedia:OS X|OS X]], [[wikipedia:Android (operating system)|Android]], [[wikipedia:iOS|iOS]], [[wikipedia:BlackBerry|BlackBerry]] | ||
+ | | | ||
+ | | [[wikipedia:Boost License|Boost]] | ||
+ | | | ||
+ | |- class="sortbottom" | ||
+ | ! style="width: 12em" | Name | ||
+ | ! Primary [[wikipedia:programming language|programming language]] | ||
+ | ! [[wikipedia:Scripting language|Scripting]] | ||
+ | ! Cross-platform | ||
+ | ! 2D/3D oriented | ||
+ | ! [[wikipedia:Computing platform|Platform]] | ||
+ | ! Notable games | ||
+ | ! License | ||
+ | ! class="unsortable" | Notes and references | ||
+ | |} | ||
== Ogre == | == Ogre == | ||
− | http://www.ogre3d.org/ | + | After a serious headache, I'm testing [http://www.ogre3d.org/|Ogre 3D]. |
+ | |||
+ | First released in 1999, I skipped it at first because it seems under maintained and out-dated. Stupid a priori. Even the [[wikipedia:OGRE|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: | ||
+ | * [https://developer.nvidia.com/gameworks-physx-overview PhysX], via an addon: [http://www.ogre3d.org/tikiwiki/NxOgre 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 [[Bookmarks#Ogre3D|Ogre3D]] | ||
+ | |||
+ | === Installation === | ||
+ | |||
+ | Running the samples on linux is straight forward. Building your first project is more tricky. See [http://wiki.frankiezafe.org/index.php?title=Compiler_Ogre3D_sous_linux Ogre3D on linux] | ||
+ | |||
+ | == Irrlicht == | ||
− | + | Not even in the wikipedia list, [http://irrlicht.sourceforge.net/ 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. | |
− | + | [[File:Irrlicht mesh-viewer-demo.png|800px]] | |
− | + | 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... | |
− | + | == Others == | |
− | + | * [http://www.horde3d.org/home.html Horde3D] | |
+ | * [https://urho3d.github.io/ Urho3D] |
Latest revision as of 19:04, 20 August 2016
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...