TripleA Logo TripleA Forum
    • TripleA Website
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Tags
    • Register
    • Login

    Warcraft: War Heroes - Official Thread

    Scheduled Pinned Locked Moved Maps & Mods
    303 Posts 24 Posters 314.2k Views 19 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • redrumR Offline
      redrum Admin @Frostion
      last edited by redrum

      @Frostion So the original code I posted was if the first roll fails then they get reward 1, if second rolls fails then they get reward 2, etc. If all rolls succeed then they get nothing. This is kind of just the inverse of what you described though achieves the proper percentages if set right. I believe you could invert all of this if you want to get items on success rather than on failure. Each failure was 1/7 chance and then 1/7 chance of all 6 to succeed (get nothing).

      The second example shows a 1/12 chance of each failure (getting items) and 1/2 chance of all succeeding (get nothing).

      TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

      C 1 Reply Last reply Reply Quote 2
      • C Offline
        Cernel Moderators @redrum
        last edited by

        @redrum Yeah I got it, but I think this way is more intuitive also for @Frostion.

        1 Reply Last reply Reply Quote 0
        • C Offline
          Cernel Moderators @Frostion
          last edited by Cernel

          @Frostion Ok, since anyways at this point, this is the lightest option:

          <attachment name="triggerAttachment_Set_Condition_True_HumansFish1" attachTo="Humans" javaClass="TriggerAttachment" type="player">
              <option name="conditions" value="conditionAttachmentHumansFish1"/>
              <option name="conditionType" value="0"/>
              <option name="when" value="after:HumansEndTurn"/>
              <option name="players" value="Humans"/>
              <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish1"/>
              <option name="playerProperty" value="switch" count="true"/>
          </attachment>
          

          Multiplied by 6, accordingly.

          You can have this actually firing any time from after "HumansEndTurn" comprised till the next before "HumansEndTurn" excluded.

          redrumR 1 Reply Last reply Reply Quote 2
          • redrumR Offline
            redrum Admin @Cernel
            last edited by

            @Cernel Yep. Either that or just make the condition always true so it just sets the switch to true regardless.

            <attachment name="triggerAttachment_Set_Condition_True_HumansFish1" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                <option name="conditions" value="alwaysTrueCondition"/>
                <option name="when" value="after:HumansEndTurn"/>
                <option name="players" value="Humans"/>
                <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish1"/>
                <option name="playerProperty" value="switch" count="true"/>
            </attachment>
            

            TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

            C 1 Reply Last reply Reply Quote 0
            • C Offline
              Cernel Moderators @redrum
              last edited by

              @redrum If only the menu would have an option for hiding triggers from history, otherwise it creates clutter. I actually think triggers should default not be present in history, and at most having a menu option to see them; a properly made map should give the user only what he needs to read, with notification, or documented in Notes (like the fact that in WaW you get these units on this round). Like I have some games I've difficulties searching for the moves in the middle of the huge quantity of trigger history, and I practically cannot use the arrows bottom left to move through history to see the game.

              1 Reply Last reply Reply Quote 0
              • FrostionF Offline
                Frostion Admin
                last edited by

                Thanks @Redrum and @Cernel. The triggers seems to work and the heroes can now go fish as intended. Incredible that you guys can read and write code without actually sitting with the intire XML and testing out the map live! Now I must go back to developing the map 🙂

                Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

                redrumR C 2 Replies Last reply Reply Quote 1
                • redrumR Offline
                  redrum Admin @Frostion
                  last edited by

                  @Frostion Good to hear. And writing conditions/triggers without being able to test is always a bit interesting 🙂

                  Also, once you look to implement these across all players, I'd highly recommend using the new variable functionality as otherwise, you'll end up with a very long XML.

                  TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                  1 Reply Last reply Reply Quote 1
                  • C Offline
                    Cernel Moderators @Frostion
                    last edited by

                    @Frostion Cool. Good look everyone with that 1 over 486 probability of getting 10 XP, by the way...:crossed_fingers:

                    1 Reply Last reply Reply Quote 0
                    • FrostionF Offline
                      Frostion Admin
                      last edited by

                      @Cernel the fishing and reward chances are as of now:
                      1:3 of getting a catch - Standard catch is 1 Food
                      Within this catch there is 1:3 chance of getting better / 5 Food
                      Within this catch there is 1:3 chance of getting better / 25 Gold
                      Within this catch there is 1:3 chance of getting better / 50 Gold
                      Within this catch there is 1:3 chance of getting better / 100 Mana
                      Within this catch there is 1:3 chance of getting better / 100 XP
                      How do you like the odds? Whats the chances above in %? And does it correspond with the code?:

                              <attachment name="conditionAttachmentHumansHaveTheFishingPole" attachTo="Humans" javaClass="RulesAttachment" type="player">
                                  <option name="directPresenceTerritories" value="Arthur Backpack" count="1"/>
                                  <option name="unitPresence" value="Fishing-Pole" count="1"/>
                              </attachment>
                              <attachment name="conditionAttachmentHumansFish1" attachTo="Humans" javaClass="RulesAttachment" type="player">
                                  <option name="switch" value="true"/>
                              </attachment>
                              <attachment name="conditionAttachmentHumansFish2" attachTo="Humans" javaClass="RulesAttachment" type="player">
                                  <option name="switch" value="true"/>
                              </attachment>
                              <attachment name="conditionAttachmentHumansFish3" attachTo="Humans" javaClass="RulesAttachment" type="player">
                                  <option name="switch" value="true"/>
                              </attachment>
                              <attachment name="conditionAttachmentHumansFish4" attachTo="Humans" javaClass="RulesAttachment" type="player">
                                  <option name="switch" value="true"/>
                              </attachment>
                              <attachment name="conditionAttachmentHumansFish5" attachTo="Humans" javaClass="RulesAttachment" type="player">
                                  <option name="switch" value="true"/>
                              </attachment>
                              <attachment name="conditionAttachmentHumansFish6" attachTo="Humans" javaClass="RulesAttachment" type="player">
                                  <option name="switch" value="true"/>
                              </attachment>
                      
                              <attachment name="triggerAttachment_-_Arthur_goes_fishing_-_Level_6" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish6"/>
                                  <option name="playerProperty" value="switch" count="false"/>
                                  <option name="chance" value="1:3"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_goes_fishing_-_Level_5" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish5"/>
                                  <option name="playerProperty" value="switch" count="false"/>
                                  <option name="activateTrigger" value="triggerAttachment_-_Arthur_goes_fishing_-_Level_6:1:false:false:false:true"/>
                                  <option name="chance" value="1:3"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_goes_fishing_-_Level_4" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish4"/>
                                  <option name="playerProperty" value="switch" count="false"/>
                                  <option name="activateTrigger" value="triggerAttachment_-_Arthur_goes_fishing_-_Level_5:1:false:false:false:true"/>
                                  <option name="chance" value="1:3"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_goes_fishing_-_Level_3" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish3"/>
                                  <option name="playerProperty" value="switch" count="false"/>
                                  <option name="activateTrigger" value="triggerAttachment_-_Arthur_goes_fishing_-_Level_4:1:false:false:false:true"/>
                                  <option name="chance" value="1:3"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_goes_fishing_-_Level_2" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish2"/>
                                  <option name="playerProperty" value="switch" count="false"/>
                                  <option name="activateTrigger" value="triggerAttachment_-_Arthur_goes_fishing_-_Level_3:1:false:false:false:true"/>
                                  <option name="chance" value="1:3"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_goes_fishing_-_Level_1" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansHaveTheFishingPole"/>
                                  <option name="when" value="before:HumansEndTurn"/>
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish1"/>
                                  <option name="playerProperty" value="switch" count="false"/>
                                  <option name="activateTrigger" value="triggerAttachment_-_Arthur_goes_fishing_-_Level_2:1:false:false:false:true"/>
                                  <option name="chance" value="1:3"/>
                              </attachment>
                      
                              <attachment name="triggerAttachment_-_Arthur_catches_a_small_fish" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish1:conditionAttachmentHumansFish2"/>
                                  <option name="conditionType" value="1"/>
                                  <option name="resource" value="Food"/>
                                  <option name="resourceCount" value="1"/>
                                  <option name="notification" value="HumansFishingFood1"/>
                                  <option name="players" value="Humans"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_catches_a_large_fish" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish2:conditionAttachmentHumansFish3"/>
                                  <option name="conditionType" value="1"/>
                                  <option name="resource" value="Food"/>
                                  <option name="resourceCount" value="5"/>
                                  <option name="notification" value="HumansFishingFood5"/>
                                  <option name="players" value="Humans"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_finds_a_small_treasure_in_the_water" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish3:conditionAttachmentHumansFish4"/>
                                  <option name="conditionType" value="1"/>
                                  <option name="resource" value="Gold"/>
                                  <option name="resourceCount" value="25"/>
                                  <option name="notification" value="HumansFishingGold25"/>
                                  <option name="players" value="Humans"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_finds_a_large_treasure_in_the_water" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish4:conditionAttachmentHumansFish5"/>
                                  <option name="conditionType" value="1"/>
                                  <option name="resource" value="Gold"/>
                                  <option name="resourceCount" value="50"/>
                                  <option name="notification" value="HumansFishingGold50"/>
                                  <option name="players" value="Humans"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_finds_a_flask_of_mana_in_the_water" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish5:conditionAttachmentHumansFish6"/>
                                  <option name="conditionType" value="1"/>
                                  <option name="resource" value="Mana"/>
                                  <option name="resourceCount" value="100"/>
                                  <option name="notification" value="HumansFishingMana100"/>
                                  <option name="players" value="Humans"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                              </attachment>
                              <attachment name="triggerAttachment_-_Arthur_finds_an_old_scripture_in_the_water" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish6"/>
                                  <option name="conditionType" value="0"/>
                                  <option name="resource" value="XP"/>
                                  <option name="resourceCount" value="100"/>
                                  <option name="notification" value="HumansFishingXP100"/>
                                  <option name="players" value="Humans"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                              </attachment>
                      
                              <attachment name="triggerAttachment_Set_Condition_True_HumansFish1" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish1"/>
                                  <option name="conditionType" value="0"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish1"/>
                                  <option name="playerProperty" value="switch" count="true"/>
                              </attachment>
                              <attachment name="triggerAttachment_Set_Condition_True_HumansFish2" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish2"/>
                                  <option name="conditionType" value="0"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish2"/>
                                  <option name="playerProperty" value="switch" count="true"/>
                              </attachment>
                              <attachment name="triggerAttachment_Set_Condition_True_HumansFish3" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish3"/>
                                  <option name="conditionType" value="0"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish3"/>
                                  <option name="playerProperty" value="switch" count="true"/>
                              </attachment>
                              <attachment name="triggerAttachment_Set_Condition_True_HumansFish4" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish4"/>
                                  <option name="conditionType" value="0"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish4"/>
                                  <option name="playerProperty" value="switch" count="true"/>
                              </attachment>
                              <attachment name="triggerAttachment_Set_Condition_True_HumansFish5" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish5"/>
                                  <option name="conditionType" value="0"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish5"/>
                                  <option name="playerProperty" value="switch" count="true"/>
                              </attachment>
                              <attachment name="triggerAttachment_Set_Condition_True_HumansFish6" attachTo="Humans" javaClass="TriggerAttachment" type="player">
                                  <option name="conditions" value="conditionAttachmentHumansFish6"/>
                                  <option name="conditionType" value="0"/>
                                  <option name="when" value="after:HumansEndTurn"/>
                                  <option name="players" value="Humans"/>
                                  <option name="playerAttachmentName" value="RulesAttachment" count="conditionAttachmentHumansFish6"/>
                                  <option name="playerProperty" value="switch" count="true"/>
                              </attachment>
                      

                      AA.png

                      So this is how the first draft of the fortification’s “Wall Archers” AA and the “Siege-Tower” and “Battering Ram” countermeasures.

                      The players will have the option to start bombarding fortifications from a distance (with flying ammunition) or directly engage the fortifications and inhabitants in an attempt to capture the fortification. So … bombard with bombard shots to destroy or alternatively invade the territory to capture. But then the Wall Archer defense comes in use.

                      Bringing along a battering ram will cause:
                      Guard-Tower Wall Archer effectives reduced by 100% (From 1 to 0 rolls)
                      Fort Wall Archer effectives reduced by 50% (From 2 to 1 rolls)
                      Garrison City Wall Archer effectives reduced by 33% (From 3 to 2 rolls)
                      Castle Wall Archer effectives reduced by 25% (From 4 to 3 rolls)
                      Capital-City Wall Archer effectives reduced by 20% (From 5 to 4 rolls)

                      Bringing along a Siege Tower will:
                      Reduce every and all fortification Wall Archers by 33 % (From 6 to 4 AA strength)

                      or, this is the idea anyway 🙂

                      Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

                      C 1 Reply Last reply Reply Quote 4
                      • C Offline
                        Cernel Moderators @Frostion
                        last edited by

                        @Frostion Wow, 5 siege engines. That is going to be challenging to configure soundly, especially if they would be totally useless for anything else but siege warfare (as they should). By the way, historically the ballista, or rather the springald, was used for the defence of fortifications, not much for the offence of the same.

                        Well, now the chance of getting 100 XP is 1 over 729.

                        Those chances are pretty easy to calculate, just multiply them with each other until the wanted step, and also multiply it by the probability of not proceeding further (as that is losing the current one):

                        1 food: (1/3)(1-1/3)=2/9=22.22%
                        5 food: (1/3)
                        (1/3)(1-1/3)=2/27=7.41%
                        25 gold: (1/3)
                        (1/3)(1/3)(1-1/3)=2/81=2.47%
                        50 gold: (1/3)(1/3)(1/3)(1/3)(1-1/3)=2/243=0.82%
                        100 mana: (1/3)(1/3)(1/3)(1/3)(1/3)(1-1/3)=2/729=0.27%
                        100 XP: (1/3)
                        (1/3)(1/3)(1/3)(1/3)(1/3)=1/729=0.14%

                        1 Reply Last reply Reply Quote 2
                        • FrostionF Offline
                          Frostion Admin
                          last edited by

                          @Cernel The Battering-Ram and Siege-Tower will be for suppressing Wall Archers. Without the use if them, right now a Capital would practically kill 3 attacker units every turn, but only 1,6 unit if suppressed by two siege engines.

                          The three artillery units are long range artillery vs. buildings and units, but their ammo will ofcours also fire if attacked. The Trebuchet is mostly an offence weapon, catapult a balanced weapon and the ballista has defensive stats.

                          Right now the units can also defend themselves in combat with 1 def/1 att, but right now I am considering removing this and adding footmen/pikemen support abilliy.

                          Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

                          1 Reply Last reply Reply Quote 0
                          • FrostionF Offline
                            Frostion Admin
                            last edited by

                            @redrum Could you help take a look at something regarding the Hard AI and this map?

                            Development slowly progresses 🙂 But there are A LOT of errors when playing with the pre-release engines which are required. But that is not what I would like you to check out.

                            The AI does not seem to build factories. More specific to my map: The AI does not build the Guard-Tower (Alliance players) or the Watch-Tower (Horde players) factories that produce 1 unit. They are the only factories players can build that are not upgrades of other building. Even if the game has progressed far along, and the AI players have expanded a lot, having to walk a long distance with units, they don’t build factories.

                            Could you investigate why by looking at my map and round 15 save game?
                            I played with engine version 2.0.16920.
                            I can send you the files via chat.

                            Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

                            redrumR 1 Reply Last reply Reply Quote 0
                            • redrumR Offline
                              redrum Admin @Frostion
                              last edited by

                              @Frostion Just took a look at it. The reason the AI never buys Guard-Tower or Watch-Tower is that right now it only considers buying factories in territories with at least 3 production (sometimes 2 production if certain criteria are met like it can't spend PUs on anything else). Since every territory on this map has only 1 production it will currently never buy any factories.

                              We'd have to think about how to expand the AI to handle the factories on this map without negatively impacting other maps if you want to stick with all territories being 1 production.

                              FYI, looks like you are missing a few unit images:
                              SEVERE: MISSING UNIT IMAGE (won't be displayed): Guard-Banner owned by Humans in Arthur Backpack
                              SEVERE: No image for unit type: UnitType{name=Khorman}, player: PlayerId named:Nature
                              SEVERE: No image for unit type: UnitType{name=Footmen}, player: PlayerId named:Nature

                              TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                              B C 2 Replies Last reply Reply Quote 1
                              • B Online
                                beelee @redrum
                                last edited by

                                @redrum

                                Would multiplying everything by 3 work ? Or would that cause issues elsewhere ?

                                redrumR 1 Reply Last reply Reply Quote 0
                                • redrumR Offline
                                  redrum Admin @beelee
                                  last edited by

                                  @beelee Potentially. The AI would then at least consider buying factories but I'll leave that up to @Frostion and whether that makes sense for this map.

                                  TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                                  1 Reply Last reply Reply Quote 0
                                  • C Offline
                                    Cernel Moderators @redrum
                                    last edited by

                                    @redrum said in World of War Heroes – Official Thread:

                                    @Frostion Just took a look at it. The reason the AI never buys Guard-Tower or Watch-Tower is that right now it only considers buying factories in territories with at least 3 production (sometimes 2 production if certain criteria are met like it can't spend PUs on anything else). Since every territory on this map has only 1 production it will currently never buy any factories.

                                    We'd have to think about how to expand the AI to handle the factories on this map without negatively impacting other maps if you want to stick with all territories being 1 production.

                                    I already said so years ago, but I still think the AI should not the based on fixed numerical values, that don't really mean anything on their own. For example, I could take "World War II Revised" and make a mod in which:

                                    • Each territory has a production value 10 times the original.
                                    • Each player starts with 10 times as many PUs.
                                    • All the units numbers in each territory in the starting setup are multiplied by 10, except factory and aaGun units.
                                    • Factory costs 150 PUs.
                                    • AaGun costs 50 PUs.
                                    • I tell in notes that you can place up to 10 units per zone with bid resources.

                                    This mod of Revised would play very close to the original, except the fact that you would have less relative TUV destruction, due to the much reduced impact of minimals (like minimum 1 unit to take a territory or minimum 1 unit to block infinite units), some more strategic freedom and some less dice influence (also reducing the advantage for whoever starts bidding first), but placing a factory in a value 10 territory would be about the same as (read as crazy as) placing it in a value 1 territory in the original, condemning all those AI checks based on absolute values (there would be simply no territories of value in between of 0 and 10).

                                    1 Reply Last reply Reply Quote 0
                                    • FrostionF Offline
                                      Frostion Admin
                                      last edited by Frostion

                                      OK. Thanks for looking into it.

                                      But why does player "Nature" need to have unit “Khorman”? It is a Dwarven Hero unit that Nature should not have access to? I have seen similar errors, where for example the engine wants Undead to have image of for example Human Hero unit. Does every player need image of every single unit type in the game?

                                      In regards to the AI building factories, I actually thought the motivation was based on distance from battle fields, like if the AI could see that it had to walk like 6 territories to meet the enemy (or 3 turns with 2 movers), then AI would like to build closer to the enemy. Could the AI logic not benefit from something like this?

                                      Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

                                      redrumR 1 Reply Last reply Reply Quote 0
                                      • redrumR Offline
                                        redrum Admin @Frostion
                                        last edited by redrum

                                        @Frostion Not sure about the images, I'll have to take a closer look.

                                        The AI does check distance from the enemy but it has a hard limit right not where it won't even consider any 1 production territories. The reason for that is that on pretty much all existing maps, you never want to build a factory on 1 production territories and rarely on 2 production territories (so this is essentially an assumption that is invalid for this map). The way the AI works around buying factories is essentially like this (ignoring sea purchases for now):

                                        1. Buy defenders to hold factories
                                        2. Buy land units in factories reasonably close the the enemy (has a bunch of calculations to determine distance and whether to buy low/high movement units)
                                        3. Buy factory in 3 or more production territories reasonably close to the enemy
                                        4. Try to spend remaining PUs on land units in factories further from the enemy not used in 1 & 2
                                        5. Buy factory in 2 production territories as couldn't spend PUs on anything else

                                        @Cernel Ideally, you are correct. The AI shouldn't hard code to fixed values but given that it works on almost all existing maps and is much simpler to code that is why it was done that way. There are very few existing maps where you would ever place a factory in a 1 production territory (given that placement is limited by territory production). But the AI should instead look at say average territory production values instead of having a hard limit (if all territories are 1 production and factories are cheap then be willing to build anywhere). Your example is a bit different and even more extreme but the AI would probably do ok (definitely better than it would on this map with all 1 prod territories). The reason is the AI only tries to build a factory if it thinks it needs one after using its existing factories that are reasonably close to the enemy so the only thing that would change is it would be willing to buy a factory in territories that might not be worth it since you could argue it shouldn't build in a 10 prod territory in your example (only in maybe 20 or more prod territories).

                                        TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                                        Jason Green-LoweJ 1 Reply Last reply Reply Quote 2
                                        • FrostionF Offline
                                          Frostion Admin
                                          last edited by

                                          @redrum My Warcraft map now has 1-3 PU territories, so the AI is building factories, but sadly not upgrading.

                                          @everybody
                                          First post here for a long time. And it is not even a progress report, even though there has been a lot of progress and changes to this map.

                                          I need to know if this way of representing bridges (land+air unit connections) and air bridges (air units only connection) is intuitively understood? Is it obvious what a blue arrow, floating in the air, is saying? I myself have been working on this and might be blinded in terms of what I see. I have tried to make the arrow very discreet, as to not look like a physical presence, like the "real" bridge with black outline.

                                          AirBridge.png

                                          Map maker of: Star Wars: Galactic War + Star Wars: Tatooine War + Caribbean Trade War + Dragon War + Age of Tribes + Star Trek: Dilithium War + Iron War + Iron War: Europe + Warcraft: War Heroes

                                          redrumR C 2 Replies Last reply Reply Quote 0
                                          • redrumR Offline
                                            redrum Admin @Frostion
                                            last edited by

                                            @Frostion The blue arrows and bridges make sense to me.

                                            The AI won't buy any units that consume other units if that is what you mean?

                                            TripleA Developer with a Passion for AI: https://forums.triplea-game.org/topic/105/ai-development-discussion-and-feedback

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 5
                                            • 6
                                            • 7
                                            • 8
                                            • 9
                                            • 15
                                            • 16
                                            • 7 / 16
                                            • First post
                                              Last post
                                            Copyright © 2016-2018 TripleA-Devs | Powered by NodeBB Forums