Complete.Org: Mailing Lists: Archives: freeciv-ai: February 2003:
[freeciv-ai] Re: Exploring madness

[freeciv-ai] Re: Exploring madness

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Per I. Mathisen" <per@xxxxxxxxxxx>
Cc: Freeciv AI development <freeciv-ai@xxxxxxxxxxx>
Subject: [freeciv-ai] Re: Exploring madness
From: Ross Wetmore <rwetmore@xxxxxxxxxxxx>
Date: Sat, 22 Feb 2003 06:34:50 -0500

I like the general strategic ideas.

But it might be implemented as an extension to warcamp, or warcamp
as an extension to this. The difference being a sort of acceptable
bodyguard distance range or constraint on how many units could be
how close. Another idea might be a pseudo random location fuzz to
the warcamp so that it spreads out over a pattern of tiles and
units are assigned different positions.

Note warcamps are not quite like stacks, in that extending the
bodyguard code to them did mean that if you kept moving it the
units would always be moving towards it, but not necessarily in
tandem. Bodyguarding units are all still independent.

Something further to break up their concerted tracking or keep
them at a fixed distance from the center is not a bad thing.

The advantage of doing "all-of-the-above" by extending known
concepts with parameterized flavours means that you can easily
vary the appearance of the activity by subtle parameter changes.
This is far better than having a large number of competing
code blocks (or worse just a single developer's favorite) and
a much more complex switching process.

Note, the current bodyguarding code could benefit in that it
really only pairs a single bodyguard with the protectee. It
might be nice to treat city defense as a bodyguard of multiple
units with a density constraint, i.e. units would be on patrol
around it as well as inside it. The key thing being that the
units would still be localized near the city and less likely
to decide spontaneously to leave the area completely.

In another implementation, the exact mechanics of the bodyguard
function could be made dependent on the class of object being
guarded. This might range from stacklike behaviour in cities
and single pairs of units in the field, to patrol and pattern
arrangements for larger numbers of units in warcamps.

Armies are probably more closely packed warcamps with some
security code constraints governing their movement in known hostile
situations, while border guarding in force or exploring are probably
much looser flavours with units acting like they have a natural
repulsive force between them.

In O-O terms the basic concepts have a shared low-level interface
with specialized flavours subclassing from this to present
varied end results. The plugin for normal execution usually
just uses the common methods.

Converting a border guard in force into a targetted army might be
fairly trivial shift in such an environment.


Per I. Mathisen wrote:
On Sat, 15 Feb 2003, Gregory Berkolaiko wrote:

Quoting Ross Wetmore <rwetmore@xxxxxxxxxxxx>:

A more radical technique might be to introduce a strategic concept
such as "warcamp". A warcamp is something that can be placed
anywhere and moved at any time, maybe like a pseudo-unit. It has a
"capacity" in that a fixed number of units can signup to bodyguard
the warcamp. Military exploration (in force) can be handled by
exploring warcamps. They could also be used to manoeuvre armies
about the map and position them for attacks. The warcamp would
"disband" when everyone was collected near the target to free
them for military attack.

I have the opposite idea. Pulling together a bunch of units and moving
them in tandem around the map is a bad idea.

Instead, we can check how many units can get to a certain weak point
inside the enemy's defences within a certain time limit, and when we have
enough units available to go on full scale invasion, we declare this point
to be a "ground zero" on a certain designated turn.

All units that are available and can reach this destination in time are
reserved for this task. But - they only start moving towards the target at
such a late time that they will arrive exactly on time. This means close
units will wait for further away units. The victim will not be forwarned,
and attackers may converge upon the target area from multiple directions,
and it should not be easy to see exactly what is happening or how many
units are coming, since they travel independently.

This countdown can be used to good effect in AI diplomacy to declare war
at the final moment for maximum surprise attack. It also makes it possible
to move subs with nukes into position to provide a first volley of
annihilation against enemy strongholds. Or cruise missiles.

  - Per

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