Bright Spark

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.
Bandit1990
Forumer
Posts: 83
Joined: Tue May 03, 2022 2:38 am

Bright Spark

Post by Bandit1990 »

Hello!

I would like to share the AI that I have been working on over the past few years - Bright Spark!

What games does it play on?

Bright Spark plays on Definitive Edition.
Game Mode: Random Map
Maps: Should play on any map connected by land (and now Team Islands and Fencrazy!) - if you find one that doesn't work, then please let me know and I can add it in :)
Victory Condition: Standard or Conquest
Pop: 200+
Civs: Any, including expansions
Difficulty: Any - difficulty levels have been built in so it will play easier on lower levels.

What's the story behind Bright Spark?

6/7 years ago, my wife introduced me to AoE2 with the old disk she still had from when she played it growing up. I was terrible, and she won easily all the time. In the box I found the guide to writing custom AIs in AoE, so I joked that while I wasn't good enough to beat my wife at the game, I would create an AI that would. After trial and error (and some help from BearTheGreat's tutorial) I put together an AI that could beat my wife at the game, but it was also able to beat us both 2 vs 1 working together (we were fairly beginner level back then). Thus began a tradition of us playing co-op together to beat the AI, and when we did, I would work on it to improve it further, and then jump back in the ring.

Later on we discovered our friends also played AoE 2, but the HD version, so we moved over to that and played with them. Not all of our friends liked PvP, so Bright Spark was used as a sparring partner for friendly co-op games with our mates.

When the pandemic hit and we were all in lockdown, our co-op games became a weekly event and quite frankly kept us all sane as a few of us lived alone at the time. That weekly game has continued on and we still play, and as you can imagine us and Bright Spark have improved lots over that time.

At the start of this year we switched over to DE and I've made a start of using DUC which has started to help it improve a lot. In it's first iteration, Bright Spark would go about just spamming spearmen + skirmishers and going attack-now - now it adapts to its opponents, takes into consideration what civs are on its team, and it can now do some early raids while (mostly) avoiding TC fire. I'm at the point now that I think it is worth sharing, and possibly entering the ring against some other AIs in the community. It's definitely not finished and I know of places it can improve, but I also know I will be better off having feedback from more people rather than carry on working on Bright Spark in isolation :)

Thank yous

