Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TCP vs UDP



>>>>[From Tero Jyri Michael Pelander]
    
    Example on UPD error:
    
    The map looks like this.  @@ is player
    a1 a2 a3 a4 a5
    b1 b2 b3 b4 b5
    c1 c2 @@ c4 c5
    d1 d2 d3 d4 d5
    e1 e2 e3 e4 e5
    
    Now the player tries to move east but the returning MAP message is dropped
    out by net.  After second move (this time successfull return message)
    the map looks like:
    
    a2 a3 a4 a5 a7
    b2 b3 b4 b5 b7
    c2 c3 @@ c5 c7
    d2 d3 d4 d5 d7
    e2 e3 e4 e5 e7
               ^ missing line
       ^  ^  ^ these lines should be one more left.
    ^ this should no longer be visible


You're neglecting my other proposal, which is that "updates" as far as
mapping goes, use absolute coordinates, and tell client what "center" is
reguarded as.

With that in mind, if a client moves a player from (3,3) to (5,3), and
receives only a map which has center of (5,3), the client knowns enough
to ask for a map refresh.

This simultaneously handles the case of "lost" packets, and
"out-of-order" packets.

Yes, handling some of the details gets a bit complicated. But it will
majorly improve the speed of the game.