Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 C++ Gamedev Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
Cocos2d
Cocos2d-x is a suite of open-source, cross-platform, game-development tools utilized by millions of developers across the globe. Its core has evolved to serve as the foundation for Cocos Creator 1.x & 2.x.
-
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.
-
bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
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.
-
cocos-engine
Cocos simplifies game creation and distribution with Cocos Creator, a free, open-source, cross-platform game engine. Empowering millions of developers to create high-performance, engaging 2D/3D games and instant web entertainment.
-
Panda3D
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
-
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.
-
defold
Defold is a completely free to use game engine for development of desktop, mobile and web games.
-
GodotSteam
An open-source and fully functional Steamworks SDK / API module and plug-in for the Godot Game Engine.
-
enkiTS
A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Here's an example file tree from a part of the Godot game engine source code.
include(cmake/CPM.cmake) function(raylib_imgui_setup_dependencies) message(STATUS "Include Dear ImGui") FetchContent_Declare( ImGui GIT_REPOSITORY https://github.com/ocornut/imgui GIT_TAG 277ae93c41314ba5f4c7444f37c4319cdf07e8cf) # v1.90.4 FetchContent_MakeAvailable(ImGui) FetchContent_GetProperties(ImGui SOURCE_DIR IMGUI_DIR) add_library( imgui STATIC ${imgui_SOURCE_DIR}/imgui.cpp ${imgui_SOURCE_DIR}/imgui_draw.cpp ${imgui_SOURCE_DIR}/imgui_widgets.cpp ${imgui_SOURCE_DIR}/imgui_tables.cpp) target_include_directories(imgui INTERFACE ${imgui_SOURCE_DIR}) include(cmake/CPM.cmake) message(STATUS "Include dbg-macro") cpmaddpackage( "gh:sharkdp/dbg-macro#fb9976f410f8b29105818b20278cd0be0e853fe8" )# v0.5.1 message(STATUS "Include fmtlib") cpmaddpackage("gh:fmtlib/fmt#e69e5f977d458f2650bb346dadf2ad30c5320281" )# 10.x message(STATUS "Include raylib") cpmaddpackage("gh:raysan5/raylib#ae50bfa2cc569c0f8d5bc4315d39db64005b1b0" )# v5.0 message(STATUS "Include spdlog") cpmaddpackage("gh:gabime/spdlog#7c02e204c92545f869e2f04edaab1f19fe8b19fd" )# v1.13.0 message(STATUS "Include rlImGui") FetchContent_Declare( rlImGui GIT_REPOSITORY https://github.com/raylib-extras/rlImGui GIT_TAG d765c1ef3d37cf939f88aaa272a59a2713d654c9) FetchContent_MakeAvailable(rlImGui) FetchContent_GetProperties(rlImGui SOURCE_DIR RLIMGUI_DIR) add_library(rlimgui STATIC ${rlimgui_SOURCE_DIR}/rlImgui.cpp) target_link_libraries(rlimgui PRIVATE imgui raylib) target_include_directories(rlimgui INTERFACE ${rlimgui_SOURCE_DIR}) endfunction()
This is a great series if you’re looking for a tutorial. https://lettier.github.io/3d-game-shaders-for-beginners/inde...
Project mention: WebKit Switching to Skia for 2D Graphics Rendering | news.ycombinator.com | 2024-02-20
Project mention: Using Jolt with flecs & Dear ImGui: Game Physics Introspection | dev.to | 2024-04-17EnTT is a popular alternative to flecs for C++, which has different performance/memory characteristics.
Project mention: Tracy: Real-time nanosecond resolution frame profiler | news.ycombinator.com | 2024-03-22
Project mention: Amazon Lays Off 180 Employees in Its Games Division | news.ycombinator.com | 2023-11-13
Project mention: RE: If you had to pick a library from another language (Rust, JS, etc.) that isn’t currently available in Python and have it instantly converted into Python for you to use, what would it be? | /r/Python | 2023-04-20RecastNavigation
Project mention: Risking my life for an entire solar system of lentils | /r/Frugal_Jerk | 2023-12-11
Project mention: Ask HN: Yo wants to build a game, I'm lost. What can I do? | news.ycombinator.com | 2024-01-17I've built a few games with my son over the years. The fun part for us was all about fast iteration, and then laughing at the bugs together.
There are some other recommendations here for how to approach 3d, and he is specifically asking for 3d -- but I want to put in one more pitch for 2d: the fun-to-tedium ratio can be much higher.
I wonder if you could spend some time prototyping some of his ideas in LÖVE https://love2d.org/ -- if you show him the smallest sketch of something working, he might have an idea about what to add next.
Many years ago, on a flight, we went from 0 to game before we landed (with no experience).
Panda3D (MIT/C++) https://github.com/panda3d/panda3d
Looks more like https://github.com/thedmd/imgui-node-editor/ to me - both are great libraries though.
Project mention: Need emergency help with GodotSteam! pls upvote for visibility | /r/godot | 2023-12-11Here I'm already trying to use dll and template from windows prebuild win64-g353-s158-gs3221.zip from https://github.com/CoaguCo-Industries/GodotSteam/releases, same results
What ImGui library did you use to create the node graph? https://github.com/Nelarius/imnodes?
If you're open to using a task scheduler library, and want something lighter weight than the alternatives, my permissively licensed C and C++ Task Scheduler for creating parallel programs enkiTS would be a good fit for this.
Some other Rust game engines ship with their own physics engine. Fyrox, for example, has advanced 2D/3D physics, supporting rigid bodies, joints, ray casting and more. Godot too, which has community-led Rust bindings also has an in-built physics engine as well as a Godot-native extension using the Jolt physics engine. In fact, which is reported to be more performant than the official physics engine.
C++ Gamedev related posts
- Using raylib with Dear ImGui: Game Dev Debugging UI
- Open-Source OpenGL/SDL2 Reimplementation of Sid Meier's Alpha Centauri
- Show HN: Detonator2D a 2D game engine and editor
- Tracy: Real-time nanosecond resolution frame profiler
- Ask HN: Fastest cross-platform GUI stack/strategy
- Google/orbit – C/C++ Performance Profiler
- Show HN: A variant of Conway's Game of Life in color you can run on your phone
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Apr 2024
Index
What are some of the best open-source Gamedev projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Godot | 82,940 |
2 | imgui | 55,570 |
3 | Cocos2d | 17,878 |
4 | 3d-game-shaders-for-beginners | 16,993 |
5 | bgfx | 14,292 |
6 | entt | 9,428 |
7 | tracy | 7,762 |
8 | o3de | 7,337 |
9 | Recast/Detour | 6,188 |
10 | endless-sky | 5,344 |
11 | cocos-engine | 5,277 |
12 | magnum | 4,645 |
13 | love | 4,317 |
14 | Panda3D | 4,260 |
15 | NoahGameFrame | 3,879 |
16 | defold | 3,671 |
17 | imgui-node-editor | 3,338 |
18 | GodotSteam | 2,313 |
19 | RuntimeCompiledCPlusPlus | 2,105 |
20 | crown | 2,014 |
21 | imnodes | 1,852 |
22 | enkiTS | 1,618 |
23 | godot-jolt | 1,604 |