The Horde

Upload your latest creations here.
Please note that by posting comments to posts in this forum you forfeit your personal copyright on whatever you post. AI Scripters reserves the right to re-use objective comments in script reviews without requiring the posting author's permission. Credit, where appropriate will be given in such cases.
Post Reply
User avatar
marathon
Waheguru
Posts: 1984
Joined: Fri May 14, 2010 2:30 pm

Re: The Horde

Post by marathon »

My 100th post is here :)
I tested it against my Lade v.0.9.4 (a FC Byz script) several times on 1 vs 1 tiny arabia, with different civs. In all but a couple hun games it flushed, usually with 28-29 pop. It rarely managed to get 1 or 2 relics. It is as terrifying as its name implies, but it suffered 2 defeats with Huns (and achieved many, many wins) and some more with other civs.

- Huns: It flushes well with scouts. It retreats for a while and then it continues in castle age, with cavarchers and scouts, and also some knights, which it abandons later. Lade's army is based on skirms and spears, with < 6 cataphracts and monks. Monks tend to convert knights. So, in late castle age, its army is like 60% cavarchers and the rest scouts. This is not the best idea against a skirms & spears army: skirms kill cavarchers, spears kill both. On the other hand, cavarchers kill spears and scouts kill skirms. But, spears really massacre scouts. After the initial clash, both armies' melee units are decimated, so the fight continues with the ranged units and whatever reinforcements arrive. Even though in theory skirms kill cavarchers, it takes them quite some time to achieve that. So, cavarchers stay on the field long enough to kill all enemies and proceed to economy, in total contrast with scouts, whose half-life time is extremely low. In both games that Lade managed to win, it had 1 well placed castle. After the initial clash, The Horde's army was a lot stronger, but the enemy castle gave time for a new trash army to appear. Rams finally kill the castle, but it has made its money by killing many cavarchers. The game continues for long, and the winner will be the one that harasses most the enemy eco, since both opponents struggle to stay near the pop cap.

I would propose to change the castle-age army against trash-based enemy armies: few knights and many skirms should win the first battle, and a mass of knights could be produced by fast stables if there is a good military advandage. Those knights would survive longer under building and skirms fire and would keep enemy villagers garrisoned. A mass of scouts after the initial clash could also keep enemy vils garrisoned, until rams arrive to ungarrison them. Maybe changing the order of the military training rules could further increase the percentage of ranged units before the big battle, while a couple of rules placed on top of them could pump out melee cavalry if the military advandage is big. Also, cavarchers could be replaced by xbows to some extend, but this could be dangerous.

(In general, I notice that a castle tends to appear near a place where a lot of killing has taken place. So, a later castle tends to be better placed than an earlier one. However, there is the risk of losing it before it is finished. I am experimenting with SNs that may affect castle and towers placement, in order to improve early stone defences placement.)

- Byz: 1 test. The usual flush attack with 16 ranged units (mainly skirms) was never launched. The feudal eco was not that good, but the army was ok. On the path to the enemy town there was a crowded enemy LC, but, when the attack was finally launched, the response was determined. A little bad elevation made The Horde lose that battle. The two towns were too close together, so Lade's trush units started harassing The Horde's eco. The game was too fast, Lade won extremely easily.

The first attack should have been launched anyway. At the time, Lade's army was too weak and ideal for the 90% skirm army of The Horde. Lade, being in early feudal, desperately needed wood, so the attack would have set Lade really behind. A few spears produced during the attack would really help The Horde feel safe against a counter-attack. The byz eco also needs work.

In this game and the following ones the message "enemy flush detected" appeared at 17:xx or later, probably because of some early defensive units trained by the opponent. Lade is not a flusher. In my experience, if a script reaches Feudal in 14:20 or later, it definately isn't a flusher, so my rule for flush detection only takes into consideration the enemy feudal time (this is deceiving on nomad or LN maps, or against human players). The only flushing script with an occasionaly late feudal time is Solidus, and only because it had some bad luck in a few games.

- Goths: In one game, The Horde won extremely easily, with a perfectly successful m@a flush. Lade's first 2 towers were badly placed, while the next 2 were destroyed before finished. However, goths' numbers were too big and they would have won anyway. I will try to make a similar build order for a gothic flush for my script.

