Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2003:
[Freeciv-Dev] Re: (PR#2581) Layers proposal redux

[Freeciv-Dev] Re: (PR#2581) Layers proposal redux

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: raahul_da_man@xxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#2581) Layers proposal redux
From: "Davide Pagnin" <nightmare@xxxxxxxxxx>
Date: Wed, 28 May 2003 08:09:34 -0700
Reply-to: rt@xxxxxxxxxxxxxx

On Wed, 2003-05-28 at 16:18, Gregory Berkolaiko wrote:
> On Tue, 27 May 2003, Per I. Mathisen wrote:
> > > On civ1 / civ2 compatibility issues:
> > >
> > > I've seen Per proposing all units in the same layer, this seems not a
> > > good way to be "civ[12]" compliant.
> > 
> > To clarify, if only the layers redux proposal is implemented then the only
> > change is that if a tile contains both an air unit and a ground unit, we
> > can attack the tile (irrespective of the stats of all units involved) -
> > the air unit loses its ability to block once it stacks with a unit that
> > can be attacked.
> We can model the idiotic civ12 bomber blocking ability by generalising the 
> "layer superiority" rule to demand that a unit has to be able to attack 
> all units in its own and any other listed layers.

Nope! I'm convinced that, if we need to go with simple Per idea, and
there is space to save civ[12] compatibility, the best choice is to have
3 little special rules:

a) global killstack (instead of layered killstack)
b) global best defender (instead of layered best defender)
(this two are related and not difficult to implement, we can code them
as "battle effects are global in respect of layers" and unify them)

c) Layer superiority rule, changed this way:
"You cannot attack a tile if your own layer or any layer above yours
contains one ore more units but you cannot attack any of them"
NOTE the word "any layer above yours"

An armor can't attack air layer thus can't attack a tile with a bomber
stacked with mech. inf.

A battleship can't attack air layer thus can't attack a til with a
bomber stacked with a transport.

(This need renumber layers, so that Land is 0, Sea is 1, Air is 2,
because we need to let Battleship (layer 1) attack Land (Layer 2))

So, ther are 2 variable that should be activated by civ[12]
compatibility mode:

global_battle_effects (vs. layered_battle_effects)
strict_layer_superiority (vs. loose_layer_superiority)

and the switch of values between Land and Sea.

> I don't know how we can reasonably model the even more idiotic rule that
> an attacking Fihgter might be forced to attack a Mech Inf rather than the
> Bomber.

Wait! If you consider that the original rule will let you destroy (by
killstack) all units in the tile, THAN selecting the best defender (not
the easy target) is not "idiotic" it is clearly the only wise option.

> > > NOTE: If we introduce different attack power for every layers, we should
> > > consider to do the same for defense power. (this will make AEGIS not an
> > > exception but something that has big low-airand high-air defense power)
> > 
> > I was afraid someone might suggest this... For AI, different attack powers
> > won't be very hard to support, but different defense power will be. The
> > reason is that we know what we want to attack, but we don't know where
> > attacks will come from.
> I disagree.  AI already has to deal with exceptions like F_IGWALL,
> F_PIKEMEN, F_AEGIS and F_FIGHTER.  Raimar's proposal allows, by setting 
> bomber own layer attack power to be 0, to do away with F_FIGHTER.  Split 
> defence powers will allow to do the same with F_AEGIS.  But what about the 
> others?
> I think it is the best to keep one system, therefore even splitting attack 
> powers is not needed.
> Note, that the pure layers redux proposal allowed full Civ12 compatibility 
> (including all idiotic features like bombers falling out of sky when the 
> Mech Inf under it is killed).  All you had to do is to put everything into 
> one layer.

Well, there are 2 options:

1. I have not understood at all Per's proposal

2. You're wrong

So, supposed that the first statement is true, I will submit some
example and you can explain me how they will work with Per Layer Redux

a) A tile containing a bomber and a mech. inf. is attacked by an armor.
Civ[12] will stop you and say "Only fighter can attack air unit"

b) A tile containing a bomber and a mech. inf is attacked by a fighter
Civ[12] will allow you attacking but chose mech. inf. as best defender,
in the event you win both mech. inf. and bomber are destroyed.

How can those 2 examples be resolved (with 100% compatibility) with Per
Layers Redux? (By selecting bomber, fighter, armor and mech. inf. all in
the same layers, btw)

(the worst problem, for your solution, is that I can't imagine how you
instruct the computer to consider air units differents from sea units
even if they stay in the same layer, there may be some tricky way to
overcome this, but I don't consider them viable, do you?)

> So my vote is for Per's original plan without additions.  Unless someone 
> tells me how to implement F_PIKEMEN (well here you can just put all horses 
> into a special layer ;) and F_IGWALL rules in the layered attack/defence 
> scheme.

If the layer proposal has the goal of eliminating any kind of special
flags, than it will fail, at least IMHO. 
This doesn't mean that layers aren't a good idea, per se, only that
there are thing that should be generalized and other shouldn't.

So, for me, your objection dont' stand.
Anyway I've not already voted for anything, because I want to discuss
deeply game play and civ[12] compatibility aspects.
I only say that different layers stats seems good.

> G.

        Ciao, Davide

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