A curated list of awesome (cpp,go,rust) libraries,frameworks,softwares for game development IMHO
Version 0.1
-
UnrealEngine (cpp)- Unreal Engine source code
-
unity3d (c#) - commercial cross-platform game engine
-
godot (cpp) - 2D and 3D cross-platform game engine
-
cocos2d-x (cpp) - Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.
- Unreal Engine
- Visual Studio 2017,2019 (c++,c#)
- Visual Studio Code (c++,rust,golang)
- CLion (c++,rust)
- Goland (golang)
- Rider ( C# )
- blender - Open source 3D creation. Free to use for any purpose, forever.
- Maya - 3D computer animation, modeling, simulation, and rendering software
- 3DSMax - 3D modeling and rendering software for design visualization, games, and animation
- cinema4d - 3D computer animation, modeling, simulation, and rendering software
- bgfx (cpp) - Cross-platform rendering library
- bgfx-rs (rust) - Rust bindings to bgfx, a cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
- directx - a set of APIs that you can use to create games and other high-performance multimedia applications.
- vulkan - an open standard and cross-platform Application Programming Interface (API) developed by the Khronos® Group.
- metal - a low-level, low-overhead hardware-accelerated 3D graphic and compute shader API created by Apple.
- opengl - The Industry's Foundation for High Performance Graphics
- opengl-es - The Standard for Embedded Accelerated 3D Graphics
- World
- BrushFy - The #1 Environment Toolkit for Unreal Engine 4
- RVT landscape - How to create a terrain in UE4 with RVT Optimized for Open-World
- Voxel Plugin - allows to create fully volumetric, entirely destructible, infinite worlds in Unreal Engine. It is compatible with 4.24, 4.25, 4.26, 4.27 and Unreal 5.
- Foliage
- TrueSky - The ultimate real-time weather renderer, as seen in popular AAA game titles.
- grass
- water
- lighting
- fog
- level streaming
- HLOD
- https://github.com/KhronosGroup/OpenCOLLADA
- https://www.autodesk.com/developer-network/platform-technologies/fbx
- https://www.autodesk.com/developer-network/platform-technologies/maya
- https://developers.maxon.net/?page_id=1118
- https://github.com/assimp/assimp
- https://github.com/acgessler/assimp-cinema4d
- https://github.com/PluginCafe
- c++ stl (cpp)
- intel oneAPI TBB (cpp)
- CopperSpice(cpp) - a set of individual libraries which can be used to develop cross platform software applications in C++.
- abseil (cpp)(vcpkg) - Abseil Common Libraries (C++)
- facebook/folly (cpp)(vcpkg) - An open-source C++ library developed and used at Facebook.
- libcds (cpp) - a collection of concurrent containers that don't require external (manual) synchronization for shared access, and safe memory reclamation (SMR) algorithms like Hazard Pointer and user-space RCU that is used as an epoch-based SMR.
- ?
- ?
- ?
-
google/flatbuffers (cpp)(vcpkg) - FlatBuffers: Memory Efficient Serialization Library
-
simdjson/simdjson (cpp)(vcpkg) - Parsing gigabytes of JSON per second
-
Tencent/rapidjson (cpp)(vcpkg) - A fast JSON parser/generator for C++ with both SAX/DOM style API
-
danielparker/jsoncons (cpp)(vcpkg) - A C++, header-only library for constructing JSON and JSON-like data formats, with JSON Pointer, JSON Patch, JSONPath, CSV, MessagePack, CBOR, BSON, UBJSON
-
fraillt/bitsery (cpp)(vcpkg) - Header only C++ binary serialization library. It is designed around the networking requirements for real-time data delivery, especially for games.
-
msgpack/msgpack-c (cpp)(vcpkg) - MessagePack implementation for C and C++ / msgpack.org[C/C++]
- ?
- NVIDIAGameWorks/Physx-3.4(cpp)(vcpkg) PhysX - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
- google/re2 (cpp)(vcpkg) - RE2 is a fast, safe, thread-friendly alternative to backtracking regular expression engines like those used in PCRE, Perl, and Python. It is a C++ library.
- fmtlib/fmt (cpp)(vcpkg)
- ChaiScript/ChaiScript (cpp)(vcpkg) - Embedded Scripting Language Designed for C++
- python -
- wwise
- fmod
- lewissbaker/cppcoro (cpp)(vcpkg) - A library of C++ coroutine abstractions for the coroutines TS
- cameron314/concurrentqueue (cpp)(vcpkg) - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
- arrayfire/arrayfire (cpp) - a general purpose GPU library.
- https://cpp.libhunt.com/compare-libev-vs-libuv
- libuv/libuv (cpp)(vcpkg) - Cross-platform asynchronous I/O
- skypjack/uvw (cpp)(vcpkg) - Header-only, event based, tiny and easy to use libuv wrapper in modern C++
- scylladb/seastar (cpp) - High performance server-side application framework
- pocoproject/poco (cpp) - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost]
- uNetworking/uWebSockets (cpp)(vcpkg) - Simple, secure & standards compliant web server for the most demanding of applications
- https://www.rabbitmq.com/devtools.html
- amqpcpp (cpp)(vcpkg)
- grpc/grpc (cpp)(vcpkg) - The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
- microsoft/cpprestsdk (cpp)(vcpkg) - The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
- microsoft/mimalloc (cpp)(vcpkg) - A compact general purpose allocator with excellent performance. [MIT]
- facebook/zstd (cpp)(vcpkg) - Zstandard - Fast real-time compression algorithm
- jedisct1/libsodium (cpp)(vcpkg) - A modern, portable, easy to use crypto library
- randombit/botan (cpp)(vcpkg) - Cryptography Toolkit
- awslabs/s2n (cpp) - an implementation of the TLS/SSL protocols
- weidai11/cryptopp (cpp)(vcpkg) - free C++ class library of cryptographic schemes
- catchorg/Catch2 (cpp)(vcpkg) - A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)
- danmar/cppcheck (cpp) - static analysis of C/C++ code
- PlatformLab/NanoLog (cpp) - an extremely performant nanosecond scale logging system for C++ that exposes a simple printf-like API.
- odygrd/quill (cpp)(vcpkg) - Asynchronous Low Latency Logging Library
- gabime/spdlog (cpp)(vcpkg) - Fast C++ logging library.
- Intel VTune
- cpp-taskflow/cpp-taskflow (cpp)(vcpkg) - Modern C++ Parallel Task Programming
- arrayfire/arrayfire (cpp) - ArrayFire: a general purpose GPU library.
- https://godbolt.org/
- https://github.com/microsoft/vcpkg - C++ Library Manager for Windows, Linux, and MacOS
- aws/aws-sdk-cpp (cpp)(vcpkg) - AWS SDK for C++
- BVLC/caffe (cpp)(vcpkg) - Caffe: a fast open framework for deep learning.
- google/libphonenumber (cpp) - Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers.
- dmitigr/pgfe (cpp) - The PostgreSQL client API in modern C++
- https://github.com/redis/hiredis (cpp)(vcpkg)
- postgres/postgres (c) - The World's Most Advanced Open Source Relational Database
- scylladb/scylla (cpp) - NoSQL data store using the seastar framework, compatible with Apache Cassandra
- https://github.com/facebook/rocksdb
- Tencent/phxpaxos - The Paxos library implemented in C++ that has been used in the WeChat production environment.
- godot - (cpp) Godot Engine – Multi-platform 2D and 3D game engine
- amethyst - (rust) amethyst - Data-oriented and data-driven game engine written in Rust
- bevy (rust) - a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!
- piston- (rust) piston - A modular game engine written in Rust
- https://github.com/urho3d/Urho3D (cpp)
- https://github.com/Gamua/Starling-Framework (cpp)
- https://github.com/ivansafrin/Polycode (cpp)
- http://www.heroengine.com/ (cpp)
- https://juce.com/
- https://www.reddit.com/r/cpp/comments/8t0ufu/what_is_a_good_package_manager_for_c/
- conan (cpp)
- buckaroo (cpp)
- hunter (cpp)
- https://bitbucket.org/benman/teaport/src/master/
-
actix/actix (rust) - Actor framework for Rust
-
amethyst/specs (rust) - Specs - Parallel ECS https://specs.amethyst.rs/
-
skypjack/entt (cpp)(vcpkg) - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
-
actor-framework/actor-framework (cpp) - An Open Source Implementation of the Actor Model in C++
-
Stiffstream/sobjectizer (cpp)(vcpkg) - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
- backroll (rust) - pure Rust implementation of GGPO rollback networking library.
-
marzer/tomlplusplus (cpp) - Header-only TOML config file parser and serializer for modern C++.
-
capnproto/capnproto (cpp)(vcpkg) - Cap'n Proto serialization/RPC system - core tools and C++ library
-
USCiLab/cereal (cpp)(vcpkg) - A C++11 library for serialization
-
zeux/pugixml (cpp)(vcpkg)- Light-weight, simple and fast XML parser for C++ with XPath support
-
https://github.com/niXman/yas (cpp)(vcpkg) - Yet Another Serialization is a header only serialization library
-
serde (rust) - a framework for serializing and deserializing Rust data structures efficiently and generically.
-
nom (rust) - a parser combinators library written in Rust
-
andrew-gresylk/HFSM2 (cpp)(vcpkg) - High-Performance Hierarchical Finite State Machine Framework
-
zmij/afsm (cpp)- C++14 Finite State Machine library
-
google/statechart (cpp) - C++ StateChart Library
- https://www.behaviortree.dev/
- https://github.com/BehaviorTree/BehaviorTree.CPP
- https://github.com/arvidsson/BrainTree
- https://github.com/RaftLib/RaftLib
- thrust (cpp) - a parallel algorithms library which resembles the C++ Standard Template Library (STL)
- http://www.realtimerendering.com/
- https://github.com/ssloy/tinyrenderer
- https://github.com/appleseedhq/appleseed
- libigl/libigl (cpp)(vcpkg) - Simple C++ geometry processing library.
- google/mathfu (cpp) - C++ math library developed primarily for games focused on simplicity and efficiency.
- fbx animation - ?
- https://github.com/mosra/magnum
- https://www.mcvuk.com/development-news/12-animation-tools-to-bring-your-game-characters-to-life/
- https://www.popcornfx.com/
- yocto-gl (cpp) - Tiny C++ Libraries for Data-Oriented Physically-based Graphics
- dilligent engine (cpp) - A Modern Cross-Platform Low-Level 3D Graphics Library and Rendering Framework
- libigl/libigl (cpp)(vcpkg) - Simple C++ geometry processing library.
- google/mathfu (cpp) - C++ math library developed primarily for games focused on simplicity and efficiency.
- http://www.gaclib.net/index.html - a GPU accelerated C++ User Interface library.
- https://github.com/vczh-libraries/GacUI
- iced (rust) - A cross-platform GUI library focused on simplicity and type-safety. Inspired by Elm.
- tauri (rust) - a framework for building tiny, blazing fast binaries for all major desktop platforms
- sauron-native (rust) - conquers all platforms ranging from desktop to mobile devices. An attempt to create a truly native, truly cross platform UI for your rust applications.
- fyne-io/fyne (golang) - Cross platform GUI in Go based on Material Design https://fyne.io/
- yew (rust) - a modern Rust framework for creating multi-threaded front-end web apps with WebAssembly.
- Neargye/magic-enum (cpp)(vcpkg)
- Neargye/nameof (cpp)(vcpkg)
- aantron/better-enums (cpp) - C++ compile-time enum to string, iteration, in a single header file
- https://github.com/CoatiSoftware/Sourcetrail
- https://github.com/cplusplus/reflection-ts
- https://github.com/skypjack/meta - Header-only runtime reflection system in C++ ( I finally decided to write a built-in, non-intrusive and macro-free runtime reflection system for my own.)
- https://github.com/billyquith/ponder - C++ reflection library
- https://github.com/rttrorg/rttr - C++ Reflection Library
- https://github.com/naver/reflect - C++ class reflection library without RTTI.
- https://github.com/veselink1/refl-cpp - A modern compile-time reflection library for C++
-
orlp/pdqsort(vcpkg) - Pattern-defeating quicksort.
-
timesort/cpp-TimeSort - A C++ implementation of timsort
-
greg7mdp/sparsepp (cpp) - A fast, memory efficient hash map for C++
-
cameron314/concurrentqueue - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
-
mandliya/algorithms_and_data_structures - 180+ Algorithm & Data Structure Problems using C++
-
xtaci/algorithms - Algorithms & Data structures in C++.
-
xorz57/forest - Template Library of Tree Data Structures in C++17
-
mattreecebentley/plf_list (cpp) - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib]
-
mattreecebentley/plf_stack (cpp)- A C++ data container replicating std::stack functionality but with better performance than standard library containers in a stack context.
-
Tessil/robin-map (cpp)(vcpkg)- C++ implementation of a fast hash map and hash set using robin hood hashing
-
Tessil/robin-hood-hashing (cpp)(vcpkg)- Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
- ReactiveX/RxCpp (cpp)(vcpkg) - Reactive Extensions for C++
- schlangster/cpp.react (cpp) - C++React: A reactive programming library for C++11.
- rayon (rust)- a data-parallelism library for Rust.
- https://github.com/triSYCL/triSYCL
- https://github.com/KhronosGroup/SyclParallelSTL
- https://github.com/illuhad/hipSYCL
-
mandreyel/mio (cpp)(vcpkg) - Cross-platform C++11 header-only library for memory mapped file IO
-
bin_io (rust) - a crate inspired greatly by nom and other parser combinator libraries.
- tokio (rust) - n event-driven, non-blocking I/O platform for writing asynchronous applications with the Rust programming language.
- mio (rust) - a fast, low-level I/O library for Rust focusing on non-blocking APIs and event notification for building high performance I/O apps with as little overhead as possible over the OS abstractions.
- rust-io-file-benchmark (rust) - a short report on the performance metrics obtained processing large files with a small rust/python script.
- http://www.icculus.org/physfs/
- https://github.com/mattiasgustavsson/libs
- https://github.com/yevgeniy-logachev/vfspp
- https://github.com/fgenesis/ttvfs
- https://github.com/msamman2k/appvfs
- boostorg/beast (cpp)(vcpkg) - HTTP and WebSocket built on Boost.Asio in C++11
- chriskohlhoff/asio (cpp)(vcpkg)- Asio C++ Library
- tokio-rs/mio (rust) - Metal IO library for Rust
- chenshuo/muduo - Event-driven network library for multi-threaded Linux server in C++11
- tokio-rs/tokio (rust) - A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ... https://tokio.rs
-
actix/actix-web (rust) - Actix web is a small, pragmatic, and extremely fast rust web framework.
-
ipkn/crow (cpp)(vcpkg)- Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
-
oktal/pistache (cpp)(vcpkg)- Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
-
[sauron)(https://github.com/ivanceras/sauron) (rust) - an web framework for creating fast and interactive client side web application, as well as server-side rendering for back-end web applications.
- drill (rust) - a HTTP load testing application
- laboratory (rust) - A simple, expressive unit test framework
- rstest (rust) - Fixture-based test framework
- loom (rust) - a testing tool for concurrent Rust code.
- proptest (rust) - a property testing framework inspired by the Hypothesis framework for Python
- quickchceck (rust) - a way to do property based testing using randomly generated input.
- afl (rust) - a popular, effective, and modern fuzz testing tool based on AFL.
- tarpaulin (rust) - a code coverage reporting tool for the Cargo build system, named for a waterproof cloth used to cover cargo on a ship
- fake (rust) - A Rust library for generating fake data.
- TrinityCore/TrinityCore - TrinityCore Open Source MMO Framework (master = 8.3.0.34220, 3.3.5 = 3.3.5a.12340)
- ketoo/NoahgameFrame (cpp) - 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.
- whoshuu/cpr (cpp)(vcpkg) - C++ Requests: Curl for People, a spiritual port of Python Requests
- mrtazz/restclient-cpp (cpp)(vcpkg) - C++ client for making HTTP/REST requests
- jpbarrette/curlpp (cpp)(vcpkg) - C++ wrapper around libcURL
- yhirose/cpp-httplib (cpp)(vcpkg)- A C++ header-only HTTP/HTTPS server and client library
- yse/easy_profiler (cpp) - Lightweight profiler library for c++
- ermig1979/Simd (cpp) - C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.
- diesel (rust) - A safe, extensible ORM and Query Builder
- arrow data fusion ( rust )
- https://github.com/zserge/webview (cpp)
- https://github.com/zserge/lorca (go)
- wry (rust) - Cross-platform WebView rendering librarythat supports all major desktop platforms like Windows, macOS, and Linux.
- Tencent/phxpaxos - The Paxos library implemented in C++ that has been used in the WeChat production environment.
- https://github.com/rabbitvm/rabbit
- deno (rust) - a simple, modern and secure runtime for JavaScript and TypeScript that uses V8
- pijul (rust) - why pijul?
- rx (rust) - a modern and minimalist pixel editor
- engine sound (rust) - a GUI Application used to generate purely synthetic engine sounds with advanced options