Citrus Engine¶
Fresh, Zesty Game Engine for Modern C++
Citrus Engine is a modern C++20 game engine featuring ECS architecture, cross-platform support, and a focus on clean, maintainable code.
Features¶
- Modern C++20: Leveraging the latest C++ features
- ECS Architecture: Entity-Component-System design using flecs
- Cross-Platform: Windows, Linux, macOS, and WebAssembly support
- Immediate Mode UI: ImGui integration for debugging and tooling
- 2D Rendering: OpenGL-based rendering with tilemap support
Documentation¶
Getting Started¶
- Getting Started Guide - Set up your first project and build a hello world
- Project Setup - Create a standalone game project from the template
Core Concepts¶
- Architecture Overview - ECS fundamentals, game loop, and module structure
- Scene Management - Creating scenes, entity hierarchies, prefabs, and serialization
Subsystems¶
- Physics API - Rigid bodies, collision shapes, raycasting, and character controllers
- Physics Parenting - Handling physics in transform hierarchies and compound shapes
- Audio API - Loading sounds, 3D spatial audio, and audio playback
- Asset System - Shaders, textures, and resource management
UI System¶
- UI Component System - Layout, constraints, and scrolling
- UI Mouse Events Guide - Mouse event handling
Rendering¶
- Tilemap System - 2D tile-based rendering
Reference¶
- API Reference - Auto-generated API documentation from code
API Documentation¶
The API documentation is automatically generated from Doxygen comments in the source code. Browse the API Reference for detailed information about classes, functions, and modules.