Updates:
Public version 1.03 live 1/18/2012 at 6:07 PM EST
Download links:
Link to the latest version PUBLIC version of the mod: http://www.box.net/shared/g8lbbhpojik4tbkjn6su
The Project
Using the last version of peppe’s AI mod (0.26.35), I’ve started development on updated versions of the AI mod. I’ll be releasing those versions here, tracking bugs, enhancement requests, rebalancing, etc. I won’t be adding a new version to my combined DG installer until we make a decent amount of progress or come up with some sort of significant enhancement to justify a new release to the community at large. It took us a long time to get reasonable adoption rate on the existing ai mod – I’d rather not force folks to redownload the bundle over and over.
The Project Team
If you’d like to help in any way, we are happy to have you on the team.
Current status (what’s being worked on)
Bug list (unless otherwise noted, these are all bugs from the original 0.26.35 version)
Enhancement requests (these are changes that folks would like to see happen with the AI)
Change log
version 1.03-Created new UID-Adjusted hero/squad targeting values to increase AI skill use aggression-Adjusted range cutoff multiliers to mitigate the chance of the AI from running past towers to cap flags-Adjusted/fixed errors in Oak, Queen of Thorns, Unclean Beast, Regulus and Demon Assassin AI builds-Re-enabled Sedna Pounce build and Queen of Thorns Shield_Spike build-Homogenized AI build names so it is obvious what skills the AI is using.
version 0.28.00 BETA- removed unclean beasts AA build as the Spit ooze build is generally a little better
version 1.02- created new UID and incorporated all changes since version 1.01
version 0.27.09 BETA- Disabled a substantial amount of logging (will result in a substantial performance boost for many)- added miri's scenario name capture function to CommonUtils.lua (doesn't work now, but isn't being called)- began to tweak ub's usage of ooze. Reduced health activation from >= 40% hp to >= 30%. Also reduced the deactivation health value from < 40% to < 30%- reenabled the attack override in herogoap- updated the flee mastergoal to set at 50% HP instead of the current 75% hp- Added an action time to health pot usage to hopefully keep the AI from using a pot at lower HP, having the pot bring them up to full strength and then having the ai immediately sigil
version 0.27.08 BETA- Added new action and instant status function in useitemactions to keep the AI from "double locking" flags (eg wasting locks on a flag that is locked)
version 0.27.07 BETA- increased sigil activation health % from 45% to 50%- added new hammerslam calculate rates function - should increase the odds that rook will slam if the unit is stunned (should work for any type of stun)- rebalanced weights of rook's actions to bring them more into logical numbers- rebalanced weights of erb's actions to bring them more into logical numbers
version 0.27.06 BETA- reduced sigil activation health % from 50% to 45%- changed orb of defiance usage check so that it will consider using it before sigils- removed grunt check on orb of defiance (previous the AI would refuse to use use the orb if the threat level was < 15)- added nearby enemy hero check to orb of defiances - if no enemies nearby, then orb will not be used- reduced the value of narmoth's ring on the AA ub build so that it is not choosen as the only item at the start of a game on nightmare difficulty- reduced the captureflag override at the start of the game from 60 seconds to 40 seconds- disabled the attack override to allow the ai to make its own decisions based on weight- Reduced the reteat values if there are nearby enemy heroes and towers from 85% to 75%- modified rules for dg vs dg fights. AI will run if there are more enemies than allies present
version 0.27.05 BETA- removed the nonworking per map flag settings- revised the generic flag settings- disabled all existing rook builds- added new "more balanced" hammer slam tower build
version 0.27.04 BETA- continued to enhance the documentation in heroGOAP- added new logic to provide a count of heroes/enemies in heroGOAP for decision making- added rule so that the AI's goal will flee if 3 or more enemies are present vs 1 ai - changed default value of gold and portal flags to 0.5- increased unit.movecutoffrange from 1.2 to 2.5 in attackactions- fixed a problem with da's new swap logic- continuing to test out flagassets.lua - I don't think values are being loaded for each map
version 0.27.03 BETA- removed erb's desire to cast stun as an interrupt as its not possible- increased erb's desire to bite- increased oak's desire to use surge to kill units- removed sedna's desire to use silence as an interrupt as its not possible- added comments to heroGOAP to try to track where the AI is getting stuck (NOTE - this could slow down some lower end pcs)- added new logic to count the number of grunts near a hero for decision making purposes - previous check was based on threatlevel- changed the balancing capture flag logic so that the AI will re-prioritize capturing flags if there is a difference of 50 in warscore- changed AI's desire to buy capture locks from WR 4 to WR 6 - AI will not purchase them prior to WR 6
version 0.27.02 BETA- major revamp to DA's swap ability - da will now only swap if the number of allies is > enemies near da- disabled existing DA build- enabled STANDARD_ASSASSIN da build (eg what most players use when playing da) now that swap is working as desired- disabled pounce sedna build
version 0.27.01 BETA- updated TB's frost nova so that it is used more often
version 0.27.00 BETA- created new UID - this is done so folks can still keep the release version 1.0 installed and try out new "beta" versions and help with testing, etc- added additional documentation to AIGlobals.lua- adjusted the saving routine so that angels are not saved for until ws 7- changed the way the AI evaluates additional shopping trips. Now based on warscore- fixed a minor bug with reg's mark of the betrayer squad target- added additional shopping trips (see details below) # SHOP PERIODS # Warscore >= 300, AI with most money, possible to buy fs1, at least 600 gold # Warrank >= 3, AI with most money, possible to buy cur1, at least 1800 gold # Warscore between 2450-2575, NOT AI with most money, at least 1500 gold # Warscore between 3100-3225, AI with most money, at least 1500 gold # Warscore between 3800-3925, AI with most money, at least 1500 gold # Warscore between 4150-4275, NOT AI with most money, at least 1500 gold # Warrank 8 OR AI already bought the upgrade, priest/angel/cats available, AI can afford the upgrade # Warrank 10, possible to buy giants, AI can afford the upgrade
version 1.00- created new UID- removed any "pacov" labeling- changed name to Enhanced AI (peppe's original version was Enhanced_AI- updated version name to 1.00 (numbering convention will be 1.00/1.01/etc going forward)
version 0.26.56 (misc fixes + pounce sedna build is live)- removed CaptureFlag goal weight from oak's pent functions- removed CaptureFlag goal weight from rook's hammerslam functions- removed Captureflag goal weight from tb's deep freeze functions- removed CaptureFlag goal weight from ub's grasp functions- removed ub's mygraspstatusfunction and replaced with DefaultStatusFunction- removed oak's myPenitenceStatusFunction and replaced with DefaultStatusFunction- removed sedna's myPounceStatusFunction and replaced with DefaultStatusFunction- substantially increased sedna's desire to pounce- re-enabled sedna's pounce_tank build
version 0.26.55- fixed a bug that still allowed demon assassin to pick up swap- fixed a bug with unclean beast's grasp code- enabled new hammerslam/tower rook code and tweaked desire to hammerslam- increased sedna's desire to pounce (did not re-enable the pounce build yet)
version 0.26.54- removed the remaining demon assassin build and added a new build without swap per request- reworked the valor flags weight. Should be less desirable for AI prior to ws 8- tweaked deep freeze to be cast much more often- re-enabled ai priority to attack structures. Tweaked the formula so the AI will immediately back off if any enemy dgs come into range. This should reduce the odds of death and also keep the AI from wandering past towers for the gold flag, etc
version 0.26.53- increased artifact weight so they will be kept if the AI purchases- added mageslayer to the generic equipment purchase list with a priority of 110, moved godplate to 120- enabled oak to cast surge when trying to flee
version 0.26.52- substantially increased the odds that oak will attempt to interrupt- removed demon assassin speed_spine build- re-enabled the graveyard level 1 upgrade - minor misc changes- changed ai's desire to pick up locks from level 3 to level 4
version 0.26.51- rebalanced the general equipment builds- rebalanced the specific demigod equipment builds- removed AI's desire to purchase any graveyard upgrades- removed "cloak of invisibility" from artifact prioritization as the item does not exist
version 0.26.50- Reduced priority from 35 to 20 for boots of speed on UB HP/ooze build to keep the AI from purchasing boots of speed as the first item if the AI is set to normal- increased priority of grofflings plate in the general build- substantially increased ub's desire to grasp in game- updated flag goal for cataract to reduce the AI's desire to grab the valor flag early (eg the AI running to the middle of the map)- increased ice tb's goal to make it use deep freeze more often (tb's abilities all need a bit of an overhaul)- various item selection tweaks
version 0.26.49- changed desire for flag locks to increase at wr3 instead of wr4- adjusted AA ub build so that it will never choose mana items (unbreakable is still acceptable, though)- implemented the "siesta." At warrank 4, any ai (not the high gold AI), will return to base to shop as long as they have 1500 gold. Then, towards the end of wr4, the AI that is the highgold AI will shop alone.
version 0.26.48- added miri's check to force the tb to stay in whatever mode its build is designed for. This should improve the AI's usage of abilities tied to the pure ice or fire builds. Confirmed that fire tb will stay in fire form and ice in ice form based on build. - continued to balance item selections- Changed Rook's favor item to blood of the fallen- TEMPORARILY turned off the attack structure code
version 0.26.47- made MANY balance changes - all changes are noted in the files, but too many to detail here (so I'll cover highlights)- changed ideologies for the mod. Before the goal was to force the AI to do everything I wanted it to do (simply buy cit upgrades) - now I'm planning on having it scale that back and focus on becoming an arse kicker- odds your ai will have a sigil is MUCH higher - this improves survival odds ALOT- ai will always purchase fs1/cur1/priest/angel/cats/giants - that's it. AI will no longer get any levels of experience.- ai will VERY OFTEN have locks - I still need to teach the AI how to use locks better though... so at least for now, it will have them...- MANY item prioritization changes - If you understand the modding side of things a wee bit, there are 2 ways a dg chooses equipment/items: 1 - a general list that contains all recommendations. 2 - a list that is specific to demigod build. I spent quite a bit of time improving the general list today and started working on the 2nd method that includes build specific items. I've only started on QoT, but I will likely get her to mimic my standard QoT build for items.- removed some additional checks to help reduce overhead of the AI* note - I have not begun to force shopping trips on the AI outside of fs1/cur1/priest/angel/cats/giants. I'll be looking to start phasing in shopping trips to encourage the ai to get even better items as appropriate. AI will still shop if it gets its arse kicked, but I want to schedule some trips so the AI will get stronger at different intervals even if its doing fine.
version 0.26.46 (the getting back on track version)- added miriyaka's changes to the save function so that we can evaluate based on warscore as well- added saving for fs1 as a priority after ws 200- updated value for fs1 to increase its priority to 200 after ws 300- removed log writes from miri's savefor, etc to see if that helps the lag issue that's been mentioned- confirmed - the generals will now choose monks if they are a normal ai with default settings (instead of saving for fs1)
version 0.26.45 (the lesser of two evils/back to basics version)- the title gives you an idea - if you play on normal settings with 1 general ai, they will NOT purchase monks at the start. This is not desired behavior. But in allowing this, the AI does not freeze between ws2 and 3 for any extended duration. Sadly, the other option right now is you get monks, but the ai stands around like an idiot at ws2. - Added additional documentation for the herogoap file- disabled the trip to the shop for ws 5 to get cur2- developed basic test code to send the ai to the base if its not the high gold ai- backed out the changes that increased rate of fire for bite/pounce/pent. We'll visit this again, but I'm concerned that the ai is overriding their flee function due to the high priority I put on these abilities resulting in more pointless deaths. My goal is to simply make them use their abilities more often... not die like goofs.- tweaked the rules for purchasing sigils. AI will not buy them until ws 2 and only if the AI has a max health > 2750- removed assassin sedna build again until I get back to sorting pounce
version 0.26.44- hopefully corrected a bug that would cause the ai wait around to purchase an upgrade if it did not have enough money of the ws for it. This should give us new opportunies for balancing upgraded in the future. The short version is I updated HeroGoap perform a check if the ai can afford the upgrade they are saving for before heading off to the shop. Not enough money = no shop. I'll be looking into explicitly sending specific ai's to shop on some sort of interval in the future- (not a real change... but started deep dive into integrating miri's savefor function)- removed cur2 shopping trip for now - it still gets a high priority, though
version 0.26.43- added miriyaka's save for gold functionality- disabled ai goal chat function from herogoap 1198
version 0.26.42- substantially increased the rate that erebus uses bite- substantially increased the rate that sedna uses pounce- re-enabled assassin sedna build now that pounce is used more often- substantially increased the rate of oak's penitence- added another shop period at ws 4 - the ai with the most goal should head for base a 4. This might result in a different dg being choosen for highgold after
version 0.26.41- added miriyaka's summon shambler fix. The code would work for QoT, Sedna, and Oculus. I'm only implementing it for QoT as this would be a disadvantage for the Oculus build and sedna does not use yetis in the AI mod- Removed anklet of speed from all TB builds and replaced with Blood of the Fallen. The ai is not smart enough to use a speed fire tb build- Removed the file mod_units. This contains fixes already in uberfix and is not needed here- Enabled master goal chat - this is a debug function that broadcasts what the AI's goals are - you might find this annoying...- Re-enabled code that adds a destroy structure goal for the AI. Peppe turned this off at some point... probably for a good reason, but I did see the AI being more aggressive attacking towers, so I'm leaving this on for now.- Made some adjustments to the flag weights on cataract. This SHOULD end dgs running over the the mana flag at the start and then rushing to HP before they capture the mana flag. Reduced the weight of the gold flag to encourage the ai to attack structures first. Reduced the value of portals prior to ws8.- Removed all oak builds and added a new shield/pent focused build- Minor change for reg's build - added impedance bolt at level 16 instead of stats 1
version 0.26.40- removed the code that placed a limitation on what items could be purchased at the start of the game (AIShopUtilities 736-741)- Changed the priority level trigger from WarScore to WarRank for fs1 (AIGlobals 1433) - this appears to have resolved the ai's standing at mid issue. The Ai will purchase fs1 at ws2 now correctly- Changed AI's priority to get xp2-xp4 to 0. AI will no longer purchase these upgrades- removed mist and added coven 1 as erb's level 2 skill until we get a chance to write a routine for him to use mist to remove negative buffs- Updated ai priority values for minotaurs to 0/5/10/15 (eg an ai will never buy the 1st level minotaurs now) - I was seeing the ai pick this up as a cheap filler if they have the money - not worth it- Updated ai priority values for level 1 archers - dropped from 15 to 0 so the ai will never buy- updated ai priority values for hauberk of life - dropped from 40 to 35 so that unbreakable would be chosen over this if money was available - updated ai priority values for unbreakable - removed conditional formula and set to a static 39 - removed ub skill build spit_ooze_mana (essentially bots ub)- removed hybrid_fire_ice build from tb (bots tb)
version 0.26.39pacov is learning things… - reprioritized AI to purchase fs1 at ws2. Previously, it only purchased it if made it back to base with enough money; this forces it back to base to get it if no one else has- raised priority for currency 2. Logic mirrors currency 1 as I want this purchased every time. Also sending ai with the most gold to purchase at ws 5.- removed assassin sedna build until I have a chance to look at the pounce training – assassin sed should be pouncing left and right… right now its like once in a blue moon – heal_tank sedna is solid though
version 0.26.38removed unitstatussensors code – concerned it might be causing an issue- tweaked erebus build so that he gets mass charm later – he’s not using it well as is
version 0.26.37bugfix – just resolving a sytax issue
version 0.26.36copy of peppe’s version 0.26.35- removed 3 old sedna ability builds- added 2 new sedna ability builds- removed old qot ability builds- added new qot ability build- removed 2 old erebus ability builds - added 2 new erebus ability builds- uncommented some code peppe developed in UnitStatusSensors that might help resolve the frozen dgs*note – all builds that have been added by me will be announced in team chat at the start of the game and will say “pacov” folowed by the build name.
Concerning 0.26.49, Uberfix 1.05, normal difficulty
I just had a very interesting game with the AI where I participated too. My random teammates where a pure_fire TB (TB is not a strong AI partner but it helped me tearing down the towers nicely) and a speed_spine DA. Our opponents were an UB and two Regs.
First suprise was that me was buying currency at WR4 (But I think that´s ok. Why always rely on others?) the other (much more annoying) thing was DA who died 14 times (!) giving the enemy team an enormous boost that it made quite harder to win the game (the others were dying two to 4 times i think). Sometimes I was able to see him in "action" using shadow swap to swap himself into towers a die nicely...
He really has to be fixed (or can be used to make a game harder ^^).
I see pavoc that you also started the essential mods topic which is stuckied in this forum. Is this AI mod built around vanilla DG, or does it assume you're using mods like CrazyTown?
Yeah - the AI is designed to save money starting at Wr2. On a normal game, its quite possible that the AI won't have enough money until wr4. The AI with the most gold will try to buy ASAP after ws 3 though. This certainly doesn't happen every game.
Yeah... I'm not sure what specifically to change in his ability build atm. I can tweak his item build a bit to make him more durable, but he'll still quite likely warp strike when its foolish or swap in a silly way. Sounds like a lot of coding would be needed to make sure he only does this or that in certain cirumstances.
The AI mod is stand alone using vanilla dg. I typically play it with uberfix enabled, but that's not required. You should be able to play it using crazytown if you like as well.
Fully agree with Plague that the DA just sucks. The TB though got better now and is acceptable.
I had a game 2v2 on nightmare all on random. I got QoT with Occ against Sedna and Occ. My Occ played very stupid. He didnt use Chain Lightning or any other skill. I fight Sedna and he sits a bit behind me with full hp and mana doing nothing. When he joins the fight he shoots at her but thats it. Saw a few butt jumps but never a chain lightning and he had 6k mana. The opponent Occ though did use chain lightning. Are there different builds for Occ? As I think there is only one build for Occ and it certainly contains chain lightning. The Sedna also didnt pounce but at least she healed the other Occ very well.
We won easily by tearing down all towers but I had no kill and no death and my Occ had 1 kill with 1 death. Me with 1 assist enemy died a total of 3 times. So low killing game which is good on nightmare. The Sedna behaviour isnt that bad but my Occ needs to behave different.
Only 1 build for occ. The senda pounce thing is something I need to revisit.
I don't really understand what you're talking about, because in the code snippet you posted, you're not touching the DamageCalculationFunction at all, and you're just changing the InstantStatusFunction, and changing it in a completely pointless way - if DefaultStatusFunction returns true, then not only will the AI have > 300 energy, but it will have enough energy to cast the ability (which costs far more than 300?).
Peppe's version of the function has some extra checks to PREVENT the AI from casting grasp too often. All you should need to do to undo that is revert the ability back to its default state. Remember that grasp has the highest mana cost per level of any ability in the game, and it's a point-blank ability, so its action may be interrupted by other AI events (low health sensor etc) and it won't and can't be cast as often as other abilities.
You also definitely do NOT want it on all goalsets (virtually no abilities should be on All), as that will just confuse the AI and add CPU overhead while the AI isn't on an attack goal. I can assure you that the goalsets it has by default are the ones it needs, likewise with the squad version, which has special options for squad attack. You could possibly add the CarefulAttack goal - I'm not sure when that's used, but it's the only attack/advance goal that isn't already on that action by default.
If anything, the only change you made that would have a positive effect would be the GoalWeights, and you're using values that are ridiculously high and may cause other issues within the AI. Revert the ability back to the vanilla default (not peppe's version) and try GoalWeights of -10 and -5 or so for both Grasp actions, and -5 to -10 for the WeakHeroNearbyAdd (this is added to the KillHero weight for demigod targets considered weak or low health). There are no built-in limitations on the stock Grasp action functions that I can see - they will all return true if the ability can be used at all. Peppe's changes tried to make it used for interrupt only, which we know won't work due to the speed at which the AI makes decisions.
Good tip. Was not aware and I'll adjust.
I've actually got it working how I want it now without any coding errors. Going to review my code and adjust based on your feedback though. Thanks!
side note - I am really liking how I've got both ub builds tuned at this point. Great use of grasp and spit (if the build has it). I also made a change to reduce the value of the valor flag before ws8. This has MOSTLY (at least in my tests) resolved the issue of the AI just wandering around the middle lane. As they want all of the flags on the outside lanes more, they don't really say at mid after capping the xp flag.
edit - looking at tb now... I see sooo many different things that should be tweaked a bit w re: to how he uses his abilities.
One thing you might want to try is keeping the KillHero weight down on Grasp (like -5), and pumping WeakHeroNearbyAdd to -45 or so, saving most grasping until the target is low on health.
well... I've dropped the killhero weight quite a bit and I might give the weakhero suggestion a try... that said, I think something else might be at work here at the AI seems to target the hero unit with the lowest hp anyway (eg if 2 units are nearby and one with more hp is in front and there is another one behind, the AI will still beeline towards the one that is a little bit behind and only use abilities on them. Anyway, obviously shouldn't hurt to add the weakhnearby rule.
live now
Thinks you will enjoy having a ub as a teammate now.
Should go to bed, but will give this a try now. ^^
Those weights don't tell the AI which target to go after, but how prioritized this particular action is WHEN the target is the weakest hero in the vicinity (determined by the 'Near weak hero' distance sensor). Not that I completely understand how GoalWeights work, as there are 3 distinct blueprint/code elements in the AI code named 'GoalWeights', and it's really difficult to figure out how each is used individually.
fair enough. I'll toy around with making those changes in the next version.
Speaking of the next version... I think that will be the one I include in the combined install package. I could use some additional testing on this last build to make sure there isn't anything majorly broken.
I'm trying to decide on how I should integrate the new release, though. You've probably noticed that as I started with a new UI and called the mod "enhanced AI pacov." that any of you testers are still able to have the original enhanced AI mod and still play w folks that use that version. Well, I don't have any intention on maintaining "enhanced AI pacov" and will probably just drop the "pacov" and have this replace the current enhanced AI. we'll see...
Testers - please take a minute or two and read all of this nonsense. Thanks!
OK - so mission statement for tomorrow: PLAY THE LATEST VERSION A BIT. Keep in mind the last 2 or 3 change logs (read them before you play any test games). 0.26.49 marked a change in how we are doing things (the "siesta" shop period). I'll likely implement another round of that in the future. It won't impact normal ai games, but hard/nightmare it will make a big diff and should allow for artifacts, etc. You need to look for any NEW bugs associated with the changes I made. I'd really appreciate any tester taking some time and giving 0.26.50 a go so I can confidently release a new version in the combined package and start advertising (with your help as well).
So - let's talk about the future. I mentioned in the previous post that I'm going to roll up this latest version and REPLACE the AI mod 0.26.35. This means I'm going to grab the UID from peppe's version and drop my UID and rename it to ENHANCED AI (or EXACTLY what peppe called his version). What this means to you is that the moment you install my new version, you will no longer be able to join games of folks that have the last official AI mod release from Peppe (eg we need to start advertising then).
So, that said, what should we do about future releases? I could do things like I've been doing normally. As a new version comes out of any mod that is included in the combined mod package, I issue a new release of the mod package. The problem with this is that is takes players awhile to get that DG combined mod package. And as I'll probably keep releasing MANY updates per week on the AI mod, if I keep this up, then folks will always have to re-download the mod package to get back in sync. So, the adoption rate drops. The best thing to happen to the AI mod package (peppe's last version) was that is stopped being updated (as crazy as that sounds). This is because so many people have the latest version now without even knowing it (because the downloaded the package).
Anyway, so here's my question. Should I a) start updating the DG mod package EVERY TIME I release an update to the AI mod? or b ) Just release the occasional update to the combined mod when I hit milestones? The adv to "a" is that we can always say - GOTO HERE to get the latest version (the downside is that only folks that follow either of those threads will always have the latest version (eg problem = adoption rate). The adv to "b" is that we can make a surge over a week or so and encourage everyone to grab the latest version. This drives the adoption rate up and prevents confusion. I'd just maintain a separate version (stick with the "pacov" naming convention) so that everyone could have the latest official release and we'd just consider any pacov version as a beta release. What do you think?
B ftw.
Putting up game titles for "new release" for a week when there is a large development in the AI will be more effective imo. If it is up all the time it will lose any "look here"/"do this now" effect.
Cheers for all the effort.
EDIT: didnt know what the ( b ) would give lol.
Played one game last night with version 50. Me Sedna with UB against QoT and UB. Was a very good gaming experience. Think it was the first time in a lot of games that my ai pal got more kills than me. My UB was great, he grasped and spat. He also bought equipment so that when we hit Warrank8 he did not have enough to buy priests, angels and dinos which makes it much more realistic as now I have to save some money for that too and I actually then bought the dinos.
The enemy UB still walked past the first tower but came back earlier so I believe that didnt result in a kill. Only thing that was weird is that the enemy UB was hanging around in center a whole lot apparently trying to creep there.
Meanwhile its more fun to play the ai than real people as they are not being an idiot, dont do really stupid things, dont leave when they are losing, have no connection problems and are always available.
Concerning 0.26.50, Uberfix 1.05, normal difficulty, towers high
- The first game I started, my UB Ai partner choosed the ooze_health build, get vial as a favor and boots of speed again. Quitted the game then.
- The next game it chose Spit_ooze build, started with banded armor and scalemail, BotF as favor. It was against Rook and Occulus
WR 1
- first encounter at the health flag with Occ. Used spit against Occ. Dropped to half life (was too near to tower i think) and returned to the shop, bought scaled helm. Went back immediatly without refreshing his mana
- Next encounter, dropped to half life again went back and got FS 1
WR 2
- Went back cause of half life and oom, bought sigil, teleport
- spat at the tower two times, then walked past it toward the middle (have seen that behavior more than once by AI) was drained of his life by the middle towers and teleported out, bought teleport again
WR 3
- went mana side, encountered enemy DG and tower, teleported out. Bought 2 locks and teleport
- went back and captured mana flag with me and locked it (no enemy dg around) used spit at the tower then and grapped Occulus who showed up. Was oom and locked the mana flag again, went back to citadel
WR 5
- spat at health side tower, went past it, spat at the towers behind and aborted it, spat again, aborted it and spat at the health side tower again (was funny to watch though ^^)
- bought narmoth ring (had approx. 4500 of gold. should buy nimoth and unbreakables / mana helm?)
WR 6
- attacked middle towers (senseless, was immediately at low life and trolled away)
- bought sigil and 2 locks
WR 7
-bought nimoth and teleport, had 2400 gold left
WR 8
- bouhgt priests and firepower 1
- went to enemy portal on mana side (good thing you can count on that and adapt your own performance to that)
WR 9
- bought angels
Overall
- it used spit very often, which is really nice because spit is great against strucutures and DGs. But it was oom quite often and should have more mana items (exchange scaled for vlemish and get unbreakables instead of narmoth for example)
- locks are bought too early i think and also the usage should be limited to portal flags and valor flags only because that is really game breaking. No use if the manaor gold flag was just locked and theres no one left for the portal flag or cooldown is still running. But only for capturing enemy portal flags or saving own ones it would be nice I think
I think it is really an improvement feelable than it was before. I could imagine that the AI on hard or nightmare (when more money is available) do even a better job. I will give it a try later.
yeah - that goes without saying.
But Plague mentioned a good point. I also saw the nightmare ai buy Narmoth as first item. Now I also get it with UB but certainly not as first item, its more one of the last items. So maybe put the priority on it a bit further down.
maybe... I agree that its certainly not desirable as the number 1 item, but again... the focus has been on the hard AI, I only took into account item prioritization based on when the AI was typically shopping with the amount of gold its starts with.
It gets a little tricky... mayhaps I'll spend a few minutes on this today.
something like unbreakable < narmoth < nimoth (20/22/24)
In this example, if you had 10k gold, you'd get all 3 items I listed, but you'd get nimoth first, then narmoth, then unbreakable.
If you only had 4k, you'd buy nimoth first (leaving you with 2500) - then you'd just default to unbreakable as you can no longer afford narmoth.
anyone object with that basic view?
Mana is short for the AI, because it uses it´s skills quite often (UB at least). I would think, Unbreakables are the better item. It´s somewhat difficult because I would always get unbreakables before narmoth but i´ve to watch my gold more than a hard or nightmare AI. I would exchange Banded armor or Scalemail with Narmoth if I have already Nimoth and Unbreakables.
So, I would go unbreakables = 22, Narmoth = 20
Since the AI uses locks mostly in a senseless way, forbid that behavior would be a nice way to save some gold.
Then, in my opinion, it would never get Narmoth, instead of unbreakable. Even if it had 4 other items best possible, it wouldn't get anything better than unbreakable (unless priority is set to higher). I might be incorrect here though, because I don't know how those priorities work exactly. I'd say, if possible, somehow make AI get items depending on the current equipable items owned. If it has 5 items, it can get Narmoth, etc (is it possible to increase priorities by equipable items owned?), if not then get those weaker items, unbreakable, nimoth, etc.
Sadly, its more complicated than just that (that's why coming up with an excellent balance is a bit challenging). Plenor and vlemish fit into the priority list as well.
For instance, the basic item priority list includes plenor and vlemish as well. But everything gets balanced out even further with the individual dg builds. For instance, UB in his HP/ooze build forces any mana item to 0 so that it won't get scaled helm, plenor, or vlemish.
Also, while what you are saying about weighing unbreakable higher than narmoth, you need to think late game here as well. In most circumstances, the AI will have already picked up a helm. If I already have a helm, then I'd choose narmoth over unbreakables in a pinch. + the odds are that (at least on hard difficulty) I'd have already picked up unbreakables because of its cheap cost and priority rating.
See, I can even change the priority levels using logic (if ws> 5 and ai gold > 5k, then set priority to 1000 (instead of 10), BUT - I really want to limit anytime I use logic like that unless its critical because it can cause alot of overhead as the AI has to process those rules OVER AND OVER AND OVER.
and to clarify, dark. The AI has a priority list of items. This is exactly the same for every dg (at first). You set a value and the higher the value is, the AI will choose that first when it purchases. So let's say, I have a really high value for jtreads (500). The AI looks at the very start of the game to see if it can afford jtreads. Seeing that it cannot afford that, it goes down the list until it finds the next highest priority and checks if it can afford that... and so on. Then, based on what it can afford and what its priorities are, it buys that. Any time I set a duplicate priority value (let's say I set nimoth and unbreakable to 20), the AI would then RANDOMLY choose one of those items.
Anyway, so there is the basic build that all dgs use. Then I can modify that initial build per DG build (ex hp/ooze or hp/ooze/spit). That said, I guess let's just focus on the basic build and ignore any talk about dg specific builds for now...
and last, its quite complicated.... the item build prioritization list works hand in hand with citadel upgrades as well. So, anytime an specific upgrade is to be purchased, that gets a VERY high value that goes way above any items. Eg if currency is to be bought at ws 3, its priority gets set super high then, etc.
There are many great features available to you once you register, including:
Sign in or Create Account