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.
- Game Engines
- Learning
- Libraries
- Open Source Games
- Specialty Topics
- Tools / Software
- Video Game Assets
- Archive
- Legend
Production ready game engines to tinker with, explore, learn and inspire.
- π CoolEngines - List of open source graphic & game engines.
- π Wikipedia: List of Game Engines - Game engines along with their platforms and licenses.
- π 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]
- π 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.
- π° 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.
- π° 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.
Info on topics necessary for designing and developing game engines.
- 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.
- 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.
- 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.
- π List of Widget Toolkits - Gui frameworks across all platforms and languages.
- π 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.
Language specific game engine development libraries / frameworks / code.
- π 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]
- π 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.
- β 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.
- π 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.
- π 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. [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.
- π 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
- 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.
- π 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.
- π 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
- π 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.
- π 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
- π 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
- π Awesome Lua - Awesome Lua packages and resources.
- Lua: Game Framework
- π 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
- π 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
- 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.
- π 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
- 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]
- π Awesome Kotlin - List of awesome Kotlin related stuff.
- π Kotlin - General-purpose language, interoperates with Java. [GitHub]
- Kotlin: Game Engine w/Editor
- Kotlin: Game Framework
- π 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.
- π 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
- π 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
- π 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
- π 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
- 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.
Successful open source video games to pick apart and gain knowledge.
- π 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.
- π 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]
- π Pixel Dungeon - Traditional roguelike game with pixel-art graphics and simple interface.
Exploring specialty game engine / game development topics and features.
- π 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.
- π Skeletons and Inverse Kinematics - Principles for using skeletons with IK for animation.
- π 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]
- π 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 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]
- 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.
- π Fuzzy Meshes - Simulating fur with cones and gravity. [Source]
- 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.
- π Source Multiplayer Networking - Valve's Source Engine multiplayer system.
- π Particles - Article by LearnOpenGL.
- π Soft Particles - Implementing soft particles in WebGL.
- π 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.
- π GPU Driven Rendering - Calculating rendering on the GPU in compute shaders.
- π Model Batching - Drawing many different models in a single draw call.
- π 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.
- π 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.
- π 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.
- π 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]
- π Depth Peeling - Method for order-independent transparency.
- π Intro to Order-Independent Transparency - Article by LearnOpenGL.
- π Weighted, Blended - Method for order-independent transparency.
Software to help with game engine / video game development.
- π 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]
- πΈ 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.
- 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
- π 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.
- 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
- π GIMP - GNU Image Manipulation Program, open source image editor. [Source]
- π Photopea - Capable online photo editor.
- π Radiant - Cross-platform level editor for idTech games. [Source]
- π TrenchBroom - Level editor for Quake-Engine games. [Source]
- π 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]
- π° 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 Designer - Powerful particle effects editor designed for macOS.
- πΈ TimelineFX - Create amazing particle effects for your games, apps and webpages.
- πΈ 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.
- π Inkscape - Cross-platform, open source vector graphics editor. [Source]
- π Krita - Professional quality, open source painting. [Source]
- π° Vec Maker - Easy to use vector design.
- π° 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.
Resources to help bring video games and game engines alive.
- 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.
- πΈ 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.
- π AmbientCG - Public domain materials for physically-based rendering.
- π Pmndrs Materials - Collection of public domain materials.
- π 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.
Dead links that have been removed are kept in the Archive.
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
See Contribution Guide.