    <a href="https://github.com/stevinz/awesome-game-engine-dev"><img width="1100" src="aged-title.png" alt="Awesome Game Engine Dev Logo"/></a>

# Awesome Game Engine Development

Curated list of resources related to the development of game engines (tools that improve and speed up game creation). Specifically toward the development of high-level, fully featured game engines (e.g., Godot / Unity).

This includes things typically not found in low-level game engines, app / game frameworks, or graphics libraries (e.g., MonoGame / SDL). Most importantly of which would be a visual scene editor, but also capabilities like scripting, physics, asset management, special effects, monetization, etc.

## Contents

- Game Engines
  - Awesome Collections
  - Popular
  - AAA
  - Commercial
  - Specialty
- Learning
  - Computer Graphics
  - Engine Development
  - Game Development
  - Graphical User Interface
  - Programming
- Libraries
  - BASIC
  - C
  - C++
  - C#
  - Dart
  - F#
  - Go
  - Haxe
  - Lua
  - Java
  - JavaScript
  - Kotlin
  - Pascal
  - Python
  - Ruby
  - Rust
  - Zig
- Open Source Games
  - C
  - C++
  - Java
- Specialty Topics
  - AI / Pathfinding
  - Animation Info
  - Color Manipulation
  - Entity Component Systems
  - Fluid / Smoke
  - Geometry
  - Hair
  - Lighting / Shadows
  - Network
  - Particles
  - Physics
  - Rendering
  - Scripting
  - Shaders
  - Signed Distance Fields
  - Tiling
  - Transparency
- Tools / Software
  - 2D Game Dev
  - AI Assistants
  - Animation Software
  - Audio Tools
  - Color / Palettes
  - Generative Art
  - Image Editors
  - Level Editors
  - Materials / Textures
  - Modeling Tools
  - Particle Tools
  - Pixel Art
  - Vector Editors
  - Voxel
- Video Game Assets
  - Audio Assets
  - Graphic Assets
  - Material Assets
  - Model Assets
- Archive
- Legend

## Game Engines

Production ready game engines to tinker with, explore, learn and inspire.

### Awesome Collections

- 📚 CoolEngines - List of open source graphic & game engines.
- 📚 Wikipedia: List of Game Engines - Game engines along with their platforms and licenses.

### Popular

- 🎉 Godot 🔥 - Feature-packed, open source engine. Excellent! [Awesome | Website]
- 💸 Unity - Biggest name in game engines, industry standard. [Awesome]
- 💸 Unreal Engine - AAA quality, insane feature set, photoreal visuals. [Awesome]

### AAA

- 🎉 Amazon Lumberyard - AAA engine integrated with AWS and Twitch. Forked from CRYENGINE.
- 💰 C4 Engine - Modern console engine.
- 💸 CRYENGINE - Powerful real-time game development platform by Crytek.
- 🆓 Evergine - High-quality 3D and 2D solutions. Formerly Wave Engine. [Samples]
- 💸 Flax Engine - Modern 3D game engine written in C++ and C#.
- 💰 Gamebryo - Complete toolset, flexible workflow, rapid prototyping.
- 🎉 O3DE - Multi-platform AAA engine. Cinema-quality 3D. Successor to Lumberyard.
- 💸 Unigine - Real-time 3D engine. Photorealistic graphics, large virtual worlds, C++ and C# API.

### Commercial

- 💰 AppGameKit - Easy and quick game making by TheGameCreators.
- 💸 Buildbox - Create 3D & 2D video games without coding.
- 💸 Construct - Drag and drop game builder. [Awesome]
- 💰 Corgi Engine - 2D/2.5D platformer engine built on top of Unity.
- 🎉 Defold - Open sourced game engine by King. [Website]
- 💸 Felgo - Build cross-platform 2D games in days, built with Qt.
- 💰 GameGuru - Game builder, 3D, no coding required by TheGameCreators.
- 💸 GameMaker Studio - Popular 2D game development environment by YoYo Games.
- 💸 GameSalad - Sophisticated visual programming interface.
- 💸 Luxe - 2D first engine, with a 2D/3D renderer.
- 💸 MANU - Unique animation system helps you create games without coding.
- 💸 NeoAxis - Versatile real-time platform for making games and apps. [Website]
- 💰 Phaser Editor 2D - Commercial, web-based editor for Phaser. [GitHub]
- 💸 PlayCanvas - Popular (Flappy Bird) WebGL game engine. [Awesome | GitHub]
- 💸 Roblox - Create immersive 3D experiences with Lua scripting.
- 💸 Simulation Starter Kit - Create interactive 3D apps across a range of platforms.
- 💸 Stencyl - Quick and easy game making with visual scripting. [GitHub]
- 💸 Titan Engine - Cross-platform engine, started in 2000. Formerly Esenthel Engine.

### Specialty

- 💰 3dSen - Emulator that lets you play NES games in 3D. [Website]
- 💸 DopeFish - Doom / Heretic map loading system for GameMaker.
- 🎉 GB Studio - Retro adventure game creator for Game Boy.
- 🔒 HARFANG 3D - 3D visualization library for industry professionals, usable in C++, Python, Lua, Go.
- 💰 Platforming Engine - Everything you need to create your own platformer in GameMaker.
- 🎉 Ren’Py - Visual novel engine. [Website]
- 💰 RPG in a Box - Turn your stories and ideas into games, built with Godot.
- 💰 RPG Maker - Create an original role-playing game without any specialized knowledge.
- 🔒 Twine - Tool for telling interactive, nonlinear stories.
- 💸 Unbound - SDF‑powered game engine. Intuitively sculpt & script 3D games.

## Learning

Info on topics necessary for designing and developing game engines.

### Computer Graphics

- Awesome Collections
  - 📚 Awesome Demoscene - Underground computer art culture exploring computer graphics and sound.
  - 📚 Awesome Graphics Libraries - Curated list of 3D graphics libraries and resources.
- Blog Articles
  - 📚 Comparison of Modern Graphics APIs - Modern graphics APIs vs older APIs.
  - 📚 GPU Performance for Game Artists - Common art-related performance issues.
- Books
  - 📚 GPU Gems - Programming techniques, tips, and tricks for real-time graphics.
  - 📚 GPU Gems 2 - Programming techniques for high-performance graphics.
  - 📚 GPU Gems 3 - Collection of state-of-the-art GPU programming examples hosted by NVIDIA.
  - 📚 Interactive Computer Graphics - Top down approach to computer graphics.
  - 📚 Physically-Based Rendering - From the Academy Award winning authority on PBR.
- Education Portals
  - 📚 Game Art Tricks - Articles exploring different graphics techniques.
  - 📚 Lighthouse3d.com - Collection of tutorials on OpenGL, GLSL and other graphics topics.
  - 📚 Paper Bug - Indexed compendium of graphics programming papers.
  - 📚 Scratchapixel - In depth coverage of computer graphics topics.
- Graphics API: DirectX
  - 🌎 DirectX - Microsoft API used to create 2D/3D games and apps. [Blog | Samples]
  - 📚 DirectXTutorial.com - Older resource with lots of tutorials on DirectX versions 9 & 11.
- Graphics API: Glide
  - 📚 Glide - Developed by 3dfx Interactive for their Voodoo Graphics in the 1990’s.
  - 🌎 Glide Open Source Project - Glide open source project.
- Graphics API: Mantle
  - 📚 Mantle - Developed by AMD as an alternative to Direct3D and OpenGL.
- Graphics API: Metal
  - 🌎 Metal - API for developing 3D apps on Apple platforms. [Samples]
  - 📚 Metal Tutorial - Learn how to get started with Metal at RayWenderlich.com.
- Graphics API: OpenGL
  - 📚 LearnOpenGL 🔥 - Incredible! In depth tutorials for modern graphics programming.
  - 🌎 Mesa 3D - Open source implementations of OpenGL.
  - 🌎 OpenGL - The industry’s foundation for high-performance graphics.
  - 📚 OpenGL Tutorial - Collection of OpenGL tutorials with source code examples.
- Graphics API: Vulkan
  - 🌎 Vulkan - Modern cross-platform graphics API. [Samples]
  - 📚 Vulkan Tutorial - Teaches the basics of using Vulkan graphics and compute API.
- Graphics API: WebGL
  - 🌎 WebGL - Open web standard 3D graphics API. [GitHub]
  - 📚 WebGL Fundamentals 🔥 - Full understanding of what WebGL really is and how it works.
  - 📚 WebGL 2 Fundamentals - Updated to use the WebGL2 standard.
  - 📚 WebGL 2 Samples - Short and easy to understand samples demonstrating WebGL 2 features.
  - 📚 WebGL Tutorial - How to use the canvas element to draw WebGL graphics.
- Graphics API: WebGPU
  - 🌎 Dawn - Open source, cross-platform implementation of the WebGPU standard, by Google.
  - 🌎 WebGPU - Next generation web 3D graphics API. [GitHub]
  - 🌎 WebGPU Demos - Collection of simple WebGPU examples by Apple.
- Pipeline: GPGPU
  - 🌎 CUDA - Developed by NVIDIA for parallel computing and programming.
  - 📚 DirectCompute - Developed by Microsoft for using compute shaders with DirectX 10 & 11.
  - 🌎 OpenCL - For writing programs that execute across CPUs, GPUs, and other processors.
- Platform: XNA
  - 📚 RB Whitaker’s Wiki - Tutorials on C#, MonoGame, XNA, and more.
  - 📚 Riemer’s MonoGame Tutorials - Everything you need to start programming with MonoGame.
  - 📚 XNA Game Studio Archive 🔥 - Required visit for MonoGame / FNA / XNA developers.

### Engine Development

- Blog Articles
  - 📚 How to Become a Game Engine Developer - Starting point on game engine development.
- Books
  - 📚 Game Engine Architecture - Theory and practice of game engine development.
- Commercial Studios Research Divisions
  - 🌎 Activision Research - Blog posts, articles and presentations from research within Activision.
  - 🌎 EA Technology - Research on game tech including info on the Frostbite engine.
  - 🌎 Ubisoft Technology - Learn about in-house tech including the Anvil and Snowdrop engines.
- Education Portals
  - 📚 3D Game Engine Programming - Articles on graphics, physics, AI, I/O and more.

### Game Development

- Awesome Collections
  - 📚 Awesome Gamedev - Collection of free resources for making games.
  - 📚 GameDev-Resources - Wonderful list of game development resources.
  - 📚 Magictools - List of game development resources to make magic happen.
  - 🌎 Web Game Dev - Resources on techniques and tools around JavaScript game development.
- Books
  - 📚 Art of Game Design - Teaches game design in an accessible manner.
  - 📚 Game Programming Patterns - Patterns found in games that make code easier to understand.
- Developer Portals
  - 🌎 Game Developer - Industry blogs, events, jobs, updates and more. Formerly Gamasutra.
  - 🌎 GameDev.net - Game dev forums, tutorials, blogs, projects, portfolios, and news.
  - 🌎 GameFromScratch.com - Game dev news, tutorials and much more.
  - 🌎 itch.io - Game dev resources and platform to showcase / promote / buy & sell games.
- Education Portals
  - 🌎 Lazy Foo’ Tutorials - Beginning game programming with SDL.

### Graphical User Interface

- 📚 List of Widget Toolkits - Gui frameworks across all platforms and languages.

### Programming

- 📚 Big-O Cheat Sheet - Big-O complexities of algorithms used in computer science.
- 🌎 Deadlock Empire - Interactive tutorial to master threads and concurrency.
- 📚 Every Programmer Should Know - Technical things every developer should know.
- 📚 Games of Coding - Games that teach you a programming language.
- 🌎 Geeks for Geeks - Tutorials, articles, courses, coding competitions, jobs and more.
- 📚 Learn to Program - Educational resources to learn to program.
- 📚 TIOBE Index - Popularity of programming languages, updated monthly.

## Libraries

Language specific game engine development libraries / frameworks / code.

### BASIC

- 📚 Awesome Basic - List of awesome BASIC dialects, IDEs, and tutorials.
- BASIC: App Framework
  - 💰 Basic for Qt - BASIC language and environment built with Qt. Formerly Q7Basic.
  - 🎉 QB64 - Modern BASIC+OpenGL language, retains QBasic / QB4.5 compatibility.
  - 📚 Visual Basic - Object-oriented language for Windows by Microsoft.
- BASIC: Game Framework
  - 🎉 Dark Basic - BASIC programming language for creating apps and games. [Website]

### C

- 📚 Learn C Programming - Excellent tutorials that will guide you to learn C programming.
- C: App Framework
  - 🎉 glfw - Cross-platform API for windowing, graphics contexts, input and events.
  - 🎉 MiniFB - Creates a cross-platform frame buffer for drawing pixels.
  - 🎉 SDL 🔥 - Low level access to audio, keyboard, mouse, joystick, and graphics hardware.
  - 🎉 Sokol 🔥 - Single-file libraries for graphics, windowing, file handling, audio and more.
- C: Audio
  - ⭐ Miniaudio - Single-file audio playback and capture library.
  - 🎉 SDL_mixer - Audio mixer that supports various file formats for SDL.
  - 🎉 SoLoud 🔥 - Free, easy, portable audio engine for games.
- C: Cross-Platform
  - 🎉 Cosmopolitan - Build-once run-anywhere C library.
- C: Entity Component System
  - 🎉 Flecs - Fast and lightweight entity component system in C99.
- C: File Formats
  - 🎉 Assimp - Open Asset Importer Library. Loads 40+ 3D file formats.
  - 🎉 cgltf - Single-file glTF 2.0 loader and writer in C99.
  - ⭐ dr_libs - Single-file audio decoding libraries.
  - 🎉 Libspng - Simple, modern libpng alternative.
  - 🎉 Miniz - Single-file drop-in replacement for zlib’s most used APIs (libpng and libzip).
  - 🎉 OBJ GL Loader v2 - Quite fast wavefront OBJ loader for OpenGL.
  - 🎉 PL_MPEG - Single-file library for decoding MPEG1 Video and MP2 Audio.
  - 🎉 QOI - The “Quite OK Image Format” for fast, lossless image compression.
  - ⭐ stb_vorbis - Ogg Vorbis audio decoder.
- C: File System
  - 🎉 HexEmbed - Small utility to help embed files in C/C++ programs in an easy, cross-platform way.
  - ⭐ Incbin - Include binary and text files in your C/C++ apps with ease.
  - 🎉 PhysicsFS - Portable, flexible file I/O abstraction. Provides access to various archives.
  - ⭐ Where Am I - Locates the current path on the local file system.
- C: Fonts
  - 🎉 Font Stash - Lightweight library that uses stb_truetype to render fonts to a texture atlas.
  - 🎉 IconFontCppHeaders - C/C++ headers and C# classes for icon fonts.
  - ⭐ stb_truetype - Single-header file library that processes TrueType font files.
  - 🎉 Vertext - Generates vertices for rendering text, requires stb_truetype.
- C: Game Engine w/Editor
  - ⭐ AVA - Tiny, minimalistic 3D game engine.
  - 🎉 TIC-80 - Virtual computer for making & sharing tiny games. [Website]
- C: Game Framework
  - 🎉 CGL - Single-header file, lots of graphics & utility functions.
  - 🎉 DOME - Melds SDL2 and the Wren scripting language. [Website]
  - 🎉 Entrypoint - Lightweight entry point for games.
  - ⭐ FWK - 3D game framework.
  - 🎉 Gunslinger - Header-only C99 framework for multimedia apps.
  - 🎉 RayLib 🔥 - Simple and easy-to-use library to enjoy 2D/3D videogame programming.
- C: Geometry
  - 🎉 Blob - Single-header implementation of a contour tracing algorithm.
  - 🎉 Marching Squares - Convert images into triangles. [Info]
  - 🎉 Octasphere - Generates triangle meshes for spheres, boxes, and capsules. [Info]
  - 🎉 Par_Shapes - Triangle meshes including solids, spheres and more. [Info]
  - 🎉 Par_Streamlines - Triangulating thick lines, béziers, streamlines. [Demo | Info]
- C: Graphics - 2D
  - 🎉 NanoVG - OpenGL-based 2D vector drawing library for UI and visualizations.
  - 🎉 Tilengine - 2D graphics with raster effects for retro style game development.
- C: Graphics - 3D
  - 🎉 Sokol Gfx - Cross-platform, single-file graphics. [Examples]
  - 🎉 Sokol Graphics Painter - 2D graphics painter implemented with Sokol.
- C: Gui
  - 🎉 cImgui - Thin C wrapper generated for Dear ImGui.
  - 🎉 lvgl 🔥 - Embedded gui library, many widgets and advanced visual effects.
  - 🎉 NAppGUI - Professional, well documented SDK to build desktop apps.
  - 🎉 Native File Dialog - Portably invoke native file open / save dialogs.
  - 🎉 Nuklear - Single-header immediate mode cross-platform gui library.
- C: Input
  - 🎉 libGamepad - Cross-platform library for gamepad input.
  - 🎉 Sokol Gamepad - Branch with addon support for gamepads in Sokol.
- C: Libraries
  - ⭐ Cute Headers - Single-file libraries primarily used for games, by Randy Gaul.
  - ⭐ Libs - Single-file public domain libraries for C/C++, by Mattias Gustavsson.
  - ⭐ Pico Headers - Single-file, cross-platform libraries for game development.
  - 📚 Single-file Libs - Amazing collection of single-file C/C++ libraries compiled from many authors.
  - ⭐ stb 🔥 - Single-file public domain libraries for C/C++, by Sean Barrett.
- C: Lighting
  - ⭐ Light Mapper - Single-file library for lightmap baking by using your existing OpenGL renderer.
- C: Math
  - 🎉 Cglm - Highly optimized OpenGL math.
  - ⭐ Handmade Math 🔥 - Simple, public domain math library for games and computer graphics.
  - 🎉 Kazmath - Math library targeted at games.
  - 🎉 Raymath - Math library included in the RayLib game framework.
- C: Network
  - 🎉 librg - Middleware between networking / file-streaming libraries and app logic.
- C: Physics
  - 🎉 Chipmunk - Fast, lightweight 2D game physics library. [Docs]
- C: Scripting
  - 🎉 Duktape - Embeddable JavaScript engine with a focus on portability and compact footprint.
  - 🎉 JerryScript - Ultra-lightweight JavaScript engine for the Internet of Things.
  - 🎉 Lua - Powerful, efficient, lightweight, embeddable scripting language.
  - 🎉 QuickJS - Small and embeddable JavaScript engine.

### C++

- 📚 Awesome C++ - List of awesome C++ frameworks, libraries, and resources.
- 📚 Awesome C++ Game Dev - List of awesome C++ things for Game Development.
- 📚 Awesome Hpp - List of awesome header-only C++ libraries.
- 🌎 C++ Papyrus - Basic to advanced topics with modern C++ examples.
- 🌎 cppreference.com - Online reference for C, C++, and the STL.
- 📚 Learn C++ 🔥 - Walks you through all the steps to write, compile, and debug C++.
- 📚 Modern Cpp Features - Cheatsheet of modern C++ language and library features.
- C++: App Framework
  - 🎉 Cinder - App / graphics library for macOS, Windows, Linux, iOS. [Website]
  - 🎉 Cross Window - Platform library for managing windows and other OS tasks.
  - 🎉 SFML 🔥 - Cross-platform access to windowing, graphics, audio and networking.
