25
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 24 Sep 2023
25 points (100.0% liked)
Game Development
2814 readers
4 users here now
Welcome to the game development community! This is a place to talk about and post anything related to the field of game development.
founded 1 year ago
MODERATORS
You've clearly thought about the problem, so the solutions should be relatively obvious. Some less obvious ones:
recvmmsg
/sendmmsg
which are critical for performance unlike with TCP; note the extram
)Thanks for your reply :) This grew quite detailed and more thorough than I had expected. But I'm thankful to now have something to read up on. It will take me a while though.
There are two follow-ups:
I'd be surprised if there weren't libraries for the networking parts already. You briefly mentioned there would be for at least data types for the interfacing and wrote that I should instead use my own solution instead for said reasons. Well, are there libraries I can use for networking? What you mentioned sounds very low level.
What do you mean with point (3), where the client "should do more" than the server? The server would be authoritative and the client predicting. But, do you mean that the server shouldn't do so much heavy lifting like working with game physics?
Thanks!
io_uring
is weird; previously I wouldn't include this. On the client side it isn't needed, but that depends on how much code you share between server and client). Packet framing and serialization are really easy to do yourself and most existing tools (which usually do generate code anyway) have weird limitations or overhead.