On Sat, Dec 08, 2001 at 07:47:16PM +1100, James Cameron wrote:
> On Sat, Dec 08, 2001 at 02:07:52AM -0500, Mark Mielke wrote:
> > Or is it fixed in stone, and we wouldn't want to change it?
> I'm quite happy to store away an #ifdef'd change that would be used
> by expert server owners who wish to test cooperating robots as part of
> an academic exercise ... but it won't likely ever be defined on the
> main servers used for pickup play.

In this specific case, we wandered off robot talk to another off by
almost 1 Netrek flaw. I mentioned how the server does +/- 1000 with
the intention of putting '??' on the galactic off by a few pixels, but
that the algorithm used to do so did not take into account the fact
that all clients round down, instead of rounding evenly.

My original claim was that 25% of the time, the '??' would show up
more to the top, and that 25% of the time, the '??' would show up more
to the left. Trent corrected my numbers. There isn't 4 possible pixel
positions on the galactic for a cloaker that isn't moving. Each pixel
represents a distance of 200, so the intention is that there is
actually the potential of being "off by up to 5 pixels in either direction",
offering 10 potential pixels that the cloaker could be displayed at.

Unfortunately, the problem still remains: (Range is -1000..999)

    -1000, -800, -600, -400, -200, 0, 200, 400, 600, 800
       5     4     3     2     1   0   1    2    3    4

This time, however, after Trent's correction, the issue is somewhat
reduced.  Instead of the extra location being 1 of 4 positions, it is
1 of 10 positions.  The client may draw the ship up to 5 pixels left
or up from the actual location, but only 4 pixels down or right from
the actual location.

The three options, of course, are:

    1) Leave things as they are -- nobody cares, or it might affect gameplay.

    2) Fix the server to know how the client rounds, and modify the position
       generating algorithym to skew the numbers to the positive by 100.
       Instead of 10% of the time it being off by 5 to the left, have it
       be 5% of the time off by 5 to the left, and 5% of the time off by 5
       to the right.

    3) Fix the client to round. (The only reason why this might not be
       advisable is that the client doesn't round anything... this includes
       planets, ships, players, torpedoes, ... - suddenly adding rounding
       for one item would put the location of the other items off by up
       to one pixel)

As it is, the robot doesn't care about pixels on the galactic, so this
does not directly reply to it.

mark

-- 
mark at mielke.cc/markm at ncf.ca/markm at nortelnetworks.com __________________________
.  .  _  ._  . .   .__    .  . ._. .__ .   . . .__  | Neighbourhood Coder
|\/| |_| |_| |/    |_     |\/|  |  |_  |   |/  |_   | 
|  | | | | \ | \   |__ .  |  | .|. |__ |__ | \ |__  | Ottawa, Ontario, Canada

  One ring to rule them all, one ring to find them, one ring to bring them all
                       and in the darkness bind them...

                           http://mark.mielke.cc/