Home

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.

EngineSourceScreenshot
ue4Unreal Enginehttps://github.com/EpicGames/UnrealEngine<img src="https://i.ytimg.com/vi/mUfuqDEXGGs/maxresdefault.jpg" width="300"/>
cryengineCryEnginehttps://github.com/CRYTEK/CRYENGINE_ReadMe<img src="https://steamcdn-a.akamaihd.net/steam/apps/220980/ss_8e87d76adb029c0454823e73279f70de20432777.600x338.jpg" width="300"/>
godotGodothttps://github.com/godotengine/godot<img src="https://user-images.githubusercontent.com/180032/54845242-2d1cff00-4cd9-11e9-87af-434063628126.png" width="300"/>
the_forgeThe Forgehttps://github.com/ConfettiFX/The-Forge<img src="https://github.com/ConfettiFX/The-Forge/raw/master/Screenshots/UT%2015a/vrs_original1.png" width="300"/>
torqueTorque 3Dhttps://github.com/TorqueGameEngines/Torque3D<img src="https://torque3d.readthedocs.io/en/latest/_images/WorldEditorIntroImage.jpg" width="300"/>
flaxFlax Enginehttps://github.com/FlaxEngine/FlaxEngine<img src="https://docs.flaxengine.com/manual/editor/media/title.jpg" width="300"/>
panda3dPanda 3Dhttps://github.com/panda3d/panda3d<img src="https://www.panda3d.org/wp-content/uploads/2018/12/403.png" width="300"/>
armory3dArmory 3Dhttps://github.com/armory3d/armory<img src="https://raw.githubusercontent.com/armory3d/armory_wiki_images/master/getting_started/playground/5.jpg" width="300"/>
neoaxisNeoAxis Enginehttps://github.com/NeoAxis/NeoAxisEngine<img src="https://www.neoaxis.com/images/2020_8/NeoAxisEngine_2020_8.png" width="300"/>
urho3dUrho3Dhttps://github.com/urho3d/Urho3D<img src="https://download.tuxfamily.org/sdtraces/BottinHTML/Bottin_T-Z_files/732a3f1974407430d36ebe3a713bf91e.png" width="300"/>
playcanvasPlayCanvas Enginehttps://github.com/playcanvas/engine<img src="https://upload.wikimedia.org/wikipedia/commons/4/48/PlayCanvas_Editor_Screenshot_-_Jan_2016.jpg" width="300"/>
lumberyardLumberyardhttps://github.com/aws/lumberyard<img src="https://d2908q01vomqb2.cloudfront.net/91032ad7bbcb6cf72875e8e8207dcfba80173f7c/2021/01/21/LY127-1024x556.png" width="300"/>
o3deO3DEhttps://github.com/o3de/o3de<img src="https://d2908q01vomqb2.cloudfront.net/91032ad7bbcb6cf72875e8e8207dcfba80173f7c/2021/07/01/O3DE-002.jpg" width="300"/>
ezezEnginehttps://github.com/ezEngine/ezEngine<img src="https://camo.githubusercontent.com/de9ee5dd4bedee4ce011317d2b4baaa17189cf7b60bee9493aadec8d207738e7/68747470733a2f2f657a656e67696e652e6e65742f70616765732f73616d706c65732f6d656469612f73686f77636173652d312e6a7067" width="300" />
defoldDefoldhttps://github.com/defold/defold<img src="https://forum.defold.com/uploads/default/optimized/3X/5/b/5b6de6ac4a4445278bb372a5873e6f5da3976e1a_2_690x373.jpeg" width="300" />
cocosCocos Creatorhttps://github.com/cocos/cocos-engine<img src="https://github.com/cocos/cocos-engine/blob/develop/ui.png" width="300" />
strideStridehttps://github.com/stride3d/stride<img src="https://camo.githubusercontent.com/04a3691cf04c94e9dedd9d5ad4a4cc662fc4d17319cf284469a1e16c32865767/68747470733a2f2f73747269646533642e6e65742f696d616765732f65787465726e616c2f7363726970742d656469746f722e706e67" width="300" />
dagorDagorhttps://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.

