[Freeciv-Dev] Military functions overhaul [Was: [freeciv-ai] autoattack]
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
One should decide what forms of attack priorities and selection
are required, then implement or rework the current code to provide
these sorts of low-level tactical functions for assessment and
execution in straightforward effective ways.
But the basic management of attack policy and military development
is pretty much missing and no amount of tweaking to any of the low
level stuff will ever address the real problems. Muddling the two,
even for short term fix, in low-level routines should be avoided.
Effective warfare always attacks for and with advantage and never
in the sorts of spastic and chaotic modes you get by only calling
tactical routines with no overriding strategic controls. Units
should only attack (i.e. execute real attacks) when at war or in
defence of territory. This allows a simple gating control over the
execution routine.
Note, attack against a military unit within a clearly controlled
city radius should not amount to a unilateral declaration of war.
This should be part of (exception to) the normal gating function.
This should be sufficient provocation for mutual declaration (i.e.
declaration by the intruder in response to the attack) with reduced
reputation penalties if such apply.
Conversely, attacks against non-combattants, even within controlled
city areas are never justified under the self-defence rules above.
Explorers, which have the ability to displace workers and thus
allow transfer of control become interesting agents-provocateurs
in such a system. Sending neutral or friendly diplomats home, but
not having this option for unfriendly diplomats is another way to
play the reputation advantage game in releasing the gating controls
against open warfare.
Civ's should plan warfare for strategic expansion (limited key
objectives or smaller Civ's) and against potential enemies which
are those of comparable strength.
Civ's should unite/treaty with non-competitors and perhaps even
competitors to reduce the leading Civ(s) to non-competitor status.
This means peace treaties or at least non-attack modes against
potential allies or in the face of sure defeat.
Civ's should always seek to establish peace treaties with Civ's
they are not prepared to go to war with, as a means of diplomatic
defence. They should be upset at refusal of such treaties and start
planning increased military defence spending and resource deployment
as a result.
Territorial integrity rules need to be established that keep units
out of neighbouring Civ lands (a borders patch that extends the
definition of territory beyond city radius to "influence" areas
would be really useful here), or trigger penalties like increased
resentment, or formal declaration of war (and possibly violation
of peace or cease fire treaties and reputation).
Civ's should be able to build up military resources without them
hiving off to waste themselve in frivolous one-offs and without a
specific "danger" threat. Once a threshold of military force is
reached they should be deployed in provocative ways at key targetted
areas. Once war is provoked (i.e. treaties expire or are violated,
provocaative intrusions or diplomatic pacts trigger war, or the
military assessment for a preemptive strike reaches the go threshold)
all prohibitions against tactical actions should be removed at
least against the targetted enemy, and possibly any potential enemy
allies.
Military production should be pursued at a heavy pace both before
the actual attack or declaration of war and until any subsequent
peace treaty or beyond until defensive thresholds are restored.
This implies there is an "at war" state that military production and
assessment uses, but a final "declaration of war" flag that blocks
or gates the active attack modes until triggered.
Once the key objective is reached or military resources drop below
a safe defensive threshold, there should be a strong desire to go
for a peace treaty to restore the diplomatic safety perimeter at
least on this front.
Reputation should be a key factor in terminating warfare with a full
peace treaty. In some cases, persistent strategic advantage or
provocation, there should be war to the death. Change of government
as in revolution, should result in significant reductions of any
accumulated reputation, either plus or minus.
There should be some obvious targets of high priority in any military
assessment. For example: 1) the capital of a larger Civ when there is
a significant chance of causing Civil War and halving of the Civ size,
2) Ports within nearby reach of key centers, 3) cities with military
barracks, or healing improvements in active military areas, 4) those
with significant production capability in nearby regions, 5) unit
killers with counterattack or patrol units as forward defence of
territory and cities, 6) pillage and general resource weakening as a
secondary action for the (fast) patrol units.
By placing various gating controls on the actual execution of attack
functions that have threshold and buildup characteristics, one will
change warfare from a chaotic drain to a series of pulsed intense
conflicts that have better chance of success, and more importantly
from the player's perspective, a more challenging and perhaps
manipulatable opponent (nothing like a good bribe to stir up the
enemies of your enemy rather than letting him focus solely on you).
Cheers,
RossW
=====
At 04:36 PM 02/09/02 +0100, Gregory Berkolaiko wrote:
>On Mon, 2 Sep 2002, Per I. Mathisen wrote:
>
>> I say we remove the autoattack code.
>
>It's crap, yeah and AI doesn't use it but it should and it could be made
>better when we have path finding (and it wouldn't be a CPU killer then).
>
>Now speaking about the AI, I think there should be two major attack modes,
>invasion and autoattack (preventive defence). Idiotic junk like f_s_t_k
>and k_s_w should die instead.
>
>G.
>
>> Reasons for:
>> - the code is crap, it doesn't really work
>> - if it did work, it would consume a lot of CPU generating all those
>> warmaps
>> - nobody uses it
>> - not even the AI
>> - nobody cares to update it or fix its flaws
>> - it should be done in the client... or wait, no that would be cheating
>> - it is a stupid idea anyway
>>
>> Reasons against:
>> - uhmmm... can't think of any
>>
>> Yours
>> Per
|
|