Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

      • bgfx - Cross-platform rendering library
      • bgfx-rs - Rust bindings to bgfx, a cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style 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

    • 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

  • 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

  • Coding

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

  • Optimizations

  • Clouds

  • 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

  • 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

    • 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