4 hours ago
BRUTAL, the high performance C# game development framework powering the just announced RimWorld Waylith game engine, has just got free & open source… ish. BRUTAL is meant to be a low level set of libraries to build your game or game engine upon and as the name implies, it is not intended to be simple to work with. At the cost of simplicity, it gives maximum flexibility while focusing always on performance.
BRUTAL was created by DayZ and Kitten Space Agency developers RocketWerkz and is described accordingly by founder Dean Hall on Reddit:
Key Links
BRUTAL Homepage
BRUTAL Repository
Reddit /r/gamedev Discussion
Discord Server
One very important thing to point out is the license. It uses a modified version of the MIT open source license requiring attribution, with the reasoning described:
You can learn more about the Brutal game development framework in the below.
BRUTAL was created by DayZ and Kitten Space Agency developers RocketWerkz and is described accordingly by founder Dean Hall on Reddit:
Quote:The BRUTAL Framework
Four years ago our studio began developing our own custom framework. At the time, it seemed like the kind of thing that only a “crazy” developer would do. Something that would make people shake their heads. Making your own technology was such a “red flag” for a studio that it was even a secret undertaking internally. It started with a few libraries. But it gradually grew, and then rather rapidly became a complete framework you could use to make a game or your own game engine.
We called it the BRUTAL Framework.
It is important to explain that BRUTAL is a framework, not a game engine. You can make a game directly using it, like we have with Kitten Space Agency, or use it as the foundation for an entirely separate engine, like Ludeon have with RimWorld.
At its core is a custom interop layer, giving C# access to native APIs and libraries. We’ve built quite a lot of supporting libraries around this, including mathematics, memory management, strings, job scheduling, logging, localization, and other systems. We have an obsessive focus on reducing allocations and unnecessary overhead. We make extensive use of unmanaged memory and unsafe code where it makes sense. Our core focus has been on doing a few low-level things extremely well, using the latest versions of C# and Vulkan.
You can use the Vulkan bindings to make your own renderer, for example. But BRUTAL doesn’t make all those decisions for you. You get to make them yourself. You can use whatever NuGet packages you want, including third-party packages. You get to write your own stack. In some ways this makes it much harder to use than Unity, Unreal, or Godot. In other ways, particularly if you’re doing something unusual, it makes things considerably easier.
It’s called BRUTAL for a reason.
Personally, I have found it much easier. But this comes with a forcing function. You actually have to know what you want to do first. In Unity or Unreal I would often spend days or weeks figuring out how the people who made the engine intended something to work, and then how to get around the assumptions they had made. Without all that, it is actually faster. At least for the kinds of games we’re trying to make.
What BRUTAL is not
I do not believe this is the tool that everyone should use to make a game. We’ve aggressively pushed back against efforts internally to “add more”. Our intention is to make a focused and efficient tool for “hard-to-make games”. We are not trying to make something that can do everything for everyone. In fact, one of the most important decisions we’ve made is what not to put into BRUTAL.
This means we’re going to be quite aggressive about maintaining its scope. Pull requests that drift away from a clear purpose will be rejected. That isn’t because we don’t appreciate contributions, but because adding everything is exactly how the industry ended up with the kind of engines we don’t wish to use.
Think of the relationship between the Linux kernel and something like Ubuntu. It’s not an exact technical comparison, but it gets across the idea. We provide a technical foundation, and developers build their own systems on top of it.
I’m not suggesting everyone should make their own game engine. I’m suggesting every developer should have the option to do so, without having to spend four years building the foundations first. And without having to surrender so much control over their own work.
Key Links
BRUTAL Homepage
BRUTAL Repository
Reddit /r/gamedev Discussion
Discord Server
One very important thing to point out is the license. It uses a modified version of the MIT open source license requiring attribution, with the reasoning described:
Quote:Quote:We initially wanted to do something simple, like MIT. But that made us realise that one of the many problems open-source projects now face is what attribution actually means in a world increasingly dominated by AI and agentic development. Credit is, to me, what matters most.
The team who made the BRUTAL Framework are world class. They have backgrounds from some of the biggest and most influential game studios in the world. They’re experts in their fields, and they’ve spent years developing technology that most players will never even know exists. They made this. I want history to remember them. So we’ve drafted a licence based on MIT, but with additional attribution requirements.
You can learn more about the Brutal game development framework in the below.

