FosterFramework 0.2.0
dotnet add package FosterFramework --version 0.2.0
NuGet\Install-Package FosterFramework -Version 0.2.0
<PackageReference Include="FosterFramework" Version="0.2.0" />
paket add FosterFramework --version 0.2.0
#r "nuget: FosterFramework, 0.2.0"
// 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 | Versions 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. |
-
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 |