/bang

Entity Component System (ECS) framework made for C#.

Primary LanguageC#MIT LicenseMIT

Murder logo

A real ECS framework!

Publish release License

Welcome to Bang! - an Entity Component System framework in C#.

How does it work?

This is not, in any way, an engine, but rather a framework that you can use in whatever engine you're comfortable with. This is currently integrated with Murder engine.

Check out our wiki for more details.

How to use it?

We are on nuget! So you can either use this repository as a submodule or simply add:

<!-- Main Package. -->
<PackageReference Include="Murder.Bang" Version="0.0.2-alpha" />

<!-- Generator package. Mandatory, include it so Bang can generate lookup classes and extensions for your Components. -->
<PackageReference Include="Murder.Bang.Generator" Version="0.0.4">
    <PrivateAssets>all</PrivateAssets>
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

<!-- Optional Package with analyzers and code fixes. -->
<PackageReference Include="Murder.Bang.Analyzers" Version="0.0.3">
    <PrivateAssets>all</PrivateAssets>
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

Whatever makes you happier. The nuget package should have symbols and source embedded available with Source Link.

Real-life examples

Neo City Express was a Ludum Dare game (made in 72h ⏰) built on top of Murder and Bang. I highly recommend checking it out, especially if you're good with learning from examples.