- C++: Animation
  - 🎉 Ozz-Animation - Skeletal animation library and toolset.
  - 🎉 Tweeny - Inbetweening library for complex animations for games / apps.
- C++: Audio
  - 🎉 Amplitude Audio SDK - Cross-platform audio engine designed for the needs of games.
  - 💰 irrKlang - High level 2D/3D sound engine and audio library.
  - 💰 Juce - The leading framework for multi-platform audio apps.
  - 🔒 OpenAL Soft - Software implementation of the OpenAL 3D audio API.
  - 🎉 PortAudio - Cross-platform audio library.
- C++: Cross-Platform
  - 🌎 emscripten - The C/C++ to JavaScript (as WebAssembly) compiler. [Website]
- C++: Entity Component System
  - 🎉 EntityX - Fast, type-safe C++ entity component system.
  - 🎉 Entt - Gaming meets modern C++, a fast and reliable entity component system.
- C++: Fonts
  - 🎉 HarfBuzz - Text shaping library. Formatted and positioned glyph output.
  - 🎉 msdfgen - Multi-channel signed distance field generator.
  - 💰 Slug - High-quality, resolution-independent text and vector graphics for 3D apps.
- C++: File Formats
  - ⭐ Jpeg-Compressor - Single-file library that writes baseline JPEG compressed images.
  - 🎉 TinyDNG - Header-only DNG / TIFF loader and writer.
  - 🎉 TinyEXR - Tiny OpenEXR image loader / saver library.
  - 🎉 TinyGLTF - Header-only C++11 tiny glTF 2.0 library.
  - 🎉 TinyOBJLoader - Tiny but powerful single-file wavefront obj loader.
- C++: File System
  - 🎉 Imgui-Filebrowser - Header-only file browser implementation for Dear ImGui in C++17.
- C++: Game Engine w/Editor
  - 🎉 AnKi 3D Engine - Vulkan backend, modern renderer, scripting, physics and more.
  - 🔒 Crown Engine - Data-driven 3D and 2D game engine.
  - 🎉 Crystal Engine - Vulkan backend with PBR and styled GUI (CrystalWidgets).
  - 🎉 Drop Creator - No code, 2.5D game engine built with Qt, OpenGL and Chipmunk Physics.
  - 🔒 Enigma - GameMaker compatible 2D engine.
  - 🎉 Esoterica Engine - High-performance game engine with editor and AAA quality animation graph.
  - 🎉 Ethereal Engine - Cross-platform game engine and editor.
  - 🎉 ezEngine - Game engine in active development.
  - 🎉 FIFE - Multi-platform isometric game engine.
  - 🎉 Irrlicht - Cross-platform 3D engine worked on for nearly 2 decades. [Website]
  - 🎉 Limon Engine - 3D FPS game engine with full dynamic lighting and shadows.
  - 🎉 Lina Engine - Modular game engine, aimed to develop 3D desktop games.
  - 🎉 Lumos - Cross-platform 2D/3D game engine, supports both OpenGL and Vulkan.
  - 🎉 Lumix Engine - A 3D game engine with Dear ImGui based editor.
  - 🎉 MxEngine - Modern-C++ general-purpose 3D game engine.
  - 🔒 neoGFX - Cross-platform app and game engine.
  - 🎉 ÖbEngine - 2D engine with Lua scripting built with SFML.
  - 🎉 Overload - Well documented 3D game engine inspired by industry standards.
  - 🎉 Razix Engine - High-performance research engine for production pipeline.
  - 🎉 Rootex - Advanced C++ 3D game engine powering an in-production game.
  - 🎉 Skylicht - Upgraded features including audio, physics and particles. Built on Irrlicht.
  - 🎉 Spartan Engine - Emphasis on quality and performance.
  - 🎉 Torque 3D - High-performance 3D engine built on The Forge.
  - 🔒 UPBGE - Blender game engine, originally forked from Blender.
- C++: Game Framework
  - 🎉 Acid - Modern C++17 and structured to be fast, simple, and modular.
  - 🎉 blah - Small 2D game framework.
  - 🎉 Cocos2d-x - Widely used in indie game dev community.
  - 🎉 Cute Framework - Simple and consise framework for making 2D games.
  - 🔒 Fireworks Engine - Lightweight OpenGL framework for quick prototyping.
  - 🎉 Halley - Modern C++17. Used for Wargroove, a strategy game on desktop and consoles.
  - 🎉 is::Engine - 2D framework built on SDL2 and SFML.
  - 🎉 JNGL - 2D framework. Develop anywhere, deploy everywhere.
  - 🔒 KlayGE - Cross-platform game framework with plugin-based architecture.
  - 🎉 Koala Engine - Framework with an ECS architecture, aka Kengine.
  - 🎉 Lumino - Framework for building real-time graphics apps.
  - 🎉 Nazara Engine - Custom shaders, ECS, 2D/3D, networking and more.
  - 🎉 nCine - Cross-platform 2D game framework.
  - 🎉 Octave - 3D game engine for GameCube, Wii, 3DS, and more.
  - 🎉 ORX - 2.5D data-driven game development framework.
  - 🎉 Oryol - Small, 3D, portable and extensible coding framework.
  - ⭐ Ouzel - Public domain, targeted for development of 2D games.
  - 🎉 Polycode - Cross-platform engine for creative code.
  - 🎉 Solar2D - Focus on ease of iterations and usage. Formerly Corona.
  - 🎉 Supernova - Cross-platform for 2D/3D projects.
  - 🎉 Thunder - Cross-platform 2D/3D with module architecture.
  - 🎉 Two - Toolkit for rapid development of live graphical apps and games.
  - 🎉 Urho3D - Cross-platform 2D/3D game framework.
  - 💸 Valve Source SDK - The 2013 edition of the Source SDK by Valve Software. [Info | Wiki]
- C++: Geometry
  - 🎉 CinoLib - Header-only library for processing polygonal and polyhedral meshes.
  - 🎉 Delabella - Super stable 2D delaunay triangulation.
  - 🎉 Delaunator-Cpp - Really fast library for Delaunay triangulation of 2D points.
  - 🔒 Easy3D - Easy-to-use library for 3D modeling, geometry processing, and rendering.
  - 🎉 Extrude - Converts 2D images into 3D extruded meshes.
  - 🔒 Generator - Procedural geometry generation library for C++11.
  - 🎉 Geometric Tools - Mathematics, geometry, graphics, image analysis and physics in C++14.
  - 🎉 GeometronLib - Meshes for 3D shapes (cube, sphere, etc.) and ray / geometry intersection.
  - 🔒 Libigl - Simple geometry processing library.
  - 🎉 MeshOptimizer - Mesh optimization library that makes meshes smaller and faster to render.
  - 🎉 Polygon Mesh Processing Library - Processing / visualizing polygon surface meshes.
  - 🎉 PolyPartition - 2D polygon partitioning and triangulation.
  - ⭐ RamerDouglasPeucker - Reduces number of points along a 2D line.
  - 🎉 Recast & Detour - Navigation-mesh toolset for games.
  - 🎉 Seam-aware Decimater - Simplifies mesh while preserving UVs, based on Seamless.
  - 🎉 Spheres - Four methods to create a sphere mesh.
  - 🔒 Trimesh2 - Utilities for input, output, and manipulation of 3D triangle meshes.
  - 🎉 V-HACD - Decomposes a 3D surface into a set of “near” convex parts.
- C++: Graphics - 2D
  - 🎉 Blend2D - High-performance 2D vector graphics engine. [Website]
  - 🎉 C++ Bitmap Library - Featured bitmap loading and manipulation library.
  - 🎉 QNanoPainter - OpenGL accelerated vector drawing library for Qt, powered by NanoVG.
  - 🎉 Skia - Complete 2D graphics library used in Chrome by Google. [Website]
  - 🎉 vg-renderer - 2D vector graphics renderer for Bgfx, based on ideas from NanoVG.
- C++: Graphics - 3D
  - 🎉 Bgfx - Cross-platform, graphics API agnostic, rendering library.
  - 🎉 Diligent Engine - Modern cross-platform graphics API abstraction library.
  - 🎉 Ember - Graphics framework using SDL2 and OpenGL.
  - 🎉 Filament - Mobile-first, real-time physically-based renderer by Google.
  - 🎉 Forge 🔥 - Cross-platform rendering framework supporting all major platforms and consoles.
  - 🎉 Horde3D - 3D rendering and animation engine.
  - 🎉 Intermediate Graphics Library (IGL) - Cross-platform abstraction layer by Facebook.
  - 🎉 LLGL - Thin abstraction layer for OpenGL, Direct3D, Vulkan, and Metal.
  - 🎉 Magnum Engine - Modular C++11 graphics middleware for games and apps.
  - 🎉 Ogre - Scene-oriented, flexible 3D engine.
  - 🎉 OSRE - Just another “Open Source Render Engine”.
  - 🔒 StratusGFX - Realtime 3D rendering engine implementing modern graphics techniques.
  - 🎉 Threepp - Cross-platform C++17 port of the popular 3D JavaScript library Three.js (r129).
  - 🎉 Tungsten - High-performance physically-based renderer in C++11.
  - 🎉 Wicked Engine - Engine focusing on performance & modern rendering techniques.