A big thank you to BearTheGreat and interlepus for helping me improve from the base paperwork and for those who created the AI Scripting Encyclopedia (I wasn't sure if it was just Leif Ericson or a team of people), I only just discovered it a couple of months ago and it's been so so helpful (I was using the userpatch reference guide before that and not everything worked XD)!

Finally thank you for the kind welcome to the AI Scripters Discord channel too!

I hope you enjoy playing against Bright Spark and if you have any feedback then please let me know.

Best wishes,
Bandit

Update - October 9th 2022

Major update for Bright Spark, which should be a stronger foundation for later updates. Here is what has changed:

- DUC villagers: villagers are now commanded by the script rather than default behaviour. This wastes less food and spreads villagers out better across resources. In practice this means sometimes a slower feudal age but with a stronger food economy and a much stronger Castle and Imperial age.

- Improved fast castle: Reduced castle time for fast castle strategy from an average of 18:00-20:00 to 15:30-17:30.

- Arena strategy.

- Prioritise upgrades: Unit production will halt temporarily to get upgrades quicker.

- Quicker castle-age aggression.

- Improved siege in late game.

- Improved assault mode (units will guard siege and not just throw themselves at castles).

- Bright Spark will now cul...send unproductive villagers to an improvement programme when reaching pop cap to make room for larger military.

- Bright Spark no longer sends its army after deer.

- Updated counter system to adapt to Indian civ unique units.

- Burgundians can now research Flemish Revolution.

- Improved decision making when building farms.

- Bright Spark will lock gates on Arena when enemies are near.

- Improved market placement.

- Improved trade.

- Improved villager allocation to optimise military production.

- Bright Spark will queue villagers in Dark Age to get an extra villager by age up.

- Bright Spark no longer "counters" Genoese Crossbowmen with spearmen.

- Villager allocation changes when stone and gold are off the map, improving late game eco.

- Altered scouting on Arena so scouts didn't get stuck on trees.

- Pause villager production when rushing to Imperial Age.

- Villager production can now borrow from escrow sources, maintaining better villager production.

- Will free resources or buy them to build camps when required.

- Slight adjustment to how Bright Spark understands team bonuses.

The villager DUC is a big change and so I have added the latest version of (Bright Spark 22) as a separate file should people prefer the old version (which is actually Bright Spark 14). There are a couple of issue below that I know about and am working on:

Update - October 31st 2022

This update only changes a few things but seems to have made a big impact on Arena. Bright Spark can now compete with DE AI on Extreme Difficulty on Arena. Here are the changes:

- Faster fast-castle

- Alternative starts for Mongols and Malay

- Siege pathing has been improved and no longer likes walls as much

- Siege protection improved

- Improved eco balance

- Bright Spark no longer builds scorpions or mangonels without other units for cover

- Some castle and TC avoidance (just started this, not great)

- An attempt at mangonel fire avoidance for archers, cav archers and hand-cannoneers (again not great as just starting with this)

- Bright Spark now builds more mills, lumber-camps and mining-camps to keep vills closer to resources

- Held back a bit on the villager culling

- When losing, Bright Spark will hide units in buildings rather than trickle them out

- Fixed bug where Bright Spark was trying to train Condottieri when they weren't Italians, or at imp.

- Better assault targeting on team games and free for all.

Update - January 5th 2023

- Increased military buildings to 12 in late game
- Added resign rules so Bright Spark resigns quicker when losing (only when 1 team member so far, more to follow)
- Increased max villagers to 120
- Added mill production after dark age, food eco is much better
- Added some taunts for fun, each colour has a different taunt set
- Builds 7 TCs in the late game allowing Bright Spark to rebuild quicker after defending assaults.
- Bright Spark now has difficulty levels! Main difference is villager production, trade and lower difficulties won't rush. Will build on these as I go.
- Monks now collect relics again.
- Can now play on mixed water maps and full water maps where there are 2 islands (like Team Islands).
- Bright Spark won't sell stone as quickly when going castle-age so can build 2 more TCs at castle-age start.
- Can now do Land Nomad starts and play on Fencrazy.
- Started added Tower avoidance for early raids.
- Fixed bug that delayed feudal-age on Arabia.
- Bright Spark's second wall on Arena now only gets built on Arena...

Update - January 30th 2023

- New military micro! Rewritten raiding, defending and ally defending scripts. Adding as an extra version as this will raise difficulty even on lower difficulty levels.
- Bright Spark attacks a lot sooner
- More likely to make siege late game
- Better TC, Tower and Castle avoidance in raid mode
- Fixed a bug causing Bright Spark to retreat too early in team games

Update - February 6th 2023

- Fixed recent version so it now runs on online multiplayer games
- Adjusted age up script so military doesn't drop as suddenly late feudal age
- Vikings should now produce navy on water maps
- Pockets are much more likely to go into castle age units in team games.

Update - February 9th 2023

- Fixed bug where Bright Spark would trap villagers in the TC around Castle Age onwards, idling around 10 villagers.
- Fixed bug where scout would get stuck between scouting and raiding states.
- Resolved a loop where Bright Spark would keep buying wood for mining camps and then not build the mining camp.
- A new trick in Feudal to draw out enemy villagers.
- Increased defence range of new micro in defence mode.
- No longer builds fishing ships when there are no fish in the water.
- Updated villager scouting script so should be more likely to find a place to build a lumber camp on Land Nomad.
- Updated TC building script so Bright Spark is less likely to build it's TCs right next to a team member.
- TC is more likely to be built near a food source or woodland.
- Towers have been bumped up the siege priority list

Update - February 24th 2023

- Navy production has been switched over to my dynamic unit selector - Bright Spark now can create any ship!
- Should be less likely to produce warships in small pools.
- Added some simple patrol commands to warships so they are more likely to defend docks.
- Infantry civs are more likely to include some ranged units in their military to disrupt farms from a distance.
- Villagers only get culled when at max pop AND there is a stockpile of resources, ensuring imperial upgrades are acquired for current units.
- Raised the resource cap before Bright Spark teammates start offering resources.
- Added an extra layer to build lumber camps on LN if original script fails.
- Increased radius around siege that guards can be before they are called to return to formation.
- Bright Spark no longer runs away from outposts, thinking they are watch towers...
- Military retreat code now works when there is no TC.
- Added Donjons and Kreposts to avoid/attack when raiding.
- Added delay to defensive tower building to avoid wasting resources immediately reaching feudal age.
- A single monk should be idled when not in attack mode so it is free to collect relics.
- Fixed bug where Bright Spark sometimes builds a mill instead of a TC or lumber-camp on LN maps.
- Will hold off spending wood so it can build extra TCs if it has the stone and other prioritised buildings are built. Making it more likely to build more TCs earlier in castle age and boost villager production.

Update - March 19th 2023

- Reworked eco for castle and imperial age making Bright Spark much stronger than it has been.
- Added in castle age raiding with heavier units not dodging TC fire.
- Fixed bug where Bright Spark stopped training villagers if it was raided late game.
- 3 TCs in castle age and 7 TCs in late game more consistent.
- Changed out strategy in 3v3 and 4v4s.
- Gold mine placement improved so access to gold in late game is less of an issue.
- Fixed a tribute bug where Bright Spark would stop offering excess resources after one offer.
- Reworked raiding script so infantry (particularly spears) will attack cavalry rather than retreat when attacked.
- Removed a layer of the assault script so Bright Spark will move from weakened enemies to stronger ones much quicker.
- Edited threat detection script so Bright Spark only asks for help when a threat is significant (no longer triggered by boars or wild animals)
- Bright Spark now defends its own territory better (no longer storing its units far at the back during an attack)
- Increased aid time when reinforcing so allies won't abandon teammates mid battle.
- Khmer no longer tries to train Bombard Cannons
- Increased assault mode boundaries so will raid for longer and switch to siege when a significant siege force is assembled.

Update - June 20th 2023

- Pockets now choose between 3 strategies (4 more on the way).
- Will train villagers sooner in feudal age, doesn't seem to slow the attack too much.
- Now only some villagers attack towers when tower rushed so economy keeps going.
- Some DUC on Land Nomad to move villagers, this is still unfinished.
- Villager scout doesn't try to lame boar belonging to an opponent.
- Fixed issue where villagers would occasionally chase converted sheep to the opposite end of the map.
- Bright Spark priorities TCs and military over castle when reaching castle age (no more retreating from Odette's base to build defensive castles when it has the upper hand!)
- Updated team resource distribution (may bug out on mixed teams but aim to address this in another update before Sunday).

Update - June 25th 2023

- Now plays Romans!
- Configured Land Nomad start
- Updated unique techs for all civs
- Fixed bug where Bright Spark would not choose a target as pocket or on Land Nomad
- Fixed Lumber Camp placement for Land Nomad
- Bright Spark will not place towers in range of enemy towers
- Bright Spark will not send villagers to attack towers in TC range
- Bright Spark will now place Donjons as Sicilians
- Improved deer pushing (uses precise co-ordinates)
- Boar lurer will no longer be left to hunt boar alone when aging up
- Updates weightings for future balance patch
- Monks no longer retargets/cancels conversions when in defend/shield/raid modes
- Slight update to raiding to handle multiple teams close together - this needs more work but will be a total rewrite for a future update.
- Will now build trebs and bombard simultaneously to get siege numbers quicker.

Update - July 21st 2023

- Improved slinging strategies
- Flushers will now send resources to others when they have an enemy pinned down
- Fixed an issue with the help ally code so now teammates will actually come to defend others under attack
- Smarter strategy selector in teams of 3 or greater
- Units should stop trying to lure enemies back to TC when in shield mode (helping allies)
- Pockets have the option to flush and will target enemy pockets
- Scouts will seek out enemy pockets to prevent delays to attacks.
- The aggressive fast castle strategy now specifically raids the enemy pocket while waiting for siege to try and prevent pockets from booming.

Update - August 10th 2023

- Scout less likely to get stuck in enemy territory in dark age, increasing chance of laming enemy boar/pushing deer earlier in home base/attacking dark age villagers.
- Fixed a bug where Bright Spark occasionally stops building farms in imperial age even when food is needed.
- Adjusted team strategies so non-slinging roles can still provide some slinging support to a booming ally.

Update - August 19th 2023

- Changes to raiding Micro which make small but significant improvements to Bright Spark's feudal aggression.
- Reduced TC avoidance circle so more farms can be disrupted by ranged units and more chance of killing fleeing villagers just as they are about to garrison.
- Change circling rules and TC avoidance rules to be closer aligned, this should result in units circling in the same direction whether approaching or fleeing from the enemy TC.
- Circling distance from enemy TC changes with each mini-raid-timer pass (1 sec) which significantly reduces the number of units that get stuck between enemy buildings. This distance increases enough for units to go around enemy base woodlines to avoid towers and catch any villagers gathering resources at a distance.
- When there is a military advantage or when villagers building the forward tower encounter an enemy defensive tower, they will take the enemy tower down first.
- Overall you should find Bright Spark's army is now much better at fully surrounding the enemy base instead of getting stuck in one section. This should mean much more eco disruption for enemies as there are less places to hide.

Update - September 10th 2023

- Laming has been updated, better but not consistent yet but I think I now have a solution to make it more reliable (after the submission deadline, classic :D )
- Castle avoidance wasn't working with the latest raiding micro but this is now fixed
- Bright Spark shouldn't avoid castles until after they are built, it should actively hunt the builders to stop them finishing construction
- Allies will leave allied bases quicker once a threat has been dealt with - useful when reinforcing several fronts.
- Bright Spark will cancel its assault or allied defence if it is attacked in the home base and needs reinforcements. This means fully boomed Bright Sparks protect their own economy and not lose it keeping a crippled ally alive
- Bright Spark now produces units with its donjons when playing as Sicilians
- Villagers will attack battering rams when they get too close
- Slingers will now sling the ally with the highest score as long as they are not assigned the slinger role (this means 2 slingers will sling the same ally)
- Slingers now mirror their slinging target's villager distribution, gathering resources that the slinging target is actively trying to gather
- Military weightings modified to make Bright Spark even less keen on training knights vs monks and more keen on training scout cav vs monks
- Starting scout shouldn't trigger Bright Spark's counter system
- Bright Spark will now switch raiding targets if the target is crippled, with a chance to do this in time to stop a pocket from booming or eliminate the second flank in a 2v1
- Increased back-up Lumber Camp placement area so starting lumber camps that fail to place aren't placed by straggler trees
- Fletching will be researched if required even when saving to age up - more likely to keep ranged units alive in skirm wars
- Queuing enabled during dark age, resulting in faster age up or an age up at a similar time but with one extra villager
- Edited training controls in feudal so Bright Spark will not stop villager production if the resources cannot be spent elsewhere (waiting for buildings/all buildings already training) meaning Bright Spark is less behind on villager count when massing a raiding force.
- Scout no longer sent to attack immediately after hitting feudal age, making it more likely all deer are eaten and helps with scout/m@a rushes - also results in a faster raid as it was usually likely the scout was lost and reduced military numbers by 1
- Pocket has increased deer search range so booming/slinging pockets are more likely to lure deer not used by allies
- Fixed a bug where Bright Spark's own melee units triggered its retreat code
- Fixed a bug where Bright Spark's market wouldn't place, keeping it in feudal age
- Added custom taunts for the next 3 opponents in DC7 (will add more for most AIs I know in the community, just didn't have time with the deadline)

Update - September 30th 2023

- Boar laming now uses *actual* precise distances so should be far more consistent
- Deer pushing now uses *actual* precise distances so should come in much quicker (thanks Rorrik and Fireball!)
- When forward tower is partially built and Bright Spark has a military lead, it will wall that tower.
- When forward donjon is partially built and Bright Spark has a military lead, it will wall that donjon but leave the 2 tiles towards the back (front being towards the enemy) so that produced units can join the fray or meet any villager/soldier foolish enough to try and take the donjon down.
- Changed to manually allocated builders for towers, donjons and walls so forward villager builders should be capped at 4.
- Initial military buildings are now built towards the back of the TC (should be near first lumber camp) this reduces walking distance significantly and keeps villagers closer to TC and each other in case of drush.
- Bright Spark now knows how much food it has amongst stockpiled resources and what is held by current villagers - it uses this to know exactly when to force drop food to age up to feudal.
- Bright Spark force drops from hunting resources in feudal to reduce delay in initial troops.
- Bright Spark now produces militia when clicked up to feudal and spearmen while waiting for chosen buildings to be made - this results in an attack happening sooner and can often counter a scout rush (Bright Spark's current feudal age weakness).
- Adjusted scouting parameters so more likely to find starting sheep.
- Bright Spark now uses an object ID loop so it can see boars that can be seen by the player on the map, but is on the edge of for of war.
- Improved non combat TC avoidance so starting scout should go around the enemy base and not through it when called back home
- Improved enemy location estimation so should be much more likely to spot enemies when starting scout has died, this is really useful vs Huns and when a pocket rusher is looking for another pocket
- Fixed a number of instances where the scout just stops at the home base
- Fixed a number of instances where the scout just stops in the enemy base... I don't think I have all of them
- Scout enters enemy base sooner to look for boar and weak vils
- Pocket rushers now target by finding third closest enemy rather than comparing with allies. This means when a flank changes target to the pocket due to crippling the enemy flank, the allied pocket stays attacking the pocket as well rather than changing to the flank to avoid matching the ally's target.
- Adjusted food drop amount for Italians
- Town size growth is limited so defence code does not jump in when Bright Spark is winning (which can cancel assault like in the 4v4 vs Demon)
- Farms are halted for market placement when saving for castle, results in a slightly faster click up to castle as gold is usually in excess.
- Defensive villagers now attack enemy builders when they're close.
- Added custom taunts for Immortal and Phyrexx UP (sorry DE, I don't have time for that many names :D )

Update - November 9th 2023

- Can now play Armenians and Georgians with basic mule cart use (Georgian UU work really nicely with Bright Spark)
- Fixed bug where scout was circling closer to TC to search for deer instead of circling outwards. If you noticed Bright Spark's feudal times being slow or its initial attack not packing much of a punch, this is why
- Farms are now made on Team Islands when there's excess wood/an attempt to age up
- Slight edit for Arena so its aggressive fast castle doesn't raid and goes into siege mode quicker
- Changed town size early game for arena to try and keep buildings in or close to walls
- Edited unit and techs for game balance changes in new patch
- Edited Persian civ to account for Savars and new unique tech
- Fixed issue where Bright Spark teammates would not send excess resources to help weakened allies rebuild (particularly food when the ally still has a TC but no vils)
- Added Dromons
- Added back up rules so navy can attack targets when it cannot train cannon-galleons or dromons late game
- Inner wall is no longer built in Arena when an enemy forward castle is detected, Bright Spark's castle avoidance and anti-siege defence is much better than in the last arena tournament so the wall is not needed.

Minor Update - March 5th 2024

- Added donjon unit constants so Bright Spark runs on latest March patch.
- Bright Spark can now research devotion.

As always if you have any feedback then please let me know :)
Attachments
Bright Spark 39c.zip
Latest version
(122.18 KiB) Downloaded 62 times
Bright Spark.zip
First version - low DUC
(59 KiB) Downloaded 121 times
Bright Spark 26.zip
Version before individual micro update
(90.01 KiB) Downloaded 128 times
Last edited by Bandit1990 on Tue Mar 05, 2024 2:20 pm, edited 34 times in total.

User avatar
MrElephant
Swami
Posts: 115
Joined: Sun Dec 20, 2020 6:28 am

Re: Bright Spark

Post by MrElephant »

Hello,

So I just tested out this AI. However, it does require some setup- and doesnt appear to function right off the bat for DE. You have to rename some of the folders to Bright Spark\filename in the "Spark - Bolt On Exp 3" and "DUC Raid Test 6" files in addition to the "Bright Spark.per" file. My suggestion would be to include a DE version separately if this is an HD version. Oh, and for DE you have to rename all of the .per2 to .per extensions.

Overall thoughts- this is a great ai. Pretty strong. Only tested it once, but it does have a strong quick attack with militiamen and archers. I like its strategy. Plus it does retreat from the TC.

-Mr.Elephant
Author of Charon, Reactionary, Ahulane, and BlackKnight!

Bandit1990
Forumer
Posts: 83
Joined: Tue May 03, 2022 2:38 am

Re: Bright Spark

Post by Bandit1990 »

Thanks Mr Elephant!

Apologies, to you and those who downloaded already and had to tinker to make it work. I copied the files before compressing so when I tested it, it must have referred to the usual files so I missed the errors.

I have saved all files as .per rather than .per2 and all references to load files are now correct (and I just sent it to a friend to check and it worked fine this time!)

Thanks for testing - I downloaded Thanatos and Charon earlier today and aim to play some games against them this week! :)

User avatar
MrElephant
Swami
Posts: 115
Joined: Sun Dec 20, 2020 6:28 am

Re: Bright Spark

Post by MrElephant »

It's all good. Glad you were able to update the files. Bandit is a great AI, and I am happy you found your way to aiscripters!
Author of Charon, Reactionary, Ahulane, and BlackKnight!

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

Re: Bright Spark

Post by Leif Ericson »

This is an aggressive AI and it's fun to watch. One recurring thing I found is that the AI can be late to upgrade to man-at-arms. In one of my tests it researched Supplies before Man-at-arms. I'm not a pro, but my guess is that stopping militia training and the Supplies tech until the man at arms upgrade is at least research-pending might improve the AI's strength.

Bandit1990
Forumer
Posts: 83
Joined: Tue May 03, 2022 2:38 am

Re: Bright Spark

Post by Bandit1990 »

Leif Ericson wrote:
Wed Jul 27, 2022 8:55 am
This is an aggressive AI and it's fun to watch. One recurring thing I found is that the AI can be late to upgrade to man-at-arms. In one of my tests it researched Supplies before Man-at-arms. I'm not a pro, but my guess is that stopping militia training and the Supplies tech until the man at arms upgrade is at least research-pending might improve the AI's strength.
Thanks Leif and good point, that might explain some of the inconsistency when it picks Militia to rush. On a similar note it also sometime researches padded armour before fletching if it goes into skirms or archers so having a similar rule for them I imagine will also help.

I've added them to the list to add for next update, thank you :)

User avatar
FireBall37
Swami
Posts: 175
Joined: Sat Aug 22, 2020 10:49 pm
Location: United States

Re: Bright Spark

Post by FireBall37 »

Played a test game vs Bright Spark and Shadow, and Bright Spark at one point was still in Feudal while Shadow was Castle Age, and said that he was stopping production to age up, but then later kept producing units and never got to Castle at all. I notice several AI's do this, being indecisive about whether to maintain age equality or military equality.

Also, very happy to see him on the forums! So far looks like a great opponent :)
author of the Shadow AI and Snippets

Bandit1990
Forumer
Posts: 83
Joined: Tue May 03, 2022 2:38 am

Re: Bright Spark

Post by Bandit1990 »

FireBall37 wrote:
Fri Jul 29, 2022 12:50 pm
Played a test game vs Bright Spark and Shadow, and Bright Spark at one point was still in Feudal while Shadow was Castle Age, and said that he was stopping production to age up, but then later kept producing units and never got to Castle at all. I notice several AI's do this, being indecisive about whether to maintain age equality or military equality.

Also, very happy to see him on the forums! So far looks like a great opponent :)
Thanks Fireball!

Ah yes it has a chat for halting production but not resuming production in Feudal. What I think is happening is after a certain game time it tries to age up provided it’s not at a certain disadvantage in military pop. If Shadow has a strong military presence Bright Spark will try to catch up, then once it does will halt production again which I’m guessing during that time loses its troops or Shadow has generated more quickly.

May post this question on Discord too but do you have any advice on when to halt production to age up? I could add a second layer to the rule where if the game time is over a later amount just halt production regardless of military, but I would imagine that would leave it open to a fatal attack (though at that point it might be gg anyway I guess).

User avatar
FireBall37
Swami
Posts: 175
Joined: Sat Aug 22, 2020 10:49 pm
Location: United States

Re: Bright Spark

Post by FireBall37 »

Bandit1990 wrote:
Sun Jul 31, 2022 2:56 am
May post this question on Discord too but do you have any advice on when to halt production to age up? I could add a second layer to the rule where if the game time is over a later amount just halt production regardless of military, but I would imagine that would leave it open to a fatal attack (though at that point it might be gg anyway I guess).
Well, it is a complicated question. I’d say the biggest factor is the level of your defenses. Going up to Castle is of course just better, but if you will die before getting there it is no good. So against a flushing opponent FCing often fails because AIs do not wall well. Now for a flush, I would say the sooner you can go up, the better. What I would say is, if you are ahead in Feudal, upping to Castle will put you even further ahead; and if you are behind in Feudal, staying in Feudal longer only puts the nail in the coffin for sure, while upping to Castle and trying to weather the storm gives you some chances of coming back into the game. I’ve found that towers are a great way of preparing for going to Castle safely.

That was long, but those are some thoughts. Anyone feel free to correct me if you see an issue :lol:
author of the Shadow AI and Snippets

Bandit1990
Forumer
Posts: 83
Joined: Tue May 03, 2022 2:38 am

Re: Bright Spark

Post by Bandit1990 »

FireBall37 wrote:
Sun Jul 31, 2022 8:45 am
Bandit1990 wrote:
Sun Jul 31, 2022 2:56 am
May post this question on Discord too but do you have any advice on when to halt production to age up? I could add a second layer to the rule where if the game time is over a later amount just halt production regardless of military, but I would imagine that would leave it open to a fatal attack (though at that point it might be gg anyway I guess).
Well, it is a complicated question. I’d say the biggest factor is the level of your defenses. Going up to Castle is of course just better, but if you will die before getting there it is no good. So against a flushing opponent FCing often fails because AIs do not wall well. Now for a flush, I would say the sooner you can go up, the better. What I would say is, if you are ahead in Feudal, upping to Castle will put you even further ahead; and if you are behind in Feudal, staying in Feudal longer only puts the nail in the coffin for sure, while upping to Castle and trying to weather the storm gives you some chances of coming back into the game. I’ve found that towers are a great way of preparing for going to Castle safely.

That was long, but those are some thoughts. Anyone feel free to correct me if you see an issue :lol:
Thanks for writing up your thoughts on this!

I think for the next update I’ll add in a secondary age up switch that doesn’t turn off and see how that goes. Perhaps when an opponent has been in castle for x amount of time then lock into aging up. If I make some changes so that I can shorten how long it takes to save up those resources then that should minimise the time it’s vulnerable.

The wall point is interesting, Bright Spark does have code to build walls using buildings but I turned it off before release because it occasionally got in the way of building gold mines. I need to revisit camp and mine building rules anyway so I might experiment with walls again to see if that will help as a buffer.

Thanks for testing! :)

Post Reply