[sldev] movement within the client
Lawson English
lenglish5 at cox.net
Mon Dec 31 19:11:07 PST 2007
Callum Lerwick wrote:
> On Mon, 2007-12-31 at 15:06 -0600, Argent Stonecutter wrote:
>
>> On 2007-12-31, at 14:06, Callum Lerwick wrote:
>>
>>> (And of course we can and should always ask the question, "How does
>>> Quake 1/2/3, Doom3, HL 1/2, Unreal etc etc game engines handle this?",
>>> they've been doing this for years... AFAIK a major difference is they
>>> all perform collisions/physics simultaneously on the client and
>>> server,
>>> and resolve any de-synchronization by holding the server
>>> authoritative.)
>>>
>> Would that require making Havok part of the client code?
>>
>
> Good question, actually. I'd like to know how Doom3 (Which is apparently
> "id Tech 4" now) and Source handle this. Do all clients really perform
> full physics simulation? Is the physics simulation predictable enough to
> do this on large numbers of colliding objects? The Source engine is
> Havok based, actually. However John Carmack has to reinvent the wheel as
> usual.
>
> Still, full client prediction of physics is orthogonal to the
> functionality I/we want. Better client prediction would be nice. The
> "fall through the ground then suddenly pop backwards" thing that happens
> in laggy situations, especially when crossing sims, especially in
> vehicles, is really annoying and I don't even understands why this
> happens. Is the client simulating gravity? As well as the "walk forever"
> thing that happens. The client does not seem to have any code in it that
> does something like "I have not received any updates from the sim in x
> seconds/milliseconds, I should stop moving the avatar as it is likely
> not what is intended by the user".
>
Actually, I've seen it where the client ends up walking into the AIR as
it crosses the sim border rather than sinking: it sinks crossing one
way, and rises, crossing the other.
To make sim-crossing issues 100% reproduceable (last time I checked), go
purchase Qarl LInden's ant for $1L from his maze in Q and wear it as an
attachment. The full perms version that you can find floating around
doesn't do this --I know, I've checked. Code Tracer and I spent many
hours verifying the behavior at various problem sim-borders.
Lawson
More information about the SLDev
mailing list