JESTER (V 2.2) & Forthwind (V 2.1)

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
screamingkoos
Forumer
Posts: 41
Joined: Wed Feb 05, 2020 6:27 pm

Re: JESTER V 2.0 & Forthwind V 2.1

Post by screamingkoos »

venomus wrote:
Mon Nov 27, 2023 2:02 am
Woah! Thanks for the update!

I always play against a team of Forthwind and Jester and for some time it was noticeable that they had lost a lot of strength. I love that Forthwind is able to create a wall even if it doesn't optimize it, it's a great feature.
Hey Venomous!

Thanks for the feedback, yeah both Jester and Forthwind have their quirks that's for sure! :lol: If I had more time I would love to update Forthwind further, even adding in more walling rules, improving his trush and just making his strategies even more random (maybe like full trash rush, mangonel and monk rush, or even militia in imperial age rush as a complete meme?) lol. That being said if I ever do find time I would love to add further updates for Forthwind (I have gone through A LOT of learning while improving Jester, all I have learned would greatly come in handy for updating Forthwind).

The vision I have always had was Forthwind is the fun ai that goes whacky very random strategies (but still tries to have good eco and defense), and Jester is more aggressive while being more of a challenge than Forthwind. Perhaps down the road I this dream can fully be realized :D

Thanks again for the feedback brother!

screamingkoos
Forumer
Posts: 41
Joined: Wed Feb 05, 2020 6:27 pm

Re: Forthwind.AI (Version 2.1)

Post by screamingkoos »

CSAxIsxRecruiting wrote:
Tue Nov 21, 2023 7:45 pm
screamingkoos wrote:
Mon Nov 20, 2023 3:29 pm
CSAxIsxRecruiting wrote:
Sun Nov 19, 2023 4:57 pm
Can I use this AI with Voobly 1.6 Community Patch? What about with 1.5/WK?


Does this play also Bedouins or Land Nomad? What about MIchi or Nothing maps?
I don't believe it will work in WK or Voobly for multiple reasons. 1 large reason being I use the unit-line commands rather than each individual unit command (for example: archer-line vs. archer, crossbowman, arbalest etc) to save time, and also I don't own or play in either of those versions so unable to test them for it. If you read through these threads I believe there may be an early version of Forthwind that Esty updated and posted to support WK, but don't hold me to that :lol:

Both Jester and Forthwind can play nomad! Even in custom maps. It can also play games where all it has is 100 wood and no town-center and no lumber-camp and has to start from complete scratch. If it isn't working fully then I may have updated it already in the new version to be posted soon.

Both ai's are not optimized for Michi (but can build wonders). I have tested them on custom forest-nothing maps and they did ok, but any other "nothing-type" maps they have not been tested on. They might struggle a bit with those types of maps.
Well, you don't need to "own or play" any of those versions, we (at least I'm here, but pretty sure there're a lot more players) can test it for you and give you results of playing with it...

Just a small update from voobly versions:

1.5 RC + 1.5 Game Data is the same than playing with WK Mod (this means all HD expansions).
1.6 RC + 1.6 Game Data is the same(99%) than playing in Steam DE (You can also use 1.6 Game Data. for new graphics).

Both versions are community edition... The thing is that at least I, and few players inside CSA are getting bored of playing against Barbarian in nomad, and the few AI that we have seen over the game do the same strat everygame in everymap(feudal army and try to push; if you trush them, they start dancing with TC garrison/ungarrison while trush kills them...)

So I was expecting your AI to play nomad maps and if they get trushed, to stay back, check if they can attack tower, otherwise to boom in the back and then kill the enemy... is too hard to do that? (idk if Forthwind do that as you said it's not available for Voobly)

That's all. Regards
Hey CSA!

I think I understand what you are saying, but without the ability to test while I script the ai, it would take an exuberant amount of time to modify any of my ai's for those game versions. For example, in the latest update (Jester Version 2.1) I must have test ran at least 100 skirmish games and a few dozen custom scenarios in DE with many of the variables being changed each time (like map-style, population-size, civilizations, different ai allies & enemies etc). This is definitely essential to ensuring the ai plays the way you are attempting to script it as. I still have yet to add trush defence rules to both Forthwind & Jester, so that is the ai engine taking over and basically bugging out when they are getting trushed at their town-center. Those would likely require some DUC (direct unit control) rules, which I am still in the early stages of learning.

At this time my priority is in DE as that's what I like to play in the little time I have these days, and besides this too, my scripting level is a longshot away from any level close to barbarian. My ai's would probably be too easy if you're looking to be challenged at or around that difficulty level.

I truly hope someone familiar with those game versions can script a worthy ai for you to play with! Maybe checkout immortal or rehoboam on this site if they are compatible with those game versions? They are very challenging. Also I just remembered there is another website called "AOK Heaven" and they likely have ais that would be compatible with your game versions :) Good luck!

screamingkoos
Forumer
Posts: 41
Joined: Wed Feb 05, 2020 6:27 pm

Re: JESTER (V 2.2) & Forthwind (V 2.1)

Post by screamingkoos »

Hey Everyone!

I am thrilled to release this newest update which I have worked very hard on since the last update in December. I sort of ran out of time in implementing every single thing I wanted to so have decided to release as is. This will likely be the last update for a potentially long time (months), but this update is loaded with NEW features. I hope you guys love the newer salty chats, and improved unit control when it comes to DUC. Please comment your experience below if you have a few minutes to share! Thank you all so much for trying out Jester! Until we next meet friends,

-ScreamingKoos

;==========UPDATES for Jester Version 2.2:==========
- The time has finally come. I have decided to add a few more basic DUC (Direct Unit Control) rules for Jester! Version 2.2 is noticeably more DUCCY than ever before! Please note these rules are very new and bugs may be expected (although I have tried my absolute best to prevent them).

;----------The following includes some of the new micro/DUC rules for Jester:----------
- 1a: Fine tuned all pre-existing DUC rules with new lessons learned to prevent DUC leaks, save physical performance where possible, and existing rules are much more optimized than ever before!
- 1b: This includes improved dodging arrows from fortifications, sheep-micro in nomad games, gurjara Jesters milling their initial starting sheep, starting scouts gathering sheep etc... Now for the new rules:
- 1c: Jester now attempts to dodge arrows from multiple buildings of the same type, no longer just the first enemy fortification built. Includes most buildings that shoot arrows (town-centers, watch-towers, donjons, castles, kreposts etc).
- 1d: Along with dodging arrows from up to 10 of each of these buildings, Jester attempts to retreat from the actual arrow fire by retreating at an angle to the fortification to better actually dodge arrows.
- 2: Jester now has improved retreat rules and uses DUC to prevent units getting lured from his town when not attacking (NICE TRY MICRO GODS!)
- 3: Villagers no longer idlely standby as battering rams and armored-elephants smash their homes to rubble! Villagers actively target battering rams and armored-elephants inside their town with renewed vigor!
- 4: General backup market rules have been improved with more reasonable distances, and Jester now attempts to use the power of DUC to place markets a little better! (still a WIP)
- 5: Jester now slowly circles enemy fortification buildings (any building that fire arrows) when dodging arrows to eventually make his way into the back of his enemies bases! Has seen great results in the early games, especially while drushing!
- 6: Aweful early lumber and mining camp placements have been greatly improved. Jester uses the holy powers of DUC to actively delete bad lumber and mining camp placements. Jester then retargets the LOGGY BOYS & POINTY FELLAS better than ever! What a great guy!
- 7: The first Georgian mule-cart now uses DUC to attempt to find the closest forest in the beginning of the game instead of boosting the straggler trees like a total noob.
- 8: Jester now uses improved split-rule-goals, up-jump rules, and timers to help prevent your pc from melting into a pool of lava! Make sure to say thanks by sending Jester a Christmas card next year!

- All jokes aside, just adding these few additions/improvements took a monumental amount of time to learn, add, fail, test, fail, relearn, fail, redo entire sections just to get basic functions to even fire, and so on.
- Jester uses minimal micro when compared to many other ai's, but I hope you come to appreciate I always attempt to thoroughly test/optimise Jester's script with even the most basic rules before releasing an update.
- I hope to keep learning new ai techniques and implementing them furociously into future updates. With the new year (2024) the updates will definitely be less often, but we carry on! For now, this is all you get ;)
- A very special thanks to the whole aiscripters community! Thanks so much guys for your knowledge!
- NOW ONWARDS! TO THE GENERAL UPDATES!
;----------END OF DUC UPDATES----------