- C++: Gui
  - 🎉 Crazy Eddie’s GUI - Versatile, multi-platform gui library.
  - 🎉 Dear ImGui 🔥 - Bloat-free immediate mode gui library. Ported to many other languages.
  - 🔒 FLTK - Fast Light Toolkit, cross-platform gui. [Website]
  - 🔒 GTK - GIMP Toolkit, a multi-platform toolkit for creating guis.
  - 🎉 GuiLite - Header-only, cross-platform gui library.
  - 📚 List of C++ UI Libraries - List of C++ gui libraries, with pictures and descriptions.
  - 🎉 Litehtml - Lightweight HTML / CSS rendering engine.
  - 🎉 Nana - Cross-platform gui library in modern C++.
  - ⭐ Portable File Dialogs - Single-header C++11 native dialogs on Windows, macOS, and Linux.
  - 🔒 Qt - Industry standard gui library. [Awesome | Website]
  - ⭐ RmlUi - Turns HTML / CSS source files into vertices and draw commands. [Docs]
  - ⭐ Turbo Badger - Gui library for hardware accelerated apps & games. [Oryol Example]
  - 🔒 Wt - Web gui library in modern C++. [Website]
  - 🔒 wxWidgets - Cross-platform gui using native controls. [Website]
- C++: Input
  - 🎉 Gainput - Easy to use input library.
  - 🎉 OIS - Object-oriented input system. Compatiable with many operating systems.
  - 🎉 Oryol Input - Input module from the Oryol game framework.
- C++: Layout
  - 🎉 Yoga - Cross-platform flexbox layout engine by Facebook. [Website]
- C++: Libraries
  - 🎉 Boost Libraries - Wide range of C++ libraries, many end up as part of the STL. [Website]
  - 📚 Gamedev Libraries - Collection of open source C/C++ libraries for game development.
  - 📚 Inqlude - List of libraries for developers of Qt-based apps.
  - 📚 List of Open Source C++ Libraries - Comprehensive list of open source C++ libraries.
  - 📚 NVIDIA GameWorks - NVIDIA technologies for game & app developers.
- C++: Lighting
  - 🎉 Thekla Atlas - Atlas generation tool.
  - 🎉 UVAtlas - DirectX library for creating and packing texture atlases.
- C++: Math
  - 🎉 OpenGL Mathematics - Header-only math library for graphics software.
- C++: Network
  - 🎉 Cpp-HttpLib - Single-header file HTTP server and client library in C++11.
- C++: Physics
  - 🎉 Box2D - Battle tested 2D physics for games. [Docs | Fixed Time-Step | Tutorials]
  - 🎉 Bullet Physics - Popular 3D physics libary.
  - 🎉 Chrono - High-performance multiphysics and multibody dynamics simulations. [Gallery]
  - 🎉 Edyn - Multi-threaded, networked physics engine. Supports large dynamic worlds. [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]
  - 🎉 Newton Dynamics - Real-time simulation of 3D environments.
  - 🎉 ODE - Open Dynamics Engine, 3D rigid body physics.
  - 🎉 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.
- C++: Reflection
  - 🎉 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.
- C++: Scripting
  - 🎉 AngelScript - Cross-platform scripting library, follows the widely known syntax of C/C++.
  - 🔒 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.
- C++: Serialization
  - 🎉 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.
  - 🎉 RapidJSON - Fast JSON parser / generator.
- C++: Terrain
  - 🎉 Terra Forge 3D - Procedural 3D terrain generation and texturing tool.
- C++: Utility
  - 🎉 Any-Lite - Header-only ‘any’ type for C++98 and above.
  - 🎉 EASTL - Electronic Arts STL replacement, emphasis on performance.
  - 🎉 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.
- C++: Visual Programming / Nodes
  - 🎉 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.

### C

- 📚 Dot Net Perls - Reference for the C# language.
- C#: App Framework
  - 🎉 ATF - Components for making tools on Windows, started in 2005.
- C#: Audio
  - 🎉 NAudio - Audio and MIDI library for .NET.
- C#: Cross-Platform
  - 🌎 Blazor - C# to JavaScript (as WebAssembly) technology by Microsoft. [Website]
  - 🎉 Mono - Open source implementation of Microsoft’s .NET Framework.
- C#: Entity Component System
  - 🎉 Arch - High-performance ECS with optional multithreading.
  - 🎉 DefaultEcs - ECS framework designed for game development.
  - 🔒 Friflo.Engine.ECS - Archetype based ECS with focus on performance, cache locality and DX.
  - 🎉 LeoECS - ECS framework powered by C# with optional integration to Unity.
- C#: Game Engine w/Editor
  - 🎉 Duality - Modular 2D engine, editor built with OpenTK.
  - 🎉 Flat Red Ball - 2D game engine & design tools, built with MonoGame. [Website]
  - 🎉 Murder - Pixel-art, ECS game engine built on MonoGame. [Docs]
  - 🎉 Stride - Game engine for realistic rendering and VR. Formerly Xenko. [Website]
  - 💸 Unity - Biggest name in game engines, industry standard.
- C#: Game Framework
  - 🎉 FNA - Reimplementation of the Microsoft XNA Game Studio 4.0 libraries.
  - 🎉 Monofoxe - Game engine designed to simplify working with MonoGame.
  - 🎉 MonoGame 🔥 - Framework for creating cross-platform games. [Website]
  - 🎉 Nez - Feature-rich 2D framework built on MonoGame.
  - 🎉 Protogame - Cross-platform 2D/3D game engine built on MonoGame.
- C#: Geometry
  - 🎉 DotRecast - A port of Recast & Detour, navigation mesh toolset for games, Unity3D, servers, C#.
- C#: Graphics - 3D
  - 🎉 OpenTK - Open Toolkit, C# bindings for OpenGL. [LearnOpenGL]
  - 🎉 Veldrid - Cross-platform, graphics API-agnostic rendering and compute library for .NET.
- C#: Gui
  - 🎉 Avalonia - Cross-platform gui framework for .NET. [Website]
  - 🎉 GeonBit.UI - Gui for MonoGame projects.
  - 🎉 MonoGame.Forms - MonoGame render window for Windows Forms.
  - 🎉 Myra - Gui library for MonoGame, FNA, and Stride.
  - 🎉 Uno - Mobile, desktop and WebAssembly gui library. [Website]
- C#: Physics
  - 🎉 Aether Physics - 2D physics library with continuous collision detection.
  - 🎉 Box2D.NET - C# port of Box2D. 2D physics engine for games, .NET C#, Unity3D, servers.
  - 🎉 Velcro Physics - C# port of Box2D. Formerly Farseer Physics.
- C#: Utility
  - 🎉 Facepunch.Steamworks - Steamworks implementation.

### Dart

- 📚 Awesome Dart - Curated list of awesome Dart frameworks, libraries, and software.
- 🌎 Dart - Client-optimized language for fast apps on any platform. [GitHub]
- Dart: App Framework
  - 🎉 Flutter - Open source app framework by Google. [Awesome | GitHub]
- Dart: File Formats
  - 🎉 image - Library for decoding / encoding image formats and image processing.
- Dart: Game Framework
  - 🎉 Flame - Minimalist Flutter based 2D game engine. [Awesome | Examples | Website]

### F

- 📚 Awesome F# - Curated list of frameworks, libraries, software and resources.
- 🌎 F# - Functional-first language for .NET, prioritizing expressive code and parallelism.
- F#: Audio
  - 🔒 FSound - Sound processing library.
- F#: Entity Component System
  - 🎉 Garnet - Game composition library with ECS and actor-like messaging features.
- F#: Game Engine w/Editor
  - 🎉 Nu Game Engine - Cross-platform game engine built in the functional style.
- F#: Gui
  - 🎉 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]
- Go: Audio
  - 🎉 Beep - Playback and audio-processing.
- Go: Game Engine w/Editor
  - 🎉 G3N - OpenGL 3D game engine.
- Go: Game Framework
  - 🎉 Ebitengine - Dead simple 2D game library.
  - 🎉 Engo - A 2D game framework.
  - 🎉 Pixel - Hand-crafted 2D game library. [Examples]
- Go: Geometry
  - 🎉 3D Mesh Simplification - 3D mesh simplification.
- Go: Graphics
  - 🎉 ln - The 3D Line Art Engine, a vector-based 3D renderer. [Docs]

### Haxe

- 📚 Awesome Haxe - Awesome curated list of useful Haxe links.
- 📚 Awesome Haxe Game Dev - Awesome list of game dev resources for Haxe.
- 🌎 Haxe - Produce cross-platform native code. [GitHub]
- 📚 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”.
- Haxe: Animation
  - 🎉 Actuate - Flexible, fast tween library.
  - 🎉 DragonBones - Runtime support for DragonBones skeletal animation.
  - 🎉 Spine-Hx - Spine runtime for Haxe.
- Haxe: App Framework
  - 🎉 Lime - Flexible, lightweight layer for Haxe cross-platform developers.
  - 🎉 nme - Cross-platform native backend for Haxe projects.
- Haxe: Cross-Platform
  - 🎉 HashLink - Virtual machine for Haxe.
- Haxe: Entity Component System
  - 🎉 Ecx - Entity component system framework for Haxe.
  - 🎉 GASM - Framework agnostic entity component system for Haxe.
- Haxe: Game Engine w/Editor
  - 🎉 Armory - 3D game engine with full Blender integration.
  - 🎉 Away3D - Real-time 3D engine for OpenFL. [Website]
  - 🎉 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]
  - 🎉 Starling - Popular (Angry Birds) 2D game engine built on OpenFL. [Editor | Website]
- Haxe: Game Framework
  - 🎉 Ceramic - Cross-platform 2D framework. [Examples]
  - 🎉 Citrus - ActionScript 3 based 2D/3D framework. [Website]
  - 🎉 Clay - Cross-platform 2D game framework.
  - 🎉 gameBase - Base structure for Haxe games, using Heaps graphics framework. [Tutorial]
  - 🎉 HaxeFlixel - Cross-platform 2D game framework powered by OpenFL. [Website]
  - 🎉 OpenFL - Open source implementation of the Adobe Flash API. [Website]
