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

[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: "Raimar Falke" <rf13@xxxxxxxxxxxxxxxxx>
Date: Sun, 25 May 2003 03:31:43 -0700
Reply-to: rt@xxxxxxxxxxxxxx

On Sat, May 24, 2003 at 02:46:30AM -0700, Per I. Mathisen wrote:
> > > New killstack rules:
> > >- If you kill any unit on target tile, all units in the same layer on
> > > that tile are destroyed. Units in other layers are unaffected.
> >
> > >- Exception: Cities, airbases and fortresses. As before.
> >
> > You can remove this if you move
> >
> >  - Cities, airbases and fortresses flatten layers, and all units in them
> >  are treated as being in a single layer.
> > above.
> 
> Those are different rules entirely. They are treated as single layer for
> target selection, but there is no killstack at all in cities, airbases
> and fortresses.

Yes you are right.

> > >- Otherwise, a unit always attacks a unit in the highest layer where it
> > > can find a unit that it can attack.
> >
> > No. My plan still stands that there will at some point different
> > attack power for different layers. This would mean that an
> > sub-hunter-plane will attack the ship with its weak bombs instead of
> > using the very dangerous water-bombs for the subs.
> >
> > The rule should be similar to the defender: you attack the layer which
> > is "best" for you. We still have to define what "best" here means but
> > in the above case it should be the subs.
> >
> > So if the attack is allowed the server does this:
> >  if enemy in own layer:
> >   attacked layer = own layer
> >  else:
> >   attacked layer = choose best layer to attack
> >  choose best defender in the attacked layer
> > do the combat
> 
> I agree my rule is not attacker-optimal, but it has the advantage of being
> simple and predictable.

> Also should this rule really be attacker-optimal?
> When picking a defender, this is done defender-optimally, why should
> picking a layer be attacker-optimal? We may just as well assume the
> defender engages the attacker from his layer as assume the attacker
> engages the defender from his.

The attacking unit chooses if it uses bombs (against ships), water
bombs (against subs) or the maschine gun (against other planes). So
either we give this choice to the player (too cumbersome) or the
server does it automatically on behalf of the attacking player.

Yes it is possible that other defenders engage in the combat. But this
would change the whole game play.

> You haven't described an algorithm for choosing 'best layer'. I
> think this is a rather hard problem. You'll need to calculate the
> danger and worth of particular units, which is a calculation that is
> very hard to do locally.

Yes it is hard to do in a perfect fashion. This is very similar to
auto-attacking. But there are easy solutions. One is to pick the layer
where I have to highest attacking power.

> > > (If we want to extend this at a later date to cover
> > > which-unit-can-attack-which-unit, then these points apply:
> > >- By default, units can attack their own layer and only that.
> > >- You still must be able to move into (in principle) a tile in order to
> > > be able to attack a unit there.
> > >- Unit effects can specify additional attack properties, such as ability
> > > to attack other layers, additional defense power against attacks from
> > > specified layer, additional attack power when attacking a specified layer,
> > > etc.)
> >
> > > I think that should cover everything. Comments?
> >
> > I still think that we should give each unit a different attack power
> > for each target layer. This way we can for example remove the aegis
> > special case. And we can add a ship-buster plane. Or an anti-aircraft
> > ground unit.
> 
> Can we do this as suggested above: Later, and using unit effects?

IMHO we can also implement the specification of the layers using unit
effects. The (backend) code for both (plain-layers and
different-attack-powers) has to be implemented "by hand".

Since unit effects may came in 1 month or in 1 year I don't find this
idea very pleasing.

Do I take this answer that in general agree to this idea?

> If not, do you have a concrete suggestion of when and how it might be
> implemented?

With plain-layers and without unit effects I think the patch is not
complicated (but maybe no small since we have to do the ruleset
loading, network extension and so on). I will do it if you or
someother put in it.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 Make a software that is foolproof, and only fools will want to use it.




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