30 open-source projects similar to godotengine/godot-cpp, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Godot Cpp alternative.
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
Premake is a build system generator and cross-platform build configuration tool. It functions as a scripting engine that transforms scripted workspace definitions into native project files for multiple build toolsets and compilers. Additionally, it can generate JSON-formatted compilation databases for use with language servers and static analysis tools. The project distinguishes itself through a programmable runtime that allows for internal function hooking and the interception of build logic. This extensibility enables users to create custom toolset generators, implement modular extensions f
The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act
gdext provides a set of language bindings for writing high-performance native game logic in Rust for the Godot 4 engine. It serves as a framework for creating native engine extensions and custom classes via the GDExtension library, allowing developers to extend core engine functionality without recompiling the engine source code. The project includes a dedicated Rust WebAssembly toolchain to compile native logic into modules for execution in web browsers. This system supports WebAssembly-compatible compilation with specific configurations for web threading and module debugging. The toolkit c
Defold is a cross-platform game engine and integrated development environment used to create 2D and 3D games for desktop, mobile, and web targets. It combines a game development IDE for asset and scene management with a multi-platform build system and a scripting environment based on Lua. The engine includes a specialized headless runtime for hosting game servers and performing automated testing without a graphical interface. It supports native engine extensions, allowing custom low-level code to be integrated into the core to expand functionality beyond the standard scripting interface. The
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
This project is a Chromium-based mobile browser and rendering engine designed for mobile platforms. It functions as a web extension host, allowing the execution of browser extensions within a mobile environment to provide custom functionality. The project distinguishes itself through custom user interface modifications, such as the implementation of a specialized night mode and the relocation of the address bar for improved ergonomics. It also includes a remote debugging interface and protocol that allow an external developer console to connect to a live browser instance for inspecting and tr
NativeScript is a cross-platform mobile development framework that enables the creation of native iOS and Android applications using JavaScript or TypeScript. It provides a direct bridge to native platform APIs, allowing developers to invoke native classes, methods, and properties directly from script code while maintaining full access to underlying mobile operating system features. The framework distinguishes itself through its direct native UI rendering, which maps declarative markup components to actual platform-native widgets rather than web-based views. This architecture is supported by
Theos is a cross-platform mobile development toolchain and build system designed for compiling and packaging software for mobile operating systems. It functions as a system tweak kit and runtime hooking framework, allowing developers to create modifications that alter the internal behavior of mobile OS environments. The project distinguishes itself by providing specialized preprocessor syntax that generates low-level API calls, removing the boilerplate code typically required for function and method hooking. It enables dynamic runtime method swizzling and class extensions, allowing developers
Panda3D is a cross-platform game engine and 3D graphics rendering system developed for Python and C++. It functions as a comprehensive framework for building interactive 3D applications, providing a real-time physics simulator and a specialized 3D asset pipeline tool. The engine distinguishes itself by combining a high-performance C++ core with interoperable Python language bindings. It utilizes a scene graph architecture to organize 3D objects and provides a pipeline-based asset conversion system to optimize models and textures for runtime loading. Its capability surface includes low-level
node-gyp is a build system wrapper and compilation tool designed to transform C and C++ source code into binary modules for the Node.js runtime. It functions as a native module compiler that orchestrates the process of converting native source code into binary bindings for high-performance execution. The project provides cross-platform compilation by managing different compilers and SDKs across Windows, macOS, and Linux. It translates a single project configuration into platform-specific build files, such as Makefiles or Visual Studio projects, to ensure consistent builds across different ope
Cocos Engine is a cross-platform game engine designed for building high-performance 2D and 3D interactive experiences for web, mobile, and desktop platforms. It features a multi-backend rendering engine and a 2D and 3D physics simulator, utilizing a core architecture that combines a C++ runtime for performance with TypeScript for game logic scripting. The engine distinguishes itself through a multi-platform deployment system that packages projects for native operating systems and instant-play web ecosystems. Its graphics system supports multiple APIs, employing physically based rendering and
JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software. The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a f
wxWidgets is a C++ UI toolkit and cross-platform GUI framework used to develop desktop applications for Windows, macOS, and Linux. It functions as a native widget wrapper, providing an abstraction layer that maps a single set of API calls to the native interface elements of different platforms. The framework allows for the creation of native graphical user interfaces by utilizing the host operating system's own controls and APIs. This ensures that applications maintain a native look and feel across various operating systems while using a consistent codebase. Beyond interface development, the
Nuitka is a compilation framework that translates Python source code into C, enabling the creation of standalone machine code binaries. By converting interpreted scripts into compiled executables, it removes the requirement for a language interpreter on the target machine and provides a mechanism for distributing Python applications as self-contained packages. The project distinguishes itself through advanced optimization techniques, including link-time code generation and profile-guided binary optimization, which improve execution speed by bypassing standard interpreted overhead. It manages
rav1e is an AV1 video encoder and media codec written in Rust. It compresses raw video data into the AV1 format, providing a C-compatible library interface for integration into other applications and a WebAssembly build for execution within web browsers. The project utilizes Rust to implement memory safety and prevent buffer overflows. It supports a variety of deployment targets, including portable binary builds for client-side video processing in sandboxed browser environments. The encoder covers high bit-depth video processing for 8, 10, and 12-bit color depths and includes bitrate managem
openFrameworks is a C++ creative coding toolkit and multimedia framework designed for building interactive art and visual applications across multiple operating systems. It provides a development environment and graphics library that unify the handling of visuals, audio, and hardware input for real-time projects. The toolkit facilitates the development of generative art and multimedia installations through a set of libraries that ensure consistent behavior across different platforms. It includes tools for prototyping and deploying artistic software and installations, supporting the creation o
F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite
CXX is a code generator that produces a safe, zero-overhead FFI bridge between Rust and C++. It lets functions and data types from either language be used directly in the other, with static type safety enforced at compile time and no copying, serialization, or runtime checks across the boundary. The bridge supports the full range of cross-language interactions: Rust can call C++ functions and use C++ types, and C++ can call Rust functions and use Rust types. Standard library types like strings, vectors, and smart pointers are mapped automatically between the two languages, while opaque types
Chisel is a network tunneling tool that facilitates secure communication by encapsulating TCP and UDP traffic within HTTP requests. It functions as a connection multiplexer, consolidating multiple logical network streams into a single persistent connection to improve throughput and reduce overhead. By leveraging standard web protocols, the system enables firewall traversal and provides a mechanism for remote port forwarding and proxying. The project distinguishes itself through its focus on resilient connectivity and granular access control. It maintains persistent network sessions across uns
Urho3D is a cross-platform 3D game engine written in C++. It uses a component-based scene graph to compose game objects from nodes and attached components, separating transforms from behaviors for modular design. The engine integrates AngelScript and Lua scripting for game logic, uses the Bullet library for physics simulation, and renders scenes with OpenGL or Direct3D through forward, deferred, or light pre-pass pipelines with customizable render passes and shadow mapping. The engine distinguishes itself with a built-in visual scene and UI editor for composing 3D worlds and interface layouts
JUCE is a C++ application framework and cross-platform GUI library used to build desktop and mobile applications. It serves as a development framework for creating audio software and plug-ins compatible with VST, AU, AAX, and LV2 standards. The framework includes a build integration system that uses CMake to manage project configurations and generate native IDE project files. This allows a single C++ codebase to be deployed across multiple operating systems.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
Stellarium is an open-source 3D planetarium simulator and cross-platform sky map used for astronomical observation and study. It provides a real-time simulation of the night sky that renders astronomical objects and atmospheric conditions using OpenGL. The software functions as a visualization tool to show how stars and planets appear through optical instruments. It allows users to identify celestial objects from any location on Earth, simulate stargazing site visibility, and plan targets for observation with binoculars or telescopes. The system incorporates an atmospheric scattering model,
Piccolo is a mini game engine designed for building small-scale games with cross-platform support. It compiles and runs on Windows, macOS, and Linux from a unified codebase, and includes an editor integration for live editing and debugging. The engine uses a component-based entity system with data-oriented design, storing component data in contiguous arrays for cache-friendly iteration. It features a fixed timestep game loop that decouples simulation updates from rendering frame rate, and provides a physics debug overlay that renders visual shapes from simulation data synchronized with the ed
This project provides a collection of minimal, modern configuration templates designed to demonstrate industry-standard practices for managing C and C++ build workflows. It serves as a practical guide for developers to implement build automation, dependency management, and project structuring using the CMake build system. The repository distinguishes itself by offering modular examples that cover complex build requirements, such as hierarchical project organization and the integration of external third-party source code. It emphasizes the use of target-based dependency graphs and interface-ba
LearnOpenGL is an educational resource and collection of C++ graphics implementations designed to teach the OpenGL graphics API. It provides code samples and reference implementations for real-time rendering, focusing on the creation of 2D and 3D visuals. The project includes practical examples of GLSL shaders for rendering 3D geometry and visual effects. These implementations are organized as a cross-platform graphics project, allowing the code to be built and executed across different operating systems. The repository covers the fundamental concepts of graphics programming, including shade
JerryScript is a lightweight, ECMAScript-compliant JavaScript engine and bytecode compiler designed for resource-constrained devices. It serves as an embedded interpreter and IoT scripting runtime, enabling the execution of JavaScript code within native C applications on hardware with limited memory. The project differentiates itself through a focus on low-memory runtime management, utilizing bytecode precompilation and pre-compiled state snapshots to reduce startup time and memory overhead. It features a C-binding native bridge for bidirectional communication between native code and scripts,