awesome-game-engine-dev
Awesome list of resources for Game Engine Development.
https://github.com/stevinz/awesome-game-engine-dev
Last synced: 16 days ago
JSON representation
-
Libraries
-
C++
- Edyn - Multi-threaded, networked physics engine. Supports large dynamic worlds. [[Testbed](https://github.com/xissburg/edyn-testbed)]
- Jolt Physics - Multi-core friendly rigid body 3D physics and collision detection.
- Liquid Fun - Extension of _Box2D_, adds particle-based fluid and soft bodies. [[Demos](http://google.github.io/liquidfun/)]
- Newton Dynamics - Real-time simulation of 3D environments.
- Qu3e - Fast 3D physics engine, created to be used in games.
- ReactPhysics3D - 3D physics engine.
- Slingshot - Constraint-based physics engine for 3D rigid body dynamics.
- Boost.PFR - Basic reflection C++14 library, part of the Boost Libraries.
- Magic Enum - Header-only C++17, provides static reflection for enums.
- Meta - Header-only, non-intrusive and macro-free runtime reflection system in C++17.
- Nameof - Header-only C++17, provides nameof macros to obtain name of a variable.
- Ponder - Expose C++17 classes and objects so they can used as data.
- Reflect - Small, flexible, single-header library for runtime reflection and meta data in C++11.
- RTTR - Reflection for C++11.
- ArkScript - Small, fast, functional and scripting language.
- ChaiScript - Embedded scripting language designed from to directly target C++17.
- GameMonkey Script - Embedded scripting language for apps, tools and games.
- v8 - High-performance JavaScript and WebAssembly engine by _Google_.
- Cap'n Proto - Fast data interchange format and capability-based RPC system.
- Cereal - Header-only C++11 serialization library.
- Cista++ - Simple, high-performance serialization & reflection library.
- FlatBuffers - Efficient cross-platform serialization library by _Google_.
- JSON for Modern C++ - JSON support for Modern C++.
- Protobuf - Protocol Buffers, for platform-neutral serialized data by _Google_.
- Terra Forge 3D - Procedural 3D terrain generation and texturing tool.
- Any-Lite - Header-only 'any' type for C++98 and above.
- faker-cxx - C++20 Faker library for generating fake (but realistic) data for testing and development.
- Parallel Hashmap - Header-only, fast and memory-friendly hashmap and binary tree containers.
- Spdlog - Fast logging library.
- Tiny-Process-Library - Making it simple to create and stop new processes.
- TinyXML-2 - XML parser that can be easily integrated into other programs.
- NodeEditor - Graph-controlled data processing, built with _Qt_.
- QuickQanava - Display graphs and relational content in a _QtQuick_-based app, in C++14.
- Visual Script Engine - Visual scripting engine designed for embedding.
- Amplitude Audio SDK - Cross-platform audio engine designed for the needs of games.
- Steam Audio - Cross-platform spatial audio SDK for games and VR.
- Crystal Engine - Vulkan backend with PBR and styled GUI (_CrystalWidgets_).
- Ethereal Engine - Cross-platform game engine and editor.
- NVRHI - _NVIDIA_ abstraction layer over multiple graphics APIs.
- GTK - GIMP Toolkit, a multi-platform toolkit for creating guis.
- GameNetworkingSockets - Messages over UDP, P2P networking, encryption.
- yojimbo - Network library for client/server games.
- Newton Dynamics - Real-time simulation of 3D environments.
- RapidJSON - Fast JSON parser / generator.
- EASTL - Electronic Arts STL replacement, emphasis on performance.
- Learn C++ - Walks you through all the steps to write, compile, and debug C++.
- ODE - Open Dynamics Engine, 3D rigid body physics.
- cyCodeBase - Compact foundation library with math, geometry, image & graphics utilities.
- GTK - GIMP Toolkit, a multi-platform toolkit for creating guis.
- cppreference.com - Online reference for C, C++, and the STL.
- cppreference.com - Online reference for C, C++, and the STL.
- Slug - High-quality, resolution-independent text and vector graphics for 3D apps.
- slughorn - Library for shoehorning the _Slug_ text/graphics GPU rendering library into projects.
- Doriax - Cross-platform for 2D/3D projects. Formerly _Supernova_.
- G3D Innovation Engine - Used for R&D throughout academia and industry. [[Website](https://casual-effects.com/g3d/www/index.html)].
- ODE - Open Dynamics Engine, 3D rigid body physics. [[Wikipedia](https://en.wikipedia.org/wiki/Open_Dynamics_Engine)]
- AngelScript - Cross-platform scripting library, follows the widely known syntax of C/C++.
-
Dart
- Awesome Dart - Curated list of awesome Dart frameworks, libraries, and software.
- image - Library for decoding / encoding image formats and image processing.
- Flame - Minimalist _Flutter_ based 2D game engine. [[Awesome](https://github.com/flame-engine/awesome-flame) | [Examples](https://examples.flame-engine.org/) | [Website](https://flame-engine.org/)]
- Dart - Client-optimized language for fast apps on any platform. [[GitHub](https://github.com/dart-lang/)]
-
F#
- Awesome F# - Curated list of frameworks, libraries, software and resources.
- FSound - Sound processing library.
- Garnet - Game composition library with ECS and actor-like messaging features.
- Nu Game Engine - Cross-platform game engine built in the functional style.
- Fabulous - Declarative UI framework for cross-platform apps.
-
Go
- Awesome Go - Awesome Go frameworks, libraries and software.
- Go - Statically typed, compiled programming language designed at _Google_. [[GitHub](https://github.com/golang)]
- Beep - Playback and audio-processing.
- G3N - OpenGL 3D game engine.
- Ebitengine - Dead simple 2D game library.
- Engo - A 2D game framework.
- Pixel - Hand-crafted 2D game library. [[Examples](https://github.com/faiface/pixel-examples)]
- 3D Mesh Simplification - 3D mesh simplification.
- ln - The 3D Line Art Engine, a vector-based 3D renderer. [[Docs](https://pkg.go.dev/github.com/fogleman/ln/ln)]
-
Haxe
- Awesome Haxe Game Dev - Awesome list of game dev resources for Haxe.
- Haxe Blog: Game Engine - "How I wrote my own 3D game engine and shipped a game in 20 months".
- Haxe Blog: OpenFL - "Flash is dead, long live OpenFL".
- HaxeLibs - List of every library uploaded to the Haxe website.
- HaxeTink - Various addon libraries for Haxe.
- Snowkit - Collective of Haxe developers.
- Awesome Haxe - Awesome curated list of useful Haxe links.
- Actuate - Flexible, fast tween library.
- DragonBones - Runtime support for _DragonBones_ skeletal animation.
- Spine-Hx - _Spine_ runtime for Haxe.
- nme - Cross-platform native backend for Haxe projects.
- Ecx - Entity component system framework for Haxe.
- GASM - Framework agnostic entity component system for Haxe.
- Armory - 3D game engine with full _Blender_ integration.
- Away3D - Real-time 3D engine for OpenFL. [[Website](http://away3d.com)]
- Flixel-Studio - Embeddable, in-game editor for _HaxeFlixel_.
- Hide - Extensible IDE for the _Heaps_ 3D graphic engine.
- LDtk - Modern, lightweight and efficient 2D level editor. [[Website](https://ldtk.io)]
- Starling - Popular (_Angry Birds_) 2D game engine built on _OpenFL_. [[Editor](http://starlingbuilder.github.io) | [Website](https://gamua.com/starling/)]
- Ceramic - Cross-platform 2D framework. [[Examples](https://ceramic-engine.com/examples/)]
- Citrus - ActionScript 3 based 2D/3D framework. [[Website](http://citrusengine.com/)]
- Clay - Cross-platform 2D game framework.
- gameBase - Base structure for Haxe games, using _Heaps_ graphics framework. [[Tutorial](https://deepnight.net/tutorial/using-my-gamebase-to-create-a-heaps-game/)]
- HaxeFlixel - Cross-platform 2D game framework powered by _OpenFL_. [[Website](https://haxeflixel.com/)]
- OpenFL - Open source implementation of the [Adobe Flash](https://en.wikipedia.org/wiki/Adobe_Flash) API. [[Website](https://www.openfl.org/)]
- Heaps - Cross-platform 2D/3D engine (by creators of Haxe). [[Website](https://heaps.io)]
- Kha - Ultra-portable, high-performance multimedia framework.
- Sparkler - Modular macro-powered particle system.
- HaxeUI - Cross-platform set of styleable gui components.
- Zui - Immediate mode user interface, used in _ArmorPaint_.
- Haxe Bullet - _Bullet 3D_ physics bindings for Haxe.
- HeapsIO/bullet - _Bullet 3D_ physics for _Heaps_ (Haxe's native low-level game framework).
- Jelly Physics - Soft body 2D physics engine.
- Nape - Fast, friendly 2D rigid body physics engine. [[Demos](https://joecreates.github.io/napephys/)]
- CastleDB - Structured database with a local web service to edit it.
- Format - Various files formats support for Haxe.
- HxBit - Binary serialization and network synchronization library.
- hexMachina - Powerful modular MVC framework. [[Website](http://hexmachina.org/)]
- HxColorToolkit - Library for color conversion and color scheme generation.
- HxMath - Game-oriented math library for the Haxe language.
- SteamWrap - Haxe native extension for the Steam API.
- Haxe-Blockly - Haxe wrapper for [Blockly](https://developers.google.com/blockly)
- Lime - Flexible, lightweight layer for Haxe cross-platform developers.
- HashLink - Virtual machine for Haxe.
- Clay - Cross-platform 2D game framework.
- Actuate - Flexible, fast tween library.
- Haxe - Produce cross-platform native code. [[GitHub](https://github.com/HaxeFoundation/haxe)]
- Haxe Blog: Game Engine - "How I wrote my own 3D game engine and shipped a game in 20 months".
-
Java
- Awesome Java - Awesome frameworks, libraries and software for Java.
- Learn Java - Official docs and tutorials.
- OpenGL & GLSL Tutorials - OpenGL / GLSL tutorials for _LWJGL_ and _libGDX_.
- jMonkeyEngine - Modern 3D game development suite.
- libGDX - Game framework built on, and adds to _LWJGL_. [[Awesome](https://github.com/rafaskb/awesome-libgdx) | [Website](https://libgdx.com/)]
- LWJGL - Graphics, audio, parallel computing, XR and more. [[Website](https://www.lwjgl.org/)]
- VisUI - A _libGDX_ UI toolkit.
- Java - General-purpose language, runs on [Java virtual machines](https://en.wikipedia.org/wiki/Java_virtual_machine). [[GitHub](https://github.com/openjdk)]
-
JavaScript
- MDN - Mozilla Developer Network, excellent learning resource.
- W3 Schools - Learn to code with the world's largest web developer site.
- Electron - Cross-platform desktop apps with JavaScript, HTML, and CSS. [[Website](https://www.electronjs.org/)]
- NW.js - Desktop apps with JavaScript. Formerly _Node-Webkit_. [[Website](https://nwjs.io)]
- React Native - Framework for building native apps using React. [[Website](https://reactnative.dev/)]
- WebView2 - Microsoft Edge control allows you to embed web in native apps. [[Docs](https://docs.microsoft.com/en-us/microsoft-edge/webview2/)]
- JavaScript Game Engines - GitHub Collection of JavaScript / HTML5 game engines.
- JavaScript Wiki: Game Engines - JavaScript / HTML5 game engines and frameworks.
- Superpowers - Both 2D & 3D game making for indies.
- CanvasKit - WebAssembly build of _Google_'s 2D graphics library, Skia. [[Samples](https://skia.org/docs/user/modules/canvaskit/)]
- CopperLicht - A 3D library for WebGL. [[CopperCube Editor](https://ambiera.com/coppercube/index.html)]
- Filament for Web - WebAssembly build of Google's 3D graphics library, _Filament_.
- WebGL Frameworks - List of WebGL frameworks on Wikipedia.
- WebGL / WebGPU Frameworks - List of WebGL and WebGPU frameworks and libraries.
- SBcode Three.js Tutorials - Fantastic examples with code and explanations of topics.
- Three.js Bookshelf - Nice collection of resources.
- Three.js Discourse Examples - Yearly collection of all examples posted on the Three.js forum.
- Three.js Journey - Course teaching WebGL from beginner to advanced.
- Three.js Manual - Fantastic articles and explanations. Formerly _ThreeJsFundamentals_.
- Troika JS - Derived Material - Extend existing Three.js materials. [[Docs](https://protectwise.github.io/troika/troika-three-utils/createDerivedMaterial/)]
- Complete Guide to Flexbox - Comprehensive guide to CSS flexbox layout.
- Complete Guide to Grid - Comprehensive guide to CSS grid.
- WebRTC - Supports video, voice, and generic data to be sent between peers.
- Rapier - Rust 2D/3D physics libary focused on performance, ported as WebAssembly.
- Ultralight - Supports modern HTML5, CSS, and JavaScript. Based on _WebKit_.
- WebView2 - Microsoft Edge control allows you to embed web in native apps. [[Docs](https://docs.microsoft.com/en-us/microsoft-edge/webview2/)]
- Animate.css - Ready-to-use, pure CSS animations. [[Examples](https://animate.style/)]
- D3.js - Data-Driven Documents. Bring data to life with SVG, canvas and HTML. [[Examples](https://observablehq.com/@d3/gallery) | [Website](https://d3js.org)]
- GreenSock - Robust animation toolset. [[Website](https://greensock.com)]
- Ossos - Web-based character animation system.
- React-Spring - Spring physics based React animation library.
- Scene.js - JavaScript & CSS timeline-based animation library.
- Theatre - Motion design editor for the web.
- Tween.js - Tweening engine for easy animations using Robert Penner's equations.
- TweenJS - Tweening / animation library, part of the _CreateJS_ suite.
- Howler.js - Audio made easy and reliable across all platforms.
- PixiJS Sound - Audio library with filters, built on _PixiJS_. [[Examples](https://pixijs.io/sound/examples/)]
- SoundJS - Simple API and powerful features, part of the _CreateJS_ suite.
- Sonant-X - Small JavaScript synthesizer library. [[Online Composer](https://nicolas-van.github.io/sonant-x-live/)]
- SpessaSynth - MIDI player and synthesizer.
- Tone.js - WebAudio framework for creating interactive music in the browser.
- tuna - Audio effects library for the WebAudio API.
- Waveform Playlist - Multitrack web audio editor and player with canvas waveform preview.
- Chroma.js - Library for all kinds of color manipulations.
- Ejecta - JavaScript canvas & audio implementation for iOS. App store compatible.
- Tauri - Smaller, faster, and more secure desktop applications. [[Website](https://tauri.app/)]
- Window.js - JavaScript runtime for desktop graphics programming. [[Docs](https://windowjs.org/)]
- Dock Spawn TS - Maintained, TypeScript version of [Dock Spawn](https://github.com/coderespawn/dock-spawn), a JavaScript docking framework.
- FlexLayout - Multi-tab layout manager.
- Golden Layout - Multi-window layout manager for web apps.
- PhosphorJS - High-performance, pluggable, desktop-style web apps.
- React Mosaic - React tiling window manager.
- RC-Dock - Dock layout component for React.
- wcDocker - Window layout system with a responsive and interactive design.
- Becsy - Multithreaded ECS for TypeScript and JavaScript.
- bitECS - Functional, minimal, data-oriented, ultra-high performance ECS library.
- Ecsy - Experimental ECS aiming to be lightweight, easy to use.
- Miniplex - Entity management system for games.
- JSMpeg - MPEG1 Video Decoder in JavaScript.
- Alpine - Rugged, minimal framework for composing JavaScript behavior in your markup.
- Angular - The modern web developer's platform.
- Aurelia - Modern, front-end framework for browser, mobile, and desktop apps.
- Ember - Framework for ambitious web developers.
- Preact - Fast 3kB React alternative with the same modern API.
- Svelte - Takes your declarative components and converts them into efficient JavaScript.
- Vue - Progressive JavaScript framework for building UI on the web.
- Cocos Creator - Cross-Platform 2D/3D game creation. [[Website](https://www.cocos.com/en/creator)]
- ct.js - Desktop 2D game engine, built on _PixiJS_.
- Egret - Mobile game engine. [[Editor](https://github.com/egret-labs/egret-ui-editor-opensource)]
-
Programming Languages
Categories
Sub Categories
C++
211
JavaScript
201
C
80
Haxe
48
Computer Graphics
46
C#
43
Shaders
38
Physics
27
Commercial
22
Rust
21
Lighting / Shadows
18
Python
16
Materials / Textures
15
Audio Tools
14
Geometry
13
AAA
13
Zig
12
Specialty
12
Generative Art
11
Game Development
10
Pixel Art
10
Audio Assets
9
Java
9
Signed Distance Fields
9
Engine Development
9
Go
9
Awesome Collections
8
Model Assets
7
Modeling Tools
7
Pascal
7
Entity Component Systems
7
Ruby
7
Fluid / Smoke
6
Lua
6
BASIC
6
Kotlin
6
Color / Palettes
6
Voxel
6
Programming
6
Tiling
5
Scripting
5
Graphic Assets
5
F#
5
Dart
4
Color Manipulation
4
Transparency
4
Level Editors
4
Debugging / Profiling
4
Vector Editors
3
Popular
3
AI Assistants
3
Animation Software
3
Asset Pipeline / Formats
3
Particle Tools
3
Animation Info
2
Enemies / Pathfinding
2
Rendering
2
Tilemap Editors
2
Particles
2
AI / Pathfinding
1
Graphical User Interface
1
2D Game Dev
1
Hair
1
Material Assets
1
Network
1
Keywords
game-engine
100
gamedev
94
game-development
92
javascript
60
opengl
55
cpp
55
3d
44
game
43
cross-platform
38
graphics
36
c-plus-plus
35
webgl
35
c
33
vulkan
29
android
28
windows
28
gui
28
engine
27
linux
27
threejs
22
macos
21
python
21
2d
20
typescript
19
ios
19
3d-graphics
18
react
18
rust
18
lua
17
cpp17
17
imgui
17
awesome-list
17
animation
17
ui
16
audio
16
ecs
16
haxe
16
csharp
16
rendering
16
open-source
15
awesome
15
header-only
14
entity-component-system
14
monogame
13
wasm
13
physics
13
directx
12
3d-engine
12
metal
12
canvas
11