C# Gamedev

Open-source C# projects categorized as Gamedev

Top 23 C# Gamedev Projects

  • WaveFunctionCollapse

    Bitmap & tilemap generation from a single example with the help of ideas from quantum mechanics

    Project mention: Ask HN: What weird technical scene are you fond/part of? | news.ycombinator.com | 2022-11-21

    https://www.youtube.com/watch?v=Dfc-DQorohc

    Craig Reynolds said the name "Boids" was inspired by The Producers Concierge scene, so that's how you should pronounce it:

    Boids. Dirty, disgusting, filthy, lice ridden Boids. Boids. You get my drift?

    https://www.youtube.com/watch?v=aL6mTMShVyk

    The other really cool rabbit hole to explore for generating tiles and even arbitrary graph based content (I'm sold: hexagons are the bestagons!) is "Wave Function Collapse", which doesn't actually have anything to do with quantum mechanics (it just sounds cool), but is actually a kind of constraint solver related to sudoku solvers.

    https://escholarship.org/content/qt3rm1w0mn/qt3rm1w0mn_noSpl...

    Maxim Gumin's work: https://github.com/mxgmn/WaveFunctionCollapse

    Paul Merrell's work:

    https://paulmerrell.org/model-synthesis/

    https://paulmerrell.org/research/

    Oskar Stålberg's work:

    https://twitter.com/OskSta/status/784847588893814785

    https://oskarstalberg.com/game/wave/wave.html

    There's a way to define cellular automata rules by giving examples of the before and after patterns, and WFC is kind of like a statistical constraint solving version of that.

    So it's really easy for artists to define rules just by drawing! Not even requiring any visual programming, but you can layer visual programming on top of it.

    That's something that Alexander Repenning's "AgentSheets" supported (among other stuff): you could define cellular automata rules by before-and-after examples, wildcards and variables, and attach additional conditions and actions with a visual programming language.

    AgentSheets and other cool systems are described in this classic paper: “A Taxonomy of Simulation Software: A work in progress” from Learning Technology Review by Kurt Schmucker at Apple. It covered many of my favorite systems.

    http://donhopkins.com/home/documents/taxonomy.pdf

    Chaim Gingold wrote a comprehensive "Gadget Background Survey" at HARC, which includes AgentSheets, Alan Kay's favorites: Rockey’s Boots and Robot Odyssey, and Chaim's amazing SimCity Reverse Diagrams and lots of great stuff I’d never seen before:

    http://chaim.io/download/Gingold%20(2017)%20Gadget%20(1)%20S...

    Chaim Gingold has analyzed the SimCity (classic) code and visually documented how it works, in his beautiful "SimCity Reverse Diagrams":

    >SimCity reverse diagrams: Chaim Gingold (2016).

    >These reverse diagrams map and translate the rules of a complex simulation program into a form that is more easily digested, embedded, disseminated, and and discussed (Latour 1986).

    >The technique is inspired by the game designer Stone Librande’s one page game design documents (Librande 2010). If we merge the reverse diagram with an interactive approach—e.g. Bret Victor’s Nile Visualization (Victor 2013), such diagrams could be used generatively, to describe programs, and interactively, to allow rich introspection and manipulation of software.

    >Latour, Bruno (1986). “Visualization and cognition”. In: Knowledge and Society 6 (1986), pp. 1– 40. Librande, Stone (2010). “One-Page Designs”. Game Developers Conference. 2010. Victor, Bret (2013). “Media for Thinking the Unthinkable”. MIT Media Lab, Apr. 4, 2013.

    https://lively-web.org/users/Dan/uploads/SimCityReverseDiagr...

    Agentsheets: Alexander Repenning (1993–)

    Interacting agents are embedded and interact within

  • MonoGame

    One framework for creating powerful cross-platform games.

    Project mention: Which game engine should i use for 2D games? | reddit.com/r/gamedev | 2022-11-20

    MonoGame is a great way to make 2D games. It's not an authoring tool and depending on what you want to do a fully fledged game engine may be a better choice, but "I want to make a 2D, point me to an engine" is very unspecific. If you could eloborate more what you want to do, the suggestion would also be more profound. Game Engines are just tools and choosing one over another is not something a beginner should really care about that much. But I bet, using MonoGame will be a great learning experience, boost your programming skills and switching to a game engine later will be easier than the other way around.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • Entitas

    Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity

  • Stride Game Engine

    Stride Game Engine (formerly Xenko)

    Project mention: Brought to you by an Electrical Engineer | reddit.com/r/ProgrammerHumor | 2022-10-10
  • spine-runtimes

    2D skeletal animation runtimes for Spine.

    Project mention: Best programs for 2D art assets? | reddit.com/r/gamedev | 2022-11-21

    There's Spine for skeletal animations

  • UnrealCLR

    Unreal Engine .NET 6 integration

    Project mention: C# | reddit.com/r/ProgrammerHumor | 2022-10-12

    Surprise motherfucker

  • FNA

    FNA - Accuracy-focused XNA4 reimplementation for open platforms

    Project mention: FNA 22.12 is out | reddit.com/r/linux_gaming | 2022-12-02
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • PixelVision8

    Pixel Vision 8's core philosophy is to teach retro game development with streamlined workflows. PV8 is also a platform that standardizes 8-bit fantasy console limitations built on top of the open-source C# game engine based on MonoGame.

  • Duality

    a 2D Game Development Framework

    Project mention: I want to make 2D games as a hobby. But I've noticed that easy engines like Gamemaker have their own meme little languages. Is there a popular and simple 2D language that uses an actual programming language like Python or something? | reddit.com/r/gamedev | 2022-04-21

    Something a little different, you could try https://adamslair.github.io/duality/ a game engine built using c#. Has a visual editor too.

  • SadConsole

    A .NET ascii/ansi console engine written in C# for MonoGame and XNA. Create your own text roguelike (or other) games!

    Project mention: Is there a way to learn how to use SadConsole? | reddit.com/r/roguelikedev | 2022-02-09

    The process I am using for learning version 9 is to download, run and modify the sample projects. It's a brute force approach, but I am already pretty comfortable with C# and Visual Studio.

  • com.unity.multiplayer.samples.coop

    A small-scale cooperative game sample built on the new, Unity networking framework to teach developers about creating a similar multiplayer game.

    Project mention: Unity Multiplayer | reddit.com/r/unity | 2022-11-16
  • ReGoap

    Generic C# GOAP (Goal Oriented Action Planning) library with Unity3d examples

    Project mention: Noob trying to create flexible AI workers | reddit.com/r/Unity3D | 2022-07-01

    You might want to look into Goal-Oriented Action Planning (GOAP). Example implementation with plenty of resources can be found here.

  • Vortice.Windows

    .NET bindings for Direct3D12, Direct3D11, WIC, Direct2D1, XInput, XAudio, X3DAudio, DXC, Direct3D9 and DirectInput.

    Project mention: Seriously WTF C++? | reddit.com/r/ProgrammerHumor | 2022-09-09

    There are quite a lot actually, even if we ignore engines and frameworks (though some of them are quite low level). Some of the biggest are Silk.NET, Vortice.Windows, SharpDX (the last one is dead but it still should work well).

  • Riptide

    Lightweight C# networking solution for multiplayer games.

    Project mention: Netcode help | reddit.com/r/Unity3D | 2022-08-07

    if you wanted to setup a dedicated server I'd recommend Tom Weilands Small tutorial series on how to connect clients to a dedicated server using a solution called riptide, if you wanted to use your PC at the same time as clients connected I'd recommend looking at the unity demo in the github repository below aswell. https://youtu.be/6kWNZOFcFQw https://github.com/tom-weiland/RiptideNetworking

  • Myra

    UI Library for MonoGame, FNA and Stride

  • DefaultEcs

    Entity Component System framework aiming for syntax and usage simplicity with maximum performance for game development.

  • Raylib-cs

    C# bindings for raylib, a simple and easy-to-use library to learn videogames programming

    Project mention: Need help with converting C++ to C# | reddit.com/r/imgui | 2022-10-06

    I'm converting rlImGui from C++ to C# so I can use it with ImGui.NET and Raylib-cs but I'm getting stuck at a couple places. I don't know how to convert line 331 to C# since in ImGui.NET cmd.UserCallback is an IntPtr and not something I can call. I did a quick google search and you can use the Marshal library to convert it to a callable delegate but I think you need to also have the delegate known to do that. There's also line 82 but that is specific to Raylib. The function it calls does not seem to be included in Raylib-cs. Also, rlImGui keeps using a Texture type but that is not defined in Raylib-cs or ImGui.NET. I assume I can substitute it with Texture2D from Raylib-cs but I'm not to the point in porting to see if Texture2D has the necessary fields/properties/methods.

  • Cradle

    Play Twine stories in Unity.

    Project mention: Twine is an open-source tool for telling interactive, nonlinear stories | news.ycombinator.com | 2022-09-10

    Twine is nice, I am using it to create the story for a game with visual novel elements in Unity.

    I'm using a heavily modified version of Cradle[0] and it works great.

    However, I personally had a bad experience while trying to contribute to Twine. I encountered a severe bug that made me lose all my stories and only happens if you have Twine in another language than English. I read the code, identified the issue, wrote a detailed issue and sent a PR[1]. I got no answer until a year later saying "not applicable anymore" since the app basically got a rewrite.

    At least I'm happy a lot of it got rewritten however it still seems as unstable as before, with random crashes and stories that can disappear on their own.

    [0] https://github.com/daterre/Cradle

  • NetStack

    Lightweight toolset for creating concurrent networking systems for multiplayer games

    Project mention: I want to make a simple enemy health system for a game. Should I create an interface in C# for it? | reddit.com/r/csharp | 2022-09-15

    Yeah I've used https://github.com/nxrighthere/NetStack for networking serialization, it's slick and what I'd use if it were multiplayer, I almost started implementing it here but after just compressing it was good enough for this project.

  • godot-ink

    Ink integration for Godot Engine.

    Project mention: "Ticket to Europe" - a game we've made in Godot, raising awareness of the refugee crisis in Europe, has been just approved on Steam. I'm curious, what do you think! | reddit.com/r/godot | 2022-07-31

    Did you use ink (via godot-ink or similar) to author the visual novel? Or some other interactive fiction tool? Or something entirely custom?

  • GameDevTutorials

    Houses various game development tutorials and resources.

  • SS3D

    RE:SS3D the game, another remake of SS13, but with an extra D.

    Project mention: This will be Space Station 13 in 2012. | reddit.com/r/SS13 | 2022-09-14

    You mean https://ss3d.space/ ?

  • RTCV

    Real-Time Corruptor, Vanguard, CorruptCore, NetCore2 https://redscientist.com/rtc

    Project mention: is there an app that can corrupt files | reddit.com/r/software | 2022-11-08

    Use Real Time Corruptor's Filestub. You can corrupt any file you want and you can control how corrupt you want it to be.

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-12-02.

C# Gamedev related posts

Index

What are some of the best open-source Gamedev projects in C#? This list will help you:

Project Stars
1 WaveFunctionCollapse 20,276
2 MonoGame 8,968
3 Entitas 5,935
4 Stride Game Engine 4,228
5 spine-runtimes 3,555
6 UnrealCLR 2,465
7 FNA 1,677
8 PixelVision8 1,435
9 Duality 1,330
10 SadConsole 1,063
11 com.unity.multiplayer.samples.coop 1,058
12 ReGoap 819
13 Vortice.Windows 727
14 Riptide 638
15 Myra 530
16 DefaultEcs 490
17 Raylib-cs 411
18 Cradle 276
19 NetStack 253
20 godot-ink 252
21 GameDevTutorials 234
22 SS3D 165
23 RTCV 152
Close all those tabs. Zigi will handle your updates.
Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.
www.zigi.ai