- Haxe: Graphics
  - 🎉 Heaps 🔥 - Cross-platform 2D/3D engine (by creators of Haxe). [Website]
  - 🎉 Kha - Ultra-portable, high-performance multimedia framework.
  - 🎉 Sparkler - Modular macro-powered particle system.
- Haxe: Gui
  - 🎉 HaxeUI - Cross-platform set of styleable gui components.
  - 🎉 Zui - Immediate mode user interface, used in ArmorPaint.
- Haxe: Libraries
  - 📚 HaxeLibs - List of every library uploaded to the Haxe website.
  - 📚 HaxeTink - Various addon libraries for Haxe.
  - 🌎 Snowkit - Collective of Haxe developers.
- Haxe: Physics
  - 🎉 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]
- Haxe: Serialization / Storage
  - 🎉 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.
- Haxe: Utility
  - 🎉 hexMachina - Powerful modular MVC framework. [Website]
  - 🎉 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: Visual Programming / Nodes
  - 🎉 Haxe-Blockly - Haxe wrapper for Blockly

### Lua

- 📚 Awesome Lua - Awesome Lua packages and resources.
- Lua: Game Framework
  - 🎉 3DreamEngine - 3D engine on top of LÖVE.
  - 🎉 Gideros - 2D/3D cross-platform games with Lua. [Website]
  - 🎉 INSTEAD - Simple Text Adventure Interpreter.
  - 🎉 LÖVE - 2D framework for writing game code with Lua. [Awesome | Website]

### Java

- 📚 Awesome Java - Awesome frameworks, libraries and software for Java.
- 🌎 Java - General-purpose language, runs on Java virtual machines. [GitHub]
- 📚 Learn Java - Official docs and tutorials.
- 📚 OpenGL & GLSL Tutorials - OpenGL / GLSL tutorials for LWJGL and libGDX.
- Java: Game Framework
  - 🎉 jMonkeyEngine - Modern 3D game development suite.
  - 🎉 libGDX - Game framework built on, and adds to LWJGL. [Awesome | Website]
  - 🎉 LWJGL - Graphics, audio, parallel computing, XR and more. [Website]

### JavaScript

- 📚 Eloquent JavaScript - Modern JavaScript programming, with examples.
- 🌎 MDN - Mozilla Developer Network, excellent learning resource.
- 🌎 W3 Schools - Learn to code with the world’s largest web developer site.
- JavaScript: Animation
  - 🎉 Animate.css - Ready-to-use, pure CSS animations. [Examples]
  - 🎉 D3.js - Data-Driven Documents. Bring data to life with SVG, canvas and HTML. [Examples | Website]
  - 💸 GreenSock - Robust animation toolset. [Website]
  - 🎉 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.
- JavaScript: Audio
  - 🎉 Howler.js - Audio made easy and reliable across all platforms.
  - 🎉 PixiJS Sound - Audio library with filters, built on PixiJS. [Examples]
  - 🎉 SoundJS - Simple API and powerful features, part of the CreateJS suite.
  - 🎉 Sonant-X - Small JavaScript synthesizer library. [Online Composer]
  - 🎉 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.
- JavaScript: Color
  - 🎉 Chroma.js - Library for all kinds of color manipulations.
- JavaScript: Cross-Platform
  - 🎉 Apache Cordova - Mobile apps (iOS / Android) with with JavaScript, HTML, and CSS.
  - 🎉 Electron - Cross-platform desktop apps with JavaScript, HTML, and CSS. [Website]
  - 📚 Electron Alternatives - Cross-platform gui app development options.
  - 🎉 Ejecta - JavaScript / canvas / audio implementation for iOS. App store compatible.
  - 🎉 NW.js - Desktop apps with JavaScript. Formerly Node-Webkit. [Website]
  - 📚 Progressive Web Apps - Using web tech in a way that feels like platform-specific apps.
  - 🎉 React Native - Framework for building native apps using React. [Website]
  - 🎉 Tauri - Smaller, faster, and more secure desktop applications. [Website]
  - 💸 Ultralight - Supports modern HTML5, CSS, and JavaScript. Based on WebKit.
  - 🎉 WebView2 - Microsoft Edge control allows you to embed web in native apps. [Docs]
  - 🎉 Window.js - JavaScript runtime for desktop graphics programming. [Docs]
- JavaScript: Docking
  - 🎉 Dock Spawn TS - Maintained, TypeScript version of 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.
- JavaScript: Entity Component System
  - 🎉 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.
- JavaScript: File Formats
  - 🎉 JSMpeg - MPEG1 Video Decoder in JavaScript.
- JavaScript: Framework
  - 🎉 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.
  - 🎉 React - Declarative, efficient, and flexible JavaScript library for building user interfaces.
  - 🎉 Svelte - Takes your declarative components and converts them into efficient JavaScript.
  - 🎉 Vue - Progressive JavaScript framework for building UI on the web.
- JavaScript: Game Engines
  - 📚 JavaScript Game Engines - GitHub Collection of JavaScript / HTML5 game engines.
  - 📚 JavaScript Wiki: Game Engines - JavaScript / HTML5 game engines and frameworks.
- JavaScript: Game Engine w/Editor
  - 🎉 A-Frame - Web framework for building VR experiences. [Website]
  - 🎉 Cocos Creator - Cross-Platform 2D/3D game creation. [Website]
  - 🎉 ct.js - Desktop 2D game engine, built on PixiJS.
  - 🎉 Egret - Mobile game engine. [Editor]
  - 🎉 GDevelop - Full-featured 2D game development. [Website]
  - 🎉 Impact - Game engine for desktop and mobile browsers. [2D Level Editor]
  - 🎉 Isogenic - Engine with advanced multiplayer, based on Valve’s multiplayer system.
  - 🎉 melonJS - Modern 2D game engine, level editing with Tiled. [Examples | Website]
  - 🎉 microStudio - Online game engine. Learn and practice programming.
  - 🎉 Pixelbox.js - Sandbox to fast-prototype 2D tile-based games. [Download]
  - 🎉 QICI Engine - Toolset for making games.
  - 🎉 Superpowers - Both 2D & 3D game making for indies. [Website]
  - 🎉 Taro - Multiplayer engine with Box2D physics, aka Moddio. [Website]
- JavaScript: Game Framework
  - 🎉 Crafty - Create 2D games in a structured way.
  - 🎉 Excalibur - Friendly TypeScript 2D game engine for the web.
  - 🎉 Galacean - Web/Mobile-first engine built on WebGL and glTF.
  - 🎉 Kaboom - Simple 2D framework.
  - 🎉 LittleJS - Lightweight 2D framework with WebGL rendering.
  - 🎉 Meep - ECS game framework.
  - 🎉 Oasis - WebGL framework by AntGroup. 2D/3D, animation, physics.
  - 🎉 Phaser - Fast 2D game framework. [Website]
  - 🎉 Turbulenz - Modular 2D/3D game framework for browsers, desktops and mobile.
  - 🎉 WhitestormJS - Framework for 3D apps / games, built on Three.js.
- JavaScript: Geometry
  - 🎉 Convexhull.js - High-performance JavaScript 2D convex hull library.
  - 🎉 Delaunator - Incredibly fast JavaScript library for Delaunay triangulation of 2D points.
  - 🎉 Earcut - The fastest and smallest JavaScript polygon triangulation library for your WebGL apps.
  - 🎉 Poly-Decomp.js - Decompose 2D polygons into convex pieces.
- JavaScript: Graphics - 2D
  - 🎉 CanvasKit - WebAssembly build of Google’s 2D graphics library, Skia. [Samples]
  - 🎉 EaselJS - Makes working with the canvas element easy, part of CreateJS.
  - 🎉 Escher.js - Interactive 2D graphics canvas framework.
  - 🎉 Fabric.js - Powerful and simple JavaScript canvas library.
  - 🎉 Konva - Canvas interactivity framework for desktop and mobile apps.
  - 🎉 p5.js - Library for creative coding. [Website]
  - 🎉 Paper.js - The swiss army knife of vector graphics. [Examples]
  - 🎉 Pencil.js - Modular interactive 2D drawing library. [Examples]
  - 🎉 PixiJS 🔥 - Fast, lightweight 2D library. [Awesome | Editor | Essentials | Website]
  - 🎉 Pts - Library for visualization and creative coding. [Examples]
  - 🎉 Scrawl-canvas - Library for working with the canvas element.
  - 🎉 Stage.js - 2D rendering engine for game development. [Examples]
  - 🎉 Two.js - Renderer agnostic 2D drawing API for the web.
  - 🎉 ZIM - Creative canvas framework. [Website]
- JavaScript: Graphics - 3D
  - 🎉 Babylon.js 🔥 - Powerful web rendering engine. [Extensions | Website]
  - 🎉 ClayGL - WebGL library for scalable Web3D applications.
  - 🎉 CopperLicht - A 3D library for WebGL. [CopperCube Editor]
  - 🎉 Filament for Web - WebAssembly build of Google’s 3D graphics library, Filament. [Demos]
  - 🎉 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]
  - 🎉 PicoGL.js - Minimal WebGL 2 rendering library. [Examples]
  - 🎉 Pixi3D - 3D renderer for PixiJS, seamless integration with 2D apps. [Examples]
  - 🎉 RedGL - JavaScript 3D WebGL library.
  - 🎉 Regl - Fast functional WebGL.
  - 🎉 SwissGL - Minimalistic wrapper on top of WebGL2.
  - 🎉 ThingJS - Lightweight, extendable 3D library, aka t3d.
  - 🎉 Three.js 🔥 - General-purpose 3D library. [Awesome | Docs | Editor | Examples]
  - 🎉 TWGL - Tiny WebGL helper Library. [Examples]
  - 📚 WebGL Frameworks - List of WebGL frameworks on Wikipedia.
  - 📚 WebGL / WebGPU Frameworks - List of WebGL and WebGPU frameworks and libraries.
  - 🎉 x3dom - Integrate 3D content seamlessly into your webpage.
