ColumbaEngine Documentation
Overview
ColumbaEngine is a modern game engine built on Entity Component System principles, designed for high performance and flexibility.
📚 For comprehensive documentation, visit our Read the Docs site.
Core Concepts
Design Philosophy
- Data-Oriented Design: Focus on efficient data layout and cache-friendly access patterns
- Pay for What You Use: Systems only run when needed
- Parallel by Default: Systems execute in parallel using Taskflow
- Type Safety: Strong C++ type system prevents errors at compile time
Entity Component System
Entities
Entities are simple identifiers that group components together.
auto entity = world.createEntity();
entity.addComponent<Transform>();
entity.addComponent<Sprite>();
Components
Components are pure data structures without logic.
Rendering
2D Rendering
ColumbaEngine provides a complete 2D rendering pipeline with sprite batching, texture atlases, and particle systems.
WebGL Support
Full WebGL 2.0 support for web deployment with automatic fallback to WebGL 1.0.
PgScript
Built-in scripting language for game logic and modding support.
Building for Web
Emscripten Configuration
Threading & SharedArrayBuffer
ColumbaEngine supports multi-threading in web builds using SharedArrayBuffer and Web Workers.
Requirements
- COOP: Cross-Origin-Opener-Policy: same-origin
- COEP: Cross-Origin-Embedder-Policy: require-corp
- Modern browser with SharedArrayBuffer support