C++ Game development

Open-source C++ projects categorized as Game development

Top 23 C++ Game development Projects

  • Godot

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

  • Project mention: Ask HN: Modern Day Equivalent to HyperCard? | news.ycombinator.com | 2024-05-01
  • imgui

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

  • Project mention: Using raylib with Dear ImGui: Game Dev Debugging UI | dev.to | 2024-04-06

    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()

  • 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.

    InfluxDB logo
  • 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.

  • Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11
  • 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: The Book of Shaders | news.ycombinator.com | 2024-01-09

    This is a great series if you’re looking for a tutorial. https://lettier.github.io/3d-game-shaders-for-beginners/inde...

  • Bullet

    Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.

  • Project mention: Blaze: A High Performance C++ Math library | news.ycombinator.com | 2024-04-17

    For typical game physics engines... not that much. Math libraries like Eigen or Blaze use lots of template metaprogramming techniques under the hood that can help when you're doing large batched matrix multiplications (since it can remove temporary allocations at compile-time and can also fuse operations efficiently, as well as applying various SIMD optimizations), but it doesn't really help when you need lots of small operations (with mat3 / mat4 / vec3 / quat / etc.). Typical game physics engines tend to use iterative algorithms for their solvers (Gauss-Seidel, PBD, etc...) instead of batched "matrix"-oriented ones, so you'll get less benefits out of Eigen / Blaze compared to what you typically see in deep learning / scientific computing workloads.

    The codebases I've seen in many game physics engines seem to all roll their own math libraries for these stuff, or even just use SIMD (SSE / AVX) intrinsics directly. Examples: PhysX (https://github.com/NVIDIA-Omniverse/PhysX), Box2D (https://github.com/erincatto/box2d), Bullet (https://github.com/bulletphysics/bullet3)...

  • tiled

    Flexible level editor

  • Project mention: How to build your interactive resume in 4 simple and 2 easy steps | dev.to | 2024-04-02

    When you decide on the high-level design of the resume, start building your map in Tiled. You can customise the map from the basic game you already have or build your one from scratch - just try and see what works best for you.

  • assimp

    The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure.

  • Project mention: The Asset-Importer-Lib Minor Release Version 5.3.0 is out | /r/GraphicsProgramming | 2023-09-26
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • entt

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

  • Project mention: Using Jolt with flecs & Dear ImGui: Game Physics Introspection | dev.to | 2024-04-17

    EnTT is a popular alternative to flecs for C++, which has different performance/memory characteristics.

  • GameNetworkingSockets

    Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.

  • Project mention: How are game servers financed | /r/gamedev | 2023-12-06

    Steam does have a NAT traversal/punchthrough service too. It's apparently usable without Steam according to their README on https://github.com/ValveSoftware/GameNetworkingSockets but honestly the only easy to use implementation I know is in Facepunch.Steamworks which requires a SteamID to initialize

  • 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: Amazon Lays Off 180 Employees in Its Games Division | news.ycombinator.com | 2023-11-13
  • Recast/Detour

    Industry-standard navigation-mesh toolset for games

  • JoltPhysics

    A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications.

  • Project mention: Simulation Islands | news.ycombinator.com | 2023-10-10
  • Piccolo

    Piccolo (formerly Pilot) – mini game engine for games104

  • endless-sky

    Space exploration, trading, and combat game.

  • Project mention: Risking my life for an entire solar system of lentils | /r/Frugal_Jerk | 2023-12-11
  • 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.

  • Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11
  • love

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

  • Project mention: Ask HN: Yo wants to build a game, I'm lost. What can I do? | news.ycombinator.com | 2024-01-17

    I'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

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

  • Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11

    Panda3D (MIT/C++) https://github.com/panda3d/panda3d

  • SHADERed

    Lightweight, cross-platform & full-featured shader IDE

  • Project mention: Confused in terms of where to start with framework/technology etc. Need help picking between learning ShaderToy v/s OpenGL v/s WebGL | /r/GraphicsProgramming | 2023-06-20

    If you specifically want to learn shader programming then https://shadered.org/ is a lot more practical than Shadertoy.

  • 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.

  • Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11
  • imgui-node-editor

    Node Editor built using Dear ImGui

  • Project mention: Visual Node Graph with ImGui | news.ycombinator.com | 2023-09-29

    Looks more like https://github.com/thedmd/imgui-node-editor/ to me - both are great libraries though.

  • lumixengine

    3D C++ Game Engine - yet another open source game engine

  • ActionRoguelike

    Third-person Action Roguelike made in Unreal Engine C++. Project for Unreal Engine C++ Course & Stanford University

  • Project mention: So You've Decided to Move from Unity to Unreal Engine | news.ycombinator.com | 2023-09-14

    A course that finally made Unreal "click" for me, after years of toying with it, was Tom Looman's 'Professional Game Development in C++ and Unreal Engine' course. The source for what you build (with the chapters available in the git history) is here. [1] It was based on a class he taught and so also includes homework, which I found infinitely more valuable than just following along in a 'Here's how to [x].' type lesson.

    [1] - https://github.com/tomlooman/ActionRoguelike

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
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).

C++ Game development related posts

  • Lessons from Open-Source Game Projects

    76 projects | dev.to | 10 Apr 2024
  • Open-Source OpenGL/SDL2 Reimplementation of Sid Meier's Alpha Centauri

    1 project | news.ycombinator.com | 5 Apr 2024
  • Show HN: Detonator2D a 2D game engine and editor

    1 project | news.ycombinator.com | 4 Apr 2024
  • Show HN: Header only C++23 library for gamedev (back end agnostic)

    2 projects | news.ycombinator.com | 18 Jan 2024
  • Show HN: A variant of Conway's Game of Life in color you can run on your phone

    1 project | news.ycombinator.com | 13 Jan 2024
  • The Book of Shaders

    1 project | news.ycombinator.com | 9 Jan 2024
  • Can we make games using react native? Im new to this and I just made some to do, and video player apps. So I'm just curious so I can make iOS and playstore apps.

    2 projects | /r/reactnative | 9 Dec 2023
  • A note from our sponsor - SaaSHub
    www.saashub.com | 3 May 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Index

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

Project Stars
1 Godot 83,900
2 imgui 55,870
3 Cocos2d 17,900
4 3d-game-shaders-for-beginners 17,063
5 Bullet 11,907
6 tiled 10,631
7 assimp 10,283
8 entt 9,469
9 GameNetworkingSockets 7,830
10 o3de 7,367
11 Recast/Detour 6,222
12 JoltPhysics 5,595
13 Piccolo 5,530
14 endless-sky 5,374
15 cocos-engine 5,306
16 love 4,378
17 Panda3D 4,270
18 SHADERed 4,188
19 NoahGameFrame 3,879
20 defold 3,710
21 imgui-node-editor 3,356
22 lumixengine 3,343
23 ActionRoguelike 3,207

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com