Hi everyone,
This is my first post here, but hopefully not the last one (and hopefully I'll be able to provide support rather than asking for it shortly).
I'm a software engineer with a few years of experience, working predominantly with C# (but also other tech stacks).
I'm very keen to learn more about game dev and figured that the best way to do that in my case would be to look at some good examples.
And so here I am: I'd like to ask you guys if there are any example games (MMO) / game servers that you'd recommend me to take a look at in my pursuit of knowledge? What I'm interested in finding is the libraries and project structures most suitable for use in game dev (server side) and certain techniques specific to building real-time game server.
Ideally I'm looking for .NET Core / C# examples, but Java, Go or Rust would do too. The aspects I'm interested in the most are networking, communications (protocols, encryption, etc.) and state management.
While I have a pretty decent idea how I could approach it, I also value the lessons that come from people who've been there before me.
Thanks in advance!
If you want to stick to C#, you will probably stick to unity or Godot as your game engine.
I would say, the next question then is: Do you want to write your dedicated server code, or will you use the game engine for your server application as well. Writing the server application with .NET will most likely result in better performance/scalability than using the game engine. However, if you need a lot of components of the engine (like physics) or want to develop in the same environment you might be better off with using the engine.
Really appreciate your input. After a lot of reading I'm considering C# or Rust (for the server side) and C# + Unity / Godot (I'm familiarising myself with both to make an informed decision) for the client.
This also implies that I intend to build a server application rather than using a game engine. My priority is not building a complete, complex game, but rather learn as much as I can by going as low-level as it usually takes.
I had a look at the benchmark briefly (checked the libraries and yet to look at the actual results). Is there a reason why your benchmark doesn't include is the first library I found that does networking specifically for game se
Worth noting: These are tile based servers that runs 100% of the game logic on the server side.
Anything that isn't tile based won't fit this (thorough) model, in which case you'll instead have to come up with sneakier models that just tries to catch cheaters when they're doing something fishy (walking through walls, walking too fast, teleporting, levitating, shooting through walls, etc).
The best library I ever found for .Net is NetCoreLib. It is small and doesn't need/use any native code as you anyways have to implement package logic for your specific needs. It also comes with a lot of example server/client implementations
Although free and accessible to anyone, a Wizard101 private server is is not run by KingsIsle Entertainment. This means that anyone can make changes to the game, including adding new features or removing old ones.
a71949beef