One thing that has been on my mind today and was wondering what the community had to say is about multiplayer lag when the server is slowing down. I am currently working on a ‘always online’ game currently and have not experienced this yet but i know it can be a big issue for dev’s and players alike, now this is my thoughts.
The lag we all experience in games when we get FPS drops or stuttering in your player movements seems to be when a your client sends data to the server to make the player move and the server replies to say there ok to move (this is to stop players moving to fast with hacked clients or wall hacking) and if the server gets too overloaded it begins to slow down this process causing jitters in the movement or full on player lag, but i may have a easy fix (not been done yet since i have not got there but its a brain teaser).
What if when the client detects lag and packets are getting lost then why not make a array for every packet is lost and then send the array and if the array is not sent keep building it up until it gets a ping back and when that has happend clear the array and continue as normal. and through all this allow the player to move freely (only using client based block collision so hackers could temp move through walls but now untill the data has been processed by the server).
Any thoughts on this? i understand that this is a head ach and there is a few holes in the idea that can be fixed but what are your thoughts?