Dresk
02-08-2003, 04:52 PM
Greetings,
I have always been interested in knowing how exactly Everquest handles its logical player packet updating system. To be more brief, how Everquest, either on the server end or, likely not, on the client end, determines when the client needs to receive packets regarding player positions. Quake regards such logical removal of packets as VISing, which I use as an acronym from hereon.
Having used ShowEQ for more than two years now, I have noticed that player positional packets, or now updates, as packets retain the ability to combine with other packets from the netcode changes, have largely been defined as necessary when comparing the distance of a player to another player. However, as can largely be noticed in MANY of the zones in Everquest, sometimes sitting on the roof of a building, resting on a stone, or some change in the Z-axis (height, I hope it is Z) of the player DOES AFFECT if the player should receive positional updates of other players.
Given how ShowEQ primarily works, this is obviously not true for monsters, as the positional packets regarding them are typically always streamed to the client, if only not due to inconsistencies of some form. However, from what I recall, health packets, now streamed in percentiles for more efficient use of the health bar, are only streamed when the player is relatively near the creature, or has targetted it(which I believe is sent to the server, sort of on best wishes that the server receives it ASAP. Now thinking of it more, it has to be sent, since ShowEQ knows when the player targets something).
My theory is that included in the server-side zone files are also VIS areas, or zone areas, defining where players should receive player updates of other players, as long as they are in the same zone, or box. These boxes or VIS zones MUST be 3D, as I have noted and confirmed that sometimes sitting above players will rule out receiving positional updates from them. This would likely serve as the most economical system of determining player packet necessity, as it is somewhat light on the CPU and still easy to implement for the zone designers. However, as can be seen sometimes, the VIS zones are not very accurately defined.
Any comments, suggestions, theories or questions regarding this would be appreciated and welcomed.
Dresk
I have always been interested in knowing how exactly Everquest handles its logical player packet updating system. To be more brief, how Everquest, either on the server end or, likely not, on the client end, determines when the client needs to receive packets regarding player positions. Quake regards such logical removal of packets as VISing, which I use as an acronym from hereon.
Having used ShowEQ for more than two years now, I have noticed that player positional packets, or now updates, as packets retain the ability to combine with other packets from the netcode changes, have largely been defined as necessary when comparing the distance of a player to another player. However, as can largely be noticed in MANY of the zones in Everquest, sometimes sitting on the roof of a building, resting on a stone, or some change in the Z-axis (height, I hope it is Z) of the player DOES AFFECT if the player should receive positional updates of other players.
Given how ShowEQ primarily works, this is obviously not true for monsters, as the positional packets regarding them are typically always streamed to the client, if only not due to inconsistencies of some form. However, from what I recall, health packets, now streamed in percentiles for more efficient use of the health bar, are only streamed when the player is relatively near the creature, or has targetted it(which I believe is sent to the server, sort of on best wishes that the server receives it ASAP. Now thinking of it more, it has to be sent, since ShowEQ knows when the player targets something).
My theory is that included in the server-side zone files are also VIS areas, or zone areas, defining where players should receive player updates of other players, as long as they are in the same zone, or box. These boxes or VIS zones MUST be 3D, as I have noted and confirmed that sometimes sitting above players will rule out receiving positional updates from them. This would likely serve as the most economical system of determining player packet necessity, as it is somewhat light on the CPU and still easy to implement for the zone designers. However, as can be seen sometimes, the VIS zones are not very accurately defined.
Any comments, suggestions, theories or questions regarding this would be appreciated and welcomed.
Dresk