- Japanese: In one game, a similar flush like the gothic one did some damage to Lade, but it was finally defeated. The percentage of ranged units was very high from castle age on, and this was very useful imo. Another attack was launched in late castle age. This wasn't the best idea, since the attack was delayed pointlessly. The army was ready in 34', but the attack delayed for 3-4', giving Lade the time to stabilise its eco and increase its army. Just before the attack, The Horde started saving resources for Imperial Age, and pressed the button in the heat of the battle. Lade managed to stop the attack, at a high cost, but it soon got the numerical advandage. The Horde finally matched Lade's army, but this time its 2-handers and later champions wouldn't help, since the battle was taking place in own place. Lade advanced to imperial 8' after The Horde (at 52'), with a healthy economy. Some very few siege weapons appeared in the Japanese town, including 3 trebs which destroyed the market and many farms and houses, and it all seemed that this was the end. But no, the Horde kept fighting bravely for at least half an hour. At this point, Lade finally researched Elite Cataphract (40' for a top-priority research! And with 5 relics too) and started pumping out those uncounterable nightmares. This time it was the end. Lade had 1000 kills and 1300 casualties, it destroyed 160 buildings but also lost a dozen. A good game. The horde is far from a quitter. No other script could last that long under those circumstances.

The game was lost since The Horde lacked luck. The flush rather failed for no obvious reason (Lade's towers were once again placed badly) and it lost all relics. Its feudal eco was great, the army composition seemed ideal in both feudal and castle ages. It could attack a little earlier in late castle. It shouldn't dare to escrow for imperial without a good military advandage, or it shouldn't attack while escrowing for imperial. Preferably the first could offer the victory. This is really important imo for civs whose armies are composed of cheap but weak units, like all infantry civs (except Teutons). For cavalry civs, this is not important, since cavalry last longer.
In this game, The Horde suffered from both wood and gold shortage when the battle was inside own town. It correctly switched to cavalry, since it had a ton of food, but it didn't have enough stables. It couldn't rebuild its market, it couldn't build more stables, it couldn't even build houses, so it was housed. And, it didn't mine enough stone. Zero castles.


I would propose to build a mining camp on stone anyway in castle age. When The Horde finally needs stone, all locations by the nearest stone pile are often covered by buildings. Also, in this game the 1st barracks was placed just before the 1st gold camp, and it forced it to be placed a little farther. Later, while that barracks had infantry all around it waiting for the attack order, the gold miners had a very hard job finding their way to the camp. But, for some reason, all idle military units moved very slightly and the miners were free to go. This happened a couple more times. I don't know if it was intentional, but it helped.

Initial scouting also seems to need work. I am making some experiments and I am close to finding a solution for that very annoying problem of all ais. ARFFI and IS_Norman_Duck have found the solution, also using some tests made by TheGreatKazein and another scripter (I can't recall him). But I need to understand it better, so I have to make some more experiments of my own.

Those tests were ran with The Horde as player 1. For some reason, it seems that player 2 has a better battle behavior in my computer. For the first time I saw Lade's trebs aiming at skirmishers (who gave this order?!), while Horde's units didn't seem to behave as usual. The hun tests (all but one) were ran with The Horde as player 2.

This is the most heroical and impressive script ever. Its military production is unmatched, it fights bravely and trains good unit mixes in huge quantities. It also invests heavily on archers and this makes it very impressive. The funniest script for human players.

A very long and detailed post, but I owed it to Archon for his great help in building my script.

EDIT: Some more tests between the two proved that Lade can only win against cavalry civs (Mongols, Persians, Huns) and has a real problem against infantry civs. Especially against a m@a rush, it has little chances. Even Korean m@a rush proved to be deadly, despite the good tower placement. So, The Horde is a lot more than a hun script. The strange thing is that it tends to have 13', 26' and 42' age times too often. Like there is no opponent.
Also, it seems that the rules for Turks need some fixing, since I saw way too many skirms in imperial age.

Archon
Waheguru
Posts: 1905
Joined: Sat Nov 08, 2003 9:22 am

Re: The Horde

Post by Archon »

Thank you for taking your time and testing my script carefully. :)

You are right The Horde doesn't change its strategy according to what its enemy has. Obvoiusly I have to adopt.
- Byz: 1 test. The usual flush attack with 16 ranged units (mainly skirms) was never launched. The feudal eco was not that good, but the army was ok.
Just wondering what it feudal age time was, as it provides helpfull information.
For some reasons I couldn't figure out civs without dark age bonus sometimes happen to feudal very slow with an abundance in wood and not enough food. If the Horde chooses to flush and has this economical problem, it is too slow vs your script and never attacks. Probably it would be better instead to try to go fast castle age while stalling with cheap units like your script does. I dislike attacking anyways, as it isn't as easy as you say. For example if the attack goes straight to the town-center or a well placed defense tower, the flusher is set behind even more.
In this game and the following ones the message "enemy flush detected" appeared at 17:xx or later, probably because of some early defensive units trained by the opponent.
Horde's flush detection is triggered after enemy had > 6 (?) in feudal age or when it has two villagers more at the of dark age (this is why the huns flush you although their standard strategy is fast castle age.). However it doesn't change too much after 17 minutes so in most cases a false flush detection doesn't harm, but I could limit it to 16:30 or so fast castle scripts won't trigger it. Btw there are several other strong late feudal flush scripts like VNS_Halen, VNS_Caesar Goths and even some civs of my own script when its unlucky with the map for some reasons.
- Goths: In one game, The Horde won extremely easily, with a perfectly successful m@a flush. Lade's first 2 towers were badly placed, while the next 2 were destroyed before finished. However, goths' numbers were too big and they would have won anyway. I will try to make a similar build order for a gothic flush for my script.

- Japanese: In one game, a similar flush like the gothic one did some damage to Lade, but it was finally defeated. The percentage of ranged units was very high from castle age on, and this was very useful imo.
The game was lost since The Horde lacked luck. The flush rather failed for no obvious reason (Lade's towers were once again placed badly) and it lost all relics. Its feudal eco was great, the army composition seemed ideal in both feudal and castle ages.
Goth do probably the best m@a flush and if their initial attack doesn't go into the TC they can even beat the huns. I like the m@a strategy, that is a little inspired by IS_Machine, so in lack of a better idea I made the koreans do so as well even they don't contribute any useful bonus to it.
Another attack was launched in late castle age. This wasn't the best idea, since the attack was delayed pointlessly. The army was ready in 34', but the attack delayed for 3-4', giving Lade the time to stabilise its eco and increase its army. Just before the attack, The Horde started saving resources for Imperial Age, and pressed the button in the heat of the battle. Lade managed to stop the attack, at a high cost, but it soon got the numerical advandage. The Horde finally matched Lade's army, but this time its 2-handers and later champions wouldn't help, since the battle was taking place in own place.
That's probably a tribute to playing with all civs. Besides a very few exception rules their military behaivor (when to attack or save for researches or train an army) is identical with all civs and was originaly optimized for Huns. That's definitly something to improve as it is too passive and slow with cavalry civ while it maybe attacks prematurely with infantry civs.
Also I think the save for imperial age behaivor is good for Huns as they are probably better in defending until they have some imperial researches as other civs are, so I'll have to change it a little for other civs.
In this game, The Horde suffered from both wood and gold shortage when the battle was inside own town.
Guess I'll adress as this happens to almost all civs after long battles. Probably I should not be so defensive with building lumber camps though this might cause unecessary loss of villagers.
I would propose to build a mining camp on stone anyway in castle age. When The Horde finally needs stone, all locations by the nearest stone pile are often covered by buildings.
I've never seen this with their first stone camp though with their second. This is also something that requires a lot of testing since I didn't want to invest 100w for a stome camp that doesn't get used for several minutes.
Also, in this game the 1st barracks was placed just before the 1st gold camp, and it forced it to be placed a little farther. Later, while that barracks had infantry all around it waiting for the attack order, the gold miners had a very hard job finding their way to the camp.
It is intended to build the barracks before the camps as in previous versions (though I included before I decided to build a second LC in dark age), I have seen it reaching feudal age without a finished barracks so changing it allows me to place the archery range faster.
But, for some reason, all idle military units moved very slightly and the miners were free to go. This happened a couple more times. I don't know if it was intentional, but it helped.
Well spotted and intented to prevent workers from being stuck. The Horde sets strategic-number sn-task-idle-soldiers to 1 for 3 seconds every 3 minutes.
Initial scouting also seems to need work. I am making some experiments and I am close to finding a solution for that very annoying problem of all ais. ARFFI and IS_Norman_Duck have found the solution, also using some tests made by TheGreatKazein and another scripter (I can't recall him). But I need to understand it better, so I have to make some more experiments of my own.
I just read two days ago about it in your other thread. I'll test it too as I was not aware about that before.
Those tests were ran with The Horde as player 1. For some reason, it seems that player 2 has a better battle behavior in my computer. For the first time I saw Lade's trebs aiming at skirmishers (who gave this order?!), while Horde's units didn't seem to behave as usual. The hun tests (all but one) were ran with The Horde as player 2.
Sometimes I also think about it but I think its also a bit psychological. The grass is always greener on the other side. That trebuchet behaivor is caused by attack-now or attack-groups, version 2.08 of the Horde doesn't use these attacks in RM. Though I plan to change this again in the next version, as it currently causes my army to run across the map in some cases just to kill an unused camp.
EDIT: Some more tests between the two proved that Lade can only win against cavalry civs (Mongols, Persians, Huns) and has a real problem against infantry civs. Especially against a m@a rush, it has little chances. Even Korean m@a rush proved to be deadly, despite the good tower placement. So, The Horde is a lot more than a hun script. The strange thing is that it tends to have 13', 26' and 42' age times too often. Like there is no opponent.
I also noticed this and I guess it's due to your script training many spearman in any cases. With cavalry civs the Horde loses all games except when its able to kill several villagers with it's scout flush. Though I had a game where the Horde reached castle age with huns in 18:01 (!) and attacked with 4 knights before your script had any spearman or skirmsiher out, but this is a rare exception.

The age times are probably due to restrictions on training units. For example it stops training m@a after some time in feudal age and in castle age it stops training military if it has reached > 140 population and is not behind in military. On the other hand this slows down the imperial advancement of cavalry civs that seems always behind on military against your script. Again something to do.
A very long and detailed post, but I owed it to Archon for his great help in building my script.
Again thank you for this helpful post, it gave me many ideas on things to improve for version 2.09. :)

User avatar
marathon
Waheguru
Posts: 1984
Joined: Fri May 14, 2010 2:30 pm

Re: The Horde

Post by marathon »

Just wondering what it feudal age time was
The Byz feudalled normally (13:xx) for a flush. The eco wasn't that bad, it simply wasn't astonishing like with the other scripts. The fact that Byz correctly chose to invest on cheap skirms should provide something like an eco advandage. Since your script now avoids hunting, it doesn't depend too much on luck and it is more stable. It is possible that it missed a couple of sheep due to scouting problems, though.
if the attack goes straight to the town-center or a well placed defense tower, the flusher is set behind even more
Make a test. Horde vs a modified Horde that always chooses a FC strategy. Spy the second. You will see that the flush really makes a damage, even if it dies quickly. My script reaches 100 pop in just under 30'. Against an unsuccessful Horde flush, it has at most 85 pop by 30'. Against a flush never launched, it has 100+ pop and 5 relics (meaning 5 free gold miners). I really believe that a flush has to be launched.
Btw there are several other strong late feudal flush scripts
Saiyan also flushes late, due to its awful dark-age eco, but it flushes anyway. I had to add a new rule for flush detection: when the enemy has more than like 12 units and is still in feudal, then I now may train knights. Late flushers (like The Horde) are often deadlier.
I like the m@a strategy
I introduced knights especially against m@a. I hate them :lol:
Also I think the save for imperial age behaivor is good for Huns as they are probably better in defending
Yeah, they wont die. Their parthian shots can kill 200-300 Lade's trash before they finally go down. This gives plenty of time for researches, and also protects the eco. Lade's byz try to create a wall of cheap trash, but it needs at least 85 villagers to sustain them. Against the horde's huns, even 120 villagers aren't enough, so the battle soon moves to Lade's town. The building spamming helps delaying the attack and escrow-for-halb changes everything, if Lade gets lucky enough to enter Imperial.
I've never seen this with their first stone camp though with their second. This is also something that requires a lot of testing since I didn't want to invest 100w for a stome camp that doesn't get used for several minutes.
In an older game, Lade was about to collapse, until The Horde sent like 15 or more villagers to a gold camp in the middle of the battle. Since it had a scout+cavarcer army, this costed some very-needed food. My script also has the bad habit of building in the middle of the battle during TSA, but it builds everything, including TCs. I wonder which sn could prevent that. As for the quote itself, maybe building a somewhat less compact town could help. My experience with The Horde says that it has many buildings, including castles, protecting the farming areas from enemy TSA, so maybe it needs to trigger the expansions a little earlier. My experience with Lade says that if my TSA reaches enemy farming areas, it is usually gg, unless it is facing your mighty script, of course.
Well spotted and intented to prevent workers from being stuck. The Horde sets strategic-number sn-task-idle-soldiers to 1 for 3 seconds every 3 minutes.
Cool! Lade needs it! I will make it every 45'', for the duration of a script-pass. Post it at the hint-of-the-day. Although I kind of figured it out, I would have never thought of it if I hadn't spied on your script.
Initial scouting...

I just read two days ago about it in your other thread. I'll test it too as I was not aware about that before.
See also this little program in my thread (not here on scripts uploads). Or, better, spy De'Gel. And, finally, give a look at the aiscripters1 page, where ARFFI and NormanDuck made some very inderesting discussions on various subjects. I think that sn-blot-exploration-map has something to do with it. Also, sn-maximum-town-size has definately an effect. I think that sn-blot-size and sentry-distance also may affect scouting. But my tests results are really wierd. I suspect that the blot-numbers must be set once and for all and before the scout even moves, since it seems that later changes affect nothing...
That trebuchet behaivor is caused by attack-now or attack-groups

Though I plan to change this again in the next version, as it currently causes my army to run across the map in some cases just to kill an unused camp.
I gave this order and it was my trebuchet. A rule fires at 1:30', when there is a good advandage, in order to speed up things. Attack-now penetrates towns better, but it shouldn't be fired when the two armies are of equal strength. Also, going to a remote enemy camp offers the advandage of luring the enemy away from its castles, thus speeding their killing, without the disadvandage of leaving ubprotected units behind like it happens with a retreating TSA. Now, if this triggers your script to launch an attack-now attack when it has the advandage, this is very much wanted.
I had a game where the Horde reached castle age with huns in 18:01 (!) and attacked with 4 knights before your script had any spearman or skirmsiher out, but this is a rare exception.
I kind of ruined my script with the latest changes before uploading, in my effort to resist to De'Gel's aztecs. This happens quite often now, the old feudal-like army training is gone for Lade :(

User avatar
THE RULER
Guru
Posts: 655
Joined: Sat Feb 20, 2010 10:55 am
Location: FRG
Contact:

Re: The Horde

Post by THE RULER »

Seems The Horde has a big problem with Lade, mate ! once u let them pass to imperial they easily smother you with halbs and elite skirmis. :devil
for the Ladder u can lay back as it is weak to early flushers - at least one of the best new scripts posted so long
It's poison and it's blood and big fire, big burn - into the ashes and no return

User avatar
ARFFI04
Guru
Posts: 597
Joined: Sun Jul 26, 2009 6:33 pm
Location: Japan

Re: The Horde

Post by ARFFI04 »

Many interesting posts.

Thanks marathon and archon.^^
Will come back to read again. ;)

PS:
>Initial scouting also seems to need work.
There is much difference in EW scout and scout scouting.
Be careful.
(mine is always optimized for EW's lol.)

c.f.
(set-strategic-number sn-blot-exploration-map 1);1=re-explore
(set-strategic-number sn-blot-size 0);15=default
ARFFI: A scripter from japan : Main script ARFFI-De'gel

User avatar
Leif Ericson
Waheguru
Posts: 1423
Joined: Wed Dec 09, 2009 8:15 pm
Location: United States

Re: The Horde

Post by Leif Ericson »

I guess I never really learned how those SNs affected scouting. ARFFI and marathon, what values and SNs have you found useful to improve scouting?

User avatar
MuRRay Jnr
Waheguru
Posts: 1990
Joined: Mon Jul 27, 2009 3:03 am
Location: Queensland, Australia

Re: The Horde

Post by MuRRay Jnr »

(set-strategic-number sn-blot-exploration-map 1) is essential for aztecs, mayans and mongols as the extra LOS on the scout/ew makes it so much more unlikely they will find sheep.
cheers,
murrayj

my current attempt at scripting, avarice ai

User avatar
ARFFI04
Guru
Posts: 597
Joined: Sun Jul 26, 2009 6:33 pm
Location: Japan

Re: The Horde

Post by ARFFI04 »

Don't forget the blot-size, MuRRay. ;)

@Leif
(set-strategic-number sn-blot-exploration-map 1);1=re-explore
(set-strategic-number sn-blot-size 0);15=default
blot-size 0 for aztec, mayan, mongol as MuRRay said.
blot-size 1-3 for others.^^

This is what I like.^^
ARFFI: A scripter from japan : Main script ARFFI-De'gel

Archon
Waheguru
Posts: 1905
Joined: Sat Nov 08, 2003 9:22 am

Re: The Horde

Post by Archon »

Updated to version 2.09

- changed scouting
- hopefully some better reaction to mass pikeman
- trains spears and cav-archer/xbows when it suffers a bad fast castle age time instead of double stable knights

most random civs still die terribly against Degel, Eyries, Lade, Halen, ER and probably many others. Didn't have enough time to test against all. :(
Last edited by Archon on Mon Sep 13, 2010 11:37 am, edited 1 time in total.

scripter64
Waheguru
Posts: 5891
Joined: Fri Jan 16, 2009 8:36 pm

Re: The Horde

Post by scripter64 »

Downloaded! Thanks for the new version, Archon :)

Post Reply