Welcome to the third continuous installment of the AoKH AI Scripting Ladder, now supporting Userpatch for the first time. Here you can enter your AI to compete against AIs with a wide range of abilities and a huge range of strategies. Whether it's to improve your AI's skill or whether you want to enjoy the exciting fun and community it provides, the Userpatch AI scripting ladder will suit your needs.

The Userpatch (UP) is a community patch that provides enormous benefits to the game, allowing AIs to become exponentially more intelligent, among others. Click here to download the patch and learn about everything the Userpatch can do! You'll find many scripters here who are more than willing to help you learn how to script and how to use the new UP commands.

Also, if you enjoy scripting, you should join the AI scripters community at http://forums.aiscripters.com/. You can also find a guide to AI scripting here and a guide to the new UP commands here.

How Do I Join?

If you want to enter the ladder, just drop a post in the thread with a link to your AI, tell us what civ you want it to play, and your AI will be added to the ladder.

When you enter your AI, it will play four unrated games against different opponents and given a rating based on its performance. Once your AI has been given a rating, your AI is ready to enter round play and climb up the ladder.

New: Each forummer can only have one AI in the ladder at any time.

How Does the Ladder Work?

Like multiplayer ladders, the AI ladder determines an AI script's overall skill ability over the course of several games and compares the skill ratings of other AIs to each other.

The AI Ladder uses the ELO system, the same system used to rank chess players or players on online gaming sites such as Voobly. The ladder is run in rounds with each AI grouped in a league of (ideally) five AIs according to ability. During each round, each AI will play each other AI in its league twice. The winning AI's score in each match will be increased according to its opponent's score, either a large amount if the AI defeated a higher ranked opponent or a smaller amount if the AI defeated a lower ranked opponent. The losing AI's score is decreased in the same way. Once the round is over, a new one begins, creating continuous cycles of competitive fun.

To make things more interesting, we randomize between Arabia, Ghost Lake, Gold Rush, Mongolia, Oasis, and Yucatan. To facilitate the randomization, you can download the official AI Ladder random map randomizer to test your AI and to test matches: link

AI Classes:

New: All AIs are divided into leagues according to ability, with ideally 5 AIs in each league. The leagues are reorganized at the end of each round to re-sort the AIs into the leagues by ability.

If an AI is the lowest-ranked AI, has at least 75 points lower than every other AI, and has lost at least three games in a row, the AI will likely be dropped unless the author requests the AI to remain in the ladder.

Game Requests:

New: Requested games no longer count for score, but they can be requested nevertheless.

Previous AI Ladders:

In addition, for those who like a bit of nostalgia, you can find the previous installments of the AI scripting ladder here:

Anyone can judge any of the games in the AI ladder, and judges do not have to sign up for a game before playing it. However, you may make a post in the thread if you wish to reserve a game to judge. Those who are willing to judge and record these games, please post for which games you would like to play. Authors should not judge games that contain their own AI. All games should be played on Hard difficulty, tiny map, 200 pop, Dark Age, low resources, and Conquest victory. The current version of the Userpatch (version 1.4) and the official randomizer map script should be used. Games will be considered a draw if they last more than two hours, unless an AI has less than 2 villagers at the two hour mark. Thus, you can end the game after two hours if you wish.

It is recommended that the judges cheat "natural wonders" so that there is no possibility of interference from the judge. However, if you feel that this would hamper your ability to review the game you may opt not to do this, as long as you provide the recorded game.

If you decide to use Cheat Engine's speedhack feature, please limit your games to x5 speed on Slow speed or x3 speed on Fast speed, unless one AI has clearly won the game and you want to speed up the "cleaning up" process. Any faster speedhack is prone to mess up AI functionality on slower computers.

Once the game is finished, please write a short review of the game. Provide helpful comments on what were each AI's weak points so that the authors of the scripts can know how to update them. Also post the recorded game link along with the review. To make it easier for us to gather information from the reviews, please post the reviews of the games in this format (just copy it into your post and edit it):

AI #1 (Civilization) vs. AI #2 (Civilization)

Map: Arabia (or whatever map is chosen)

1 Jan, 2013 (this date is just an example of the format)Map Type: Mongolia (or whatever map is chosen)

Review:

.........

Winner: (AI Name)Recorded Game link

Thanks for judging and reviewing! Here is the current schedule. Sign up for the games you would like to play:

Season 2

Round 4

Entrance Games:

1.

Entering AI:-

vs.

Opponents:-

Results:-

Cavaliers League:

AIs:BarbarianPromiJuggernautThe Horde

Round W-L4-00-40-22-0

vs. BarbarianxLLLL--

vs. PromiWWx--WW

vs. JuggernautWW--x--

vs. The Horde--LL--x

Knights League:

AIs:TRONDaedricIlluminatiCrusadeIS Machine

Round W-L2-23-34-21-32-2

vs. TRONxLWWL----

vs. DaedricWLxWL--WL

vs. IlluminatiLWLWxLL--

vs. Crusade----WWxLW

vs. IS Machine--LW--WLx

Squires League:

AIs:Tribal WarriorsBruteForceBossMeleonThe Unknown

Round W-L2-00-40-44-24-0

vs. Tribal WarriorsxLL------

vs. BruteForceWWx--WW--

vs. Boss----xWWWW

vs. Meleon--LLLLxWW

vs. The Unknown----LLLLx

