Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-code-for-gamedev
A curated list of awesome (cpp,go,rust,c#) libraries,frameworks,softwares for game development IMHO
https://github.com/wdshin/awesome-code-for-gamedev
Last synced: about 17 hours ago
JSON representation
-
Game Engines and Frameworks
-
- unity3d - commercial cross-platform game engine
- godot - 2D and 3D cross-platform game engine
- UnrealEngine - Unreal Engine source code
- cocos2d-x - Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.
-
UI Test Automation Scripting
- amethyst - (rust) amethyst - Data-oriented and data-driven game engine written in Rust
- bevy - 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
- godot - (cpp) Godot Engine – Multi-platform 2D and 3D game engine
-
-
Package Manager
-
Computer Graphics
-
3D Creation Tools
- 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
- blender - Open source 3D creation. Free to use for any purpose, forever.
-
Vendor Graphics API/SDK
- directx - a set of APIs that you can use to create games and other high-performance multimedia applications.
- 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
- nvidia-sdk
- vulkan - an open standard and cross-platform Application Programming Interface (API) developed by the Khronos® Group.
-
Landscape, World
- BrushFy - [The #1 Environment Toolkit for Unreal Engine 4](https://youtu.be/pH0Sq58ZpSo)
- RVT landscape - [How to create a terrain in UE4 with RVT Optimized for Open-World](https://youtu.be/KazQVWYwKAI)
- 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.](https://youtu.be/hqhHRdcakv4)
- SpeedTree - [an Award-winning 3D Procedural vegetation middleware product with fine-tuned art controls. Includes Modeler, Compiler, Tree Library and full-source SDK.](https://youtu.be/O3tu926ykvM)
- TrueSky - [The ultimate real-time weather renderer, as seen in popular AAA game titles.](https://youtu.be/rYSM40OaP20)
- RVT landscape - [How to create a terrain in UE4 with RVT Optimized for Open-World](https://youtu.be/KazQVWYwKAI)
- Voxel Plugin source
- RVT landscape - [How to create a terrain in UE4 with RVT Optimized for Open-World](https://youtu.be/KazQVWYwKAI)
-
3D Rendering Library
-
Triangles , Geometry , Maths , Physics
- libigl/libigl - Simple C++ geometry processing library.
- google/mathfu - C++ math library developed primarily for games focused on simplicity and efficiency.
-
Graphics Asset Import
- fbx animation - ?
-
Graphics Rendering Libraries/Frameworks
- yocto-gl - Tiny C++ Libraries for Data-Oriented Physically-based Graphics
- dilligent engine - A Modern Cross-Platform Low-Level 3D Graphics Library and Rendering Framework
-
-
Unreal Engine Features
-
Landscape, World
-
2D Creation,Editing Tools
-
-
C++ Coding Facilities
-
?
-
-
C++ Foundation Libraries
-
C++ Data Structures and Algorithms
- CopperSpice - a set of individual libraries which can be used to develop cross platform software applications in C++.
- intel oneAPI TBB
- abseil - Abseil Common Libraries (C++)
- facebook/folly - An open-source C++ library developed and used at Facebook.
- libcds - 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.
- c++ stl
-
-
Scripting
-
UI Test Automation Scripting
-
Logic Scripts
- ChaiScript/ChaiScript - Embedded Scripting Language Designed for C++
-
-
Coding
-
C++ Data Structures and Algorithms
- xorz57/forest - Template Library of Tree Data Structures in C++17
- cameron314/concurrentqueue - A fast multi-producer, multi-consumer lock-free concurrent queue for C++11
- orlp/pdqsort - Pattern-defeating quicksort.
- timesort/cpp-TimeSort - A C++ implementation of timsort
- greg7mdp/sparsepp - A fast, memory efficient hash map for C++
- mandliya/algorithms_and_data_structures - 180+ Algorithm & Data Structure Problems using C++
- xtaci/algorithms - Algorithms & Data structures in C++.
- mattreecebentley/plf_list - A std::list implementation which removes range splicing in order to enable cache-friendlier structure, yielding significant performance gains. [zLib]
- mattreecebentley/plf_stack - A C++ data container replicating std::stack functionality but with better performance than standard library containers in a stack context.
- Tessil/robin-map - C++ implementation of a fast hash map and hash set using robin hood hashing
- Tessil/robin-hood-hashing - Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20
-
c++
- Neargye/magic-enum
- Neargye/nameof
- aantron/better-enums - C++ compile-time enum to string, iteration, in a single header file
-
Reactive
- ReactiveX/RxCpp - Reactive Extensions for C++
- schlangster/cpp.react - C++React: A reactive programming library for C++11.
-
-
Testing
-
Unit Tests
- laboratory - A simple, expressive unit test framework
- rstest - Fixture-based test framework
-
Property Testing
- proptest - a property testing framework inspired by the Hypothesis framework for Python
- quickchceck - a way to do property based testing using randomly generated input.
-
Coverage Testing
- tarpaulin - a code coverage reporting tool for the Cargo build system, named for a waterproof cloth used to cover cargo on a ship
-
Load Testing
- drill - a HTTP load testing application
-
Concurrent
- loom - a testing tool for concurrent Rust code.
-
Fuzz Testing
- afl - a popular, effective, and modern fuzz testing tool based on AFL.
-
fake data
- fake - A Rust library for generating fake data.
-
-
Source Control
-
ORM
- pijul - [why pijul?](https://pijul.com/manual/why_pijul.html)
-
-
Graphic Editor
-
ORM
- rx - a modern and minimalist pixel editor
-
-
Objects
-
Saving/Loading Objects, Compositing Packets
- google/flatbuffers - FlatBuffers: Memory Efficient Serialization Library
- simdjson/simdjson - Parsing gigabytes of JSON per second
- Tencent/rapidjson - A fast JSON parser/generator for C++ with both SAX/DOM style API
- danielparker/jsoncons - 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 - Header only C++ binary serialization library. It is designed around the networking requirements for real-time data delivery, especially for games.
- msgpack/msgpack-c - MessagePack implementation for C and C++ / msgpack.org[C/C++]
-
-
Physics
-
Tokenizer
- NVIDIAGameWorks/Physx-3.4 - An open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. [BSD-3-Clause]
-
UI Test Automation Scripting
-
-
C++ Libraries
-
Tokenizer
- google/re2 - 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
-
-
Sound
-
ORM
- engine sound - a GUI Application used to generate purely synthetic engine sounds with advanced options
-
-
Concurrency & Parallelism
-
UI Test Automation Scripting
- lewissbaker/cppcoro - A library of C++ coroutine abstractions for the coroutines TS
-
-
Networking Libraries
-
UI Test Automation Scripting
- libuv/libuv - Cross-platform asynchronous I/O
- skypjack/uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++
-
benchmark
- boostorg/beast - HTTP and WebSocket built on Boost.Asio in C++11
- chriskohlhoff/asio - Asio C++ Library
-
-
Networking Libraries/Frameworks in Server Side
-
UI Test Automation Scripting
- scylladb/seastar - High performance server-side application framework
- pocoproject/poco - C++ class libraries and frameworks for building network- and internet-based applications that run on desktop, server, mobile and embedded systems. [Boost]
- uNetworking/uWebSockets - Simple, secure & standards compliant web server for the most demanding of applications
-
benchmark
- chenshuo/muduo - Event-driven network library for multi-threaded Linux server in C++11
-
-
MQ Client
-
UI Test Automation Scripting
-
-
Communication between servers , Interprocess Communications
-
UI Test Automation Scripting
- grpc/grpc - The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
-
-
Communication Clients
-
UI Test Automation Scripting
- microsoft/cpprestsdk - 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.
-
fake data
- mrtazz/restclient-cpp - C++ client for making HTTP/REST requests
- jpbarrette/curlpp - C++ wrapper around libcURL
- yhirose/cpp-httplib - A C++ header-only HTTP/HTTPS server and client library
-
-
Memory Allocators
-
UI Test Automation Scripting
- microsoft/mimalloc - A compact general purpose allocator with excellent performance. [MIT]
-
-
Compression
-
UI Test Automation Scripting
- facebook/zstd - Zstandard - Fast real-time compression algorithm
-
-
Crypto
-
UI Test Automation Scripting
- jedisct1/libsodium - A modern, portable, easy to use crypto library
- randombit/botan - Cryptography Toolkit
- weidai11/cryptopp - free C++ class library of cryptographic schemes
-
-
Code Stability
-
UI Test Automation Scripting
- catchorg/Catch2 - 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)
-
-
Code Analysis
-
UI Test Automation Scripting
- danmar/cppcheck - static analysis of C/C++ code
-
-
Footprints , Logging
-
UI Test Automation Scripting
- PlatformLab/NanoLog - an extremely performant nanosecond scale logging system for C++ that exposes a simple printf-like API.
- odygrd/quill - Asynchronous Low Latency Logging Library
- gabime/spdlog - Fast C++ logging library.
-
-
Profiling
-
fake data
- yse/easy_profiler - Lightweight profiler library for c++
-
-
Optimizations
-
UI Test Automation Scripting
- arrayfire/arrayfire - ArrayFire: a general purpose GPU library.
- cpp-taskflow/cpp-taskflow - Modern C++ Parallel Task Programming
-
-
Clouds
-
UI Test Automation Scripting
- aws/aws-sdk-cpp - AWS SDK for C++
-
-
ML , Deep Learning
-
UI Test Automation Scripting
- BVLC/caffe - Caffe: a fast open framework for deep learning.
-
-
Publishing Preparations
-
UI Test Automation Scripting
- google/libphonenumber - Google's common Java, C++ and JavaScript library for parsing, formatting, and validating international phone numbers.
-
-
Database Clients/Drivers
-
UI Test Automation Scripting
- dmitigr/pgfe - The PostgreSQL client API in modern C++
-
-
Databases
-
UI Test Automation Scripting
- postgres/postgres - The World's Most Advanced Open Source Relational Database
- scylladb/scylla - NoSQL data store using the seastar framework, compatible with Apache Cassandra
-
ORM
- diesel - A safe, extensible ORM and Query Builder
-
-
Distributed Systems
-
ORM
- Tencent/phxpaxos - The Paxos library implemented in C++ that has been used in the WeChat production environment.
-
-
Objects - Entity, Actor
-
UI Test Automation Scripting
- actix/actix - Actor framework for Rust
- amethyst/specs - Specs - Parallel ECS https://specs.amethyst.rs/
- skypjack/entt - Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more
- actor-framework/actor-framework - An Open Source Implementation of the Actor Model in C++
- Stiffstream/sobjectizer - 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.
-
Networked Objects - Synchronization
- backroll - pure Rust implementation of GGPO rollback networking library.
-
Saving/Loading Objects, Compositing Packets
- marzer/tomlplusplus - Header-only TOML config file parser and serializer for modern C++.
- capnproto/capnproto - Cap'n Proto serialization/RPC system - core tools and C++ library
- USCiLab/cereal - A C++11 library for serialization
- zeux/pugixml - Light-weight, simple and fast XML parser for C++ with XPath support
- serde - a framework for serializing and deserializing Rust data structures efficiently and generically.
- nom - a parser combinators library written in Rust
-
Finite State Machine
- andrew-gresylk/HFSM2 - High-Performance Hierarchical Finite State Machine Framework
- zmij/afsm - C++14 Finite State Machine library
- google/statechart - C++ StateChart Library
-
Concurrency & Parallelism
- thrust - a parallel algorithms library which resembles the C++ Standard Template Library (STL)
-
-
UI
-
Tween
- iced - A cross-platform GUI library focused on simplicity and type-safety. Inspired by Elm.
- tauri - a framework for building tiny, blazing fast binaries for all major desktop platforms
- sauron-native - conquers all platforms ranging from desktop to mobile devices. An attempt to create a truly native, truly cross platform UI for your rust applications.
-
Native UI
- fyne-io/fyne - Cross platform GUI in Go based on Material Design https://fyne.io/
-
Front-end Web App
- yew - a modern Rust framework for creating multi-threaded front-end web apps with WebAssembly.
-
-
Data
-
data parallel
- rayon - a data-parallelism library for Rust.
-
-
IO
-
File I/O
- bin_io - a crate inspired greatly by nom and other parser combinator libraries.
- mandreyel/mio - Cross-platform C++11 header-only library for memory mapped file IO
-
Network I/O
- mio - 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.
- tokio - n event-driven, non-blocking I/O platform for writing asynchronous applications with the Rust programming language.
-
benchmark
- rust-io-file-benchmark - a short report on the performance metrics obtained processing large files with a small rust/python script.
-
-
HTTP in Server Side
-
benchmark
- actix/actix-web - Actix web is a small, pragmatic, and extremely fast rust web framework.
- ipkn/crow - Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask)
- oktal/pistache - Pistache is a C++ REST framework written in pure C++11 with no external dependency. [Apache2]
-
-
Open Source Game Server
-
fake data
- TrinityCore/TrinityCore - TrinityCore Open Source MMO Framework (master = 8.3.0.34220, 3.3.5 = 3.3.5a.12340)
- ketoo/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.
-
-
Image Processing
-
fake data
- ermig1979/Simd - 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.
-
-
Data Engineering
-
WebView
-
ORM
- wry - Cross-platform WebView rendering librarythat supports all major desktop platforms like Windows, macOS, and Linux.
-
-
VM
-
ORM
- deno - a simple, modern and secure runtime for JavaScript and TypeScript that uses V8
-
-
Build
-
Language Tutorials
-
Categories
Computer Graphics
25
Coding
16
Objects - Entity, Actor
16
Testing
9
Game Engines and Frameworks
8
Objects
6
C++ Foundation Libraries
6
UI
5
IO
5
Package Manager
5
Communication Clients
4
Networking Libraries
4
Networking Libraries/Frameworks in Server Side
4
Databases
3
Footprints , Logging
3
Physics
3
Crypto
3
HTTP in Server Side
3
Build
2
Unreal Engine Features
2
Open Source Game Server
2
C++ Libraries
2
Optimizations
2
Scripting
2
C++ Coding Facilities
1
Profiling
1
WebView
1
Database Clients/Drivers
1
Distributed Systems
1
Data
1
VM
1
Publishing Preparations
1
ML , Deep Learning
1
Sound
1
Data Engineering
1
Communication between servers , Interprocess Communications
1
Image Processing
1
Clouds
1
Concurrency & Parallelism
1
Source Control
1
Code Analysis
1
MQ Client
1
Graphic Editor
1
Code Stability
1
Compression
1
Memory Allocators
1
Sub Categories
UI Test Automation Scripting
42
C++ Data Structures and Algorithms
17
Saving/Loading Objects, Compositing Packets
12
Landscape, World
9
fake data
8
ORM
8
benchmark
7
Vendor Graphics API/SDK
6
3D Creation Tools
4
Language Tutorials
4
Finite State Machine
3
Tokenizer
3
c++
3
Tween
3
Triangles , Geometry , Maths , Physics
2
Unit Tests
2
Reactive
2
File I/O
2
Graphics Rendering Libraries/Frameworks
2
Property Testing
2
3D Rendering Library
2
Network I/O
2
Logic Scripts
1
2D Creation,Editing Tools
1
Fuzz Testing
1
Coverage Testing
1
?
1
Concurrency & Parallelism
1
Concurrent
1
Networked Objects - Synchronization
1
Load Testing
1
data parallel
1
Native UI
1
Front-end Web App
1
Graphics Asset Import
1
Keywords
cpp
34
c-plus-plus
25
rust
21
header-only
13
cross-platform
9
cplusplus
8
cpp11
8
gamedev
8
game-development
7
c
7
cpp17
6
async
6
no-dependencies
6
cpp14
6
game-engine
6
http
6
serialization
5
windows
5
networking
5
websockets
4
asynchronous
4
logging
4
json
4
cplusplus-17
4
rendering
4
package-manager
4
single-file
4
gui
4
reflection
4
performance
4
json-parser
3
modern-cpp
3
container
3
toolkit
3
graphics
3
actor-model
3
concurrency
3
http-client
3
linux
3
parser
3
c-plus-plus-17
3
multi-platform
3
cryptography
3
high-performance
3
crypto
3
multithreading
3
state-machine
3
cpp20
3
hash-tables
2
mmap
2