SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C++ Game development Projects
-
Project mention: Error: Timer was not added to the SceneTree. Either add it or set autostart to true. I have no timer in any scene. | /r/godot | 2023-11-29
Editing project: /home/noone/ABitTest2 Godot Engine v4.2.rc2.official.1ba920fad - https://godotengine.org /lib/x86_64-linux-gnu/libxkbcommon.so.0: undefined symbol: xkb_utf32_to_keysym /lib/x86_64-linux-gnu/libxkbcommon.so.0: undefined symbol: xkb_keymap_key_get_mods_for_level Vulkan API 1.1.182 - Forward+ - Using Vulkan Device #0: Unknown - llvmpipe (LLVM 12.0.0, 256 bits) WARNING: lavapipe is not a conformant vulkan implementation, testing use only. noone@noone-System-Product-Name:~/Godot4_0$ ERROR: Timer was not added to the SceneTree. Either add it or set autostart to true. at: start (scene/main/timer.cpp:109)
-
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.
-
Onboard AI
Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.
-
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.
-
Bullet
Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
I suspect most C++ physics libraries like Box2D (https://github.com/erincatto/box2d) or Bullet3 (https://github.com/bulletphysics/bullet3) could really benefit a lot from SIMD.
-
A more sophisticated approach may be to use something like Tiled (https://www.mapeditor.org), but it typically takes a lot of code to to parse a Tiled map, so I wouldn’t start there. The exact needs of your game will dictate the approaches you use. Starting simple means you can make good, visible progress getting your game to work. And I’m sure that plenty of real games have shipped where the levels are just text files.
-
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 -
Project mention: Focus: A simple and fast text editor written in Jai | news.ycombinator.com | 2023-09-02
https://pastebin.com/VPypiitk This is a very small experiment i did to learn the metaprogramming features. its an ECS library using the same model as entt (https://github.com/skypjack/entt). In 200 lines or so it does the equivalent of a few thousand lines of template heavy Cpp while compiling instantly and generating good debug code.
Some walkthrough:
Line 8 declares a SparseSet type as a fairly typical template. its just a struct with arrays of type T inside. Next lines implement getters/setters for this data structure
Line 46 Base_Registry things get interesting. This is a struct that holds a bunch of SparseSet of different types, and providers getters/setters for them by type. It uses code generation to do this. The initial #insert at the start of the class injects codegen that creates structure members from the type list the struct gets on its declaration. Note also how type-lists are a native structure in the lang, no need for variadics.
Line 99 i decide to do variadic style tail templates anyway for fun. I implement a function that takes a typelist and returns the tail, and the struct is created through recursion as one would do in cpp. Getters and setters for the View struct are also implemented through recursion
Line 143 has the for expansion. This is how you overload the for loop functionality to create custom iterators.
The rest of the code is just some basic test code that runs the thing.
-
InfluxDB
Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.
-
GameNetworkingSockets
Reliable & unreliable messages over UDP. Robust message fragmentation & reassembly. P2P networking / NAT traversal. Encryption.
Halo was mostly all about single player and early multiplayer/local multiplayer but their online netcode has sucked since Blood Gulch. Lots of games do networking horribly, I have been in gamedev making networking and I hate most of what people do. The ones that have a clean natting, based on enet style reliable UDP channels, RakNet style punch are better (RakNet was good until Facebook bought it). It has come a long way but also fallen back. Valve source netcode (on github) is probably the best and you can check it out here. They started with the best in Quake networking, then to Source.
-
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 -
-
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.
-
JoltPhysics
A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications.
-
Project mention: Naev – open-source game about space exploration, trade and combat | news.ycombinator.com | 2023-11-25
Sounds very similar to Endless Sky[1] - another open source game drawing on the old Escape Velocity games. I really enjoyed both Endless Sky and the Escape Velocity games, so I'll have to check out Naev at some point!
-
Panda3D
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
Panda3D (MIT/C++) https://github.com/panda3d/panda3d
-
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.
-
Love2d (MIT/C++/Lua) https://github.com/love2d/love
-
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.
-
I recently fell in love with node-based editors so I'm working on several plugins for my game engine https://github.com/nem0/LumixEngine, e.g. node-based procedural geometry plugin, node-based image editor, visual scripting or node-based level generator. I am also thinking about using WASM as runtime for the visual script, which also means easier support for scripting in other languages which can compile to WASM.
-
Looks more like https://github.com/thedmd/imgui-node-editor/ to me - both are great libraries though.
-
-
Atomic Game Engine
The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++ Game development related posts
- Show HN: Play Heroes of Might and Magic II demo from 1996 in the browser
- Amazon Lays Off 180 Employees in Its Games Division
- Not only Unity...
- 3D desktop Game Engine scriptable in Python
- UE5 - Implemented Multiplayer to Cropout RTS
- War Thunder game engine released under BSD license
- O3DE FOSS 3D Engine
-
A note from our sponsor - #<SponsorshipServiceOld:0x00007f0f9b919680>
www.saashub.com | 3 Dec 2023
Index
What are some of the best open-source Game development projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Godot | 78,113 |
2 | Cocos2d | 17,608 |
3 | 3d-game-shaders-for-beginners | 16,351 |
4 | Bullet | 11,341 |
5 | tiled | 10,228 |
6 | assimp | 9,749 |
7 | entt | 8,950 |
8 | GameNetworkingSockets | 7,544 |
9 | o3de | 7,015 |
10 | Recast/Detour | 5,905 |
11 | Piccolo | 5,200 |
12 | cocos-engine | 4,840 |
13 | JoltPhysics | 4,651 |
14 | endless-sky | 4,637 |
15 | Panda3D | 4,103 |
16 | SHADERed | 3,986 |
17 | love | 3,858 |
18 | NoahGameFrame | 3,838 |
19 | defold | 3,333 |
20 | lumixengine | 3,244 |
21 | imgui-node-editor | 3,080 |
22 | EpicSurvivalGame | 3,047 |
23 | Atomic Game Engine | 3,027 |