- JavaScript: Graphics - Three.js
  - 📚 Discover Three.js - Create stunning 3D web apps using Three.js.
  - 🌎 SBcode Three.js Tutorials - Fantastic examples with code and explanations of topics.
  - 🎉 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.
  - 📚 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.
  - 📚 THREEx - Nice collection of open source game extensions.
- JavaScript: Graphics - Three.js - Addon
  - 🎉 Custom Shader Material - Extend Three.js materials with your own shaders.
  - 🎉 irregular-grid - Examples of generating and using irregular grids. [Demos]
  - 🎉 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]
  - 🎉 three-projected-material - Texture projection in Three.js.
  - 🎉 three.ik - Inverse kinematics for Three.js.
  - 🎉 Troika JS - Derived Material - Extend existing Three.js materials. [Docs]
  - 🎉 voxelizer - Voxelization of 3D models.
- JavaScript: Graphics - Three.js - React
  - 🎉 drei - Useful helpers for react-three-fiber.
  - 🎉 gltfjsx - Turns GLTFs into JSX components.
  - 🎉 react-three-fiber - React renderer for Three.js.
- JavaScript: Graphics - Three.js - Svelte
  - 🎉 Threlte - 3D framework and ecosystem for Svelte and Three.js. [Website]
- JavaScript: Gui
  - 🎉 Bootstrap - Popular. Develop responsive, mobile first projects. [Website]
  - 🎉 dat.GUI - Lightweight gui for changing variables in JavaScript.
  - 🎉 Dojo - Gui widgets for web apps.
  - 🎉 Guify - Simple gui for changing JavaScript variables. [Demo]
  - 🎉 GuiGui - Gui for tweaking stuff in JavaScript. [Demo]
  - 🎉 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.
- JavaScript: Input
  - 🎉 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.
- JavaScript: Layout
  - 📚 Complete Guide to Flexbox - Comprehensive guide to CSS flexbox layout.
  - 📚 Complete Guide to Grid - Comprehensive guide to CSS grid.
- JavaScript: Networking
  - 🎉 Socket.io - Enables real-time bidirectional event-based communication.
  - 🎉 WebRTC - Supports video, voice, and generic data to be sent between peers.
- JavaScript: Physics
  - 🎉 Ammo.js - Bullet 3D Physics engine ported as WebAssembly.
  - 🎉 Box2d.js - Box2D to ported as WebAssembly.
  - 🎉 Cannon-es - Maintained fork of Cannon.js 3D physics engine. [Demos]
  - 🎉 Goblin Physics - 3D physics engine written from the ground up in JavaScript. [Demos]
  - 🎉 JoltPhysics.js - Port of Jolt Physics to JavaScript (as WebAssembly). [Demos]
  - 🎉 Matter.js - Featured 2D physics engine for the web. [Demos]
  - 🎉 Oimo.js - Lightweight 3D physics engine. [Demos]
  - 🎉 p2.js - 2D rigid body physics, by the creator of Cannon.js.
  - 🎉 Particulate.js - Particle physics library designed to be simple, fast and stable.
  - 🎉 Planck.js - JavaScript rewrite of the Box2D physics engine. [Demos]
  - 🎉 Physijs - Physics plugin for Three.js
  - 🎉 Rapier - Rust 2D/3D physics libary focused on performance, ported as WebAssembly.
  - 🎉 Verly.js - Easy to integrate verlet physics engine. [Demos]
- JavaScript: Utility
  - 🎉 Clipboard.js - Small, modern copy to clipboard.
  - 🎉 Day.js - Fast 2kB alternative to Moment.js with the same modern API.
  - 🎉 i18next - Popular internationalization framework.
  - 🎉 jQuery - Fast and feature-rich JavaScript library. [Website]
  - 🎉 PreloadJS - Preloading assets w/progress events.
  - 🎉 Struct Vec - JavaScript array-like containers for multithreading.
- JavaScript: Timeline
  - 🎉 Frame.js - JavaScript sequence editor.
  - 🎉 Neo - Timeline for JavaScript. [Demo]
- JavaScript: Video
  - 💸 Remotion - Create videos programmatically in React. [Website]
- JavaScript: Visual Programming / Nodes
  - 🎉 Butterfly - Diagramming library concentrated on flow and field layout by Alibaba.
  - 🎉 Drawflow - Simple JavaScript flow library. [Demo]
  - 🎉 Flow - Node-graph library.
  - 🎉 Litegraph.js - Create graphs in the browser similar to Unreal Blueprints. [Demo]
  - 🎉 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]

### Kotlin

- 📚 Awesome Kotlin - List of awesome Kotlin related stuff.
- 🌎 Kotlin - General-purpose language, interoperates with Java. [GitHub]
- Kotlin: Game Engine w/Editor
  - 🎉 KorGE - Multi-platform 2D game engine for Kotlin. [Website]
- Kotlin: Game Framework
  - 🎉 FXGL - Game library for 2D, experimental 3D.
  - 🎉 Kool - Multi-platform 3D Vulkan / OpenGL graphics engine. [Examples]
  - 🎉 KTX - Kotlin extensions for the libGDX game framework.

### 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.
- Pascal: Game Engine w/Editor
  - 🎉 Castle - Cross-platform 2D/3D game engine and editor. [Website]
- Pascal: Game Framework
  - 🎉 Apus - Cross-platform library for making 2D games.
- Pascal: Physics
  - 🎉 Kraft - Object Pascal 3D physics engine.

### Python

- 📚 Awesome Python - List of awesome Python frameworks, libraries, software and more.
- 🌎 Python.org - Programming language that lets you work quickly. [Docs]
- Python: App Framework
  - 🎉 Pyglet - Windowing and multimedia library intended for game development.
- Python: Cross-Platform
  - 💸 Anvil - Full stack web apps with nothing but Python.
  - 🎉 Brython - Python 3 running in the browser.
- Python: Game Framework
  - 🎉 Arcade - Easy to use library for creating 2D arcade games.
  - 🎉 Panda3D - Powerful, mature game engine, developed by Disney and CMU. [Website]
  - 🔒 Pygame - Game & multimedia app framework, built on SDL.
  - 🎉 Pygcurse - Curses-like library for text adventures / roguelikes. [Website]
- Python: Gui
  - 🎉 Kivy - Cross-platform gui framework. [Website]

### Ruby

- 📚 Awesome Ruby - Collection of awesome Ruby libraries, tools, frameworks and software.
- 🌎 Ruby - Dynamic programming language, focused on simplicity / productivity. [GitHub]
- Ruby: Framework
  - 🎉 Ruby on Rails - Web app framework. [Website]
- Ruby: Game Framework
  - 🎉 Ruby 2D - Make cross-platform 2D apps.
- Ruby: Graphics - 3D
  - 🎉 Mittsu - 3D graphics library based heavily on Three.js.
- Ruby: Gui
  - 🎉 Glimmer - Gui library and DSL (domain specific language) framework.
  - 🎉 Shoes - Cross-platform gui library. [Website]

### Rust

- 📚 Awesome Rust - Curated list of Rust code and resources.
- 🌎 Rust - Empowering everyone to build quality software. [Docs | GitHub]
- Rust: App Framework
  - 🎉 Makepad - Software development platform and native-rendering gui framework. [Editor]
  - 🎉 Tao - Cross-platform windowing. [Docs]
- Rust: Audio
  - 🎉 Kira - Create expressive audio for games.
- Rust: Game Engine w/Editor
  - 🎉 Fyrox - 2D/3D game engine with editor. Formerly Rg3d. [Website]
- Rust: Game Framework
  - 🎉 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]
  - 🎉 Macroquad - Easy to use game library, heavily inspired by RayLib.
- Rust: Graphics - 3D
  - 🎉 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.
- Rust: Gui
  - 🔒 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]
  - 🔒 Slint - Gui toolkit for embedded / desktop. Formerly SixtyFPS. [Website]
- Rust: Physics
  - 🎉 Rapier - 2D/3D physics engines focused on performance. [Docs]

### Zig

- 📚 Awesome Zig - Curated list of Zig code and resources.
- 🌎 Zig - General-purpose language and toolchain. [Docs | GitHub]
- 📚 Ziglings - Learn the Zig programming language by fixing tiny broken programs.
- Zig: App Framework
  - 🎉 Upaya - Framework for creating game tools and helper apps.
- Zig: File System
  - 🎉 Known Folders - Provides access to well-known folders across several operating systems.
- Zig: Game Engine w/Editor
  - 🎉 Mach - Game engine & graphics toolkit. [Examples]
- Zig: Game Framework
  - 🎉 Zig-Gamedev Project - Sample apps and libraries using DirectX 12.
- Zig: Graphics - 2D
  - 🎉 Mini Pixel - Tiny pixel art editor. [Download]
  - 🔒 Pixi - Pixel art editor.
- Zig: Scripting
  - 🎉 Cyber - Fast, efficient, and concurrent scripting language.

## Open Source Games

Successful open source video games to pick apart and gain knowledge.

### C

- 🔒 Doom - The original 1993 3D masterpiece by id Software.
- 🔒 Gish - Open Source version of the award-winning physics platformer. [Steam]
- 💸 Handmade Hero - Videos on making a game from start to finish, source code for $15.

### C++

