GameNetworkingResources
builder
Our great sponsors
GameNetworkingResources | builder | |
---|---|---|
9 | 23 | |
6,758 | 540 | |
- | 0.7% | |
5.3 | 7.1 | |
about 2 months ago | 15 days ago | |
C | Handlebars | |
- | 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).
builder
-
Official Stormgate Gameplay Reveal AMA Thread with Frost Giant Studios
We have a partnership with Hathora (https://hathora.dev/) so that our infrastructure can scale globally with high performance so we can provide the best user experience possible despite the realities of playing games over the internet. We also have some big plans around using rollback that we've covered elsewhere that we're cautiously optimistic about.
-
Game Development Resources for Intermediate Developers
For multiplayer/server-less games, try Hathora
-
Show HN: Building an infinitely scalable multiplayer game
I cofounded Hathora (https://hathora.dev/) last year and we've been working on making it easier for smaller teams and individual developers to build scalable multiplayer games. We think the serverless model is the simplest approach, allowing you to dynamically provision a new instance of your game server when users or your matchmaker requests a new session.
We made this .io style demo to showcase this approach, and we're releasing the source code and documentation alongside with it.
-
Multiplayer hosting and scaling
Hey I'm the creator of https://hathora.dev/ which aims to provide a super simple deployment and scaling experience for session-based games. It's based on containers and can deploy any kind of game server. Check it out and see if it meets your needs!
- Hathora: Serverless cloud platform for multiplayer games
-
Scalable WebSocket Architecture
At Hathora, our mission is to make it easier for developers to build, launch, and scale multiplayer games. One of the core technologies we have built is the Hathora Coordinator, which is our fully managed multi-tenant implementation of a Stateful Router.
-
Ask HN: Any solo game developers here?
Hi there! I started a company this year focused on multiplayer server infrastructure. We also built a multiplayer game framework for Typescript that has gotten 400+ stars on Github in the past few months: https://github.com/hathora/hathora
Would love to connect and exchange notes about multiplayer development -- if you're interested, my email is on my profile.
- Ask HN: What stack for a multiplayer board game?
-
How Do Video Games Stay in Sync? An Intro to the Fascinating Networking O (Cont)
I've been working on my own realtime networking engine[0] and I think there are a few important points related to network syncing that are not mentioned in this article:
1) Bandwidth. The users internet can only handle so much network throughput, so for fast paced games (where you're sending data to each client at a rate of 20+ frames per second) it becomes important to optimize your per-frame packet size. This means using techniques like binary encoding and delta compression (only send diffs).
2) Server infrastructure. For client-server games, latency is going to be a function of server placement. If you only have a single server that is deployed in us-east and a bunch of users want to play with each other in Australia, their experience is going to suffer massively. Ideally you want a global network of servers and try to route users to their closest server.
3) TCP vs UDP. Packet loss is a very real problem, and you don't want clients to be stuck waiting for old packets to be resent to them when they already have the latest data. UDP makes a major difference in gameplay when dealing with lossy networks.
[0] https://github.com/hathora/hathora
-
Do you want or plan to make a multiplayer game? What is stopping you?
I built a bunch of multiplayer games in the past and am now working on a framework to try and make it easier for others to do so: https://github.com/hathora/hathora
What are some alternatives?
UnityDoorstop - Doorstop -- run C# before Unity does!
adama-lang - A headless spreadsheet document container service.
2DGD_F0TH - [CC BY-NC-SA] A compendium of the community knowledge on game design and development
nakama - Distributed server for social and realtime games and apps.
Riptide - Lightweight C# networking solution for multiplayer games.
Godot Card Game Framework - A framework which comes with prepared scenes and classes to kickstart your card game, as well as a powerful scripting engine to use to provide full rules enforcement.
netmon_cli - A simple and lightweight terminal packet sniffer.
gridia
unity-libs-nuget - Template for generating stripped Unity game libs nugets
platelet - Dispatch system for emergency volunteer couriers.
mc-mesher - marching cubes mesh generator for c++, c#, and unity
among-us-tutorial