OPEN SOURCE GAME ENGINE

KOLPA ENGINE

An open source game engine with ECS, physics, audio, and C# scripting. Built in C and C++ with OpenGL. Use it as a framework or a full engine.

Kolpa Engine editor viewport showing 3D scene editing

WHAT KOLPA IS

Kolpa is a game engine written in C and C++. It has a C99 framework layer for rendering, input, audio, and math, and a C++20 engine layer with ECS, scene management, physics, and optional C# scripting.

USE THE FRAMEWORK

The kolpa C library gives you window, input, rendering, audio, and math. No ECS, no scenes, no scripting. Just a fast, readable C API for making games.

OR THE FULL ENGINE

The C++ engine layer adds GameObjects, Components, Behaviours, Systems, physics, audio DSP, resource pipelines, and C# scripting via .NET 10 with hot reload.

Build from Source

Terminal
$ git clone https://github.com/gabriel-aplok/kolpa-lib.git
$ cd kolpa-lib
$ dotnet build build/Kine.Build
$ build/Kine.Build.exe build

ENGINE FEATURES

Explore the sub-systems, pipelines, and frameworks built into Kolpa Engine.

C# SCRIPTING

Write gameplay logic in C# with full type safety. Direct access to .NET runtime, multithreading, and high-level libraries via hot-reloaded assemblies.

Game/BasePlayer.cs
public class BasePlayer : EntityComponent
{
    public float Speed { get; set; } = 5.0f;

    public override void OnUpdate(float deltaTime)
    {
        Vector3 input = GameInput.GetMovementVector();
        Transform.Translate(input * Speed * deltaTime);
    }
}

FORWARD+ MSAA

Forward rendering pipeline with MSAA anti-aliasing. Supports dynamic lights, shadow mapping, light probes, and depth pre-passes for efficient scene rendering.

Kolpa Engine viewport rendering with MSAA anti-aliasing

HOT RELOAD

Save code changes and see updates immediately in the running viewport. The editor reloads assemblies without resetting runtime state or dropping frames.

Hot reload status overlay showing successful compilation

INPUT

Action-based input system for controllers, keyboard, and mouse. Unified input state shared between editor and standalone packages.

PlayerController.cs
// Action-based input routing.
if (Input!.IsActionPressed("Jump"))
    Velocity.Y = JumpForce;

var moveDir = Input.GetAxis2D("MoveX", "MoveY");

MATERIALS

PBR material system with node-based controls or code parameters. Configure reflectivity, roughness, normal maps, and emissive properties.

PBR material editor preview showing sphere with texture maps

SHADERS

Write GLSL code directly for materials and fullscreen post-process passes. The editor compiles shaders immediately upon saving.

Shaders/CustomRim.glsl
// Write native GLSL directly in engine.
vec4 EvaluateUnlit(MaterialInput input)
{
    float rim = pow(1.0 - clamp(dot(
        normalize(input.Normal), input.ViewDir), 0.0, 1.0), 3.0);

    return vec4(input.BaseColor + rim * vec3(0.2, 1.0, 0.4), 1.0);
}

PHYSICS API

Pluggable physics backend supporting multiple implementations. Switch between Jolt, Box3D, or a lightweight dummy backend per project needs.

Physics Backend Selection
Game Code
|
Physics API
|
Jolt
Box3D
Dummy

ANIMATION GRAPH

Visual state machines and blend trees for character animation. GPU-accelerated skeletal skinning with real-time playback in the editor.

IMMEDIATE MODE UI

Hardware-accelerated immediate mode UI framework. Build HUDs, editor panels, and overlays with a simple draw-call API.

Inventory.UI.cs
// Immediate mode UI drawing.
_UI.Draw(() =>
{
    using (UI.Panel("Inventory"))
    {
        UI.Header("Items");
        if (UI.Button("Equip Sword"))
            Player.Equip(ItemId);
    }
});

BUILT-IN CODE EDITOR

Edit C# and GLSL code inside the engine viewport. Syntax highlighting, auto-completions, and script diagnostics without leaving the editor.

PACKAGING

One-click build pipeline. Compile code, cook assets, strip unused data, and write archives into a standalone executable.

ASSET PIPELINE

Import 3D models, textures, and animations. The pipeline converts assets into optimized binary formats for fast loading and low memory usage.

Terminal
$ kine build --assets import
$ Converting model.fbx to .kmd...
$ Converting texture.png to .ktx...
$ Asset pipeline complete (2.4s)

BUILT WITH KOLPA

Discover featured games and technical prototypes created by the team and the community.

Zenith's Wake gameplay cover preview
Action RPG

Zenith's Wake

by Kolpa Core Team

An atmospheric third-person action RPG showcasing clustered lighting, skeletal animation graphs, and Jolt physics integration.

Windows Linux
Learn More
Kolpa Sandbox gameplay cover preview
Sandbox

Kolpa Sandbox

by Kolpa Core Team

An interactive physics playground featuring CSG constructible geometry, constraints testing, and live C# script reloading.

Windows Web
Learn More
Neon Run gameplay cover preview
Arcade

Neon Run

by a6xdev

A high-speed cyber platformer utilizing custom GLSL shaders for glowing post-processing effects and action-based inputs.

Windows Linux Web Android
Learn More