A lightweight 2D physics engine and game framework built with C++20 and SFML.
- Physics Engine: Supports Rigid Body dynamics, AABB collision detection, and Sphere/Box colliders.
- Component System: Simple GameObject-Component architecture for easy extensibility.
- SFML Integration: Built-in renderer using SFML 3 for high-performance 2D graphics.
app/: Application entry point (main.cpp).engine/: Core engine logic.core/: GameObject, Scene, and Component systems.physics/: Rigid body dynamics, colliders, and collision detection.
external/: Third-party dependencies (SFML as a submodule).
- C++20 Compiler: GCC 10+, Clang 10+, or MSVC 2019+.
- CMake: Version 3.15 or higher.
- Dependencies: SFML dependencies (X11, OpenGL, etc. on Linux).
-
Clone the repository with submodules:
git clone --recursive https://github.com/yourusername/ElysiumEngine.git cd ElysiumEngineIf you already cloned it without submodules, run:
git submodule update --init --recursive
-
Configure and Build:
mkdir build && cd build cmake .. make
-
Run the Application:
./ElysiumApp
This project is licensed under the MIT License - see the LICENSE file for details.