I have a simple rocket entity that travels in a straight line until it 
hits something and explodes. Since the rocket travels in straight lines 
at a constant speed all that the client needs to know is its starting 
position and angles, but I'm having trouble getting the engine to only 
network that particular data. Nothing I've tried works:

    * Standard CBaseAnimating entity
          o Sends m_flSimulationTime and m_vecOrigin in every update,
            which together create 11 bytes of useless data per rocket.
            If 16 players at cl_updaterate 30 each have one rocket in
            the air, that's 844.8Kb/s leaving the server*, none of it
            useful in any way. Standard entities also run into the
            interp problem I was talking about the other week.
    * CBaseAnimating with SendPropExclude on m_flSimulationTime and
      m_vecOrigin
          o Rocket never appears on the client, even though I set the
            AbsOrigin there with a backdoor variable.
    * CBaseAnimating with UpdateTransmitState() logic
          o Rocket disappears from client when transmission stops. Grr!
    * Temporary entity
          o Unreliable, start to be dropped if more than 32 are in a
            single update. Clearly a bad idea.

The only method I've not tried yet is a networked dummy entity that 
spawns non-networked rockets at both ends (which would pretty much be a 
reliable temp ent). Since the client isn't supposed to spawn its own 
entities I don't hold much hope for this approach either.

What on earth can I do here? Give up would be one option I suppose...

* Okay, PVS culling would help. But still...


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to