GameNetworkingResources
Riptide
Our great sponsors
GameNetworkingResources | Riptide | |
---|---|---|
9 | 4 | |
6,733 | 1,023 | |
- | 2.4% | |
5.3 | 8.8 | |
about 1 month ago | 3 months ago | |
C | C# | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GameNetworkingResources
- A Curated List of Game Network Programming Resources
- Q: How are online games like Street Fighter 6 able to synchronize inputs from two players at a high frame rate? (60fps)
-
Useful resources and guidelines for Multiplayer and Networking? (PvE)
The list maintained here favors content for actual game developers: https://github.com/ThusSpokeNomad/GameNetworkingResources
- Where to start with online multiplayer?
-
How to become a Game Network Programmer?
Here is a list of resources: A Curated List of Game Network Programming Resources
-
How often should i send packets of data to the server/client?
Check these articles here to learn how game netcode works. The answer to your question (and a lot more) will come naturally after a bit of reading. https://github.com/ThusWroteNomad/GameNetworkingResources
- Resources for writing game servers
-
How Do Video Games Stay in Sync? An Intro to the Fascinating Networking O (Cont)
Honestly this is all largely a completely solved problem space. The article is just way out in left field seemingly fully oblivious to how game netcode currently works, which certainly isn't with AI prediction.
Look at actual game engine docs like this one from Valve https://developer.valvesoftware.com/wiki/Latency_Compensatin... or this one from Halo https://www.halowaypoint.com/news/closer-look-halo-infinite-...
But tldr is the only thing a client ever predicts is their own inputs, which of course can't really ever end up wrong later on. There's no other prediction happening (eg, the position of other players is not predicted)
And then for anti-cheat/optimization purposes the server also only sends positions for enemies that could be visible soon, which is done by taping into the same map chunking logic that would be used for asset streaming.
There's a ton of other great resources on this topic here https://github.com/ThusWroteNomad/GameNetworkingResources
But you'll find they all largely do the same basic thing. There's nuance in some of the rules and what state is replicated and what isn't (such as server side or client side ragdolls), but the general architecture tends to be the same. And without a fundamental shift in connectivity, seems pretty unlikely to change.
-
In what order would you add features for an MMO?
https://github.com/MFatihMAR/Game-Networking-Resources (This is a list maintained by someone else, and it has some amazing things in it, and far more technical leaning than what I maintain).
Riptide
-
Netcode help
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
-
Multiplayer game question.
There is a package in Package Manager inside Unity Registry called Multiplayer HLAPI or use a low-level Networking API like RiptideNetworking it would be better else just use some other Networking API that you mentioned - Photon or Mirror I had experience with Photon I didn't use Mirror
- Thoughts on Tom Weilands Riptide multiplayer solution?
-
How to make a multiplayer system like among us
Sadly I’m not personally aware of any tutorials for those networking systems but there’s a new open source networking library by Tom Weilandwhichhe’s making video tutorials about.
What are some alternatives?
UnityDoorstop - Doorstop -- run C# before Unity does!
com.unity.netcode.gameobjects - Netcode for GameObjects is a high-level netcode SDK that provides networking capabilities to GameObject/MonoBehaviour workflows within Unity and sits on top of underlying transport layer.
2DGD_F0TH - [CC BY-NC-SA] A compendium of the community knowledge on game design and development
AssetRipper - GUI Application to work with engine assets, asset bundles, and serialized files
netmon_cli - A simple and lightweight terminal packet sniffer.
Mirror - #1 Open Source Unity Networking Library
unity-libs-nuget - Template for generating stripped Unity game libs nugets
web3.unity - 🕹 Unity SDK for building games that interact with blockchains.
mc-mesher - marching cubes mesh generator for c++, c#, and unity
ENet-CSharp - A improved fork of ENet, a tried and true networking library. C, C++, C# compatible.
nanoem - nanoem is an MMD (MikuMikuDance) compatible implementation and its like cross-platform application mainly built for macOS.
NSMB-MarioVsLuigi - Standalone Unity remake of New Super Mario Bros DS' multiplayer gamemode, "Mario vs Luigi"