Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2003:
[Freeciv-Dev] Re: (PR#3467) AI idles fortifying units that do not move
Home

[Freeciv-Dev] Re: (PR#3467) AI idles fortifying units that do not move

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: per@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#3467) AI idles fortifying units that do not move
From: "Gregory Berkolaiko" <Gregory.Berkolaiko@xxxxxxxxxxxx>
Date: Wed, 19 Feb 2003 01:18:26 -0800
Reply-to: rt@xxxxxxxxxxxxxx

Quoting "Per I. Mathisen" <per@xxxxxxxxxxx>:

> After I had _finally_ fixed this age old problem in the AI, it reappars.
> The culprit is the new explorer code, which does this
>
> bool ai_manage_explorer(struct unit *punit)
> ...
>   /* Idle unit, since otherwise handle_unit_move_request fails!
>    * TODO: Fix it and remove this idling */
>   if (punit->activity != ACTIVITY_IDLE) {
>     handle_unit_activity_request(punit, ACTIVITY_IDLE);
>   }
>
> All AI military units that don't know what they can do try exploration,
> and so lose their fortification status. This is very bad. Please fix it.

It is on my TODO list.  But it is long.  Cameron, where are you?  You
promised to have a look at it ;)  If you want to have a go, we need to
discuss the details.

Now let's deal with you, Per ;)  You are a sinner too but you might be
unaware of it.  When you "finally fixed this age old problem", you broke
the explorer code.  Not fatally, but wounded it severely.  The problem was
that it couldn't call ai_unit_goto or whatever it was and had to go one
step at a time, recomputing warmap at each step (and you know how fast
that is).  This is why idling reappeared.

Also, I recokon it's sensible to fortify units after they've done
exploring and not before.  Although I guess what you are talking about is
that they attempt to explore, don't find anything but the fortifying is
disturbed anyway.  So my nag isn't valid... Oh well, at least I tried...

G.




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