- 🔒 Doom 3 - Doom 3 GPL source release.
- 🔒 Dungeon Crawl: Stone Soup - Classic roguelike adventure. [Play]
- 🎉 Etheral Legends - Indie Action RPG built with Unreal Engine 4. [Steam]
- 🎉 OpenLara - Classic Tomb Raider open source engine. [Play]
- 🎉 TeeWorlds - Retro multiplayer shooter. [Website]
- 🔒 zDoom - Modern, feature centric port for all Doom engine games.

### Java

- 🔒 Pixel Dungeon - Traditional roguelike game with pixel-art graphics and simple interface.

## Specialty Topics

Exploring specialty game engine / game development topics and features.

### 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.

### 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]

### 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.
- 📚 Intro to Component-Based Architecture in Games - Component-based architecture.
- 📚 Nomad Game Engine - Articles building an ECS from the ground up in C++. [Source]
- 📚 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]
- 🔒 GPU Fluid Experiments - Cross-platform GPU fluid simulation. [Source]
- 🎉 WebGL Fluid Simulation - Play with fluids in your browser (even on mobile). [Source]

### Geometry

- CSG (Constructive Solid Geometry)
  - 📚 Constructive Solid Geometry - Technique using boolean operations to combine primitive objects.
  - 🎉 csg.js - JavaScript library implementing CSG. [Examples]
  - 🎉 three-bvh-csg - Fast and dynamic CSG on top of three-mesh-bvh.
  - 🎉 three-csgmesh - Conversion of the csg.js library for use with Three.js.
- Meshes
  - 📚 Geometry, Surfaces, Curves, Polyhedra - Geometry topics including meshes, shapes, textures and more.
  - 📚 Mesh Transforms - Apple’s private API for manipulation of UIView meshes. [Source]
- Smoothing
  - 📚 Laplacian Smoothing - Draft notes with C++ code for laplacian smoothing of meshes.
  - 📚 Subdivision at Matt’s Webcorner - Smoothing with subdivision surfaces.
  - 📚 Subdivision Surfaces - Explanations of different schemes used in subdivision surfaces.

### Hair

- 📚 Fuzzy Meshes - Simulating fur with cones and gravity. [Source]

### Lighting / Shadows

- Gamma
  - 📚 What Every Coder Should Know About Gamma - Light emission vs perceptual brightness.
- Lighting 2D
  - 📚 Gleaner Heights: 2D Lighting - Simple intro to 2D lighting in a game with GLSL.
- Lighting 3D
  - 📚 Basic Lighting - 3D lighting article by LearnOpenGL.
  - 📚 Forward Rendering vs. Deferred Rendering - Techniques for handling many lights.
  - 📚 Forward+ Rendering / Tiled Forward Shading - Forward rendering with tiled light culling.
- Shadows 2D
  - 📚 2D Pixel Perfect Shadows - An approach to 2D pixel-perfect lights / shadows using shaders.
  - 📚 2D Visibility - Excellent interactive tutorial on 2D visibility.
  - 📚 Fast 2D shadows in Unity - Adapting 3D rendering techniques to achieve fast 2D shadows.
  - 📚 Sight & Light - How to create 2D visibility / shadow effects for your game. [Source]
  - 📚 Symmetric Shadowcasting - Common technique for calculating field of view.
- Shadows 3D
  - 📚 Efficient Soft-Edged Shadows - GPU Gems 2 Chapter 17.
  - 📚 Screen Space Shadows - Great exploration of screen space shadows.
  - 📚 Shadow Mapping - Shadow mapping and the techniques used to acheive it.
- Volumetric
  - 🌎 Threex Volumetric Spotlight - Great example of volumetric lighting with Three.js. [Source]

### Network

- 📚 Source Multiplayer Networking - Valve’s Source Engine multiplayer system.

### Particles

- 📚 Particles - Article by LearnOpenGL.
- 📚 Soft Particles - Implementing soft particles in WebGL.

### Physics

- 📚 Fix Your Timestep! 🔥 - How to keep physics stable with variable fps.
- 📚 Game Physics from Scratch - Starting resource for game physics.
- 📚 Intro to Physics - Part I: Intro to Rigid Body Dynamics.
- 📚 Open Source Physics Engines - List of open source physics engines.
- Platformer
  - 📚 2D Physics Games - Using Box2D for water, ropes, gravity, lines, vehicles, etc.
  - 📚 Basic 2D Platformer Physics - How to create a physics system for a platformer.
- Ropes / Chains
  - 📚 Draw SVG rope using JavaScript - SVG path vector rope drawing.
  - 📚 Ropes in Contraption Maker - Implementing the physics of ropes in Contraption Maker.
  - 🌎 Matter.js: Chains - Chains demo using Matter.js. [Source]
- Soft Body
  - 📚 Blob Physics - Using verlet physics to simulate 2D blobs.
  - 🌎 Oryol: Bullet Cloth - Bullet 3D physics cloth using the Oryol game framework. [Source]
  - 🌎 Three.js: Ammo Volume - 3D soft body volumes using Ammo.js and Three.js. [Source]
- Verlet Physics
  - 📚 Making a Verlet Physics Engine - Under the hood of a 2D physics engine in JavaScript.
- Water / Buoyancy
  - 📚 2D Water - Modeling 2D water with springs.

### Rendering

- 📚 GPU Driven Rendering - Calculating rendering on the GPU in compute shaders.
- 📚 Model Batching - Drawing many different models in a single draw call.

### Scripting

- 📚 Adding Languages to Game Engines - Story of adding scripting to a game.
- 📚 Implementing a Scripting Engine - Writting a scripting engine from scratch.
- 📚 Embedded Scripting Languages - Scripting languages and engines available as libraries.
- 📚 List of Embedded Scripting Languages - Scripting languages to use in your app / game.
- 📚 Scriptorium - Game scripting languages benchmarked.

### Shaders

- 📚 3D Game Shaders For Beginners 🔥 - Shaders to improve your games. [Source]
- 📚 Book of Shaders 🔥 - Step-by-step guide through Fragment Shaders. [Source]
- 🎉 CrossShader - Cross-compiling shaders between GLSL, HLSL, Metal, and more. [Online Tool]
- 🌎 Geeks3D Shader Library - Postprocessing, lighting, utlities and many more.
- 📚 Review of Shader Languages - Differences between HLSL, GLSL, MSL, and WGSL.
- 📚 Ronja Tutorials - Tutorials covering many shader techniques.
- 🌎 Shader Park - Shader programming in JavaScript.
- 🌎 SHADERed - Shader IDE, written in C++.
- 🌎 Shadertoy - Build and share shaders online.
- Bloom
  - 📚 LearnOpenGL Tutorial - Techniques used for bloom lighting, presented in OpenGL.
  - 🌎 Three.js: Bloom Example - WebGL bloom postprocessing using Three.js. [Source]
  - 📚 Unity Tutorial - How to add support for a bloom effect.
- Dithering
  - 📚 Dithering on the GPU - Ordered dithering in glsl using 8x8 Bayer Dithering.
- Fire
  - 📚 Fire Shader in GLSL - Fire intro shader using noise textures and masking.
  - 🌎 Simplex 3D Noise - Simplex noise fire simulation shader at ShaderToy.
- Lines
  - 📚 Drawing Lines - Techniques for 2D/3D line rendering.
- Noise
  - 📚 Book of Shaders: Noise - Excellent GLSL noise article by Book of Shaders.
  - 📚 Color Banding - Using noise / dithering to improve drawing gradients.
  - 🎉 Psrdnoise - Tiling simplex flow noise in 2D/3D.
  - 📚 Understanding Perlin Noise - Analysis of Perlin Noise, written in C#. [Source]
  - 🎉 WebGL Noise - Maintained branch of the original Ashima Arts 2D, 3D and 4D noise functions.
- Outlines
  - 🌎 Fast Solid 2D Outline - Drawing an outline on the alpha channel of a 2D image.
  - 📚 Let it glow! - Article with shader code on dynamically adding outlines to characters.
  - 🎉 Outline Shader - Nice outline shader. [Source]
  - 📚 Outlines w/Surface IDs - Technique combining depth, normals and surface IDs. [Source]
  - 📚 Sketchy Outling - Article on producing a sketchy outline look.
- Pixelation
  - 📚 Pixel Art Shaders - Useful GLSL postprocessing shaders for pixel art games.
  - 🌎 Three.js: Pixelation Example - WebGL pixelation postprocessing using Three.js. [Source]
- Postprocessing
  - 📚 Image Editor Effects - WebGL image filters / effects shaders. [Source]
- Upscaling
  - 📚 How do I perform an xBR or hqx filter in XNA? - Upscaling shader code.
  - 📚 hqx - Wikipedia article about the hqx pixel art upscaling algorithm developed by Maxim Stepin.
- Water / Refraction
  - 📚 2D Water Shader - GLSL fragment shader to simulate 2D water surface in libGDX.
- Wireframe
  - 📚 Flat and Wireframe Shading - Flat shading / wireframes using Barycentric Coordinates.

### Signed Distance Fields

- 📚 2D SDFs - Signed distance functions for basic 2D primitives.
- 📚 3D SDFs - Signed distance functions for basic 3D primitives.
- 📚 CSG w/SDFs - Using circular SDFs to build 3D objects with CSG. [Source]
- 📚 Basic 2D SDFs - Basics of rendering 2D shapes with SDFs in shaders.
- 📚 Bezier Strokes - Blog post on rendering bezier strokes with SDFs.
- 📚 Signed Distance Field Resources - Tutorials, papers, software, demos, discussions, etc.
- 🎉 SDF Mesh Generation - Python API to generate 3D meshes with SDFs.

### Tiling