EngineSourceScreenshot
raylibRaylibhttps://github.com/raysan5/raylib<img src="https://raw.githubusercontent.com/raysan5/raylib/master/examples/models/models_first_person_maze.png" width="300"/>
wickedWicked Enginehttps://github.com/turanszkij/WickedEngine<img src="https://i.ytimg.com/vi/OO6lZM4OU_Y/maxresdefault.jpg" width="300"/>
hazelHazelhttps://github.com/TheCherno/Hazel<img src="https://hazelengine.com/images/Hazel-2023.2-Screenshot_huda087e3f95812a96d2373c8ea820d639_197486_753x548_resize_q90_h2_box.webp" width="300"/>
spartanSpartan Enginehttps://github.com/PanosK92/SpartanEngine<img src="https://raw.githubusercontent.com/PanosK92/SpartanEngine/master/.github/images/world_forest.png" width="300"/>
paxenginePax Enginehttps://github.com/pmbittner/PaxEngine3<img src="https://github.com/pmbittner/PaxEngine3/raw/master/res/screenshots/tiled.PNG" width="300"/>
acidAcid Enginehttps://github.com/EQMG/Acid<img src="https://github.com/EQMG/Acid/raw/master/Documents/Screenshot3.png" width="300"/>
rbfxrbfxhttps://github.com/rokups/rbfx<img src="https://user-images.githubusercontent.com/19151258/49943614-09376980-fef1-11e8-88fe-8c26fcf30a59.jpg" width="300"/>
nCinenCinehttps://github.com/nCine/nCine<img src="https://jugilus.github.io/Jugimap-ParallaxScrolling/jugimap_s6_w1300.jpg" width="300"/>
linaLina Enginehttps://github.com/inanevin/LinaEngine<img src="https://github.com/inanevin/LinaEngine/raw/master/Docs/Images/lina_ss.png" width="300"/>
vqVQEhttps://github.com/vilbeyli/VQE<img src="https://user-images.githubusercontent.com/700032/208126596-1e85472a-3889-4bbb-9829-9a4aa4059be5.png" width="300"/>
etET Enginehttps://github.com/Illation/ETEngine<img src="https://github.com/Illation/ETEngine/raw/master/screenshots/Editor.jpg" width="300"/>
overloadOverloadhttps://github.com/adriengivry/Overload<img src="https://user-images.githubusercontent.com/33324216/94352908-fd228a80-0038-11eb-849a-c076bde4c7c6.PNG" width="300"/>
mochaMochahttps://github.com/mocha-engine/mocha<img src="https://user-images.githubusercontent.com/12881812/210655312-1e0d25a1-e4bf-49d9-943b-f88f932f7e08.png" width="300"/>
esotericaEsotericahttps://github.com/BobbyAnguelov/Esoterica<img src="https://github.com/BobbyAnguelov/Esoterica/blob/main/Docs/EE_Editor.png" width="300"/>
rbdoom3bfgRBDoom3BFGhttps://github.com/RobertBeckebans/RBDOOM-3-BFG<img src="https://camo.githubusercontent.com/785784ae093a208d15eed76477b80dcad32c788812fb6e487e744471e6fde607/68747470733a2f2f692e696d6775722e636f6d2f705452303664482e706e67" width="300"/>
Lumix Enginehttps://github.com/nem0/LumixEngine<img src="https://raw.githubusercontent.com/wiki/nem0/LumixEngine/files/features/editor.jpg" width="300"/>
Ethereal Enginehttps://github.com/volcoma/EtherealEngine<img src="https://user-images.githubusercontent.com/1499411/29488400-f43a5960-8512-11e7-923e-86a0c204da31.png" width="300"/>
Lumos Enginehttps://github.com/jmorton06/Lumos<img src="https://github.com/jmorton06/Lumos/raw/main/Resources/Screenshot0424-2.png" width="300"/>
Sir Enginehttps://github.com/giordi91/SirEngineThe3rd<img src="https://github.com/giordi91/SirEngineThe3rd/raw/develop/docs/images/09_editor.png" width="300"/>
PathFinder Enginehttps://github.com/man-in-black382/PathFinder<img src="https://camo.githubusercontent.com/78c6e458fbff9d2a8f39583b5fd023852ec249f87db8be93b6e42ec2e14078dc/68747470733a2f2f696d6775722e636f6d2f6957774d334f422e706e67" width="300"/>
Thunderhttps://github.com/thunder-engine/thunder<img src="https://raw.githubusercontent.com/thunder-engine/thunder/master/doc/media/ScreenShot01.png" width="300"/>
Crown Enginehttps://github.com/crownengine/crown<img src="https://raw.githubusercontent.com/dbartolini/crown/master/docs/shots/level-editor.png" width="300"/>
Hyperionhttps://github.com/krait-games/hyperion-engine<img src="https://github.com/krait-games/hyperion-engine/blob/master/screenshots/screenshot1-ogl.PNG" width="300"/>
VXRhttps://github.com/avilapa/vxr<img src="https://github.com/avilapa/vxr/blob/media/06-Procedural.png" width="300"/>
AdriaDX12https://github.com/mateeeeeee/Adria-DX12<img src="https://raw.githubusercontent.com/mateeeeeee/Adria-DX12/master/Adria/Saved/Screenshots/editor.png" width="300"/>
Hybridhttps://github.com/Angelo1211/HybridRenderingEngine<img src="https://user-images.githubusercontent.com/11263073/49331372-01e09980-f59c-11e8-93af-c706c0571fb4.PNG" width="300"/>
Equilibrium Enginehttps://github.com/clibequilibrium/EquilibriumEngine<img src="https://github.com/clibequilibrium/EquilibriumEngine/raw/master/docs/room.png" width="300"/>
koalaKoala Enginehttps://github.com/phisko/kengine
halleyHalley Enginehttps://github.com/amzeratul/halley
explosionExplosion Enginehttps://github.com/ExplosionEngine/Explosion
Banshee Enginehttps://github.com/ValtoGameEngines/Banshee-Engine
LiteFXhttps://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.

EngineSource
diligentDiligent Enginehttps://github.com/DiligentGraphics/DiligentEngine
bgfxbgfxhttps://github.com/bkaradzic/bgfx
ogreOgre 3D Nexthttps://github.com/OGRECave/ogre-next
methaneMethane Kithttps://github.com/egorodet/MethaneKit
magnumMagnumhttps://github.com/mosra/magnum
vultaikVultaikhttps://github.com/FaberSanZ/Vultaik
Veldridhttps://github.com/mellinoe/veldrid