;----------START OF GENERAL UPDATES:----------
- - Fine tuned many gathering rules across all ages. Jester now gathers more efficiently based on strategy which leads to improved age up times (and military production) for flushing and fast-castle strategies. The following are some examples of what this means:
- 1: When Jester pursues a scout or skirmisher rush he delays gathering gold for much longer and instead focuses on heavy food & wood gathering, which allows for more units much quicker.
- 2: Jester uses less gold villagers instead of 3 or 4 when going for fast-castle, and the extra wood or food villager makes a difference.
- 3: Jester is better now at deciding when to buy & sell resources, or even to drop stone for castle-age up after long feudal-age times.
- 4: Jester takes into account when going archer-rush to not gather as much gold whenever he needs to add counter skirmishers to the flush.
- 5: When Jester is under heavy pressure in early feudal, he focuses on food & wood longer before going for more gold or stone for defence.
- 6: Fixed a serious but rare bug where Jester's feudal economy would stop adapting and he would stockpile too much of the same resources (when attack and defence strategy for feudal were both activated at the same time).
- Improved farming rules in all ages - especially in feudal-age where Jester would sometimes take a very long time building more than 8 farms often affecting age-up times.
- All ages now have improved + backup farming rules so Jester should never just stop producing farms for a long time.
- - Improved town-size rules so Jester gets stuck less often when attempting to place new buildings. Fixed a bug where Jester would not increase town-size at all when under attack for a long time. Still 1 bug where sometimes town-size gets too large too fast (WIP).
- Improved lumber and mining-camp rules to be more efficient and build more often needed camps compared to Version 2.1. This is in addition to the early game micro camps mentioned above ^
- When Jester loses his only town-center, he now deletes all farms, mills, lumber-camps, mining-camps, and mule-carts so he can relocate his base more safely without constantly sending all vills to their deaths at his old base (helpful in long games).
- Tweaked some building-placement rules that use up-set-placement-data to be more reliable.
- Jester no longer builds bombard towers. Instead he builds the watch-tower-line when under pressure in the mid to late game. I was finding the bombard towers rarely hit their target, and don't really damage rams all that much, so #watchtowergang is where we are at now!
- Added back in outpost building rules! Maybe militia rush in imperial-age rules next? (just kidding!)
- Pocket Jesters now have their own attack rules, they are in general much more aggressive & have more influence added to not sit at home!(not perfect, but better!)
- Military level counting is now more dynamic. Jester is more aggressive against smaller military-population enemies, but is much more conservative when attacking target-enemies who have larger armies.
- Fixed nomad rules including DUC rules for nomad sheep gathering, when to place a lumber-camp, mule-cart or town-center first, as well as prioritizing the correct resources for building a town-center as soon as possible. (NOTE: villager scouting appears to be bugged in current game version).
- Fixed a bug that would prevent Jester from rebuilding his town after his last town-center was destroyed in the mid to late game.
- Fixed max-dropsite gathering rules to influence Jester not to walk across the map for resources (usually in enemy bases) when he still has resources nearby.
- When going for a feudal-age rush (flush), Jester holds his units in their buildings before attacking to help hide unit composition from enemy scouts.
- Refurbished focus-player & target-player rules so Jester has more clear conditions on which enemy to target and when to change targeting tactics (generally closest enemies but taunts improved too).
- Jester can now properly research ri-supplies & ri-gambesons.
- Bohemian Jesters now take advantage of training many more monks after completing their unique upgrade that turns monks gold cost into food.
- Jester better balances out economy population when constructing multiple feitorias as portuguese.
- Slightly improved resign rules depending if Jester is alone or on a team. Jester can sometimes be stubborn or resign too easily, so remember you can always use the taunts above to control resigning!
- Identified that Jester has not been explicitly countering any unique-units. Temporary rules have been added so Jester now produces basic counters to MOST enemy unique units. Better counters for these units will definitely come in a future update (see WIP section below for more info).
- Taunt 69 now works as expected (delete the object at the flared location) for allied Jesters, as well as taunts 61 -68 (targeting a specific enemy player, only works on enemies, has been fixed).
- Improved garrison holding and releasing rules based on special circumstances (last update was bugged with this, it now works!).
- NEW CHATS: Changed out/tweaked many chats Jester sends to enemies and allies throughout the game. This includes NEW resign chats, NEW "Banter-Chats", and a NEW under attack chats system! Jester now harrasses you at the start, middle, and end game!
- Many more smaller bug fixes/improvements/updates but at this point I don't remember them all! Thanks for reading though!
;----------END OF GENERAL UPDATES:----------

venomus
Forumer
Posts: 54
Joined: Sun Sep 05, 2021 10:26 am

