by Spike » Mon Jan 25, 2010 2:11 am
- What about reading input for movement? How crazy complicated is it? I'm guessing this is kind of tying in with clientside prediction of movement :P
Prediction works thusly: The client generates input frames in a list. Its a ring buffer, basically. You grab the frames from 'acknowledged' to 'current' and apply those input packets to the state of the player. The result is your predicted player.
In a server-less environment you can use the same builtin, but go from 'last frame' to 'current', then save off current as last frame so as to avoid duplicates. (normally acknowleged increases in jumps or so).
- I actually meant pvs like monsters seeing you or not, gameplay related stuff basicly.
There's an fte extension builtin which will give a quick pvs success/fail result if really needed. Its not specifically csqc.
monster's sight is traditionally implemented using tracelines, not pvs.
- Bmodels are collideable and can push stuff?
bmodels are solid, but in the base csqc spec they do not push (this is because there is no .movetype support in the base csqc spec - and thus no think/nextthink either, although that's not always an issue - it was meant to be a followup extension as the engine needs a lot of code, and I wanted a spec that was remotely plausable without rewriting the entire engine from scratch straight off).
.