Ahwoo's own framework for direct API access. It removes the abstractions between C# game code and the machine underneath.
- WINDOWS
- LINUX
- MACOS
Every package, the same three targets.
An engine built for every game is optimal for none.
Contemporary game engines are built with general-purpose solutions in mind, and every system is tuned for the average case.
Working around the engine is a losing battle. The further a game sits from that average, the more of its development goes into fitting it to the engine's assumptions rather than working out what the game needs and making the foundation serve it.
Kitten Space Agency makes big demands: how positions are represented, how the renderer works, when memory is allocated. BRUTAL is the framework Ahwoo built so the game can answer those demands itself.
Built for scale and precision
Kitten Space Agency simulates positions in 64-bit doubles and renders in floats. The camera stays at the origin, and the game draws objects relative to their context. BRUTAL does not prescribe that approach. It exposes the numerics and the render path, and the game decides what to do with them.
The game runs a solar system at real distances on that basis. Planets load without pauses, and players move between vessels with no loading screen.
A framework, not an engine
A traditional engine wraps the machine in abstractions that make the common case easier and cap what a game can reach. BRUTAL exposes the APIs directly to game code instead.
For graphics that means the full Vulkan API surface and the tooling around it. You write the renderer.
The bindings follow each API as it is designed, so existing Vulkan knowledge transfers unchanged.
Control where it matters
Because the framework is Ahwoo's own, a team building a game on it can investigate and fix problems at any depth of the stack rather than waiting on an external engine's roadmap.
BRUTAL exposes complexity instead of hiding it, and it allows unsafe code. There are no guardrails to fall back on.
The interop layer at the core
BRUTAL's interop layer lets the languages in a project call each other. In Kitten Space Agency that is C# game code calling native C++ for plugins and the Vulkan bindings. The framework's math, string and memory libraries are built to minimise allocation, because C# allocation limits how far a game can scale.
BRUTAL binds a best-in-class library where one exists, and implements the rest itself: job scheduling, string localization, process monitoring and logging. Packages ship through NuGet, so a project installs only the systems it uses, and each package updates separately.
BRUTAL runs on .NET 10, the current release.
Open to mods
Games built on BRUTAL are ordinary .NET applications, so a mod uses the same language as the game and loads the same way. Kitten Space Agency compiles at runtime rather than ahead of time, so mod code can load into a running game. How far mods can reach is the game's decision.
Kitten Space Agency is the first game made from scratch using BRUTAL alone.
It runs a real solar system at real scale, at time warp up to 90 days of simulated time per real second. You can download it today.

The name is a warning.
BRUTAL is built for projects where performance and control matter more than convenience. It is difficult to use, and for most games an established engine is the better choice.
Building a game that is hard to make?
BRUTAL is licensed by arrangement rather than offered as a public download. See it working in Kitten Space Agency, then get in touch.