FosterFramework 0.2.0

dotnet add package FosterFramework --version 0.2.0                
NuGet\Install-Package FosterFramework -Version 0.2.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FosterFramework" Version="0.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FosterFramework --version 0.2.0                
#r "nuget: FosterFramework, 0.2.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FosterFramework as a Cake Addin
#addin nuget:?package=FosterFramework&version=0.2.0

// Install FosterFramework as a Cake Tool
#tool nuget:?package=FosterFramework&version=0.2.0                

<p align="center"> <img width="480" src="Foster.png" alt="Foster logo"> </p>

Foster

Foster is a 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 that can help you get started.

Check out Discussons or Discord to get involved.

Dependencies

  • dotnet 9.0 and C# 13
  • SDL3 is the only external dependency, which is built and dynamically included by the Platform library.

Platform Library

  • The Platform library is a C library that implements native methods required to run the application.
  • It is automatically built for 64-bit Linux, MacOS, and Windows through Github Actions.
  • To add support for other platforms you must build and include it in the csproj

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.
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net9.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on FosterFramework:

Package Downloads
PineFramework

Foster's extension adding more features https://github.com/FosterFramework/Foster

FosterFramework.Extensions.Scenes

Package Description

FosterImGUI

An ImGUI wrapper for the Foster Framework!

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on FosterFramework:

Repository Stars
ExOK/Celeste64
A game made by the Celeste developers in a week(ish, closer to 2)
Version Downloads Last updated
0.2.0 58 1/28/2025
0.1.21-alpha 16 1/14/2025
0.1.19-alpha 7 1/14/2025
0.1.18-alpha 3,140 2/6/2024
0.1.17-alpha 222 2/5/2024
0.1.16-alpha 225 2/3/2024
0.1.15-alpha 363 2/1/2024
0.1.14-alpha 517 1/30/2024
0.1.13-alpha 129 1/29/2024
0.1.12-alpha 72 1/26/2024
0.1.11-alpha 307 1/23/2024
0.1.9-alpha 79 1/18/2024
0.1.8-alpha 68 1/18/2024
0.1.7-alpha 93 1/11/2024
0.1.6-alpha 227 11/16/2023
0.1.5-alpha 104 10/29/2023
0.1.4-alpha 154 10/6/2023
0.1.3-alpha 77 10/3/2023
0.1.2-alpha 84 9/23/2023
0.1.1-alpha 82 9/22/2023
0.1.0-alpha 90 9/20/2023