JAG.Capsule.Runtime
0.2.2
Prefix Reserved
See the version list below for details.
dotnet add package JAG.Capsule.Runtime --version 0.2.2
NuGet\Install-Package JAG.Capsule.Runtime -Version 0.2.2
<PackageReference Include="JAG.Capsule.Runtime" Version="0.2.2" />
<PackageVersion Include="JAG.Capsule.Runtime" Version="0.2.2" />
<PackageReference Include="JAG.Capsule.Runtime" />
paket add JAG.Capsule.Runtime --version 0.2.2
#r "nuget: JAG.Capsule.Runtime, 0.2.2"
#:package JAG.Capsule.Runtime@0.2.2
#addin nuget:?package=JAG.Capsule.Runtime&version=0.2.2
#tool nuget:?package=JAG.Capsule.Runtime&version=0.2.2
<p align="center"> <img src="https://raw.githubusercontent.com/just-awesome-games/capsule-engine/main/docs/assets/capsule-hero.png" alt="Capsule — a hero stepping out of a glowing capsule as a game world materializes around it" width="720"> </p>
Capsule Engine
A code-first C# game engine — the whole game in one capsule, the machinery sealed inside.
Capsule is JAG Studios' open-source engine: 2D, deterministic, code-first. It owns the frame — loop, clock, window, input, the sim/render seam — and the world inside it: a scene, the entities on it, and the order they update and draw in. No editor, no serialized scene format, no project wizard: scenes are C#, maps are data.
Gameplay is pure by construction: a scene advances one fixed step at a time, reads input as named
actions, never touches a graphics device, and so is assertable headlessly. MonoGame is an
implementation detail Capsule hides — a Microsoft.Xna.Framework using in a consuming game does
not compile.
using System.Numerics;
using Capsule.Runtime.Generated;
using MyGame.Game;
GameBoot.Configure("My Game")
.WithCameraViewport(new Vector2(320f, 180f))
.WithBindings(MyGameInput.Bind)
.RunScene("room-01");
The packages
| Package | What it is for |
|---|---|
JAG.Capsule |
Everything a game's logic is written against: the simulation seam and its fixed step, input as named actions, render intent, the map format and its loader, and the world of scenes, entities, components and the camera. Substrate-free throughout. |
JAG.Capsule.Runtime |
The host: window, graphics device, clock, keyboard and gamepad, renderer, crash log. |
JAG.Capsule.Build |
Build hooks, source generators, analyzers and the map importer. Tooling only; none of it ships in the executable. |
The package boundary is the purity boundary. JAG.Capsule is the set of modules that touch no
substrate, so a game references it from its logic, JAG.Capsule.Runtime from its one-file shell,
and JAG.Capsule.Build from every project.
Setting a game up
Consuming Capsule carries the bootstrap end to end: package sources, the project skeleton, role declarations, locked restores, and the purity rule game logic is held to.
Capsule is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- JAG.Capsule (= 0.2.2)
- MonoGame.Framework.DesktopGL (>= 3.8.5.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.13.0 | 0 | 10/27/2026 |
| 0.12.0 | 71 | 10/26/2026 |
| 0.11.0 | 93 | 10/18/2026 |
| 0.10.0 | 140 | 9/29/2026 |
| 0.9.0 | 116 | 9/25/2026 |
| 0.8.0 | 123 | 9/18/2026 |
| 0.7.0 | 113 | 9/17/2026 |
| 0.6.0 | 140 | 9/5/2026 |
| 0.5.3 | 157 | 9/4/2026 |
| 0.5.2 | 131 | 9/4/2026 |
| 0.5.1 | 119 | 9/4/2026 |
| 0.5.0 | 126 | 9/3/2026 |
| 0.4.1 | 122 | 9/2/2026 |
| 0.4.0 | 122 | 8/31/2026 |
| 0.3.0 | 122 | 8/31/2026 |
| 0.2.2 | 123 | 8/27/2026 |
| 0.2.0 | 118 | 8/27/2026 |
| 0.1.0 | 129 | 8/26/2026 |