Skip to content

volcoma/ace

Repository files navigation

Ace Engine - Cross-platform C++ Game Engine

windows linux macos

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.

Features

  • 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.

Current Status

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.

Screenshot 2024-10-12 153527 Screenshot 2024-10-12 151734

Getting Started

Building

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 ..

LIBRARIES

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

bullet3 - https://github.com/bulletphysics/bullet3

entt - https://github.com/skypjack/entt

About

C++20 Game Engine and WYSIWYG Editor.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages