awesome-game-engine-dev
awesome-game-engine-dev copied to clipboard
Awesome list of resources for Game Engine Development.
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
- 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.
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.
- π 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 - Topics including graphics, physics, AI, I/O and template programming.
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
- π Basics Page - Comprehensive list of BASIC languages.
- 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
- 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.
- π msdf-c - Multi-channel signed distance field generator.
- β 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
- 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
- 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
- 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
- C++: Fonts
- 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.
- π 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. [Editor Info]
- π 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.
- π Toolkit - Simple 2D/3D game and app develepment kit.
- π 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.
- π 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. [Scene Editor Info].
- π 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
- 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
- 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. [Gui Editor | 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.
- π 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
- Dart: File Formats
- π image - Library for decoding / encoding image formats and image processing.
- Dart: Game Framework
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
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
- Haxe: Cross-Platform
- π HashLink - Virtual machine for Haxe.
- Haxe: Entity Component System
- 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
- Haxe: Gui
- Haxe: Libraries
- 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
- 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
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
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]
- π 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
- 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. [Website]
- π 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.
- π 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.
- π 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]
- π 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.
- π 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: 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
- 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
- JavaScript: Video
- 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
- Kotlin: 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
- 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
- Python: Game Framework
- Python: Gui
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
Rust
- π Awesome Rust - Curated list of Rust code and resources.
- π Rust - Empowering everyone to build quality software. [Docs | GitHub]
- Rust: App Framework
- Rust: Audio
- π Kira - Create expressive audio for games.
- Rust: Game Engine w/Editor
- Rust: Game Framework
- Rust: Graphics - 3D
- Rust: Gui
- Rust: Physics
Zig
- π Awesome Zig - Curated list of Zig code and resources.
- π Zig - General-purpose language and toolchain. [Docs | GitHub]
- π Zig Learn - Excellent Zig language resource.
- π 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
- 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. [Website]
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]
- π Volumetric Light Approximation - Volumetric light approximation (godrays) with Three.js.
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.
- π Ledge Grabbing - Tutorial on ledge grabbing in 2D platformer physics.
- 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.
- Displacement
- π Basic GLSL Displacement Shader - Basic vertex displacement shader using Three.js.
- 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]
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
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
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 Core - 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.
- πΈ Royalty Free Music Clips - Huge collection of free and paid royalty free music tracks.
- πΈ 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.
