C# é uma linguagem popular no desenvolvimento de jogos, amplamente utilizada graças ao Unity, mas não se resume a ele.
Neste artigo, apresento 15 motores de jogos desenvolvidos com C#, mostrando alternativas variadas para quem quer explorar novas opções além dos mais conhecidos, além de uma tabela comparativa, mais bindings e motores que possui C# como linguagem de script.
Framework C# baseado no XNA. Foco em multiplataforma. Principais jogos: Stardew Valley, Fez, Axiom Verge.
Port C# do libGDX. Projeto incompleto e desatualizado. Principais jogos: Nenhum conhecido.
Game engine moderna em C#, baseada em FNA, com design funcional e foco em performance.
Motor 2D em C# para jogos simples com suporte básico de física e UI. Principais jogos: Nenhum conhecido.
Framework C# usado para criar o jogo osu!lazer. Suporte avançado a UI e animações. Principais jogos: osu!lazer.
Engine 2D C# com foco educacional e integração com MonoGame. Principais jogos: The Incredible Baron, Tiled Map Editor integrations.
Reimplementação do XNA em C#. Alta compatibilidade e estabilidade para porte de jogos. Principais jogos: Celeste, Axiom Verge, FEZ (portado).
Game engine 2D ECS em C# com editor embutido. Foco em produtividade. Principais jogos: Internos/experimentais, sem lançamentos de destaque ainda.
Engine 3D moderna em C#, ainda em desenvolvimento. Usa Vulkan via Veldrid. Principais jogos: Nenhum publicado ainda.
Engine 3D completa em C#. Suporte para VR, PBR, C# scripting e editor robusto. Principais jogos: Children of the Galaxy, projetos independentes.
Engine C# 2D com editor modular e sistema de plugins. Principais jogos: Nenhum comercial de destaque.
Biblioteca C# para criação de roguelikes (mapas, FOV, pathfinding). Não é uma engine completa. Principais jogos: Usado em protótipos e projetos pessoais.
Biblioteca C# para jogos estilo console/roguelike. Baseado em grids e tiles ASCII. Principais jogos: Nenhum conhecido publicamente.
Framework para AR/VR em C# e C++. Suporte a OpenXR, HoloLens, Quest. Principais jogos: Usado em experiências XR, não jogos comerciais.
Engine 3D C# + C++ com editor integrado, voltada para visualizações e jogos. Principais jogos: Nenhum de grande destaque.
Nome | Linguagem | 2D | 3D | Editor Incluso | Ativo? | Jogos Conhecidos | Link |
---|---|---|---|---|---|---|---|
MonoGame | C# | ✔️ | ✖️ | ✖️ | ✔️ | Stardew Valley, Fez, Axiom Verge | GitHub |
SharpGDX | C# | ✔️ | ✔️ | ✖️ | ✖️ | Nenhum | GitHub |
MoonWorks | C# | ✔️ | ✖️ | ✖️ | ✔️ | Nenhum | GitHub |
ShapeEngine | C# | ✔️ | ✖️ | Parcial | ✔️ | Nenhum | GitHub |
osu!framework | C# | ✔️ | ✖️ | ✔️ | ✔️ | osu!lazer | GitHub |
FlatRedBall | C# | ✔️ | ✖️ | ✔️ | ✔️ | The Incredible Baron | GitHub |
FNA | C# | ✔️ | ✖️ | ✖️ | ✔️ | Celeste, Axiom Verge, FEZ | GitHub |
Murder | C# | ✔️ | ✖️ | ✔️ | ✔️ | Nenhum público | GitHub |
Prowl | C# | ✖️ | ✔️ | Parcial | ✔️ | Nenhum | GitHub |
Stride | C# | ✔️ | ✔️ | ✔️ | ✔️ | Children of the Galaxy | GitHub |
Duality | C# | ✔️ | ✖️ | ✔️ | Parcial | Nenhum | GitHub |
RogueSharp | C# | ✔️ | ✖️ | ✖️ | ✔️ | Nenhum | GitHub |
SadConsole | C# | ✔️ | ✖️ | Parcial | ✔️ | Nenhum | GitHub |
StereoKit | C#/C++ | ✖️ | ✔️ | Parcial | ✔️ | XR demos | GitHub |
NeoAxis | C#/C++ | ✔️ | ✔️ | ✔️ | ✔️ | Nenhum relevante | GitHub |
Ou que possui CSharp como linguagem de script.
SFML.NET é o binding oficial do SFML para a família de idiomas .NET (C#, VB.NET, C ++/CLI, etc.).
Ele é construído sobre a ligação C, CSFML, para garantir a máxima compatibilidade entre as plataformas. A API do SFML.NET está próxima do C ++ One, mas no estilo .NET: As convenções de nomeação são diferentes, o manuseio de eventos usa suporte a eventos nativos, etc.
Endereço oficial: https://www.sfml-dev.org/download/sfml.net/
Existem diversos bindings de CSharp para Raylib, dentre eles:
Nós possuímos um vídeo introdutório a CSharp e um protótipo de jogo com CSharp e Raylib, veja em:
O SDL também possui bindings para CSharp, em duas versões:
O AllegroDotNet é uma biblioteca para .NET Standard 2.0 ou .NET 6+ para o Allegro 5. Compatível com AOT nativo (.NET 8).
Trata-se de motores feito com C++, mas possui CSharp como linguagem de script para desenvolvimentos dos games: