|
i've been writing a game server for fun with a protocol largely modeled off of old MMOs. basically i keep a big table of opcodes to define different kinds of messages, and then I use protocol buffers to serialize/deserialize my data from my server (Erlang) to my client (Godot). this seems to be fairly efficient and work pretty well for the type of game that i'm building (multiplayer SimCity-esque game). for my purposes im happy with this, but I was wondering what is the 'modern' way of approaching things? do people tend to just grab RPC frameworks off the shelf or do most AAA (MMO) titles do something entirely custom?
|
# ¿ Aug 15, 2020 18:59 |
|
|
# ¿ Apr 19, 2024 21:26 |
|
Hughlander posted:How I've handled that is a deterministic engine that's running in client and server. Client sends a command to the server, server validates it and gives an output, client already simulated it as soon as the command went to the server and if the outputs are right everything goes on, if they're wrong, there's a weird desync (bug/hacker) and you re synchronize with server authoritative. Having client/server in different languages will obviously have problems there. yeah i'm definitely trying to be careful with things that may differ significantly in language implementation. especially floating point numbers and how those get handled by the client and server. other things are fairly easy to predict and account for. ie in my essentially tile-based game, client sends its intent to perform an action on a tile, assumes it will be complete, server sends an authoritative yes or no back to the client. if the server disagrees, client fixes the local view appropriately. that brings me to another question actually: if you had a networked, top-down 2D type of world with free movement (think 2D Zeldas or whatever), how would you ensure players aren't walking through walls etc? would your library running in the server need to load up the world geometry and do the whole simulation server-side? i guess it must?
|
# ¿ Aug 16, 2020 02:45 |
|
I think in the late 90s, early 2000s especially there were some commercial soundpacks floating around that got reused over and over and over. I've heard the classic Everquest ding in so many radio, tv ads and other media.
|
# ¿ Jan 24, 2021 00:03 |