How many security flaws are in Windows that we're all "living with" because we don't know they're there?
You see, it has been a problem, particularly for me because I've had several very vocal Quake World players nagging me to implement the "tighter Quake World SSG spread pattern". Well after playing Quake World online, being the complete noob that I am in regards to Quake World, I took them at their word, and wondered why my SSG blasts did zero damage to people at longer ranges even though the pattern was dead on them. That kind of deception in game behavior may be a non-issue for die-hard, old-school Quake World players, but some of the people who wanted me to implement this pattern are die-hard, old-school Quake World players, and even they did not know this was a bug. I could have wasted a lot of coding time trying to replicate a behavior that's the result of someone's bandwidth-saving hack.
I just nosed around the Quake source. The problem is that Quake's multicast function only allows two pieces of information to be included: a vector (origin point) and a MULTICAST_PVS value, which determines what clients should receive the event. This is similar to Quake 3 Arena's temporary entity function, however Quake 3's temporary entity sends an actual entity that can have any entityState variables set that a normal entity can. In order to do this, the multicast function would need to be able to send an extra integer and a direction vector in order to properly pattern the gun. I don't know off the top of my head if you could cram that much into a Quake multicast message or not, it would require more research (including test compiling) than I'm interested in doing.
|