Foster
Foster is small cross-platform 2D game framework in C#.
β very work in progress! likely to have frequent, breaking changes! please use at your own risk! β
To use the framework either
- add a refence to the NuGet package,
- or clone this repository and add a reference to
Foster/Framework/Foster.Framework.csproj
.
There is a Samples repo which contains various demos and examples which can help you get started.
Check out Discussons or Discord to get involved.
Dependencies
- dotnet 8.0 and C# 12
- SDL2 is the only external dependency, which is required by the Platform library. By default this is statically compiled.
Platform Library
- The Platform library is a C library that implements native methods required to run the application.
- By default it is currently built for 64-bit Linux, MacOS, and Windows through Github Actions.
- To add support for more platforms, you need to build the Platform library and then include it in Foster.Framework.csproj
Rendering
- Implemented in OpenGL for Linux/Mac/Windows and D3D11 for Windows.
- Separate Shaders are required depending on which rendering API you're targetting.
- Planning to replace the rendering implementation with SDL3 GPU when it is complete.
Notes
- Taken a lot of inspiration from other Frameworks and APIs, namely FNA.
- This is the second iteration of this library. The first can be found here.
- Contributions are welcome! However, anything that adds external dependencies or complicates the build process will not be accepted.