Warcraft: War Heroes - Official Thread
-
@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>
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

-
@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% -
@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.
-
@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. -
@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 -
Would multiplying everything by 3 work ? Or would that cause issues elsewhere ?
-
-
@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).
-
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?
-
@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):
- Buy defenders to hold factories
- 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)
- Buy factory in 3 or more production territories reasonably close to the enemy
- Try to spend remaining PUs on land units in factories further from the enemy not used in 1 & 2
- 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).
-
@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.

-
@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?
-
@Frostion said in World of War Heroes – Official Thread:
@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.

As long as you can always move through rivers, with the same kind of units, then I would prefer no arrows or anything, as that would be superfluous signalling.
However, this is only in case the mapmaker takes good care in assuring all being unmistakably clear (!), and without any missing connections, as otherwise it might be hard arguing a connection is actually missing.
An example of an original bad drawing with universally fordable river is given by the Lord of the Rings map (in High Quality, though rarely played). In that map, all rivers were fordable, but without any signs, and with a drawing leaving a lot to be desired in terms of clarity, with also some cases in which arguably very similar cases were incoherently handled (for example, the fact that Anfalas and Belfalas connect while Anfalas and Lebennin don't).
Eventually, someone, probably veqryn, fixed that by adding dotted lines on the rivers, showing the connections.
Anyways, what I'm saying is that the most important thing is that all is clear. Secondarily, I suggest clarity being achieved with the least amount of effort. So, in your case, the best would be having no arrows nor dotted lines, but all river borders being very clearly drawn and all xml entries perfectly defined. Failing that (like in the case of the Lord of the Rings map), and aside from redrawing the map, then arrows or dotted lines are, of course, better than having no clue.
This makes me recall the same matter we went through when clarifying the WAW mess about little islands connections and canals (a few users were suggesting arrows, and such, and I think it has been proved nothing of that was actually necessary, as long as all was well drawn).
-
@redrum I know AI don't buy upgrades and it's a shame

@Cernel "I would prefer no arrows or anything, as that would be superfluous signalling. However, this is only in case the mapmaker takes good care in assuring all being unmistakably clear"
In Dragon War there will be no arrows or indicators, as there is actually no cases of uncertainty regarding the presence of a border-river, and all border rivers can be flown over. This is not the case on the Warcraft map. There are many places where borders and connections are not as clear as in the picture I posted. Also there are som slim mountain ridges that I plan to allow airunits to fly over. So the arrows will mark all air connections. No arrows, no air connection over the river or mountain ridge. -
@Frostion I like the arrows if they are intrinsically key for clarity.
I might suggest deepening the shadow ever so slightly as it may further underscore the unique nature of the the connection.
-
Also maybe adding a slight arch to the arrows...

-
@Hepps I recolored the arrows a bit, added more shadow and a discreet outline. I don’t think I will add a curve, as it could maybe lead to think that the arrows are referring to something thrown or maybe artillery related.
In relation to this; I think I will allow all artillery shots (1 movement suicide air units) to use all air connections just as other air units. (And no ... artillery cant load up and catapult pigs .... the pig is a "Food" generating resource
)

-
Too bad about the pigs. Otherwise you could have umbrellas as defensive units

-
Actually, in ancient times pigs were sometimes used as suicide war units.
https://en.wikipedia.org/wiki/War_pigHistorical accounts of incendiary pigs or flaming pigs were recorded by the military writer Polyaenus and by Aelian. Both writers reported that Antigonus II Gonatas' siege of Megara in 266 BC was broken when the Megarians doused some pigs with combustible pitch, crude oil or resin, set them alight, and drove them towards the enemy's massed war elephants. The elephants bolted in terror from the flaming, squealing pigs, often killing great numbers of their own soldiers by trampling them to death.
-
@Frostion I would probably agree about the curvature as your points make perfect sense... and the revisions to the arrows look great.
And don't be so stingy... let the pork fly freely!
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