Game Engine Development

repo: stevinz/awesome-game-engine-dev
category: Gaming related: Game Development


Awesome Game Engine Development Awesome

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.

<br />

Contents

<br /> <br />

Game Engines

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

Awesome Collections

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

Specialty

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

<br /> <br />

Learning

Info on topics necessary for designing and developing game engines.

Computer Graphics

Engine Development

Game Development

Graphical User Interface

Programming

<br /> <br />

Libraries

Language specific game engine development libraries / frameworks / code.

BASIC

C

  • 📚 Learn C Programming - Excellent tutorials that will guide you to learn C programming.
  • C: App Framework
    • 🎉 Allegro - Cross-platform library aimed at video game and multimedia apps.
    • 🎉 glfw - Cross-platform API for windowing, graphics contexts, input and events.
    • 🎉 MiniFB - Creates a cross-platform frame buffer for drawing pixels.
    • 🎉 SDL 🔥 - Low-level access to audio, keyboard, mouse, joystick, and graphics hardware.
    • 🎉 Sokol 🔥 - Single-file libraries for graphics, windowing, file handling, audio and more.
  • C: Audio
    • Miniaudio - Single-file audio playback and capture library.
    • 🎉 SDL_mixer - Audio mixer that supports various file formats for SDL.
    • 🎉 SoLoud 🔥 - Free, easy, portable audio engine for games.
  • C: Cross-Platform
  • C: Entity Component System
    • 🎉 Flecs - Fast and lightweight entity component system in C99.
  • C: File Formats
    • 🎉 Assimp - Open Asset Importer Library. Loads 40+ 3D file formats.
    • 🎉 cgltf - Single-file glTF 2.0 loader and writer in C99.
    • dr_libs - Single-file audio decoding libraries.
    • 🎉 Libspng - Simple, modern libpng alternative.
    • 🎉 Miniz - Single-file drop-in replacement for zlib's most used APIs (libpng and libzip).
    • 🎉 OBJ GL Loader v2 - Quite fast wavefront OBJ loader for OpenGL.
    • 🎉 PL_MPEG - Single-file library for decoding MPEG1 Video and MP2 Audio.
    • 🎉 QOI - The “Quite OK Image Format” for fast, lossless image compression.
    • stb_vorbis - Ogg Vorbis audio decoder.
  • C: File System
    • 🎉 HexEmbed - Small utility to help embed files in C/C++ programs in an easy, cross-platform way.
    • Incbin - Include binary and text files in your C/C++ apps with ease.
    • 🎉 PhysicsFS - Portable, flexible file I/O abstraction. Provides access to various archives.
    • Where Am I - Locates the current path on the local file system.
  • C: Fonts
    • 🎉 Font Stash - Lightweight library that uses stb_truetype to render fonts to a texture atlas.
    • 🎉 IconFontCppHeaders - C/C++ headers and C# classes for icon fonts.
    • stb_truetype - Single-header file library that processes TrueType font files.
    • 🎉 Vertext - Generates vertices for rendering text, requires stb_truetype.
  • C: Game Engine w/Editor
    • AVA - Tiny, minimalistic 3D game engine.
    • 🎉 TIC-80 - Virtual computer for making & sharing tiny games. [Website]
  • C: Game Framework
    • 🎉 CGL - Single-header file, lots of graphics & utility functions.
    • 🎉 DOME - Melds SDL2 and the Wren scripting language. [Website]
    • 🎉 Entrypoint - Lightweight entry point for games.
    • FWK - 3D game framework.
    • 🎉 Gunslinger - Header-only C99 framework for multimedia apps.
    • 🎉 RayLib 🔥 - Simple and easy-to-use library to enjoy 2D/3D videogame programming.
  • C: Geometry
    • 🎉 Blob - Single-header implementation of a contour tracing algorithm.
    • 🎉 Marching Squares - Convert images into triangles. [Info]
    • 🎉 Octasphere - Generates triangle meshes for spheres, boxes, and capsules. [Info]
    • 🎉 Par_Shapes - Triangle meshes including solids, spheres and more. [Info]
    • 🎉 Par_Streamlines - Triangulating thick lines, béziers, streamlines. [Demo | Info]
  • C: Graphics - 2D
  • C: Graphics - 3D
  • 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
  • C: Layout
    • 🎉 Clay - High performance 2D UI layout library.
  • C: Libraries
  • C: Lighting
    • Light Mapper - Single-file library for lightmap baking by using your existing OpenGL renderer.
  • C: Math
  • C: Network
    • 🎉 ENet - Simple, lightweight and reliable UDP networking library.
    • 🎉 librg - Middleware between networking / file-streaming libraries and app logic.
    • 🎉 netcode - Secure client/server protocol for multiplayer games built on top of UDP.
  • C: Physics
    • 🎉 Chipmunk - Fast, lightweight 2D game physics library. [Docs]
  • C: Scripting

C++


truncated — full list on GitHub

[[curator]]
I'm the Curator. I can help you navigate, organize, and curate this wiki. What would you like to do?