Follow-up Comment #1, patch #4926 (project freeciv):

> Patch #4889 removed the calculation of the cost of an attack,
> instead using a flat value of SINGLE_MOVE.

It was already the case before since bug #20361 (except for pf_fuel_map,
probably because this algorithm is based on the assumption all costs are equal

Your patch seems improve that.

> Unfortunately, this isn't sufficient to allow the AI to be
> able to use Fighters effectively (or, in fact, any
> non-UCF_MISSILE fuel=1 unit), because if any action is
> performed on any tile, that tile is set to TB_IGNORE, so
> pathfinding shows that the unit would go to the tile, attack,
> and then stop, not being able to return to base.

Where do you see that the tile is set to TB_IGNORE? I see TB_DONT_LEAVE, which
is the right value currently, because as you said below, we cannot be sure
where the unit stands after a such action.

I am against allowing path-finding to make intermediate actions for the
following reasons:
* we cannot know where a unit will be after an attack, neither it is still
alive ;
* we cannot know what will be the move rate after attack (it mays depend of
the damages of the unit, and its veteran level, etc.), and handling different
move rate on the same pf_map is today far to be possible ;
* building path to attack and return to base would make the algorithm very
more complicate and slower than what it is currently.

About AI fighters: the purpose of pf_fuel_map is to allow to go to tiles the
server will make the unit automatically to refuel bases at the end of the turn
(else, pf_danger_map would be sufficient). If we want the AI fighters to
return after attack, I think the AI code should redeploying a new pf_map after

About unit escort: I think the same as for fighters. After attack, the code
should check if the unit still has move points and redeploying a pf_map (it
would pretty fast if you use map iteration).


Reply to this item at:


  Message posté via/par Gna!

Freeciv-dev mailing list

Reply via email to