<URL: http://bugs.freeciv.org/Ticket/Display.html?id=39949 >

> [EMAIL PROTECTED] - Fri Dec 07 16:44:37 2007]:
>     I was playing on a hex tileset.  It was early in the game.  I
> had a size 2 city on plains.  At the end of one turn, two enemy (AI)
> chariots moved into one of the outermost tiles of that city (two
> tiles away from my city center).
>     IIRC, the AI already knew where my city center was.  So I
> assumed that those chariots were headed towards it to capture it.
>     Coincidentally, my city had just finished making a phalanx on
> that same turn.  So, because it was new, that phalanx did not have
> time to finish fortifying itself before the next turn.
>     My city did *not* have city walls.  And I had no other units
> nearby that could reach my city (to reinforce it) before the
> chariots could attack it (on the next turn).
>     The future looked bleak for my city and its phalanx.
>     I figured that the phalanx (that was in my city) might survive
> one attack from a chariot.  But it seemed unlikely that that phalanx
> would survive two chariot attacks on the same turn.  And, if that
> phalanx lost either chariot battle, then my city would fall into
> enemy hands.
>     Since I couldn't save the city, I decided to save the phalanx.
> I moved it out of the city center and onto an adjacent mountain
> tile.
>     That left the city undefended.  So, on the next turn, one of
> the enemy chariots could have just marched into my city and
> captured it.
>     But that is *not* what happened.  Instead, on the next turn,
> both chariots attacked the phalanx on the mountain.  Both chariots
> lost their battles.  So both the city and the phalanx survived.
>     Why did this happen?  I believe that it was a combination of two
> factors:
> 1) Zone of control (ZOC) exerted by the phalanx restricted the
>    movements of the chariots.
> 2) The AI could not see the circumvention to that ZOC movement
>    restriction.
>     The following map may help explain this situation:
>          ____
>         /    \
>    ____/  A   \____
>   /    \      /    \
>  /  D   \____/  B   \____
>  \      /    \      /    \
>   \____/  E   \____/  C   \
>   /    \      /    \      /
>  /  H   \____/  F   \____/
>  \      /    \      /    \
>   \____/  I   \____/  G   \
>   /    \      /    \      /
>  /  K   \____/  J   \____/
>  \      /    \      /    \
>   \____/  L   \____/      \
>        \      /    \      /
>         \____/      \____/
>     The city and the phalanx were in tile I.  The chariots first
> became visible to the city when they entered tile B.
>     Tiles C and G were ocean.  Tile F was mountain.  The rest of the
> tiles were flat terrain (grassland, plains, etc.).  There were no
> roads on any of these tiles except for I (i.e. the city's center).
>     The phalanx evacuated from the city by moving from I to F.  On
> the next turn, instead of heading towards the city, both chariots
> attacked from B to F (i.e. they attacked the phalanx on the
> mountain).  And, as I said, both chariots lost that battle.
>     (Why would chariots attack a phalanx on a mountain anyway?
> Because it was there? :-)  But that is a different AI problem.)
>     So apparently the AI did not see the tactic that many human
> players would see.  I.e. first move one chariot from B to A and then
> move that same chariot from A to E.
>     Then move the second chariot from B to E (which the phalanx's
> ZOC no longer blocks - because of the chariot now sitting on E) and
> then from E to I (which the phalanx's ZOC does not block because it
> is a move *into* a city).
>     If the AI had done that, then I would have been impressed.  But
> it didn't.  Too bad.  (Maybe Freeciv's AI is smarter now.  I don't
> know because I haven't tested it lately.)
>     It seemed to me that this is an interesting challenge for an AI.
> So I'm finally posting about it now - in case there is someone out
> there who might be interested in tackling this problem.

A rather detailed analysis, except that you forget that the AI would
not have the same information that you do. It could not know that
after your phalanx moved to the mountain your city was empty [I
assume the AI does not "cheat" by having access to all the information
that the server has], and even if it did, I doubt it would be smart
enough to use that particular zoc-bridge (something I would be
impressed with even for a human player). Without knowing if your
city was empty, it would be very risky to move the chariots like
you suggest; if they fail they can be easily picked off in one
attack since they are on weak terrain and stacked.

That the AI would use its two chariots to attack a phalanx on a
mountain is rather sad (this could be easily improved, or may be
a bug).

It is also possilble that the AI does not understand playing on hex
tiles very well. I admit that writing even a decent AI for freeciv
is the hardest challenge of this entire project.

Freeciv-dev mailing list

Reply via email to