Announcement

Collapse
No announcement yet.

How to make AIs fight the human player, and not each other?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to make AIs fight the human player, and not each other?

    I'm trying to create a "you against the world" type scenario, where all the AIs fight against the human player. By use of MAKEAGRESSION statements every turn and disabling negotiations between the human player and Anybody, I have the AIs mostly attacking the human player (although some of them are still cordial or receptive when I check with the cheat menu). I tried this first with the vendetta flag and the total war flag, but there seems to be no substitute for using the events file.

    The big problem is that the AIs all want to fight each other. I've tried the same setup with and without the "total war" flag; it doesn't seem to matter, the AIs fight like cats and dogs. I don't really want the AIs trading techs and swapping units around, but I would like them to concentrate on the human player instead of wasting their firepower on each other.

    Some rules.txt excerpts:

    @IF
    TURN
    turn=every
    @THEN
    MAKEAGRESSION
    who=Romans
    whom=Apolytoners
    @ENDIF

    (repeated for each AI civ)

    @IF
    NEGOTIATION
    talker=Anybody
    talkertype=humanorcomputer
    listener=Apolytoners
    listenertype=humanorcomputer
    @THEN

    @ENDIF

    @IF
    NEGOTIATION
    talker=Apolytoners
    talkertype=humanorcomputer
    listener=Anybody
    listenertype=humanorcomputer
    @THEN

    @ENDIF

    And, in an attempt to get AI attack units off their duffs:

    @IF
    TURNINTERVAL
    interval=10
    @THEN
    MOVEUNIT
    unit=Horsemen
    owner=Romans
    maprect
    15,15, 83,15, 83,65, 15,65
    moveto
    55,47
    numbertomove=ALL
    @ENDIF

    And similar constructs for each AI civ, for various units. I couldn't use Anyunit, because then the AI settlers wouldn't build new cities.

    Things are mostly working: the AI units show up at my borders, and usually attack. The AIs never initiate conversation, and I can't talk to them. But when I go into cheat mode and look at the map, the AIs have large armies engaging each other. I'd prefer that those units were sent to harass the human player instead.

    Any suggestions?

  • #2
    Have you edited the AI civs if they are at war with eachother from the beginning or not? I mean, via the cheat menu. Select "edit king", then the civ, then "change treaty" (or so, I have the German version ) and set "peace" ON for every pair of AI civs, but select "war" between human and AI civs.
    Hope it helps...

    ------------------
    Civ2000
    Blah

    Comment


    • #3
      If the AIs can talk to eachother they will eventually go to war. You need basically to disable all talking between civs.
      Do the negotiation statement but make it: anybody, humanorcomputer > anybody, humanorcomputer.

      I have been successful in Second Front (My current project) in making 3 AI civs that coexist and have the same name and same colors which allows for some very interesting features like having some units confined to certain areas. For example one of the Civs is the airforce of the AI, making certain cities airbases AND only those cities.
      In 100s of turn of playtesting I have never had the AIs go to war with eachother, even though their cities are completely intermingled.

      Comment


      • #4
        If you make AI civs allied with each other and prohibit negotiations w.e.o. they will be forced not to fight w.e.o. Changing their feelings toward you and/or your reputation can be the first step, and changing attack/expand/civilize parameters in rules.txt -> @LEADERS would make their attitude constantly hostile to you.

        Comment


        • #5
          Thanks, all, for your help. Disabling negotiations between the AIs does seem to keep them at peace.

          Comment


          • #6
            Put all the AI players in "vendetta" against the human.
            Cancel negotiations between computer players(?)

            Comment

            Working...
            X