Ace Engine - Cross-platform C++ Game Engine
Ace Engine is a cutting-edge, cross-platform game engine and WYSIWYG (What You See Is What You Get) editor, crafted in modern C++20. It empowers developers to create high-performance, immersive games with ease.
- Cross-Platform Compatibility: Seamlessly supports multiple operating systems to maximize your game's reach.
- Modern C++20: Built on the latest C++ standards for exceptional performance and maintainability.
- WYSIWYG Editor: Intuitive editor enabling real-time editing and visualization of game scenes.
- Comprehensive Feature Set:
- Animation System: Robust support for skeletal and keyframe animations.
- Physics Integration: Realistic physics simulations powered by Bullet Physics.
- Audio Support: 3D audio capabilities using OpenAL Soft.
- C# Scripting: Extend and customize gameplay logic using a C# scripting interface.
- Action-Based Input System: Flexible and modular input mapping for various devices.
- PBR Deferred Rendering: High-quality physically-based rendering with advanced lighting and material support.
- Dynamic Shadows: Realistic shadow casting for immersive visual fidelity.
- Reflection Probes: Support for realistic lighting and environment reflections.
- Async Asset Loading: Asynchronous loading for smooth gameplay and faster scene transitions.
- Broad Format Support:
- Most 3D mesh formats (e.g., OBJ, FBX, GLTF).
- Common audio formats (e.g., WAV, MP3, OGG).
- Graphics API Support: Fully supports DirectX 11, DirectX 12, Vulkan, and OpenGL for maximum flexibility and performance.
Ace Engine is currently under active development and is not yet production-ready. Contributions, feature requests, and feedback are highly encouraged to shape its evolution.
Don't forget to update submodules
git clone https://github.com/volcoma/ace.git
cd ace
git submodule update --init --recursive
mkdir build
cd build
cmake ..
bgfx - https://github.com/bkaradzic/bgfx
ser20 - https://github.com/volcoma/ser20
rttr - https://github.com/rttrorg/rttr
spdlog - https://github.com/gabime/spdlog
imgui - https://github.com/ocornut/imgui
assimp - https://github.com/assimp/assimp
glm - https://github.com/g-truc/glm
openal-soft - https://github.com/kcat/openal-soft
yaml-cpp - https://github.com/jbeder/yaml-cpp