Haven't done too much these past few days, as I've been caught up in Real Life again (nothing bad or catastrophic, just going out and having fun with friends), but I did manage to add in the Point Parameters based round particles, and a few other things. If memory serves, square particles are still the default for the "Traditional Mode" toggle in the menus, but they can always be set to round subsequent to that (did I mention how easy my new menu system makes it to add new options - no more messing around with _Key and _Draw functions - yippie!) The square particles also use Point Parameters, by the way; they just don't enable GL_POINT_SMOOTH during the setup.
Based on an ongoing discussion on Inside3D I've made some small adjustments to the protocol for Single Player games only. I'm not going to make any adjustments to the Multi-Player protocol until I see what comes out of those discussions, but things seem to be moving in a good direction and this time we might have a chance of something good and useful emerging. The Quake engine community is, and always has been, too fragmented, and now that there are fewer players involved, maybe it's time to start nailing down some good solid standards for things like this. We can still all be free to fly off on our own tangents with a lot of things, but when it comes to something as fundamental as how two different engines talk to each other, we need a standard set in stone. No messing can be allowed.
One concern I have is that it will degenerate into squabbling over which ideas are best, and end up getting nowhere. We have to be prepared to accept that we need a fundamentally solid standard that we can all move forward with, rather than getting lost in the Eternal Quest for Absolute Perfection (TM). That's no use to anyone, and we end up right back where we started with nothing to show for it but a whole heap of wasted time and energy.
Anyway, moving on to what I've done; I've changed the way the server side and the client side work with baselines a little. Instead of setting a once-off baseline on connection, MHQuake now tracks the previous state on a continual basis. Only if the previous state changes is an update sent. Tests show that this halves the amount of communication quite effectively.
As I said before, this change is for Single Player only. As it requires changes on both the client and the server (as both track the baseline) it's not suitable for when two different engines talk to each other. In such cases, the default behaviour is used, and the initial baseline is tracked.
More to come on this front, including increases in the maximum datagram size, which should really help with playing those massive SP maps out there. MP will stay the same as default Quake, pending agreement on a new standard protocol (and also pending agreement on a protocol negotiation method so that both client and server can figure out which protocol they should be using).
One final observation - my removal of the limit on the maximum alias frames isn't worth anything without a protocol change, as the current frame is sent across in a byte value. Still, it feels like it was the right thing to do, so I don't really mind.
Saturday, August 2, 2008
Updates
Posted by
mhquake
at
11:55 PM
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment