I have implemented a simple client/server multiplayer “move-a-dot” game.
I currently do all the simulation server side. Client sends keypressed, keyreleased messages. Server updates simulation 30 times a second and sends out a packet
to each client containing absolute positions of all clients.
Now when I run this I get horrible jitter and it isn’t due to lag (on my own machine I can easily increase the tickrate to 60hz without problems).
First I thought of simply doing some delayed client side interpolation, but it doesn’t work that well since player movement on the client is initiated when the server
starts spewing position packets back. (its a glorified telnet client )
I am using TCP (naggle off) but can’t see how changing to UDP would help since my client is capable of receiving 30 packets a second quite well, at least running locally.
After searching this excellent forum for similar issues my question is this:
Is there an easier way to get rid of this problem other than implementing full client side prediction/dead reckoning?.
Now I don’t mind learning to implement the aforementioned techniques but it was my impression that they were only seriously needed for game state updates occurring less than 20 times a second?.
In other words am I missing some obvious way of eliminating the jitter?