Project Status: In Development

KOLPA ENGINE

A modular, hackable open-source game engine built with Vulkan and Direct3D 12. Designed for developers who need performance, direct memory control, and custom workflows without engine bloat.

Kolpa Engine editor viewport showing 3D scene editing

Designed for Developer Autonomy

Kolpa separates core engine modules so you can use them independently. Build your game with the complete editor, run light standalone gameplay scripts, or use individual libraries like the renderer, physics solver, or UI library.

Open Source Core

We design the codebase for extension and debugging. You can inspect the engine systems, add custom features, or report issues directly on GitHub.

Maintained by Gabriel Aplok

Code-First Workflows

Write scripts in type-safe C# or use the custom bytecode-compiled language. Kolpa provides direct access to memory layouts, multithreading, and low-level renderer pipelines.

Build from Source

Terminal
$ git clone https://github.com/kolpa-engine/kolpa.git
$ cd kolpa
$ dotnet run --project Source/Editor

Engine Features

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

C# Programming Workflow

Write your gameplay logic in C# with type safety. You get direct access to the modern .NET execution runtime, multithreading optimizations, and high-level libraries.

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);
    }
}

Clustered Forward Rendering

The clustered forward rendering path processes thousands of dynamic light sources. It supports depth pre-passes, ambient occlusion, shadow mapping, light probes, and multisample anti-aliasing.

Kolpa Engine viewport rendering viewport demonstrating anti-aliasing

Script Hot Reload

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

Hot reload status overlay showing successful compilation

Action-Based Input

Capture input states for controllers, keyboard, and mouse. The engine delivers one unified input state frame structure, shared between the editor and standalone packages.

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

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

Light Mapping

Bake global illumination and soft shadows directly into the scene geometry. The lightmapper processes direct light, bounced light, and image denoising for optimized static lighting.

PBR Material System

Configure physically based rendering materials using node-based controls or custom code parameters. Set reflectivity, roughness, normal maps, and emissive properties.

PBR material editor preview showing sphere with texture maps

GLSL Shader Integration

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);
}

Animation Graph Editor

Design animation state machines and blend trees visually. Kolpa handles character bone skinning on the GPU with skeletal animation playback.

KolpaUI Framework

Build responsive HUDs, editor extensions, and overlays using our hardware-accelerated UI framework. The engine editor interface runs entirely on this UI library.

Inventory.UI.cs
/// Build data-bound UI.
_UI.Draw(() =>
{
    using (UI.Panel("Inventory"))
    {
        UI.Header("Items");
        if (UI.Button("Equip Sword"))
            Player.Equip(ItemId);
    }
});

Integrated Code Editor

Edit C# and GLSL code inside the engine viewport. The editor displays syntax highlighting, auto-completions, and script diagnostics.

One-Click Builds

Compile code, cook assets, strip unused assets, and write archives into a standalone optimized executable target package with one click.