Re: JESTER (V 2.2) & Forthwind (V 2.1)

Post by venomus »

Amazin job! Thanks :blink:

User avatar
halcyon88
Swami
Posts: 194
Joined: Mon Mar 16, 2015 2:43 pm
Location: UK

Re: JESTER (V 2.2) & Forthwind (V 2.1)

Post by halcyon88 »

Awesome work, Screaming!
A.K.A. TOAO_Philosopher (formely TOAO_ReLeNtLeSsS, TOAO_Leo, TOAO_Ayubu_, TOAO_FSpirit, _TOAO_HussY_ and TOAO__HussaR_ (even before that, Deadly_Hussar— and DEADLY POISON on AOKH back when I was REALLY young)).

jadeeye
Forumer
Posts: 31
Joined: Tue Dec 17, 2019 6:04 pm

Re: JESTER (V 2.2) & Forthwind (V 2.1)

Post by jadeeye »

Thank you for the great update. There's an issue I think needs to be fixed.
It seems Jester ignore Watch Tower and Bombard Tower, and just focus on Castle and Town Center. Jester let so many troops die under tower line's arrows.

screamingkoos
Forumer
Posts: 41
Joined: Wed Feb 05, 2020 6:27 pm

Re: JESTER (V 2.2) & Forthwind (V 2.1)

Post by screamingkoos »

venomus wrote:
Thu Jan 25, 2024 11:52 am
Amazin job! Thanks :blink:
Hey thank you, the one and only Venomous! B)
halcyon88 wrote:
Sat Jan 27, 2024 6:37 am
Awesome work, Screaming!
NO WAY, ITS HALCYON! Good to see you didn't forget your login mate ;) Jester sure has come a long way since last you have seen him!
jadeeye wrote:
Fri Feb 02, 2024 5:33 am
Thank you for the great update. There's an issue I think needs to be fixed.
It seems Jester ignore Watch Tower and Bombard Tower, and just focus on Castle and Town Center. Jester let so many troops die under tower line's arrows.
Hey Jadeeye,

Thank you very much for commenting the valuable feedback! There are some possible explanations for the behaviour you see, and I'll list a few here:

1. Towers & donjons have slightly different rules from castles, kreposts, and town-centers. For towers, Jester only avoids tower fire if an archer or cavalry-archer class unit is targeted by the tower. If it is any other unit class they do not avoid tower fire in the hopes that melee units can knock the tower down without endless retreating. The benefit of this is human or AI enemies cannot bug Jester out by tower rushing him or just building many defensive towers around their base and so it prevents Jester from retreating forever and never attacking. The downside is obviously if an enemy builds numerous towers and Jester is going for any melee class unit, the towers will likely tear Jester's melee army apart since they do not retreat from tower fire.

2. For all fortification rules, once Jester has reached over 50 military OR he becomes pop-capped out (ex: 200/200 pop), he will not retreat from any fortification fire at all unless he loses significant units. There are several reasons for coding Jester this way:
a. With 4 vs 4 Jester's in the late game, the game was seriously lagging from the numerous amount of DUC going on with each Jester attempting to micro every individual one of his units against a slew of many different fortifications. So reason 1 is performance considerations (Although I could rewrite the rules to not micro individual units but rather groups which IS less performance hungry BUT it is less effective overall as when units group together while getting shot they will certainly die quicker lol).
b. I found while testing Jester if he didn't have a chance to make enough siege for enemy fortifications in the late game he would just endlessly retreat and slowly get withered down by enemy fortification arrow fire. This basically just ended up bugging Jester out and therefore giving the enemy an easy win. So reason 2 for adding limits to these rules is to prevent rare cases of Jester fully bugging out and losing the game due to endlessly retreating from arrow fire. I view it as better for Jester to eventually just all out assault the fortifications rather than get in a possible "retreat forever" situation and lose the game for sure over it.

3. Aside from these conditions I have mentioned (more than 50 military, Jester getting pop-capped, tower not firing at an archer or cavalry-archer class) then it could be a bug in the code and in which case I would be interested to hear if you have any other information to offer so I could reproduce the issue and diagnose if it is intended behaviour or a bug :)

Oh one last thing I forgot to mention, there are no retreat rules from bombard towers... I just found their shots are so slow in the late game it would seem to do more damage than good to have many units trying to dodge one slow moving cannon ball lol. But if that isn't the case please let me know!

Thank you fellas!

