Awesome
Game Engines with Source: Learning from the best
As a game developer, I'm always intrigued by how other people do things and what solutions have been developed to some problem. As well as the big ones, many smaller engines are being worked on and I find myself downloading repositories, compiling, tinkering and marveling at what's available. This is a non-exhaustive list of game engines whose source code you can freely inspect, compile, run and learn from.
NB: When I say game engine I am referring to a conglomerate of technologies that generally has an editor, a scene description, input/output, etc. If the scope is more limited we would be talking about a rendering or a physics engine.
NB2: Notice I say public source, and not open or free or anything that suggests that you can arbitrarily make use of the code. Every entry in the list has its own licensing terms, commercial options and/or conditions that you need to abide by.
Team Engines
Engines that are being developed by teams of individuals, generally are well established and have commercial products behind them.
Engine | Source | Screenshot | |
---|---|---|---|
Unreal Engine | https://github.com/EpicGames/UnrealEngine | <img src="https://i.ytimg.com/vi/mUfuqDEXGGs/maxresdefault.jpg" width="300"/> | |
CryEngine | https://github.com/CRYTEK/CRYENGINE_ReadMe | <img src="https://steamcdn-a.akamaihd.net/steam/apps/220980/ss_8e87d76adb029c0454823e73279f70de20432777.600x338.jpg" width="300"/> | |
Godot | https://github.com/godotengine/godot | <img src="https://user-images.githubusercontent.com/180032/54845242-2d1cff00-4cd9-11e9-87af-434063628126.png" width="300"/> | |
The Forge | https://github.com/ConfettiFX/The-Forge | <img src="https://github.com/ConfettiFX/The-Forge/raw/master/Screenshots/UT%2015a/vrs_original1.png" width="300"/> | |
Torque 3D | https://github.com/TorqueGameEngines/Torque3D | <img src="https://torque3d.readthedocs.io/en/latest/_images/WorldEditorIntroImage.jpg" width="300"/> | |
Flax Engine | https://github.com/FlaxEngine/FlaxEngine | <img src="https://docs.flaxengine.com/manual/editor/media/title.jpg" width="300"/> | |
Panda 3D | https://github.com/panda3d/panda3d | <img src="https://www.panda3d.org/wp-content/uploads/2018/12/403.png" width="300"/> | |
Armory 3D | https://github.com/armory3d/armory | <img src="https://raw.githubusercontent.com/armory3d/armory_wiki_images/master/getting_started/playground/5.jpg" width="300"/> | |
NeoAxis Engine | https://github.com/NeoAxis/NeoAxisEngine | <img src="https://www.neoaxis.com/images/2020_8/NeoAxisEngine_2020_8.png" width="300"/> | |
Urho3D | https://github.com/urho3d/Urho3D | <img src="https://download.tuxfamily.org/sdtraces/BottinHTML/Bottin_T-Z_files/732a3f1974407430d36ebe3a713bf91e.png" width="300"/> | |
PlayCanvas Engine | https://github.com/playcanvas/engine | <img src="https://upload.wikimedia.org/wikipedia/commons/4/48/PlayCanvas_Editor_Screenshot_-_Jan_2016.jpg" width="300"/> | |
Lumberyard | https://github.com/aws/lumberyard | <img src="https://d2908q01vomqb2.cloudfront.net/91032ad7bbcb6cf72875e8e8207dcfba80173f7c/2021/01/21/LY127-1024x556.png" width="300"/> | |
O3DE | https://github.com/o3de/o3de | <img src="https://d2908q01vomqb2.cloudfront.net/91032ad7bbcb6cf72875e8e8207dcfba80173f7c/2021/07/01/O3DE-002.jpg" width="300"/> | |
ezEngine | https://github.com/ezEngine/ezEngine | <img src="https://camo.githubusercontent.com/de9ee5dd4bedee4ce011317d2b4baaa17189cf7b60bee9493aadec8d207738e7/68747470733a2f2f657a656e67696e652e6e65742f70616765732f73616d706c65732f6d656469612f73686f77636173652d312e6a7067" width="300" /> | |
Defold | https://github.com/defold/defold | <img src="https://forum.defold.com/uploads/default/optimized/3X/5/b/5b6de6ac4a4445278bb372a5873e6f5da3976e1a_2_690x373.jpeg" width="300" /> | |
Cocos Creator | https://github.com/cocos/cocos-engine | <img src="https://github.com/cocos/cocos-engine/blob/develop/ui.png" width="300" /> | |
Stride | https://github.com/stride3d/stride | <img src="https://camo.githubusercontent.com/04a3691cf04c94e9dedd9d5ad4a4cc662fc4d17319cf284469a1e16c32865767/68747470733a2f2f73747269646533642e6e65742f696d616765732f65787465726e616c2f7363726970742d656469746f722e706e67" width="300" /> | |
Dagor | https://github.com/GaijinEntertainment/DagorEngine | <img src="https://pbs.twimg.com/media/DWaia30WsAA0cph.jpg" width="300" /> |
Solo Engines
Engines that are being developed generally by a single individual or at most a handful. Some are commercial products, others are often either experimental or toy pieces of tech.
Engine | Source | Screenshot | |
---|---|---|---|
Raylib | https://github.com/raysan5/raylib | <img src="https://raw.githubusercontent.com/raysan5/raylib/master/examples/models/models_first_person_maze.png" width="300"/> | |
Wicked Engine | https://github.com/turanszkij/WickedEngine | <img src="https://i.ytimg.com/vi/OO6lZM4OU_Y/maxresdefault.jpg" width="300"/> | |
Hazel | https://github.com/TheCherno/Hazel | <img src="https://hazelengine.com/images/Hazel-2023.2-Screenshot_huda087e3f95812a96d2373c8ea820d639_197486_753x548_resize_q90_h2_box.webp" width="300"/> | |
Spartan Engine | https://github.com/PanosK92/SpartanEngine | <img src="https://raw.githubusercontent.com/PanosK92/SpartanEngine/master/.github/images/world_forest.png" width="300"/> | |
Pax Engine | https://github.com/pmbittner/PaxEngine3 | <img src="https://github.com/pmbittner/PaxEngine3/raw/master/res/screenshots/tiled.PNG" width="300"/> | |
Acid Engine | https://github.com/EQMG/Acid | <img src="https://github.com/EQMG/Acid/raw/master/Documents/Screenshot3.png" width="300"/> | |
rbfx | https://github.com/rokups/rbfx | <img src="https://user-images.githubusercontent.com/19151258/49943614-09376980-fef1-11e8-88fe-8c26fcf30a59.jpg" width="300"/> | |
nCine | https://github.com/nCine/nCine | <img src="https://jugilus.github.io/Jugimap-ParallaxScrolling/jugimap_s6_w1300.jpg" width="300"/> | |
Lina Engine | https://github.com/inanevin/LinaEngine | <img src="https://github.com/inanevin/LinaEngine/raw/master/Docs/Images/lina_ss.png" width="300"/> | |
VQE | https://github.com/vilbeyli/VQE | <img src="https://user-images.githubusercontent.com/700032/208126596-1e85472a-3889-4bbb-9829-9a4aa4059be5.png" width="300"/> | |
ET Engine | https://github.com/Illation/ETEngine | <img src="https://github.com/Illation/ETEngine/raw/master/screenshots/Editor.jpg" width="300"/> | |
Overload | https://github.com/adriengivry/Overload | <img src="https://user-images.githubusercontent.com/33324216/94352908-fd228a80-0038-11eb-849a-c076bde4c7c6.PNG" width="300"/> | |
Mocha | https://github.com/mocha-engine/mocha | <img src="https://user-images.githubusercontent.com/12881812/210655312-1e0d25a1-e4bf-49d9-943b-f88f932f7e08.png" width="300"/> | |
Esoterica | https://github.com/BobbyAnguelov/Esoterica | <img src="https://github.com/BobbyAnguelov/Esoterica/blob/main/Docs/EE_Editor.png" width="300"/> | |
RBDoom3BFG | https://github.com/RobertBeckebans/RBDOOM-3-BFG | <img src="https://camo.githubusercontent.com/785784ae093a208d15eed76477b80dcad32c788812fb6e487e744471e6fde607/68747470733a2f2f692e696d6775722e636f6d2f705452303664482e706e67" width="300"/> | |
Lumix Engine | https://github.com/nem0/LumixEngine | <img src="https://raw.githubusercontent.com/wiki/nem0/LumixEngine/files/features/editor.jpg" width="300"/> | |
Ethereal Engine | https://github.com/volcoma/EtherealEngine | <img src="https://user-images.githubusercontent.com/1499411/29488400-f43a5960-8512-11e7-923e-86a0c204da31.png" width="300"/> | |
Lumos Engine | https://github.com/jmorton06/Lumos | <img src="https://github.com/jmorton06/Lumos/raw/main/Resources/Screenshot0424-2.png" width="300"/> | |
Sir Engine | https://github.com/giordi91/SirEngineThe3rd | <img src="https://github.com/giordi91/SirEngineThe3rd/raw/develop/docs/images/09_editor.png" width="300"/> | |
PathFinder Engine | https://github.com/man-in-black382/PathFinder | <img src="https://camo.githubusercontent.com/78c6e458fbff9d2a8f39583b5fd023852ec249f87db8be93b6e42ec2e14078dc/68747470733a2f2f696d6775722e636f6d2f6957774d334f422e706e67" width="300"/> | |
Thunder | https://github.com/thunder-engine/thunder | <img src="https://raw.githubusercontent.com/thunder-engine/thunder/master/doc/media/ScreenShot01.png" width="300"/> | |
Crown Engine | https://github.com/crownengine/crown | <img src="https://raw.githubusercontent.com/dbartolini/crown/master/docs/shots/level-editor.png" width="300"/> | |
Hyperion | https://github.com/krait-games/hyperion-engine | <img src="https://github.com/krait-games/hyperion-engine/blob/master/screenshots/screenshot1-ogl.PNG" width="300"/> | |
VXR | https://github.com/avilapa/vxr | <img src="https://github.com/avilapa/vxr/blob/media/06-Procedural.png" width="300"/> | |
AdriaDX12 | https://github.com/mateeeeeee/Adria-DX12 | <img src="https://raw.githubusercontent.com/mateeeeeee/Adria-DX12/master/Adria/Saved/Screenshots/editor.png" width="300"/> | |
Hybrid | https://github.com/Angelo1211/HybridRenderingEngine | <img src="https://user-images.githubusercontent.com/11263073/49331372-01e09980-f59c-11e8-93af-c706c0571fb4.PNG" width="300"/> | |
Equilibrium Engine | https://github.com/clibequilibrium/EquilibriumEngine | <img src="https://github.com/clibequilibrium/EquilibriumEngine/raw/master/docs/room.png" width="300"/> | |
Koala Engine | https://github.com/phisko/kengine | ||
Halley Engine | https://github.com/amzeratul/halley | ||
Explosion Engine | https://github.com/ExplosionEngine/Explosion | ||
Banshee Engine | https://github.com/ValtoGameEngines/Banshee-Engine | ||
LiteFX | https://github.com/crud89/LiteFX |
Rendering Engines
These are only the graphics part of an engine but mature enough and well developed that their code is worthwhile to learn from.
Engine | Source | |
---|---|---|
Diligent Engine | https://github.com/DiligentGraphics/DiligentEngine | |
bgfx | https://github.com/bkaradzic/bgfx | |
Ogre 3D Next | https://github.com/OGRECave/ogre-next | |
Methane Kit | https://github.com/egorodet/MethaneKit | |
Magnum | https://github.com/mosra/magnum | |
Vultaik | https://github.com/FaberSanZ/Vultaik | |
Veldrid | https://github.com/mellinoe/veldrid |