ID:161485
 
I have several objects that are synchronized with a player.

Now, offline, these objects are of course synchronized perfectly.

Online though, they appear choppy, and bad. They ALWAYS end up in the right place, but they just don't seem to do it fast enough, or the player isn't updating fast enough, or something. Sometimes it looks like the objects move before the player moves (and I'm using instant move). Sometimes not.

This is all in the fraction of a second.

Advice? I kind of just want all this stuff to happen at the same time.


A thing I've noticed though, is that .configure delay doesn't actually delay anything except for when the game actually moves your character's graphic from one location to another. I know this because the proc that controls the synchronization spawns off during the movement of the player, and all the synchronized entities will continue to follow your key presses without ANY delay at all.

Not sure exactly what you're talking about, so I can't help you with your problem.

I will say, however, that .configure delay isn't just a graphical effect. I believe it delays client-server communications, and the biggest issue is that src settings are not verified server-side, so you can get errors like:

obj/somegreenplantyoufound
verb/eat()
set src in usr
usr << "You eat the plant. Why would you do that?"
Move(src,usr.stomach)


a delayed client can call that multiple times before it registers that it's been moved away, and the client will continue to process the commands even after they're no longer valid.
In response to Garthor
How can the client server connections be delayed if the move proc's communication was still getting through to the server without delay?
In response to Obs
Well, I haven't spent much time tooling around with it. It might be related to the framerate (gamestate frames, not graphical frames) that the client is receiving.