Complete.Org: Mailing Lists: Archives: freeciv-ai: May 2002:
[freeciv-ai] Re: Generalised improvements AI support

[freeciv-ai] Re: Generalised improvements AI support

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: "Per I. Mathisen" <Per.Inge.Mathisen@xxxxxxxxxxx>, Freeciv-ai <freeciv-ai@xxxxxxxxxxx>
Subject: [freeciv-ai] Re: Generalised improvements AI support
From: Raahul Kumar <raahul_da_man@xxxxxxxxx>
Date: Tue, 7 May 2002 08:13:18 -0700 (PDT)

--- "Per I. Mathisen" <Per.Inge.Mathisen@xxxxxxxxxxx> wrote:
> On Mon, 6 May 2002, Ben Webb wrote:
> > >From doc/README.impr-gen:-
> >
> >  - Not all effects are currently implemented:
> >    - Enemy_Peaceful, Improve_Rep
> If I'm the one finally implementing AI diplomacy, I won't allow my code to
> be sullied by such idiocy. To allow buildings to influence AI players and
> AI players only, is crap. I'd be glad to see those go.

If you're the only one? I don't see any other working implementations. Let me
ask you to change your mind. Civ II was originally a single player game only
whereas Freeciv is multiplayer. In a single player game, it makes sense to have
wonders that can affect the AI.

If I ever want to achieve 100% Civ 2 compatibility, I'll need those effects.
Toss me a bone here Per.

> ;     "May_Declare_War" - allowed to declare war at least AMOUNT percent
> ;                         of the time
> This one should be implemented, though, along with the Senate. I guess
> Raahul will have a go at this as part of his Civ2 crusade...? ;)

Aargh! My worst Civ II playing memories consist of the senate overriding my
bloodthirsty desires. If you want this annoying misfeature, people will have
to demand it. I intend to quietly ignore it in the hopes that it will go away.

I certainly don't see anyone wanting it.

> >    - Barb_Attack, Barb_Defend, Slow_Nuke_Winter, Slow_Global_Warm and
> >      Trade_Route_Pct are not yet coded for, but are not used in standard
> >      Freeciv rulesets anyway.
> How is Barb_Attack supposed to work?

> >     impr-gen currently has no support for defense against diplomats,
> > and I haven't coded the DEFEND_BARB effects either. I'm thinking of
> > replacing the current unit_class_id with something a bit more general,
> > that encompases all of the unit flags rather than just the current
> > F_MISSILE and F_NUCLEAR. That'll enable you to tweak defence modifiers
> > against any kind of unit (which, as Raahul mentioned to me earlier,
> > would be handy for extending the impr-gen effects to units, so that
> > the whole Aegis/Pikemen/Horse/etc/etc stuff can be taken out into the
> > rulesets).

Yes, yes yes. This is one of the big reasons I'm enthusiastic about your code.

> I'm only worried it might get a little too complicated. The flags code is
> simple to understand, simple to code and simple to extend. The gen. impr.
> approach is none of the above. But this is another discussion.

Simple to extend? *Bullshit* cough. I seem to remember two people who've
already run hard into Raimar's decision that the current no of flags + 2 was

And simple to understand: Have you read combat.c? The convulutions I had to go
through to support Aegis properly etc is fast reaching the point where the
flags system cannot cope.

And worst of all, the flags system is only open to two coders, Per and myself.
Have you seen anyone else send in patches? The AC approach is better. Moving
stuff into rulesets is the obvious and smart approach.

> No. The AI code contains a lot of very fancy function calls for evaluating
> advances, but when you start nesting them up, almost all of them end up in
> a function which basically says /* not implemented yet */.

;-). Too true. Ross does some good stuff in the corecleanups. He actually makes
building code get executed. Amazing!
> >     Well, I imagined that the AI would send damaged units to cities
> > with Barracks or Ports, or not bother quite so much if it had United
> Nations, and build Barracks and Ports in front-line cities. This would
> > evaluation of (potential) Unit_Repair and Unit_Recover effects.
> That's only in your imagination, unfortunately. Currently it does none of
> these things.

Something that should be added as Todo in the AI doc, Per. Well, AI does
apparently use ports. I seem to have come across a function
find_nearest_friendly_port. I haven't the slightest idea if this is ever used.
Can anyone confirm/deny?

> Yours,
> Per
> "There are 10 types of people in the world. Those who understand binary
> and those who don't."


Our defense is not in our armaments, nor in our science, nor in going
underground. Our defense is in law and order.
{Quoted by Ralph Lapp in The Einstein Letter That Started it All, in the New
York Times, Aug. 2, 1964, Albert Einstein}

Do You Yahoo!?
Yahoo! Health - your guide to health and wellness

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