Runtime First More runtime-only samples
No editor required.
The runtime is an ordinary .NET library. Reference it, write a class, run it.
Program.cs C#
using Prowl.Runtime; using Prowl.Vector; new MyGame().Run("Simple Cube", 1280, 720); public sealed class MyGame : Game { public override void Initialize() { var scene = new Scene(); // Camera GameObject cam = new("Main Camera"); cam.Transform.Position = new(0, 2, -8); cam.AddComponent<Camera>(); scene.Add(cam); // Light GameObject light = new("Directional Light"); light.AddComponent<DirectionalLight>(); light.Transform.LocalEulerAngles = new Float3(-80, 5, 0); scene.Add(light); // Cube GameObject cube = new("Cube"); MeshRenderer mr = cube.AddComponent<MeshRenderer>(); mr.Mesh = Mesh.CreateCube(Float3.One); mr.Material = new(Shader.LoadDefault(DefaultShader.Standard)); scene.Add(cube); Scene.Load(scene); } }
Just a library reference
Add it to a normal .csproj and go.
No editor in the build
Editor code never ships inside your game.
Runs headless
Equally at home in a server, a test, or CI.
The editor is a client
Built on the same public API you write against.
The Prowl Ecosystem Built from a constellation
Built from a constellation
of MIT C# libraries.
The runtime is the core, assembled from libraries that each stand on their own. The editor sits on top and depends on nothing else.
The editor depends only on the runtime. Every box is a standalone, MIT-licensed package in github.com/ProwlEngine/Anthology