Skip to content

FosterFramework/Foster

Repository files navigation

Foster logo

Foster

Foster is a small cross-platform 2D-focused 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 that can help you get started.

Check out Discussons or Discord to get involved.

Dependencies

  • dotnet 10.0 and C# 14
  • SDL3, which has prebuilt binaries for various platforms through Github Actions.

Rendering

  • Rendering is implemented using SDL_GPU.
  • Shaders must follow the SDL_GPU shader resource requirements.
  • You can specify which Graphics Device to use when you run your Application.
  • You must provide shaders for the resulting Renderer (ex. SPIR-V for Vulkan, etc). There are built-in shaders for 2D rendering so this only matters if you write custom shaders.

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.