{"id":13568139,"url":"https://github.com/FosterFramework/Foster","last_synced_at":"2025-04-04T04:30:51.183Z","repository":{"id":193588723,"uuid":"680614317","full_name":"FosterFramework/Foster","owner":"FosterFramework","description":"A small C# game framework","archived":false,"fork":false,"pushed_at":"2025-03-26T22:58:05.000Z","size":76712,"stargazers_count":518,"open_issues_count":4,"forks_count":40,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-01T19:02:58.386Z","etag":null,"topics":["2d","cross-platform","csharp","dotnet","game-development","game-engine","game-framework","gamedev","graphics"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FosterFramework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-19T20:13:34.000Z","updated_at":"2025-04-01T10:03:48.000Z","dependencies_parsed_at":"2023-10-27T19:29:40.100Z","dependency_job_id":"af9ff10e-fd97-47c2-aae5-7707abd1c60e","html_url":"https://github.com/FosterFramework/Foster","commit_stats":{"total_commits":464,"total_committers":11,"mean_commits":42.18181818181818,"dds":"0.23706896551724133","last_synced_commit":"d297671f33ff53e5f61fd27f2188358ca8175bcb"},"previous_names":["noelfb/foster","fosterframework/foster"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FosterFramework%2FFoster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FosterFramework%2FFoster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FosterFramework%2FFoster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FosterFramework%2FFoster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FosterFramework","download_url":"https://codeload.github.com/FosterFramework/Foster/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247123071,"owners_count":20887259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2d","cross-platform","csharp","dotnet","game-development","game-engine","game-framework","gamedev","graphics"],"created_at":"2024-08-01T14:00:20.535Z","updated_at":"2025-04-04T04:30:46.174Z","avatar_url":"https://github.com/FosterFramework.png","language":"C#","readme":"\u003cp align=\"center\"\u003e\n\u003cimg width=\"480\" src=\"Foster.png\" alt=\"Foster logo\"\u003e\n\u003c/p\u003e\n\n# Foster\nFoster is a small cross-platform 2D game framework in C#.\n\n_★ very work in progress! likely to have frequent, breaking changes! please use at your own risk! ★_\n\nTo use the framework either \n - add a refence to the [NuGet package](https://www.nuget.org/packages/FosterFramework), \n - or clone this repository and add a reference to `Foster/Framework/Foster.Framework.csproj`.\n\nThere is a [Samples](https://github.com/FosterFramework/Samples) repo which contains various demos and examples that can help you get started.\n\nCheck out [Discussons](https://github.com/FosterFramework/Foster/discussions) or [Discord](https://discord.gg/K7tdFuP3Bg) to get involved.\n\n### Dependencies\n - [dotnet 8.0](https://dotnet.microsoft.com/en-us/download/dotnet/8.0) and [C# 12](https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12)\n - [SDL2](https://github.com/libsdl-org/sdl) is the only external dependency, which is required by the [Platform library](https://github.com/FosterFramework/Foster/tree/main/Platform). By default this is statically compiled.\n\n### Platform Library\n - The [Platform library](https://github.com/FosterFramework/Foster/tree/main/Platform) is a C library that implements native methods required to run the application.\n - By default, it is currently being built for 64-bit Linux, MacOS, and Windows through [Github Actions](https://github.com/FosterFramework/Foster/actions/workflows/build-libs.yml).\n - To add support for more platforms, you need to build the [Platform library](https://github.com/FosterFramework/Foster/tree/main/Platform) and then include it in [Foster.Framework.csproj](https://github.com/FosterFramework/Foster/blob/main/Framework/Foster.Framework.csproj#L27)\n\n### Rendering\n - Implemented in OpenGL for Linux/Mac/Windows and D3D11 for Windows.\n - Separate Shaders are required depending on which rendering API you're targetting.\n - Planning to replace the rendering implementation with [SDL3 GPU when it is complete](https://github.com/FosterFramework/Foster/issues/1).\n\n### Notes\n - Taken a lot of inspiration from other Frameworks and APIs, namely [FNA](https://fna-xna.github.io/).\n - This is the second iteration of this library. The first [can be found here](https://github.com/NoelFB/fosterold).\n - Contributions are welcome! However, anything that adds external dependencies or complicates the build process will not be accepted.\n","funding_links":[],"categories":["Code","C# #","Game"],"sub_categories":["Engines and Frameworks"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFosterFramework%2FFoster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFosterFramework%2FFoster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFosterFramework%2FFoster/lists"}