#Server vs Client score calculation

1 messages · Page 1 of 1 (latest)

analog elk
#

Hello, I'm working on a competitive rhythm game similar to osu!mania in Roblox. I’m debating between two server-client architectures for score handling :

  1. The server calculates and stores the score in real-time, sending the validated judgment and score updates to the client for display.
  2. The client calculates and displays the score locally during gameplay, sending only input events (like key presses) to the server, which independently validates and calculates the final score at the end of the game.

Which approach is generally considered better for a competitive multiplayer game in terms of security and performance ?

#

I tried to write well, but I’m not a native English speaker

urban peak
#

"security" and "multiplayer" in the same sentence means server authority

analog elk
urban peak
#

lots of requests doesn't really matter, it's the quantity of data being sent that matters. which isn't all that much here

#

i.e 1kbyte/sec over 1000 requests is nothing.

#

1mbyte/sec over 1 request is insane

analog elk
urban peak
#

sending inputs would cost more than your score

analog elk
# urban peak sending inputs would cost more than your score

How I do it :
When the client presses a note, it calls the server. The server checks the time it receives the input. It then calculates the judgment based on that timing and the expected note. After that, the server sends back the judgment and score for that note

urban peak
#

ye sounds about right

analog elk
#

So it's not overcost in network request i can go full server ?

urban peak
#

but generally yeah should be fine