Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2003:
[Freeciv-Dev] Re: (PR#2641) islands from the client's point of view
Home

[Freeciv-Dev] Re: (PR#2641) islands from the client's point of view

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: kaufman@xxxxxxxxxxxxxxxxxxxxxx
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#2641) islands from the client's point of view
From: "Jason Short via RT" <rt@xxxxxxxxxxxxxx>
Date: Sun, 2 Feb 2003 18:44:03 -0800
Reply-to: rt@xxxxxxxxxxxxxx

Mike Kaufman via RT wrote:

>>Who should receive the packet?
>>Any client involved in the possible "change of view". That is:
>>1) Both sides of the trade route established
>>2) Both sides of the trade routes of a captured city
>>3) All the sides affected by the improvement effect (at the moment, only
>>one)
>>4) All sides for which that tiles was KNOWN.
> 
> 
> 1) and 2) only one side will get a packet. The other side will already 
> have the correct information.
> 3) will never have a packet sent.
> 4) true, and a packet is sent when that tile becomes known.

I think you are wrong about #3.  Just like with the current trade 
problem, this situation generates a special-case as well.

The issue is that each player needs to have the same idea as the server 
whether the two locations are on the same island.

In this case, suppose player#1 thinks city A is not on the same island 
as the effect.  Player#2 thinks it is.  Depending on what the effect is, 
at some point one of these players is likely to see something 
inconsistent happen (because the server decides, based on its own ideas, 
whether the effect actually applies).  And at that point a 
client-side-ai is going to be very confused.

Note that this can happen even if neither player#1 nor player#2 have 
anything to do with the effect itself.  So it could be an effect from 
player#3 affecting a unit/city from player#4.  Player#1 and player#2 are 
just watching from offshore.  But when the effect actually happens, one 
of player#1 and player#2 is going to get confused.

This is hard to explain without a good example of what the effect could 
be.  And I only have a bad example.

Say the effect is the Hoover Dam, giving a 'free' power plant to all 
cities (friend or enemy) on the continent (just as an example). 
Player#3 builds the dam, and it affects player#4's city.  Now player#1 
sends in a diplomat to investigate the city, and sees that the 
production is mysteriously increased.  This mystery confuses the AI.

This doesn't sound significant, but it is only a difference in degree 
from the current confusion.  The current confusion could be solved if 
the AI depended on server information for everything.  But it doesn't - 
it tries to calculate things for itself, and typically aborts when a 
problem happens (!).  With a different effect, the above situation could 
become a critical one and the client-side-ai would be unable to recover.

Anyway, at a bare minimum player#3 and player#4 both need to have the 
same idea of whether the effect applies.  Imagine if the effect is that 
all trade revenues are doubled...

jason




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