awesome-game-engine-dev
Awesome list of resources for Game Engine Development.
https://github.com/stevinz/awesome-game-engine-dev
Last synced: 9 days ago
JSON representation
-
Libraries
-
JavaScript
- PixiJS - Fast, lightweight 2D library. [[Awesome](https://github.com/cursedcoder/awesome-pixijs) | [Editor](https://github.com/Megabyteceer/thing-editor) | [Essentials](https://github.com/ShukantPal/pixi-essentials) | [Website](https://pixijs.com/)]
- Pts - Library for visualization and creative coding. [[Examples](https://ptsjs.org)]
- Scrawl-canvas - Library for working with the canvas element.
- Stage.js - 2D rendering engine for game development. [[Examples](https://piqnt.com/stage.js/)]
- Two.js - Renderer agnostic 2D drawing API for the web.
- ZIM - Creative canvas framework. [[Website](https://zimjs.com/)]
- Babylon.js - Powerful web rendering engine. [[Extensions](https://github.com/BabylonJS/Extensions) | [Website](https://www.babylonjs.com/)]
- ClayGL - WebGL library for scalable Web3D applications.
- Four - Minimal three.js alternative.
- Hilo3d - WebGL 3D rendering engine by _Alibaba_.
- Litescene.js - WebGL 3D engine library, used by WebGLStudio.
- LUME - Simplifies the creation of interactive 2D/3D experiences.
- OGL - Fast, powerful, minimal WebGL library. [[Examples](https://oframe.github.io/ogl/examples)]
- PicoGL.js - Minimal WebGL 2 rendering library. [[Examples](https://tsherif.github.io/picogl.js/)]
- Pixi3D - 3D renderer for _PixiJS_, seamless integration with 2D apps. [[Examples](https://pixi3d.org/)]
- RedGL - JavaScript 3D WebGL library.
- Regl - Fast functional WebGL.
- SwissGL - Minimalistic wrapper on top of WebGL2.
- ThingJS - Lightweight, extendable 3D library, aka _t3d_.
- TWGL - Tiny WebGL helper Library. [[Examples](http://twgljs.org/)]
- x3dom - Integrate 3D content seamlessly into your webpage.
- Sketch Three.js - Interactive sketches made with Three.js.
- Sketchbook - 3D playground built on Three.js and Cannon.js.
- Stemkoski Three.js Examples - Excellent set of instructive examples.
- THREEx - Nice collection of open source game extensions.
- Custom Shader Material - Extend Three.js materials with your own shaders.
- irregular-grid - Examples of generating and using irregular grids. [[Demos](https://sketchpunklabs.github.io/irregular_grid/)]
- Lamina - Extensible, layered shader material for Three.js.
- screen-space-reflections - Screen space reflections in Three.js.
- three-billboard-reflection - Performant plane reflections in Three.js.
- three-mesh-bvh - Speed up raycasting and enable spatial queries on Meshes.
- three-mesh-ui - VR user interfaces for Three.js.
- three-nebula - WebGL particle system for Three.js. [[Examples](https://three-nebula.org/examples/custom-renderer)]
- three-projected-material - Texture projection in Three.js.
- three.ik - Inverse kinematics for Three.js.
- voxelizer - Voxelization of 3D models.
- drei - Useful helpers for react-three-fiber.
- gltfjsx - Turns GLTFs into JSX components.
- react-three-fiber - React renderer for Three.js.
- Threlte - 3D framework and ecosystem for Svelte and Three.js. [[Website](https://threlte.xyz/)]
- Bootstrap - Popular. Develop responsive, mobile first projects. [[Website](https://getbootstrap.com/)]
- dat.GUI - Lightweight gui for changing variables in JavaScript.
- Dojo - Gui widgets for web apps.
- Guify - Simple gui for changing JavaScript variables. [[Demo](https://jons.website/projects/guify/)]
- GuiGui - Gui for tweaking stuff in JavaScript. [[Demo](https://superguigui.github.io/guigui/)]
- Inferno - React-like library for building high-performance user interfaces.
- jQuery UI - The official gui library for jQuery.
- Leva - React-first components gui.
- Magic Circle - Multi-functional gui. Inspired by dat.GUI, Unity and Framer.
- PCUI - UI component library for the web by _PlayCanvas_.
- Tweakpane - Compact gui for fine-tuning values.
- uil - Simple JavaScript gui.
- w2ui - Gui widgets for modern web apps.
- Zebkit - Canvas rendered UI component libary.
- Joycon.js - JavaScript controller functionality.
- Mesekai - Real-time motion tracking.
- use-gesture - Utility for mouse / touch gestures in React and JavaScript.
- WebAR.rocks.faceDepth - Insert your face from your camera into a 3D scene.
- Socket.io - Enables real-time bidirectional event-based communication.
- Ammo.js - _Bullet 3D_ Physics engine ported as WebAssembly.
- Cannon-es - Maintained fork of [Cannon.js](https://github.com/schteppe/cannon.js) 3D physics engine. [[Demos](https://pmndrs.github.io/cannon-es/)]
- Goblin Physics - 3D physics engine written from the ground up in JavaScript. [[Demos](http://www.goblinphysics.com/)]
- JoltPhysics.js - Port of _Jolt Physics_ to JavaScript (as WebAssembly). [[Demos](https://jrouwe.github.io/JoltPhysics.js/)]
- Matter.js - Featured 2D physics engine for the web. [[Demos](https://brm.io/matter-js/)]
- Oimo.js - Lightweight 3D physics engine. [[Demos](http://lo-th.github.io/Oimo.js)]
- p2.js - 2D rigid body physics, by the creator of Cannon.js.
- Physijs - Physics plugin for Three.js
- Verly.js - Easy to integrate verlet physics engine. [[Demos](https://anuraghazra.dev/Verly.js/)]
- Clipboard.js - Small, modern copy to clipboard.
- Day.js - Fast 2kB alternative to [Moment.js](https://github.com/moment/moment) with the same modern API.
- i18next - Popular internationalization framework.
- jQuery - Fast and feature-rich JavaScript library. [[Website](https://jquery.com)]
- PreloadJS - Preloading assets w/progress events.
- Struct Vec - JavaScript array-like containers for multithreading.
- Neo - Timeline for JavaScript. [[Demo](http://lo-th.github.io/neo/)]
- Remotion - Create videos programmatically in React. [[Website](https://www.remotion.dev/)]
- Butterfly - Diagramming library concentrated on flow and field layout by _Alibaba_.
- Drawflow - Simple JavaScript flow library. [[Demo](https://jerosoler.github.io/Drawflow/)]
- Flow - Node-graph library.
- Litegraph.js - Create graphs in the browser similar to Unreal Blueprints. [[Demo](https://tamats.com/projects/litegraph/editor/)]
- Node-RED - Low-code programming for event-driven applications.
- Nodl - Framework for computational node graphs.
- Rete.js - Framework for visual programming and node editors. [[Demo](https://rete.js.org/#/examples/basic)]
- Capacitor - Run web apps natively on iOS, Android, Web, and more. [[Website](https://capacitorjs.com/)]
- Electron Alternatives - Cross-platform gui app development options.
- nx.js - JavaScript runtime for Nintendo Switch homebrew applications.
- React - Declarative, efficient, and flexible JavaScript library for building user interfaces.
- A-Frame - Web framework for building VR experiences. [[Website](https://aframe.io)]
- Cocos Creator - Cross-Platform 2D/3D game creation. [[Website](https://www.cocos.com/en/creator)]
- microStudio - Online game engine. Learn and practice programming.
- Oasis - WebGL framework by _AntGroup_. 2D/3D, animation, physics.
- Three.js - General-purpose 3D library. [[Awesome](https://github.com/0xAxiome/awesome-threejs) | [Docs](https://threejs.org) | [Editor](https://threejs.org/editor/) | [Examples](https://threejs.org/examples/)]
- WebGL / WebGPU Frameworks - List of WebGL and WebGPU frameworks and libraries.
- Discover Three.js - Create stunning 3D web apps using Three.js.
- Stemkoski Three.js Examples - Excellent set of instructive examples.
- Troika JS - Derived Material - Extend existing Three.js materials. [[Docs](https://protectwise.github.io/troika/troika-three-utils/createDerivedMaterial/)]
- Joycon.js - JavaScript controller functionality.
- Box2d.js - Box2D to ported as WebAssembly.
- Particulate.js - Particle physics library designed to be simple, fast and stable.
- Frame.js - JavaScript sequence editor.
- Phaser - Fast 2D game framework. [[Website](https://phaser.io)]
-
Kotlin
- Kotlin - General-purpose language, interoperates with Java. [[GitHub](https://github.com/JetBrains/kotlin)]
- KorGE - Multi-platform 2D game engine for Kotlin. [[Website](https://korge.org/)]
- FXGL - Game library for 2D, experimental 3D.
- KTX - Kotlin extensions for the _libGDX_ game framework.
- Awesome Kotlin - List of awesome Kotlin related stuff.
- Kool - Multi-platform 3D Vulkan / OpenGL graphics engine. [[Examples](https://fabmax.github.io/kool/kool-js/)]
-
Lua
- Awesome Lua - Awesome Lua packages and resources.
- 3DreamEngine - 3D engine on top of _LÖVE_.
- Gideros - 2D/3D cross-platform games with Lua. [[Website](http://giderosmobile.com/)]
- INSTEAD - Simple Text Adventure Interpreter.
- LÖVE - 2D framework for writing game code with Lua. [[Awesome](https://github.com/love2d-community/awesome-love2d) | [Website](https://love2d.org)]
- Vectarine - A cross-platform game engine for fast prototyping with Lua and Luau [[Website](http://vectarine.surge.sh/)]
-
Pascal
- Awesome Pascal - Curated list of Delphi / Pascal resources.
- Delphi - Pascal dialect and popular IDE with cross-platform support.
- Free Pascal - Mature, open source Pascal compiler.
- Pascal Tutorials - Simple and easy Pascal tutorials.
- Castle - Cross-platform 2D/3D game engine and editor. [[Website](https://castle-engine.io/)]
- Apus - Cross-platform library for making 2D games.
- Kraft - Object Pascal 3D physics engine.
-
Python
- Awesome Python - List of awesome Python frameworks, libraries, software and more.
- Anvil - Full stack web apps with nothing but Python.
- Pyglet - Windowing and multimedia library intended for game development.
- Brython - Python 3 running in the browser.
- Arcade - Easy to use library for creating 2D arcade games.
- Panda3D - Powerful, mature game engine, developed by Disney and CMU. [[Website](https://www.panda3d.org)]
- Pygame - Game & multimedia app framework, built on _SDL_.
- Pygcurse - [Curses-like](https://en.wikipedia.org/wiki/Curses_%28programming_library%29) library for text adventures / roguelikes. [[Website](http://inventwithpython.com/pygcurse/)]
- Kivy - Cross-platform gui framework. [[Website](https://kivy.org/)]
-
Ruby
- Awesome Ruby - Collection of awesome Ruby libraries, tools, frameworks and software.
- Ruby - Dynamic programming language, focused on simplicity / productivity. [[GitHub](https://github.com/ruby/ruby)]
- Ruby on Rails - Web app framework. [[Website](https://rubyonrails.org)]
- Ruby 2D - Make cross-platform 2D apps.
- Mittsu - 3D graphics library based heavily on _Three.js_.
- Glimmer - Gui library and DSL (domain specific language) framework.
- Shoes - Cross-platform gui library. [[Website](http://shoesrb.com/)]
-
Rust
- Awesome Rust - Curated list of Rust code and resources.
- Makepad - Software development platform and native-rendering gui framework. [[Editor](https://makepad.dev/)]
- Tao - Cross-platform windowing. [[Docs](https://docs.rs/tao/latest/tao/)]
- Kira - Create expressive audio for games.
- Fyrox - 2D/3D game engine with editor. Formerly _Rg3d_. [[Website](https://fyrox.rs/)]
- Ambient - Multiplayer game engine.
- Amethyst - Data-driven 2D/3D game engine aiming to be fast and configurable.
- Bevy - Refreshingly simple data-driven 2D/3D game engine. [[Website](https://bevyengine.org)]
- Macroquad - Easy to use game library, heavily inspired by _RayLib_.
- Ash - Vulkan bindgins for Rust.
- Glium - Safe wrapper arount the OpenGL API.
- Kiss3D - Keep it simple, stupid 3D graphics engine.
- Miniquad - Cross platform rendering.
- Vulkano - Safe and rich wrapper around the Vulkan API.
- Azul - Desktop gui framework.
- Dioxus - Cross-platform, React-like gui library.
- Druid - Data-first gui design toolkit.
- egui - Easy to use immediate mode gui. Runs on web and native. [[Demo](https://www.egui.rs/)]
- Slint - Gui toolkit for embedded / desktop. Formerly _SixtyFPS_. [[Website](https://slint-ui.com/)]
- Rapier - 2D/3D physics engines focused on performance. [[Docs](https://rapier.rs)]
-
Zig
- Zig - General-purpose language and toolchain. [[Docs](https://ziglang.org/documentation/master/) | [GitHub](https://github.com/michal-z/zig)]
- Zig Learn - Excellent Zig language resource.
- Awesome Zig - Curated list of Zig code and resources.
- Ziglings - Learn the Zig programming language by fixing tiny broken programs.
- Upaya - Framework for creating game tools and helper apps.
- Known Folders - Provides access to well-known folders across several operating systems.
- Mach - Game engine & graphics toolkit. [[Examples](https://machengine.org/gpu/)]
- Zig-Gamedev Project - Sample apps and libraries using DirectX 12.
- Mini Pixel - Tiny pixel art editor. [[Download](https://fabioarnold.itch.io/mini-pixel)]
- Pixi - Pixel art editor.
- Cyber - Fast, efficient, and concurrent scripting language.
- Zig-Gamedev Project - Sample apps and libraries using DirectX 12.
-
-
Open Source Games
-
Awesome Collections
- Quake Engines - List of repositories of idTech engines, it's derivatives and sourceports.
-
C
- Handmade Hero - Videos on making a game from start to finish, source code for $15.
- Doom - The original 1993 3D masterpiece by _id Software_.
- Gish - Open Source version of the award-winning physics platformer. [[Steam](https://store.steampowered.com/app/9500/Gish/)]
-
C++
- Doom 3 - Doom 3 GPL source release.
- Dungeon Crawl: Stone Soup - Classic roguelike adventure. [[Play](https://crawl.develz.org/)]
- Etheral Legends - Indie Action RPG built with _Unreal Engine 4_. [[Steam](https://store.steampowered.com/app/428980/Ethereal_Legends/)]
- OpenLara - Classic Tomb Raider open source engine. [[Play](http://xproger.info/projects/OpenLara/)]
- TeeWorlds - Retro multiplayer shooter. [[Website](https://teeworlds.com/)]
- zDoom - Modern, feature centric port for all Doom engine games.
- GemRB - Open-source implementation of _Bioware_'s Infinity Engine.
-
Java
- Pixel Dungeon - Traditional roguelike game with pixel-art graphics and simple interface.
-
-
Specialty Topics
-
AI / Pathfinding
- Intro to AI - Intro to AI Programming for Games at RayWenderlich.com.
- Beginner's Guide to Game AI - Intro to concepts used in AI for games.
-
Animation Info
- Skeletons and Inverse Kinematics - Principles for using skeletons with IK for animation.
- Skeletons and Inverse Kinematics - Principles for using skeletons with IK for animation.
-
Color Manipulation
- How to Choose Colors Procedurally - Procedural palettes and how to generate them.
- Red, Yellow, and Blue - Convert colors from the paint color wheel to RGB space. [[Source](https://github.com/bahamas10/ryb)]
- Red, Yellow, and Blue - Convert colors from the paint color wheel to RGB space. [[Source](https://github.com/bahamas10/ryb)]
- How to Choose Colors Procedurally - Procedural palettes and how to generate them.
-
Entity Component Systems
- A Simple Entity Component System - Basis for an ECS in C++.
- Evolve Your Hierarchy - Overview of ECSs and why to use them, at [Cowboy Programming](https://cowboyprogramming.com).
- Intro to Component-Based Architecture in Games - Component-based architecture.
- Nomad Game Engine - Articles building an ECS from the ground up in C++. [[Source](https://github.com/taurheim/NomadECS)]
- What's an Entity System - Overview of ECSs, how they are used in game development.
-
Fluid / Smoke
- Fluid Simulation on the GPU - GPU Gems Chapter 38 - Fast, stable fluid simulation on the GPU.
- Fluids-2D - Real-time fluid dynamics on the GPU with the help of WebGL and Three.js. [[Source](https://github.com/mharrys/fluids-2d)]
- GPU Fluid Experiments - Cross-platform GPU fluid simulation. [[Source](https://github.com/haxiomic/GPU-Fluid-Experiments)]
- WebGL Fluid Simulation - Play with fluids in your browser (even on mobile). [[Source](https://github.com/PavelDoGreat/WebGL-Fluid-Simulation)]
- GPU Fluid Experiments - Cross-platform GPU fluid simulation. [[Source](https://github.com/haxiomic/GPU-Fluid-Experiments)]
- Fluids-2D - Real-time fluid dynamics on the GPU with the help of WebGL and Three.js.
-
Geometry
- Constructive Solid Geometry - Technique using boolean operations to combine primitive objects.
-
Programming Languages
Categories
Sub Categories
C++
204
JavaScript
197
C
77
Haxe
47
Computer Graphics
44
Shaders
37
C#
36
Physics
24
Commercial
20
Rust
20
Lighting / Shadows
17
Geometry
13
Materials / Textures
13
Audio Tools
12
Zig
12
AAA
12
Generative Art
11
Specialty
11
Audio Assets
9
Signed Distance Fields
9
Game Development
9
Go
9
Python
9
Engine Development
8
Java
8
Model Assets
7
Modeling Tools
7
Ruby
7
Pascal
7
Fluid / Smoke
6
Kotlin
6
Programming
6
Voxel
6
Color / Palettes
6
Pixel Art
6
Lua
6
F#
6
Graphic Assets
5
BASIC
5
Scripting
5
Entity Component Systems
5
Dart
4
Color Manipulation
4
Tiling
4
Transparency
4
Vector Editors
3
Animation Software
3
AI Assistants
3
Awesome Collections
3
Popular
3
2D Game Dev
3
Particles
2
Rendering
2
Animation Info
2
Particle Tools
2
AI / Pathfinding
2
Level Editors
2
Graphical User Interface
1
Network
1
Material Assets
1
Hair
1
Keywords
game-engine
99
gamedev
92
game-development
89
javascript
60
cpp
54
opengl
53
3d
44
game
41
cross-platform
38
c-plus-plus
35
webgl
35
graphics
32
c
31
windows
28
android
28
linux
28
engine
27
vulkan
27
gui
27
threejs
21
2d
20
python
19
macos
19
typescript
19
ios
19
3d-graphics
18
react
18
lua
17
imgui
17
rust
17
cpp17
17
animation
16
rendering
16
haxe
16
ecs
16
audio
16
open-source
15
ui
15
csharp
15
entity-component-system
14
header-only
14
monogame
13
awesome-list
13
physics
13
wasm
13
3d-engine
12
awesome
12
directx
11
reflection
11
framework
11