A small .NET Library based on FNA to kickstart game projects.
The structure of the project is pretty much experimental. It might evolve over time.
This is a non-exhaustive list of Brocco's currently implemented features.
- Scene Manager
- Automatic Entity Rendering
- Manual access to rendering code is still possible
- Sound, Font and Texture loading
- Text Rendering
- Keyboard Input Handling
- Gamepad Input Handling
- Mouse Input Handling
- Partial Text Input Handling
- High-Level Menu Builder API
- Automatic Keyboard Menu Navigation Management
- Separate ImGui module
- Download and install the .NET 6 SDK
- Clone this repo and its submodules
- Build the project
- Build the example project
- Grab the dependencies in the deps directory for your platform
- Follow these instructions to get the native libraries correctly in place
- Run
Brocco features something I like to call "auto-systems". These are basically user-defined systems you can optionally add to the Brocco Game Loop. Unlike scenes, auto-systems update directly from the loop, and at all time.
Auto-Systems are supposed to be used to add something to the base game loop, they are NOT to be used for regular game logic.
The feature is still Work In Progress, so expect the API to grow in the future.
Brocco comes with a Dear ImGui auto-system. You can use it by adding a reference to Brocco.ImGui.csproj in your project. Make sure you also have cimgui in the output folder of your project when running it.
This project is licensed under the MIT License.