C++ Gamedev

Open-source C++ projects categorized as Gamedev | Edit details

Top 23 C++ Gamedev Projects

  • GitHub repo Godot

    Godot Engine – Multi-platform 2D and 3D game engine

    Project mention: What do you NOT like about Godot? II | reddit.com/r/godot | 2021-12-03

    I really hope someone looks at #49198 soon before there is an official alpha release. 2D Clipping and Masking is such a vital core 2D feature, and it has been broken ever since it was implemented.

  • GitHub repo imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

    Project mention: C++ dev having trouble finding what ui toolkit to use for pet project | reddit.com/r/linuxmasterrace | 2021-11-30

    ### [IMGUI](https://github.com/ocornut/imgui)

  • Scout APM

    Scout APM: A developer's best friend. Try free for 14-days. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo 3d-game-shaders-for-beginners

    🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

    Project mention: Are there any resources on Post processing effects like Bloom HDR rendering tone mapping etc.. | reddit.com/r/GraphicsProgramming | 2021-11-06
  • GitHub repo bgfx

    Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

    Project mention: BGFX DirectX11 "Failed to create vertex shader" over Windows 10x64, but works fine under Win7x86 with d3d9. | reddit.com/r/GraphicsProgramming | 2021-11-22

    You'll probably have more luck here: https://github.com/bkaradzic/bgfx/discussions

  • GitHub repo pyxel

    A retro game engine for Python

    Project mention: Creative coding with Replit | dev.to | 2021-11-24

    Pyxel is specialised for making retro-type games, inspired by console games from the 80s and early 90s. You can only display 16 colors, and no more than 4 sound samples can be played at once, just like on the earlier Nintendo, Sega, and other classic games systems. If you're into pixel art, this is the game engine for you.

  • GitHub repo entt

    Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

    Project mention: I wrote a simple Go->C++ compiler to use for gameplay programming. Here's a demo of its use for my game project (along with an editor tool). I show the generated C++ in the end of the video. Compiler source code is ~1500 lines, link in video description. Will do a deeper public release soon! | reddit.com/r/golang | 2021-11-25

    Interop: With this compiler I have direct interop to existing C++ libraries and codebases. For example I use EnTT for the entity-component data storage in the game demo here, and I'm able to call to the C++ including Go's generic syntax translating to template calls. That's not as easy with Cgo (and also Cgo adds huge overhead)

  • GitHub repo Game-Networking-Resources

    A Curated List of Game Network Programming Resources

    Project mention: N64 Games Only Allow 1 Controller Online | reddit.com/r/NintendoSwitch | 2021-10-27

    When you play any kind of real-time online multiplayer game, it is physically impossible for all players to have the same view of the world. As a result, approximations have to be made, for example by extrapolating other player positions. There is plenty of research on this subject, and most modern games do a pretty good job. But when you add a second local player, things get a lot more complicated.

  • Nanos

    Run Linux Software Faster and Safer than Linux with Unikernels.

  • GitHub repo o3de

    Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.

    Project mention: Open 3D Foundation announces first major release of Open 3D Engine | news.ycombinator.com | 2021-12-03

    The employment contract point I made calls into question whether or not Amazon understands indie gamedevs, and by extension whether O3DE (as both software and a community) is developed for indie gamedevs.

    The game failures I highlighted call into question whether or not Amazon Game Studios produces high quality software, and by extension whether or not O3DE is likely to be high quality.

    Just look at the contributors to O3DE and search for "AMZN", nearly every contributor is an Amazon employee[0].

    Your argument seems to be that as long as the code is open source, the rest doesn't matter. It does.

    My intent isn't to shit on people's work, but rather to call out that to me this feels far from some "open" initiative like Blender, GIMP, the Linux Kernel, etc. It feels more like how Android is "open source".

    [0] https://github.com/o3de/o3de/graphs/contributors

  • GitHub repo magnum

    Lightweight and modular C++11 graphics middleware for games and data visualization

    Project mention: Unified Shader Programming in C++ | news.ycombinator.com | 2021-10-03
  • GitHub repo NoahGameFrame

    A fast, scalable, distributed game server engine/framework for C++, include the actor library, network library, can be used as a real time multiplayer game engine ( MMO RPG/MOBA ), which support C#/Lua script/ Unity3d, Cocos2dx and plan to support Unreal.

    Project mention: Hi everyone! Please pour one out for the maker of NoahGameFrame, who passed away in a car crash | reddit.com/r/gaming | 2021-07-17

    He was the maker of NoahGameFrame – a game server framework he developed and shared online for free.

  • GitHub repo GDevelop

    :video_game: GDevelop is an open-source, cross-platform game engine designed to be used by everyone.

    Project mention: So how exactly do I learn programming as a whole?? | reddit.com/r/gamedev | 2021-11-05

    If you're still set on Unity, now's the time to open it back up again. If you've decided Unity is too much for right now, here's a much simpler web-based alternative for you: GDevelop. It uses visual scripting (no/low code), works in a browser (or offline if you like), and has some built-in guided tutorials.

  • GitHub repo FlaxEngine

    Flax Engine – multi-platform 3D game engine

    Project mention: Flax Game Engine | news.ycombinator.com | 2021-10-25
  • GitHub repo tracy

    C++ frame profiler

    Project mention: Spawning on an `async_executor::Executor` seems to take unreasonably long | reddit.com/r/rust | 2021-11-26

    The problem is, I've been profiling the code via Tracy (tracy-client for rust binding) and spawning an async block, even if it just returns Ok(()) seems to take around 37us on average (median: 21us, mode: 15 us, standard deviation: 143us). It also sometimes takes way longer, 200us or even 2 milliseconds on occasion! This is of course happening on release mode.

  • GitHub repo Panda3D

    Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

    Project mention: Are there any Python gamedev frameworks with complete beginner tutorials? (for a usual Godot dev) | reddit.com/r/gamedev | 2021-11-27

    It's probably overkill for what you need, but Panda3D is a game engine originally started by Disney that has pretty extensive documentation: https://www.panda3d.org/

  • GitHub repo love

    LÖVE is an awesome 2D game framework for Lua.

    Project mention: Are mainstream text editors really that bad ? | reddit.com/r/linux4noobs | 2021-12-02
  • GitHub repo defold

    Defold is a completely free to use game engine for development of desktop, mobile and web games.

    Project mention: Lua, Nim, and Wren for game development | reddit.com/r/learnprogramming | 2021-10-10

    If you paint by some numbers, the Defold repo (https://github.com/defold/defold) has 1k issues, and only 14 prs open, whereas the Godot repo (https://github.com/godotengine/godot) has 5k+ issues and a whopping 1.1k prs open. And a difference of 1500 contributors on Godot, versus 37 total contributors on Defold.

  • GitHub repo RuntimeCompiledCPlusPlus

    Change C++ code at runtime

    Project mention: Reloadr – Hot code reloading tool for Python | news.ycombinator.com | 2021-02-05

    There is https://github.com/RuntimeCompiledCPlusPlus/RuntimeCompiledC...

    The idea is to use virtual functions, and recompile new classes into a shared library. The shared lib is linked into the running program, and old instances of the classes are deleted and replaced by new instances constructed from the share library.

    I am working on a library using the same (stolen) idea here:


    Proof of concept demo:


    hscpp is still very alpha, and I’m sure I’ll find lots of bugs as I work on a “real” demo. In contrast, Runtime Compiled C++ is quite mature and is used in real game projects.

    Note that this approach very much limits your architecture. For example, you won’t be able to use statics, as the newly compiled shared libraries won’t see them.

    It’s a finicky thing, worth it to me, but not something you can just plop in to an established project.

  • GitHub repo enkiTS

    A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.

    Project mention: Reading voxel data from save files or generating voxel data should take place on... | reddit.com/r/VoxelGameDev | 2021-10-06

    Rather than a new background thread I would use a task/job system such as my own open source enki Task Scheduler (enkiTS).

  • GitHub repo cr

    cr.h: A Simple C Hot Reload Header-only Library

    Project mention: Cr.h: A Simple C Hot Reload Header-Only Library | news.ycombinator.com | 2021-11-04
  • GitHub repo imnodes

    A small, dependency-free node editor for dear imgui

    Project mention: How to build a drag and drop schematic app | reddit.com/r/learnpython | 2021-01-18

    Node editor examples https://github.com/Nelarius/imnodes https://github.com/paceholder/nodeeditor

  • GitHub repo imgui_markdown

    Markdown for Dear ImGui

    Project mention: CPU Path Traced Rendering in Avoyd (now released) | reddit.com/r/VoxelGameDev | 2021-07-08

    Results from low ray-count path tracing can be fairly noisy, especially with reflections and emissive materials, so I'm using Intel Open Image Denoise. The download for this at 45Mb is over 5x larger than our Avoyd installer, so we don't distribute it but instead link to it as a plugin the user can install. Adding documentation for this was fairly easy using our open sourced imgui_markdown.h.

  • GitHub repo ezEngine

    An open source game engine in active development

    Project mention: Making UI for an engine | reddit.com/r/gameenginedevs | 2021-09-10

    We use Dear ImGui for debug stuff etc. in ezEngine (on GitHub: https://github.com/ezengine/ezengine) and have a RmlUI (https://github.com/mikke89/RmlUi) Plugin for the more game style UI use cases. RmlUI gives you something HTML like without integrating a full browser engine into your game engine :)

  • GitHub repo nCine

    A cross-platform 2D game engine

    Project mention: How are game engines made? | reddit.com/r/gamedev | 2021-11-25

    I have been coding mine for many years now. Fortunately it is still small enough that can be easily understood by one person. Have a look here: https://ncine.github.io/

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-12-03.

C++ Gamedev related posts


What are some of the best open-source Gamedev projects in C++? This list will help you:

Project Stars
1 Godot 44,219
2 imgui 33,270
3 3d-game-shaders-for-beginners 11,579
4 bgfx 10,187
5 pyxel 8,890
6 entt 5,961
7 Game-Networking-Resources 4,152
8 o3de 3,735
9 magnum 3,717
10 NoahGameFrame 3,250
11 GDevelop 3,166
12 FlaxEngine 3,105
13 tracy 3,061
14 Panda3D 3,006
15 love 1,961
16 defold 1,920
17 RuntimeCompiledCPlusPlus 1,835
18 enkiTS 1,203
19 cr 978
20 imnodes 873
21 imgui_markdown 694
22 ezEngine 586
23 nCine 569
Find remote jobs at our new job board 99remotejobs.com. There are 33 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives