I was wondering, has anybody created a networking system for use with MonoGame that is open source?
I was thinking to tackle this sometime this year and make it available to all MonoGame developers… the reason being I could do with some optimisation tips and giving the engine for free might help more developers get the networking aspect out of the way in order to make a great game using MonoGame and get it out the door faster…
Personally I am not a fan of Open Source code bases, just too much work to deal with but something like this, a component that benefits all, I think will be worth the effort… Plus I can get some experience with GitHub and that will be a bonus I suppose as it is something I will have to do at some point…
However my focus - and it must be said - will be on the UWP platform implementation, meaning all UI code will be specifically for UWP Windows 10 and beyond, however the backend will all be in C#.NET code so perhaps a sub team of contributors can recode a sub project for cross platform?
I would prefer to have this separation as PCLs [Portable Class Libraries] require the project to be supportive of all platforms however my projects will strictly be Windows 10 only… so a dedicated code base is all I need… [In future I may port to iOS and MacOS platforms but LINUX is too messy for me, so a simple duplication and UI code change will be simple] but again, I believe the project will get the support it deserves as it will benefit all current and future MonoGame developers and anybody using C#.NET in general…
Understandably the variations in requirements will be vast but if designed appropriately it can support various use case scenarios… and the idea is for it to be usable for even beginners to use without the complication of vast components to trawl over… so modularity will likely be a core component of the project…
OK before I waffle on, here is an early list of requirements I can think of that will be key:
Simple to implement with full instructions, possibly become a NuGet package in future,
Flexible for various use cases such as Strategy Games, FPS Games, Racing Games, Fighting Games etc.
Implementation should be as easy as placing a single directory into a project and interfacing with commands in the main loop type thing… while being able to set up the interface style in a single method…
Well, I need food, not had lunch yet and it is freezing here in Manchester at the moment…
I know this can be done because a project such as MikeNET exists and I find it overly cumbersome to get started… so I want to build a system that is easier and much more simplified and better documented… but again, my coding skill is not top notch and I am more an architect than a coffee coder…
Let me know what you think…
I just posted a detailed linkage over in the UMGRL thread on MikeNET