JAG.Capsule.Build
0.2.2
Prefix Reserved
See the version list below for details.
dotnet add package JAG.Capsule.Build --version 0.2.2
NuGet\Install-Package JAG.Capsule.Build -Version 0.2.2
<PackageReference Include="JAG.Capsule.Build" Version="0.2.2" />
<PackageVersion Include="JAG.Capsule.Build" Version="0.2.2" />
<PackageReference Include="JAG.Capsule.Build" />
paket add JAG.Capsule.Build --version 0.2.2
#r "nuget: JAG.Capsule.Build, 0.2.2"
#:package JAG.Capsule.Build@0.2.2
#addin nuget:?package=JAG.Capsule.Build&version=0.2.2
#tool nuget:?package=JAG.Capsule.Build&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.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on JAG.Capsule.Build:
| Package | Downloads |
|---|---|
|
JAG.Capsule.Tiled
Tiled (.tmj/.tsj) scene authoring for Capsule games: imports maps into Capsule scene documents at build time. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.11.0 | 78 | 10/18/2026 |
| 0.10.0 | 145 | 9/29/2026 |
| 0.9.0 | 107 | 9/25/2026 |
| 0.8.0 | 108 | 9/18/2026 |
| 0.7.0 | 121 | 9/17/2026 |
| 0.6.0 | 127 | 9/5/2026 |
| 0.5.3 | 115 | 9/4/2026 |
| 0.5.2 | 123 | 9/4/2026 |
| 0.5.1 | 116 | 9/4/2026 |
| 0.5.0 | 123 | 9/3/2026 |
| 0.4.1 | 108 | 9/2/2026 |
| 0.4.0 | 115 | 8/31/2026 |
| 0.3.0 | 117 | 8/31/2026 |
| 0.2.2 | 121 | 8/27/2026 |
| 0.2.0 | 113 | 8/27/2026 |
| 0.1.0 | 124 | 8/26/2026 |