Complete.Org: Mailing Lists: Archives: freeciv-dev: July 1999:
Re: [Freeciv-Dev] Idea for 2.0

Re: [Freeciv-Dev] Idea for 2.0

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Peter Schaefer <schaefer@xxxxxx>
Cc: Freeciv Dev <freeciv-dev@xxxxxxxxxxxx>
Subject: Re: [Freeciv-Dev] Idea for 2.0
From: Greg Wooledge <wooledge@xxxxxxxxxxx>
Date: Sat, 17 Jul 1999 10:14:08 -0400

Peter Schaefer (schaefer@xxxxxx) wrote:

> The server could store shadows of units for each unit a 
> player has ever seen. A shadow would be a unit with the time it has been
> spotted(this would be the location it moved to last). 
> The server could clean up duplicates( units spotted in one place
> that have been spotted elsewhere. )

But how would the client know that the Musketeer it sees now is the same
one that it saw 20 turns ago and 15 squares away?

What happens if that Musketeer is killed, disbanded or upgraded to
a Rifleman?  Or changes ownership (either through diplomacy or bribery)?

I could be wrong about this, but I don't think this issue can be handled
at the unit level.  I think it has to be handled at the map/tile level.

E.g., on turn 73 the Babylonians see a full-health Egyptian Musketeer
at coordinates (17, 20) and then lose sight of him.  The Babylonian
client map should continue to show this Musketeer at full health
(possibly with some visual clue that the tile is not directly visible,
and is thus "fogged").  On turn 77 the Babylonians return to the area
and see a wounded (say, 60%) Egyptian Musketeer at coordinates (19,
16).  This should not erase their "fog map" knowledge of an Egyptian
Musketeer at (17, 20), until the Babylonians regain sight of that tile.
The Babylonians have no way to know whether this is the same Musketeer
unit or a different one.

> Please try it this way :-)  Both client and server update shadow information.

Yes, that's what I've been trying to say for the last couple days. ;-)

Greg Wooledge                    | Distributed.NET
wooledge@xxxxxxxxxxx             | because a CPU is a terrible thing to waste. |

[Prev in Thread] Current Thread [Next in Thread]