~`o´~|\Join the fresh and exciting AI Ladder for its fourth season!´ ` |_\|Learn the joy of AI scripting in my guide: The World of AI Scripting______|______ \ /.....Hinga Dinga Durgen! - SpongeBob`-=<.__.>=-´

it's up to you, lws; just create a new threat and go along.Leif may fix it sticky and I may also perform some judgings occasionally. You can also add another scoring base.Have fun.

EDIT: updated to V 3.2

heav'n has no rage like love to hatred turn'd, nor hell a fury like a woman scorned (William Congreve)

[This message has been edited by The Ruler (edited 02-23-2014 @ 02:30 AM).]

II2NSquire

posted
02-22-14 03:47 AM
CT (US)
454 / 1174

There aren't many scripters interested in 1.0c-scripting when they can use UP. There is no reason to use 1.0c over UP.

rob77dpAOESquire

posted
02-24-14 02:07 PM
CT (US)
455 / 1174

Hello fellow AoC scripters! I'm not sure how many knew of me here or remember, but I was active for a short period of time late 2009 and early 2010. I created a couple of AI's under the AI-name "f1@$h" for Britons and Mayans. I am getting back in to the AI scripting thing and hope to have a version of each ready for submission within* a week or so.

--Rob

*edit: Corrected spelling since English is my language I had to fix it. :-D

Well, thinking about it a bit there is not reason not to start by simply submitting the previous f1@$h Myn to this ladder. What are the minimum changes needed to take an AI from 1.0c to UP1.3 so that I can make those minimum changes before beginning more serious revisions.

1.0c AIs will function with UP exactly as they did in 1.0c, except that they benefit from some bug/behavior fixes, such as picking the closest villager as builder and not being affected by building-destroyed-under-construction-bug, so they're perfectly valid with UP. However UP opens a whole new world of possibilities for them.

rob77dpAOESquire

posted
02-26-14 01:18 PM
CT (US)
462 / 1174

Thank you for a quick reply, II2N. I hereby submit my f1@$h Myn1.1a for inclusion in this UP AI ladder. Please let me know if there is other preferred protocol beyond what I have below. Thanks!

*Note: I am still trying to get my home rig set up to properly operate AoE II again, so this 1.1a is un-tested lately but worked last in 2010 on 1.0c. Please let me know ASAP any errors and I can resolve new outstanding issues.

Both AIs krush, Horde adding pikemen immediately. However it idles TC occasionally to maintain unit production. Horde attacks, but UnfairSteel can counter it, and although Horde has 2 TCs, the idle time hurts.

After booming Steel is first to enter imperial age, but it waits for researches. Horde hits imperial age too, and starts preparing army. They decide to attack at the same, and although Steel has lead, Horde's grouped army turns out to be a pushover due to terrible battle performance, giving Steel no real resistance.

The UnKnown chose to go for his usual boom while IS_M decided to flush - also as usual.Unknown didn't even have a barracks but IS_M still waited until 17 mins with its attack and then mostly moved around in big groups (and only seldom stopped to actually attack someone).Unknown then just castled without having received any real damage and constructed two additional towncenters + a barracks very quickly while IS_M retreated with his feudal army. At this point Unknown absolutely had the game but chose not to construct any other military building and thus didn't train any army.IS_M castled, upgraded its units and attacked => met no resistance => yawn -uhh i mean "won".

A river splits the map in half, making the map harder for AIs. Boss uses perhaps unnecessary extra explorers at feudal age, and jaguars eat multiple soldiers.

Crusade's flush hits a lumber camp and kills multiple villagers while Boss is advancing to castle age. Boss is unable to defend against the attack, and Crusade keeps pressuring Boss while eventually going to castle age to finish Boss.

[This message has been edited by John the Late (edited 03-08-2014 @ 12:57 PM).]

II2NSquire

posted
03-08-14 10:58 AM
CT (US)
474 / 1174

Promi (Full Random => Mayans) vs. TRON (Mongols)

Map Type: Ghost Lake

Promi does a fast flush and hits TRON, killing multiple villagers. It takes a long time before TRON's scouts manage to counter the flush, and by that time Promi is already advancing to castle age.

Promi has some difficulties at getting more TCs while TRON manages to build 2nd before Promi despite entering castle age almost 4 minutes later. There's some fighting and TRON's army seems buggy when attacking.

Nevertheless the villager lead Promi gained at feudal age is too much and even though Promi does a risky jump to imperial age TRON never manages to catch up. TRON also refuses to research imperial age despite affording it. Promi upgrades its skirmishers and spears at imperial age and finished the stuck TRON.

Both AI's did a fast-castle with the exact same feudal- and castle-age times though Jugger prepared for his usual hun krush on Oasis while Barbie planned on dropping a castle which he eventually did. Barbie also detected the krush and immediately dropped two monasteries and trained monks in addition to his samurai - but remained with just one TC.Juggernaut's krush hit Barbie now but was eventually fended off after killing a few villagers (the attack came from both sides which turned out to be decent in this case (since barbie's castle was just on one side)).Jugger then stopped the attack and built additional town-centers while Barbie still remained with 1 TC and dropped more monasteries instead.Barbie went up to the imperial-age at 34:37 and attacked with upgraded monks + some other units shortly after though most of his army got wiped out by light-cavalry, cavalry-archers and even some knights - only some monks managed to retreat safely.The rest of the game Juggernaut attacked several times, which never really brought the results he wanted but since his economy was way better it worked out for him. At some point he had way more hussars+heavy-cav-archers (+ even some palas) than Barbie could defend against with his standard samurai + monks and halbs/e-skirms and thus he ended up taking out Barbie after roughly 1 hour and 17 minutes.gg

Both AIs have one exposed and one safe gold pile. f1@$h Myn also has a very safe stone pile, while Boss has one front pile and one in the back behind a forest.

Both AIs eat their sheep and berries as well as their Boars. Boss gets a LC early, f1@$h Myn takes too long and hacks stragglers. Only f1@$h Myn hunts deer - although without mill, resulting in long walkways.f1@$h Myn mines from 2 gold piles and 1 stone pile, but only has a single mining camp which results in extreme walk times.

Boss clicks Feudal on 8:52, with 23 villagers. Myn does so at 11:30 with 30 villagers, leaving it a vulnerable target. Not much to say about feudal age, both AIs have some flush troops but don't use them, apart from a stray Mongol skirmisher killing one Mayan archer. f1@$h Myn has 2 archery ranges, Boss 1, but it later adds a 2nd one.

f1@$h Myn advances Castle faster than Boss and upgrades its many archers to xbows, but does not get any blacksmith upgrades yet neither attacks with them. Builds Monastery, University and Siege Workshop very fast.

Boss castles later, but gets 2 new TCs quickly.

Boss collects 3 relics, f1@$h Myn 2.

f1@$h Myn gets a big army of crossbowmen and eagles, slowly upgrades them. (Why armor first for archery?)

f1@$h Myn still on 1 TC while Boss is outbooming it on 3.

32 mins: f1@$h Myn gets up a castle while still on 1 TC, army moves forward. Boss just started deer hunting. Without Mill, which might be forgiven by wheelbarrow and hand cart.

f1@$h finally starts building a second TC at 34 minutes. Score difference is over 1000 at this point.

Boss keeps defensive while f1@$h Myn starts mining 3 of the central gold piles - with a single mining camp. Long walkways everywhere. Also still only 2 lumber camps.

Boss accumulates an army of eskirms, long swords and xbows to counter Myn's eagle/xbow combination. Nobody attacks yet. f1@$h reaches Imperial age at 43. No plumed archers despite the castle. Boss reaches Imperial a few seconds later and instantly upgrades his crossbows to arbalesters with bracer and his long swords to 2hswordsmen.

The Mayan army is no match for Boss' soldiers and siege rams paired with champions effectively end the game.Winner: BossGame-time: 00:51:23

Nosferatu only builds his first lumber-camp after it already constructed a barracks which hurt his dark-age economy a bit (when the lumberjacks had to chop wood which was quite far away since the closest stragglers got depleted quickly).IS_Machine feudaled earlier and attacked with spears and skirmishers (which is also what Nosferatu trained as defense) - followed by a quick retreat.A bit later in the feudal age IS_Machine attacked again, but this time with clear military superiority and mainly archers + skirmishers.This attack was never fended off and at some point IS_Machine advanced to the castle-age and finished Nosferatu off.

Sidenote: at 31-33 minutes you can watch a hilarious wolf assault on IS_Machines villagers at the top left of his town where he tried to construct a castle (just on the hill). And when i say wolf assault i mean about 15 wolves. 11

Additional notes - Nosferatu: I'd suggest setting the livestock-to-town-center sn to 1 so that your villagers don't have to walk to return the food (since the AI livestock gathers directly in the town-center zone now with the UP).You also used two builders for houses rather often, usually you only really need two builders for the first house in order to not reach the population-cap after training the first villager.

Both AI's decided to go for a fast castle-age, Unknown being a bit faster at that. Unknown immediately dropped 3 town-centers while flash massed eagles and crossbows.At around 25-26 minutes of game-time flash noticed that he had full military superiority and attacked. This attack dealt quite some economic damage but without rams and necessary blacksmith upgrades for the units they didn't manage to destroy a town-center.Unknown continued booming and started to train crossbows from multiple ranges after clicking the imperial-age button and attacked.After suiciding about 100 arbalests to a castle he finally managed to destroy it and then pulverized the rest of the town.

With some small changes flash's attack might have worked out (rams instead of a university (you even had a siege-workshop) and blacksmith upgrades for your units (your crossbows had 0 upgrades when attacking and the eagles were missing at least 2 too)).

Wow. The ladder is light-years ahead of where it was when I first built f1@$h Myn! No wins and three losses so far in placement games despite being at least a middling performing AI a few short years ago.

Thanks to II2N, John, and Promi for judging Myn's matches. :-) I'm still improving it and appreciate the feedback being offered from the judges. I add it to my improvement and edit list so eventually most or all will get incorporated.

Nosferatu drops the first lumber camp at stragglers but it still gets fairly fast feudal age time, although even second lumber camp is dropped at nothing. It also has some issues at finishing the second boar. Neither AI mills second forage bushes.

Unknown FCs with skirmishers while Nosferatu goes for defensive flush and trains some skirmishers, archers and spearmen. Nosferatu gets housed often. It also keeps training spearmen when food is <50 which cause some idle TC, and there's excess gold.

Nosferatu attacks at 19min, but it isn't able to do damage while Unknown just booms with small defenses. Unknown adds a ram to get rid of Nosferatu's forward towers while holding Nosferatu's army with skirmishers. Nosferatu's eco balance is messy and it has much gold and stone while being far from getting the food for castle age, and it even builds two markets and stops training villagers by some reason.

After razing the forward towers Unknown just continues the attack while Nosferatu is stuck at feudal age.

playing on Ghostlake map Rand went for Fc while Nightmare prepared a flush but skipped it.after reaching castle Rand. trained pikes and suicided one by the other to the 3 times mightier enemy army.so at the 43th minute Nm was at doubble score and when I quit the game some minutes later Nm was at 120 villies to 37 of Random.

Winner Nmgame time < 50 min canceledspeeding 4 at normal and fast laterdon't think there's an interest for the record

Ah ! NM is too buggy, maybe the adust of TS setting may help a lot to the performance.

heav'n has no rage like love to hatred turn'd, nor hell a fury like a woman scorned (William Congreve)

Leif EricsonSeraph Emeritus

posted
03-22-14 03:21 PM
CT (US)
491 / 1174

I'd like to see the recorded game. You ended the game before Randomization was defeated, so it's possible the match will have to be rerun. Even if an AI is obviously superior, if their attack rules fail, then the result is a draw. I may just rerun the game myself if it looks like the match was ended too early.

Btw, Nosferatu will also face Nightmare in its last entrance match. Sorry for not updating the ladder.

~`o´~|\Join the fresh and exciting AI Ladder for its fourth season!´ ` |_\|Learn the joy of AI scripting in my guide: The World of AI Scripting______|______ \ /.....Hinga Dinga Durgen! - SpongeBob`-=<.__.>=-´