jadeeye
Forumer
Posts: 31
Joined: Tue Dec 17, 2019 6:04 pm

Re: JESTER (V 2.2) & Forthwind (V 2.1)

Post by jadeeye »

screamingkoos wrote:
Sun Feb 04, 2024 2:36 pm
Hey Jadeeye,

Thank you very much for commenting the valuable feedback! There are some possible explanations for the behaviour you see, and I'll list a few here:

1. Towers & donjons have slightly different rules from castles, kreposts, and town-centers. For towers, Jester only avoids tower fire if an archer or cavalry-archer class unit is targeted by the tower. If it is any other unit class they do not avoid tower fire in the hopes that melee units can knock the tower down without endless retreating. The benefit of this is human or AI enemies cannot bug Jester out by tower rushing him or just building many defensive towers around their base and so it prevents Jester from retreating forever and never attacking. The downside is obviously if an enemy builds numerous towers and Jester is going for any melee class unit, the towers will likely tear Jester's melee army apart since they do not retreat from tower fire.

2. For all fortification rules, once Jester has reached over 50 military OR he becomes pop-capped out (ex: 200/200 pop), he will not retreat from any fortification fire at all unless he loses significant units. There are several reasons for coding Jester this way:
a. With 4 vs 4 Jester's in the late game, the game was seriously lagging from the numerous amount of DUC going on with each Jester attempting to micro every individual one of his units against a slew of many different fortifications. So reason 1 is performance considerations (Although I could rewrite the rules to not micro individual units but rather groups which IS less performance hungry BUT it is less effective overall as when units group together while getting shot they will certainly die quicker lol).
b. I found while testing Jester if he didn't have a chance to make enough siege for enemy fortifications in the late game he would just endlessly retreat and slowly get withered down by enemy fortification arrow fire. This basically just ended up bugging Jester out and therefore giving the enemy an easy win. So reason 2 for adding limits to these rules is to prevent rare cases of Jester fully bugging out and losing the game due to endlessly retreating from arrow fire. I view it as better for Jester to eventually just all out assault the fortifications rather than get in a possible "retreat forever" situation and lose the game for sure over it.

3. Aside from these conditions I have mentioned (more than 50 military, Jester getting pop-capped, tower not firing at an archer or cavalry-archer class) then it could be a bug in the code and in which case I would be interested to hear if you have any other information to offer so I could reproduce the issue and diagnose if it is intended behaviour or a bug :)

Oh one last thing I forgot to mention, there are no retreat rules from bombard towers... I just found their shots are so slow in the late game it would seem to do more damage than good to have many units trying to dodge one slow moving cannon ball lol. But if that isn't the case please let me know!

Thank you fellas!
Thank you for your response.

The first thing I mentioned is that Jester ignores Watch Tower and Bombard Tower. What I mean is that Siege units like the Trebuchets almost bypassed the Towers in their path to try to reach the Castle, which put the Trebuchets within range of the Towers. I tried using up-set-offense-priority to give Castle and Tower equal priority and also used up-find-remote to focus on attacking both Castle and Tower, but it didn't really work on your Jester.

Regarding the army (including Trebuchet and Ram) retreating before the buildings' fire, I think you don't need to let them retreat completely and it leads to the retreat repeating endlessly. After reaching the Imperial Age, you just need to have all troops (Infantry, Archer, Cavalry, etc) retreat towards the Trebuchets (prefer to retreat towards Unpacked Trebuchets) when they are shot by Castles and Towers, with this way the army could be preserved, while also protecting the Trebuchets. There will be two cases here: the army will repeat the attack and retreat between Trebuchets and Castle, the second case is that they will stand still at the Trebuchets for a while if you adjust TSA appropriately. You can make troops repeat the attack and retreat between Packed Trebuchet and defensive structures, so they will not completely retreat while keeping attack wave. Until Unpacked Trebuchet appear, it means they are attacking a defensive structure, then you will make troops retreat to Unpacked Trebuchet and stand still by combine up-retreat-to with TSA. I've had success adding this script with Userpatch on available simple script like the old Promi, but I haven't been able to do it on AoE II: DE. The scripts I used are up-retreat-to and action-move but they both didn't work on your Jester. Sorry about my limitations.

And there's a small problem, Jester will rarely train Trebuchet in the late game, and this makes it difficult for him to attack Castle. I think if you use some suitable escrow scripts, it will be solved.

Hope these can help to improve Jester.

Post Reply