Jump to content

whats causes jerkyness ??? (technical...)


Recommended Posts

looking for the board where i can write more technical related questions...but i dont see a appropriate board...

What causes the jerkyness in movement while playing MP, if you see another player move ?

Is it the frequency how his movements get updated ??? Eg. if it only gets updated (say) 10 times a second..it MUST look jerky....eg. on a 80hz screen !

I'd like to know how you coders to that internally....and (without knowing actually HOW it is done)....isn't there a way to improve the smoothness of movement ?

If the movement is only updated every so and so second.....so you could add code which "adds" the steps in-between automatically.

Say, first information is coords x10, y10.....next (positoin) information from a client is x 50, y 10.

The code now could just 'move' the character on its own (because it knows NOW "set to x 50", last position was x 10. It could just 'move' the character with 'in-between' steps from x10 to x50, eg coords X15, X20, X25, X30 ... up to X50.....instead just 'putting' the character right there.

If you have the current X, Y position and the last one then you automatically should be able to create smoother motion, just put in more steps in between.

Can you follow me ? :)

I have always wondered how the code looks...but maybe someone of you coders see what i mean and understand :)

Maybe i am also totally wrong because you already do it in a similiar way..i just dont know...

greets

Link to comment

I think the single player only draws things (cars, people, etc) right in front of you whereas multi player must draw characters on the other side of the map. That's why the more people, the more jerky it is. That's the way I see it... Doesn't make much sense... I'm sure someone else has a more "techinical" answer.

Link to comment

Yup.

It's the damn gnomes in your computer.

Ok seriously now, there's a bit more to it than plain guesswork (interpolation) or just picking mid values for mid times and playing it by ear from there. Besides that wouldn't really be solving the problem; it'd just give ppl an illusion of smoothness at the cost of plainly misleading them with player positions that could very well be untrue. Anyway, blah blah blah, long subject... Netcode improvements are the best way to solve this and that's what they're gonna do with the next release(s) I think.

Don't go there if you can't find your way back :P.

Link to comment

Lara,

Currently the packets are updated every 50ms, (20 times a second).. This usually results in pretty smooth movements buton busy servers, where packetloss is prevalent this isn't always the case.

There are methods to improving the smoothness by (as prokopis said) interpolating the data, we are researching different methods on hw to do this in the new core. Bear with us its a beta :-P

Seriously though, many of the problems you see now are lightyears beyond what they were early in the mod's development. And the new core we are working on is likely to be lightyears beyond what you guys are playing now.

Kent

Link to comment

Seriously though, many of the problems you see now are lightyears beyond what they were early in the mod's development. And the new core we are working on is likely to be lightyears beyond what you guys are playing now.

Kent

Well i didn't really see it as a 'major' problem..(at least not the #1 problem :) - i was merely wondering how this looks at the code level/

i have no doubt that you guys are working on all that stuff and keep improving :)

Besides that wouldn't really be solving the problem; it'd just give ppl an illusion of smoothness at the cost of plainly misleading them with player positions that could very well be untrue.

hmm...think. Yes and no. If you see that there is lag anyway, for some less, for some more...the player is never *really* there where he actually is supposed to be..... (correct me if i am wrong !)

And...where's the player *between* the 20ms updates ? :) From that point of view i could also argue with 'misleading position' because everytme it does NOT get updated the player (at home on the client) may move in a direction....but the MTA (and other players) get the info 'only' each 20ms.

Then (personally) i'd say interpolating it and adding a bunch more steps in between is still better than leaving a 'black hole' and do NOT move 'til the next information packet arrives. See...the problem is the same !

Also, i think the timeframes (we're talking milliseconds here) would be too short that a interpolated position would introduce major 'errors' or something. Not if every 20ms a 'real' position is received anyway.

But i can tell you it would (probably) look much better, especially for things like helicopters..but as said....almost positive they're all working on that stuff already :)

Edit: i mean 50ms of course :)

Edited by Guest
Link to comment

interpolating packets is somehting almost eveyr multiplayer game does...

we just havne't implemented it yet, for several reasons, but we are getting to a point now that we can concentrate on those sorts of things

Link to comment
its not a matrix problem and it is in directX....

its a problem with how the actor binds to its shooting algorithm. We are working on trying to fixit.

ok... nevermind... sorry if i seemed aggressive :wink:

mta is cool anyway... i can imagine other difficulties that had to be 'bodged' around

Link to comment
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...