Leif !it was 120 villies from 3 TCs to 37 villies one TC and 200 pop to almost no enemy army 9000 score to 4000.I shurley wouldn't had canceled the game if there had been a single chance for Random to turn this messy around.Random suicided his whole army by sending single attackers to the enemy base which imo is a bug in TS setting.Lazarus also didn't seem to be interested in Ladder anyway, which is a pitty.

[url=https://app.box.com/s/av4kxj5ny0zal1ldmzwn][/url]

If you feel that I cut it too early I'll replay it NOP

heav'n has no rage like love to hatred turn'd, nor hell a fury like a woman scorned (William Congreve)

[This message has been edited by The Ruler (edited 03-23-2014 @ 03:08 AM).]

Leif EricsonSeraph Emeritus

posted
03-23-14 04:20 PM
CT (US)
493 / 1174

Hey, I understand why you quit the game. Nightmare had the game in the bag. However, if Nightmare's attack rules were bugged, then there was also no way Nightmare could have won. There's been several games that have been called a draw because an AI had an attack rule bug. I couldn't tell from the recorded game whether it was an attack rule bug or not. Nightmare may have just been waiting for a break.

I reran the game myself and Nightmare won, so no replay is necessary. Randomization sent mobs of soldiers against Nightmare to no avail. Then, Nightmare attacked at 24 min with skirms and Randomization wasn't able to counter it. I'll try to update the ladder sometime today.

EDIT:

Updated. Randomization has been removed from the ladder.

~`o´~|\Join the fresh and exciting AI Ladder for its fourth season!´ ` |_\|Learn the joy of AI scripting in my guide: The World of AI Scripting______|______ \ /.....Hinga Dinga Durgen! - SpongeBob`-=<.__.>=-´

Nightmare has some issues at finishing the second boar while eating the first one, and the lurer dies. Myn also needs multiple attempts before its second boar makes it past the lumber camp. Myn has resource balance issues due to lack of farms; it hits 700w during dark age, and once berries run out it has only 4 villagers on food.

However Nightmare seems to have even more trouble, not placing any feudal age buildings, until it tries to build a mining camp at Myn's town. Myn's strategy isn't very clear since it goes for a slow feudal age with a couple of ranges and trains some archers, mines stone and advances pretty late to castle age with more military buildings than necessary.

Nightmare eventually attacks with scouts, archers and skirmishes, but Myn has already eagles and crossbowmen to take care of that.

Myn decides to counterattack and Nightmare's feudal age army isn't enough to stop that, since it hits castle age a little too late.

Notes for Myn:-Too much unnecessary buildings at early game. 3 ranges, 2 barrackses, a university, a siege workshop and a market.-Bodkin arrow should be researched before leather archer armor for crossbowmen.-Some extra builders could be assigned for castle and TC with up-assign-builders.-Villager production stopped at middle castle age.-Murder holes is too expensive research to be taken at castle age just-in-case.-Rams would help at destroying the enemy with large castle age attack, the early siege workshop never got used.

Ladder Entrance Game: Nosferatu (Vikings) vs. Nightmare (Byzantines)

Map Type: Yucatan

Nosferatu starts boar hunting at late dark age and it doesn't mill second berries. Nightmare on the other hand builds two mills but they're both at same bushes.

Nosferatu goes for 28 pop feudal age and drops a stable+blacksmith, but it doesn't train any villagers. Meanwhile Nightmare refuses to build any feudal age buildings, until it eventually tries to drop a mining camp at Nosferatu's main gold. Nosferatu's knights don't like that, and kill the villagers.

Nightmare attempts to attack with skirmishers and spearmen, but it can't defeat Nosferatu's knights. Nosferatu doesn't upgrade its knights for a long time and stops training them for a while. It has massive stockpiles with only 1 TC. Nosferatu starts attacking with knights, upgrades them at blacksmith and builds a forward castle, and Nightmare can't cope with that.

Notes for Nosferatu:-Horse collar was taken very late.-No villager training at feudal age and too fast feudal age for FC.-Huge stockpiles at castle age.-1 TC for a long time while not being very aggressive.-An unnecessary range was built early.-Stone was mined early despite not being used for anything.-Unnecessary blacksmith researches at late castle age.

txs for judging II2n !hopefully get some time to add your suggestionsNosferatu is a modular based script and cannot be so strong as directly scripted strats.the Krush is bugged ATM and I wonder that it had chosen this strat (against byz) lol

also my congrats to Rob !

heav'n has no rage like love to hatred turn'd, nor hell a fury like a woman scorned (William Congreve)

ISM goes for skirmishers and spearmen while TRON trains scout cavalry and archers. ISM adds a stable after some time at feudal age. Afraid of the scouts TRON builds second barracks despite training only a few spearmen.

Without any real battles at feudal age the AIs advance to castle age. ISM mines some stone on the way to castle age to build a castle early. TRON attacks after taking some upgrades, but ISM handles it.

At late castle age ISM attacks. TRON has already a castle up and plenty of xbows, light cavalry and some mangudai to take care of ISM's xbows and mamelukes.

The AIs hit imperial age and TRON doesn't research elite mangudai despite affording the research, and after a while takes HCA instead. ISM tries to hit TRON without success due to not-so-good battle performance, and TRON counterattacks. ISM's whole army falls but multiple defensive castles cause TRON casualties due to low number of siege units. Eventually ISM falls.

Nightmare has some issues at hunting second boar at dark age and it runs away from TC, stabbing the lurer on second luring attempt.

Nightmare does a slow flush while Chameleon FCs with a stable and an archery range. A couple of knights are enough to destroy Nightmare's skirmishers. Chameleon keeps booming while Nightmare is bugged, not having a mining camp or training villagers. Once Chameleon is boomed it attacks and rolls over stuck Nightmare.

Khanate was flushing with spears + skirms while Boss prepared a flushdefense with a broad mix of barracks & archery-range units. The flush dealt a bit of damage and resulted in a 3 minute faster castle-age time of Khanate than the one of Boss.In the castle-age Khanate x-bow boomed with 3 towncenters while Boss mainly trained skirmishers (+ a bit of this and that) and thus only reached the imperial-age 7 minutes later than Khanate (42 vs 35 min) who was only starting its attack at that point in time.Khanate's army composition consisted out of some pikes and mass arbalests while Boss' army consisted almost only out of a massive amount of elite-skirmishers. Needless to say in a battle without anyone retreating the elite-skirmishers slaughtered the arbalest army, added some siege and champs and wiped out Khanate's town.