- 📚 Auto-Tile - How to use tile bitmasking to auto-tile your level layouts.
- 📚 List of Eucliden Uniform Tilings - Wikipedia article on uniform tiling, space-filling polygons.
- 📚 Space-Filling Polyhedron - Polyhedra, 3D polygons that fill space. [5 Space-Filling Polyhedra]

### Transparency

- 📚 Depth Peeling - Method for order-independent transparency.
- 📚 Intro to Order-Independent Transparency - Article by LearnOpenGL.
- 📚 Weighted, Blended - Method for order-independent transparency.

## Tools / Software

Software to help with game engine / video game development.

### 2D Game Dev

- 🆓 ShoeBox - Drag & drop tools for sprite sheets, bitmap fonts, texture ripping, tile maps and more.
- 💰 Sprite Illuminator - Create stunning light effects with 2D sprites in your game engine.
- 💰 Texture Packer - Create sprite sheets and optimize your game graphics.
- 🆓 Tiled - General-purpose tile map editor for all tile-based games. [Source]

### AI Assistants

- 💸 Coplay - Multi-agent AI Assistant for all aspects of Unity game developement.
- 💸 Unity Muse - Unity’s suite of AI products.

### Animation Software

- 💸 Cascadeur - 3D animation software for physics-based character animation.
- 🆓 DragonBones - Open source 2D game skeletal animation solution. [Source]
- 💸 Mixamo - Animate 3D characters for games, films and more. By Adobe.
- 💸 Spine - 2D animation for games.

### Audio Tools

- Music
  - 🆓 Ardour - Record, edit, and mix. [Source]
  - 🆓 Audacity - Multi-track audio editor and recorder. [Source]
  - 🆓 Bosca Ceoil - Easy to use tool for creating music.
  - 🆓 Cakewalk - Complete music production package.
  - 🆓 FamiStudio - Music editor targeted at chiptune artists and NES homebrewers. [Source]
  - 💸 fmod - Popular (Hades, Celeste, Untitled Goose Game) audio software for games.
  - 🆓 LMMS 🔥 - Cross-platform music production software. [Source]
  - 🆓 PixiTracker - Quickly create musical sketches, chiptunes and sound experiments.
  - 🆓 Sound Box - Compose synthetic music in your browser, good for small demos. [Source]
  - 🆓 SunVox - Powerful modular synthesizer with pattern-based sequencer (tracker).
  - 🆓 ZzFXM - Music generator for use in tiny JavaScript apps. [Source]
- Sound Effects
  - 🆓 Bfxr - Classic. For making simple sound effects for games. [Source]
  - 🆓 ChipTone - Tool for generating sound effects.
  - 💸 sfxia - Tiny sound generator.
  - 🆓 ZzFX - Tiny JavaScript sound FX system / Zuper Zmall Zound Zynth. [Source]

### Color / Palettes

- 🌎 Colormind - Color scheme generator, can learn color styles from photographs, art, etc.
- 🌎 COLOURlovers - Share colors, palettes and patterns.
- 🌎 Coolors - Fast color palette generator.
- 🌎 Huemint - Uses machine learning to generate colors for graphic design.
- 🌎 Lospec - Database of palettes for pixel art.
- 🌎 Paletton - Explore complementary colors on the color wheel.

### Generative Art

- Imaging
  - 💸 DALL·E - Create realistic images from natural language.
  - 🆓 Disco Diffusion - Notebooks, models and techniques for AI art and animations.[Source]
  - 💸 Midjourney - Image generation accessed through Discord.
  - 💸 Replicate - Run open source models with a cloud API.
  - 💸 Stable Diffusion - Latent text-to-image diffusion model.
- Modeling
  - 📚 Dream Fusion - Text-to-3D using 2D diffusion.
  - 📚 GET3D - Generative model of 3D shapes from images by NVIDIA. [Source]
  - 📚 Magic3D - High-resolution text-to-3D content creation.
  - 📚 NeRF - View synthesis of scenes as neural radiance fields. [Source]
  - 📚 Shap-e - Generate 3D objects conditioned on text or images.
- Sound
  - 🆓 Dittytoy - Create generative music using a simple JavaScript API.
  - 🆓 Sonic Pi - Kind of musical instrument where you code music.

### Image Editors

- 🆓 GIMP - GNU Image Manipulation Program, open source image editor. [Source]
- 🆓 Photopea - Capable online photo editor.

### Level Editors

- 🆓 Radiant - Cross-platform level editor for idTech games. [Source]
- 🆓 TrenchBroom - Level editor for Quake-Engine games. [Source]

### Materials / Textures

- 🆓 ArmorLab - Generate PBR materials by drag & dropping your photos. [Source]
- 💰 Filter Forge - Photo effects, realistic textures, and visual editor.
- 🆓 JSplacement - Cross-platform pseudo-random displacement map generator.
- 🆓 Material Maker - Procedural physically-based rendering material maker. [Source]
- 🆓 Materialize - Tool for creating materials from images to be used in games. [Source]
- 💸 PixPlant - Tool to allow simple creation of tiling 3D materials.
- 🆓 TexaTool - Online tool to generate tileable textures by moving sliders.
- 🆓 Texgen.js - JavaScript texture generator tool. [Source]
- 🆓 TexTools for Blender - UV and texturing tools for Blender. [Source]

### Modeling Tools

- 💰 3DS Max - Classic software for 3D modeling and rendering.
- 🆓 ArmorPaint - Physically-based texture painting, drop in your 3D models and paint. [Source]
- 💰 Asset Forge - Create 3D models and 2D sprites using building blocks.
- 🆓 Blender 🔥 - Standard for open source 3D modeling. [Source]
- 🆓 Meshroom - 3D reconstruction, built with the AliceVision framework. [Source]
- 💸 ZBrush - Simple and easy to use 3D sculpting tool.

### Particle Tools

- 💸 Particle Designer - Powerful particle effects editor designed for macOS.
- 💸 TimelineFX - Create amazing particle effects for your games, apps and webpages.

### Pixel Art

- 💸 Aseprite - Animated sprite editor and pixel art tool. [Source]
- 💰 Ditherdragon - Resample art, sketches and images into pixel-art.
- 💰 Fluid FX - Uses fluid simulation to achieve animations like explosions, blood, smoke, etc.
- 💰 Juice FX - Add style to your sprites and animations with ease.
- 🆓 Piskel - Online editor for animated sprites & pixel art. [Source]
- 💰 PixaTool - Create pixel art by converting your images, sprites or videos.
- 💰 Pixel FX - Create pixel art particle effects and render them to sprite sheets.
- 💰 Smear FX - Make your 2D animations juicy by adding some smearing to them.

### Vector Editors

- 🆓 Inkscape - Cross-platform, open source vector graphics editor. [Source]
- 🆓 Krita - Professional quality, open source painting. [Source]
- 💰 Vec Maker - Easy to use vector design.

### Voxel

- 💰 Ken Shape - Draw in 2D, set the depth for each pixel and generate 3D models!
- 🎉 IsoVoxel - Generates isometric pixel art from MagicaVoxel .vox files.
- 🆓 MagicaVoxel - Lightweight voxel art editor.
- 💰 Qubicle - Popular (Crossy Road, Pacman 256) voxel editor, easy creation of 3D models.

## Video Game Assets

Resources to help bring video games and game engines alive.

### Audio Assets

- Music
  - 🆓 BandLab Sounds - High-quality loops and packs used for music creation.
  - 💸 Bensound - Original music tracks, free with attribution. Perfect for games.
  - 💸 Incompetech - Nice collection of game tracks. Buy or attribution required.
  - 💸 Melody Loops - Nice mix of free and affordable music loops.
  - 💸 Soundimage - Looping music tracks for videogames. Buy or attribution required.
- Sound Effects
  - 🆓 Freesound - Community-based archive of free sound effects.
  - 💸 Free Sound Effects - Large collection of sound effects.
  - 💰 Soundsnap - Subscription-based professional sound effects library.

### Graphic Assets

- 💸 Flaticon - Quality vector icons and stickers.
- 💸 Freepik - Illustrations, photos, icons and presentation templates.
- 🆓 Kenny 🔥 - 2D/3D CC0 1.0 game graphics and other assets.
- 🆓 Open Game Art - Portal for free / public domain game art online.
- 🆓 Top Free Game Assets - Top free game assets listed on itch.io.

### Material Assets

- 🆓 AmbientCG - Public domain materials for physically-based rendering.
- 🆓 Pmndrs Materials - Collection of public domain materials.

### Model Assets

- 🆓 Pmndrs Market - Collection of public domain models.
- 🆓 Poly Pizza - Build something beautiful with thousands of free low poly models.
- 🆓 Quaternius - Collection of CC0 1.0 3D models.
- 📚 Retro3DGraphicsCollection - No attribution, retro (PS1 style) 3D graphics assets.
- 💸 Sketchfab - Huge library of 3D assets.

## Archive

Dead links that have been removed are kept in the Archive.

## Legend

The meaning behind the emoji.

- Open Source Software
  - ⭐ - Public Domain License (CC0, BOLA, WTFPL, Unlicense, etc.)
  - 🎉 - Permissive License (MIT/Expat, BSD, ZLIB/LIBPNG, ISC, Apache, Boost etc.)
  - 🔒 - Copyleft License (CC, GPL, LGPL, MPL, etc.)
  - ❓ - Unknown License
- Asset / Service / Tool
  - 🆓 - Free
  - 💰 - Paid
  - 💸 - Partially Free
- Other
  - 📚 - Article, Blog, Collection, List, Tutorial(s)
  - 🔥 - Hot! Amazing Resource!
  - 🌎 - Website

## Contributing

See Contribution Guide.

gameenginedev.md Github