Announcement

Collapse
No announcement yet.

Frenzy AI revisited (v 2.1)

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

  • #31
    messing with the strategies is helping out too
    Well, yes, as far as I remember strategies and goals tell the AI e.g. how many units they should keep in their cities, use them for exploration, offense, defense etc. -- as I mentioned above: if they keep strong garrisons in their cities and use lots of single units for exploration it will take them more time to stack their first Frenzy army.

    might want to package something with that
    I think it will not be of much use to package some strategies and goals settings with the -- still experimental -- stand-alone version of the Frenzy script, because strategies and goals are essential components of an entire Mod. So as a modder you will be better off tweaking the script .

    Of course everything should be properly packaged in my "Modern Times Mod" if I ever manage to get an "AE-version" running and playable. Currently I am experiencing different forms of crashes/freezes/error messages with every playtest release -- probably I should rebuild the entire thing from ground up based upon a more/less "final" AE (a little more documentation on all the new functions/features would be helpful though). But this is a very long term project -- on the other hand having "tested" Civ IV and being unable to run an entire game on my PC like so many other users has renewed my interest in CTP II (Civ IV, until crashing on my computer runs almost as slowly as my CTP-II-offical patch-version of the "Modern Times Mod", which I have classified myself as unplayable -- Civ IV is waiting for a major update or something or nothing in it's box).

    visible capitol slic ... but cant find it on your site
    It's on top of my humble download page
    The modding knowledgebase: CTP2 Bureau (with CTP2 AE Modding Wiki). Modern Times Mod (work in progress): MoT-Mod for CTP2.

    Comment


    • #32
      BureauBert,

      Thanks!

      Attached is the latest playtest readme it includes some of the new features I added.

      You've done some great stuff on SLIc ever thought of having a go with the source code?
      Attached Files
      Formerly known as "E" on Apolyton

      See me at Civfanatics.com

      Comment


      • #33
        BUreaubert,

        just browsing you site. I can confirm that frenzy21 is compatible with the latest playtest

        also these slics are no longer needed
        MoT_s_comimps.slc
        MoT_s_infras.slc
        MoT_s_deepfish.slc


        and these one's might not be needed but not 100% sure
        MoT_s_happybuilding.slc
        Formerly known as "E" on Apolyton

        See me at Civfanatics.com

        Comment


        • #34
          BUreauBert,

          just wondering how to go about adding soomething like this to frenzy2.1

          2)Develop algorithm where AI will builds x number of stacks per y number of cities + a personality modifier. Then everytime it builds an attack or range type unit the AI sends that unit to a rally point to build a stack. once the stack is size 6 or more it becomes "active" and the AI moves it towards the player with the lowest regard. Not sure how it will affect sea transport.
          Also, I've tried the GiftUnit.slc with no luck, will start a thread to see if there are any helpers.
          Formerly known as "E" on Apolyton

          See me at Civfanatics.com

          Comment


          • #35
            Hi E,

            rally point
            Well, I think this would need a lot of coding and also some additional considerations:

            - Define rally points (this could be done similar to BetterSettling, using different criteria, of course -- like no roads, no settling location, good defensive value, forts preferred etc.).
            - Decide which units and in which event should move to a rally point (and if you have several rally points: which one -- army composition, well no SLIC can do worse than the default AI). In any case you don't want to weaken the AI by hindering them building a garrison. By default garrison strength is determined by the strategy currently applied. So you would need to replace that default logic by some SLIC-logic -- the biggest problem here, I think.
            - If you find a satisfying solution for that latter problem you can move units to the rally point(s) (using a function like e.g. MoveArmyToTargetDammit() ) until the desired army size is achieved. Regarding the army itself you need to keep track of its size, make sure it groups every time a new unit arrives, make sure it stays in its place (clear orders, take out movement points each turn). Keeping track of army composition -- well this might lead to the necessity of an array of arrays, which IIRC is impossible in SLIC, so it would possibly lead to the necessity of some workaround which is even more complex ...
            - However, when the stack is big enough it may frenzy around or just be released ...

            Well, apart from the fact that I won't have enough spare time to concentrate on serious SLICing anytime soon, I don't think this is an easy task.

            Personally, I believe that Martin G's BetterAI-SLIC already does a good job in improving the AI's ability to build stacks. The advantage of his concept is, that it doesn't completely bypass the internal logic, but rather forces the AI to stack their units more consequently at places where it already has some (more or less unused, or not usefully used) units it just fails to group.

            On the other hand I do see that your proposal is a logical complement to the entire Frenzy logic -- so it might be worth trying .

            GiftUnit.slc
            ... I will try to answer on this one in the appropriate thread
            The modding knowledgebase: CTP2 Bureau (with CTP2 AE Modding Wiki). Modern Times Mod (work in progress): MoT-Mod for CTP2.

            Comment


            • #36
              Bureaubert,

              I've been talking to Stankarp and he said he'll help me out on his latest frenzy which incorporates diplomacy into frenzy. He also had a look at your 2.1 and saw that it doesn't urge an attck with the stacks which he added. If interested I'd like to work with you on taking the AoM Frenzy and making it more original CtP2 compatible. I'm sure you'd be curious to see it and may want it for your Modern Mod.
              Formerly known as "E" on Apolyton

              See me at Civfanatics.com

              Comment


              • #37
                incorporates diplomacy into frenzy
                From what I have seen in AOM_frenzy9.slc it uses an extended version of "frenzy hate levels" and contains functions to determine when and how to override default diplomacy (and also revert to default, if I understood correctly). This is certainly useful in AOM, while I prefer a different approach in my own modding. I prefer using Frenzy for boosting an AI's offense a bit when already at war, I don't want to push them into war this way. Honestly, though AOM is a masterpiece and a fine game too, it's too "frenzy" for my taste.

                doesn't urge an attack
                Well, not as intensely as "Frenzy 9". It forces the army to move towards a selected target (city). If the army encounters an enemy city or an enemy stack on its way, the following happens:

                Code:
                faiResult = AttackEvaluateLocation(faiTmpArmy.location, faiTmpArmy.owner);
                			if(faiResult == 10) {
                				Event:MovePathOrder(faiTmpArmy, FAI_AttackTarget[faiTmpOwner]);
                			} else {
                				Event:MoveToOrder(faiTmpArmy, faiResult);
                			}
                If there is an enemy city or an enemy army on a neighboring tile, our army gets a "MoveTo"-order. The "MoveTo" is intended to lead to a battle (or taking of an empty city) -- for some reason I didn't trust in the "Battle"-event, but since Stankarp uses it, it might be a better choice here. Comparing army strength before attacking anyone on the way is certainly a good idea -- this would go into AttackEvaluateLocation(). On the other hand I also thought it might be an even better idea to skip those eventual battles and to move the army towards the selected target no matter who or what crosses it's way .

                However -- when our army reaches its original -- main -- target and the -- internal -- force matching is positive the army usually attacks the city. This used to be pretty effective in my tests.

                I am fairly sure that I have never seen anyone using events like "Battle" or "FinishAttack" before -- this is interesting enough and when/if I get back to SLIC some day I will certainly want to experiment with these. Maybe "Frenzy 2" could be made a bit more effective this way. Also, bombarding a city before marching in is certainly a good idea -- this one is relatively (!) easy to integrate into "Frenzy 2" (main thing is adding a "HowManyBombardingUnitsAreInTheArmy"-function, preferably using the CanBombard-flag, if it can actually be accessed in the playtest version ).

                The naval invasion part seems very interesting but unfinished -- I may have overlooked something but I don't see how the transports are loaded, moved to the invasion point and unloaded. This is certainly an extremely difficult task -- I think Martin G. and Peter Triggs (for Call To Conquest) have done a lot of work on this one.

                BTW, any luck with GiftUnit?
                The modding knowledgebase: CTP2 Bureau (with CTP2 AE Modding Wiki). Modern Times Mod (work in progress): MoT-Mod for CTP2.

                Comment

                Working...
                X