AwesomeCppGameDev
A curated list of awesome C++ (mainly) things for Game Development. Inspired by awesome-... stuff.
Install / Use
/learn @Caerind/AwesomeCppGameDevREADME
Awesome list of C++ GameDev project
A curated list of awesome C++ (mainly) things for Game Development. Inspired by awesome-... stuff.
~2000 projects listed here!
If you want to add projects here, do a pull request or open an issue!
(Maybe some new categories should be added to sort everything a bit better) (Maybe some repositories could be removed from the list too)
<!-- START -->Index
- C++
- Libraries
- Engines
- Maths
- Graphics
- Multimedia
- Physics
- Networking
- AI
- Scripting
- GameProgramming
- Rust
- Tools
- Awesome
- GameProgrammerPath
- GameDesign
- Website
C++
- rangeless : c++ LINQ -like library of higher-order functions for data manipulation
- variant : C++17
std::variantfor C++11/14/17 - tweeny : A modern C++ tweening library
- arrow : Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for flat and hierarchical data, organized for effic…
- EAMain : EAMain provides a multi-platform entry point used for platforms that don't support console output, return codes and command-line arguments.
- cxx14-graph : A C++ 14 implementation of graph data structures
- lex : C++14 fast and efficient tokenizer
- lager : C++ library for value-oriented design using the unidirectional data-flow architecture (Redux for C++)
- cpp-std-fwd : forward declarations for C++ std headers
- hedley : A C/C++ header to help move #ifdefs out of your code
- scnlib : scanf for modern C++
- pipet : c++ library for building lightweight processing pipeline at compile-time
- scope_guard : Scope Guard & Defer C++
- pdbex : pdbex is a utility for reconstructing structures and unions from the PDB into compilable C headers
- optional-lite : optional lite - A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library
- libinsanity : libc functions (and related) without bugs mandated by standard C or common OSes
- kangaru : A dependency injection container for C++11, C++14 and later
- CppCoreGuidelines : The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
- span-lite : span lite - A C++20-like span for C++98, C++11 and later in a single-file header-only library
- replxx : A readline and libedit replacement that supports UTF-8, syntax highlighting, hints and Windows and is BSD licensed.
- stateful_pointer : Use unused bits in your pointer
- type_erasure_and_dispatch : Code related to ACCU meet up talk.
- modern-cpp-features : A cheatsheet of modern C++ language and library features.
- msgpack11 : A tiny MessagePack library for C++11 (msgpack.org[C++11])
- trackable_ptr : Smart pointer for any movable objects. When trackable object moved/destroyed, trackers updated with new object's pointer.
- reactive : Simple, non intrusive reactive programming library for C++. (Events + Observable Properties + Reactive Properties)
- liberasure : A no-dependencies C++ extensible type erasure library
- any : A simple variant type for C++
- FastDynamicCast : Fast dynamic cast in C++ for MSVC, outperforming the regular dynamic cast by up to 25 times
- 0xABAD1DEA : Static global objects with constructors and destructors made useful in C++
- PubBus : A simple implementation of a MessageBus.
- cppbestpractices : Collaborative Collection of C++ Best Practices
- emscripten : Emscripten: An LLVM-to-Web Compiler
- gcpp : Experimental deferred and unordered destruction library for C++
- patterns : Pattern Matching in C++
- cmcstl2 : An implementation of C++ Extensions for Ranges
- invoke.hpp : std::invoke/std::apply analogs for C++14
- cppbackport : A backport of C++11/14/17 features to earlier versions
- libuv : Cross-platform asynchronous I/O
- uvw : Header-only, event based, tiny and easy to use libuv wrapper in modern C++
- opt : Class template designed to express optionality without having to sacrifice memory to store additional bool flag
- shared_ptr_2.0 :
- undo : C++ library to implement non-linear undo/redo functionality
- Configuru : Experimental config library for C++
- strong_typedef : A class template that creates a new type that is distinct from the underlying type, but convertible to and from it
- dry-comparisons : C++17 Utility classes for comparing multiple values in one simple expression
- determine_c_or_cpp : Determine programatically C from C++ as well as various versions
- optional : C++11/14/17 std::optional with functional-style extensions and reference support
- promise-cpp : C++ promise/A+ library in Javascript style.
- mod : MASTERS of DATA, a course about videogames data processing and optimization
- ring-span-lite : ring-span lite - A C++yy-like ring_span type for C++98, C++11 and later in a single-file header-only library
- outcome : Provides very lightweight outcome<T> and result<T> (non-Boost edition)
- semver : A C++ Library for Dealing with Semantic Versioning
- cpp-cheatsheet : Modern C++ Cheatsheet
- BareMetalLib : A C++ support library for bare-metal programming
- Mastering-Cpp-Game-Development : Code files for Mastering C++ Game Development, published by Packt
- std_function :
- ska_sort :
- strong_type : C++ implementation of strong types
- type_safe : Zero overhead utilities for preventing bugs at compile time
- Bits
- BigInt : BigInt in C++ using bitset
- huge-long-number : This is an implementation of arbitrary range of integers written in C++14
- BigInteger : Be limited not by the size of your register but by the bulk of your RAM.
- bitmask : A generic implementation of the BitmaskType C++ concept
- BigInteger : An Implementation of BigInteger library in C++
- bigint : A lightweight big integer library for c++
- bitwise : Bitwise is an educational project where we create the software/hardware stack for a computer from scratch.
- varint : Variable-length integer encodings.
- mppp : Multiprecision for modern C++
- enum-flags : Bit flags for C++11 scoped enums
- MultiThreading
- marl : A hybrid thread / fiber task scheduler written in C++ 11
- EAThread : EAThread implements a unified cross-platform interface for multithreaded programming.
- arcana.cpp : Arcana.cpp is a collection of helpers and utility code for low overhead, cross platform C++ implementation of task-based asynchrony.
- relacy : Automatically exported from code.google.com/p/relacy
- partr : Parallel Tasks Runtime
- deadlockempire.github.io : The Deadlock Empire: Slay dragons, learn concurrency!
- [MAN](https:
