Skip to content

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