Overview
Eclipsed is a custom-built C++ game engine developed to explore modern engine architecture, with a focus on rendering systems, tooling pipelines, and runtime design patterns.
The engine is built around rapid iteration. Systems can be modified and reloaded at runtime without restarting the application, enabling fast experimentation and development feedback loops.
Its architecture consists of three core layers: a modular OpenGL renderer, an entity-component system for gameplay logic, and an integrated tooling framework for debugging and editor workflows.
Key Contributions
- Runtime Reflection system enabling data-driven engine architecture
- Asset pipeline for converting raw assets into optimized runtime formats
- Hot-reloadable game DLL system for real-time code iteration
- Custom lightweight serialization format for engine data
- ImGui-based editor tooling and debugging system
- Audio system integration using FMOD
- Build pipeline automation using CMake and Python tools
- Discord SDK integration for runtime presence features
- Performance profiler for runtime system analysis
- Scene loading system with modular data handling
Architecture Philosophy
The engine is built around a modular design where each subsystem operates independently with minimal coupling.
This allows systems to be replaced, extended, or redesigned without affecting the rest of the engine, making experimentation and iteration significantly faster.
The overall goal is to balance performance with flexibility, ensuring that systems remain both fast and easy to iterate on during development.