Enhanced_AI_v0.26.35:
http://peppe-dg-mods.googlecode.com/files/Enhanced_AI_v0.26.35.zip
http://peppe-dg-mods.googlecode.com/files/Enhanced_AI_v0.26.35.exe
AI will work hard to get map control.
AI will actively work to keep portal counts even or in its favor.
AI will save for critical upgrades like currency, so it can purchase it at or near warrank 3.
AI generals will consider what healer idols the rest of the team owns when making purchases.
AI generals will send one of their healing idols to an AI teammate on summoning (when 2 are summoned) and on teleport.
lolz
that's interesting... i'll have to add crucible to testing as well... the tower farm on crucible wouldn't be on an actual flag generally speaking, so perhaps he doesn't drop them (or just does on flags and you don't see it)... hmmm...
glad struct transfer seems to be working better then. Thanks for testing and reporting results.
Played a Enhanced AI Mod v0.26.30 + Uberfix 1.3 game on Cata/High Towers while trying out Cape Sedna.
Sedna (h) / Rook v UB / TB; all AI Hard (to keep leveling realistic)
A few moments that need attention (both positive and negative):
(1) The Rook was mostly doing okay with the towers as long as I was Cape-buffing him. No really huge tower farms, but a decent tower spam, overall.
(2) At a certain point, he ported to the hp lane tower... only to walk back to base. Had full hp/mana ATM.
(3) The Rook did use Boulder Roll much the same way human players use it It was a nice surprise.
(4) The Rook did port in to save me, when hp flag was seriously threatened.
(5) The AI is sloppy at taking flags. More often than not, the AI just runs past enemy flags to do something else (destroy towers, cap a highg-priority flag: gold, portal, etc.).
(6) Late game portal capping was okay. The AI was defending its valor flag quite valiantly, too.
(7) Needless to say, the things that are working are working in this version as smoothly as usual: purchasing cit upgrades, for example.
If I had to summarize the current AI playstyle in one adjective, it would probably be 'hesitant'. That's the impression Maybe too many priorities conflict with each other? The Ai never seems to finish things it's currently doing. And pushing, by definition, is applying a systematic, methodical pressure -- while the AI can, for example, strike a tower 5 times with a Rook, than go and cap some utterly irrelevant flags, allowing the tower to recover fully.
Does the summon tower action only try to place near flags now? Might want to add an exception if there is an enemy within x distance, say 20, and Rook isn't pursuing. The whole point of the current build is to drop towers constantly, and if he isn't near flags often enough, then he'll be doing poorly with it.
Did he buy a citadel upgrade, e.g. cur1? That should be the only thing that causes this now.
No. He just went to shop. It happens roughly at 11:30 mark. Also, you'll notice he actually spends too much time pointlessly wandering between cit and shop. Here's the replay: http://www.gamereplays.org/demigod/replays.php?game=51&show=details&id=173515
He did drop one or two towers on flags, but never enough to deter one from taking the flag back. He didn't stick around either.
I'll try a round on cataract as Crucible strategy is a bit funky anyway compared to most maps.
I forgot - he did boulder roll regularly and he seemed to buy good equipment/upgrades (is there a way to get a debug mode where the players broadcast to ALL instead of just Allies) ?
He can drop towers anywhere. If he is within ranged attack range of a flag he will take the extra second or two to walk to a flag and plant it there otherwise he will plant it at his feet. Trigger to use skill is any enemy at about what each demigod can see, enemy flag at about 2/3 the vision distance, or a rook tower (ally or enemy) in about the ranged attacker distance.
Enhanced_AI_v0.26.31:
http://peppe-dg-mods.googlecode.com/files/Enhanced_AI_v0.26.31.exe
http://peppe-dg-mods.googlecode.com/files/Enhanced_AI_v0.26.31.zip
Maybe finally fix the teleport in and not go kill stuff.
Some other small tweaks.
cool - i'll get in a test after work. Thanks
Enhanced AI 0.26.31/uberfix 1.03/FavorMod 2.1.4
Settings: cata/High Towers - all other settings on defaultAI settings: normal
rook(h)/rook/rook v rook/rook/rook
Observed results:
so far, one instance where the ai ported in and actually served a purpose
one instance where the ai went up to do structural transfer on a normal tower and quickly quick the effect for no good reason. No other dgs in the area... a creep wave was coming in, so not sure if it re-prioritized. This was around ws3. Can't remember if currency was already bought or not. I know that ai did not go back and buy currency anyway as I checked its gold and it was 1200.
Still no tp in to save portal. I was ws 9 and the ai 6. It didn't bother to tp in. Same thing happened at ws 10 v ws 7 - no tp. Can we maybe get an override in place so the ai will tp even if its at the crystal?
Noticed something else. My ai was very quickly responsive to port in when an enemy came towards the portal I had just taken from them. Did the portal/valor threatened message and was johnny on the spot.
at ws 7 vs 10, then enemy correctly ported to defend valor flag when we were moving in on it.
noticed something else interesting - we had torn down the entire left side of the map. An enemy rook dropped a tower (just 1) pretty much on top of the gold flag and then left. My ai walked up, got JUST in range to cap the flag and stood there, taking damage from the 1 tower (his arrows were hitting it though). The second the enemy tower crumbled, the ai took a step or 2 up and dropped a tower. My ai was at full hp/mana the whole time. The logical course of action would be to 1) destroy the 1 tower 2) drop towers 3) both. Instead it just waited while taking damage then dropped a tower as soon as the other tower was removed.
Anyway, every time I saw an ai tp in, it appeared to do something useful. Not 100% sure its fixed (I'll keep an eye on it in future tests), but it worked swell.
did another one -
can we make the ai more likely to interrupt abilities - I'm not talking about rook here - I like his logic for boulders. But other ai's with interrupts - I'd like it if they could more reliably interrupt. Probably a hard balance to strike.
Thanks for the AI mod peppe, this is insanely better than the original AI. Good on you for taking it up again.
No doubt! Excellent continued work peppe!
For the love of god take off post mortem and plague in any beast build that you have!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
yeah - i guess this should be changed. Its not a bad idea IN REALITY to have plague/post mortem with large creep waves, but some folks have issues with their hardware. They encounter REDICULOUSLY slow frame rates with both of those on. So, even though its optimal, I'd say drop whichever one is the lv 2 in that skill (plague/post mortum - KEEP the first). you can either cycle whatever abilities are available down one if it fits or just add in a level of stats in the meantime to save some time.
Miriyaka,
Do you know if rook towers can be filtered out of the GetThreatAtPosition function?
Format is this:
local testEnemies = self.Brain:GetThreatAtPosition( self.Agent.Position, 0, 'Structures', 'Enemy' ). I think it is an engine function cause i can't find it in the LUA.
Enhanced_AI_v0.26.32:
http://peppe-dg-mods.googlecode.com/files/Enhanced_AI_v0.26.32.exe
http://peppe-dg-mods.googlecode.com/files/Enhanced_AI_v0.26.32.zip
UB - Spit Ooze build plague removed, post mortem left in.
Replaced all instances of 'GetThreatAtPosition' of type 'structures' with 'GetBlipsAroundPoint' by category structures - rook towers (to remove rook towers from stopping most actions that check for towers).
Replaced all instances of 'GetBlipsAroundPoint' searching allied team with 'GetUnitsAroundPoint'. I guess it was an accident when GPG used 'GetBlipsAroundPoint' to try to find allied units in LUA cause that function will not return allied units. Its only used like that in one spot in the code for what looks like spawned units attacking the stronghold, so not a big issue. But i used it based on their example, so had to swap it out for this other function.
With the above two fixes. AI now correctly ignores rook towers when checking to see if it should worry about towers.
AI is also now correctly counting its ally heroes and towers around it and will stick around a little longer in their presence.
Modified attack structures action to ramp up goal weight when allied heroes are near. Function is hero level * ally heroes in area. So as they level and group together they will be more likely to attack towers/structures.
Crap. Probably not.
Wait, yes. Use that ModBlueprints hook to zero our their blueprint Threat levels. Add a line within the loop that sets bp.Defense.SurfaceThreatLevel = 0.
This will make all enemy demigods possibly not consider a big cluster of Rook towers a threat in other places where this function might be used, however. Perhaps reduce the threat amount to 1-2 (from 5) and see if that has an effect? For reference, actual ToLs have a threat of 15.
Where is this line in particular used?
Get threat at position is used all over the code to check enemy and ally threat levels. Every unit has a threat value and the function returns a sum of the threat in the area you ask for and filters if you give it a category (except it doesn't use Categories.XXX).
The places I was using it to check for towers was to check if it is > 0. If so abort the action (capture action, auto-attack action) to help keep it from walking into towers. Also in the retreat levels to see if we should retreat faster if we are fighting near an enemy tower. This would make the AI give any rook towers the same respect as a real tower.
I think i updated all the places I was using it where I intended it to check for real towers, so no big deal. I like being able to add/remove categories in the getBlips and getUnits functions, so it is a good change anyway.
Will have a couple test games in about 1 hour or so. If you have another version to release and its about ready, throw that up before then and I'll test that instead. Otherwise, I'll have some feedback for you on .32
Enhanced AI 0.26.32/uberfix 1.03/FavorMod 2.1.4
saw an ai start casting struct transfer then break the attack off. Was actually smart as it would have died staying there, but I'm guessing its just the same issue as before.
wasn't that bad though... just saw it the 1 time.
Too lazy to re-login as OMG_IN1. Anyway, testing the latest version on Cata, all AI hard, QoT (h)/Rook v UB/TB I've seen Rook spam towers like crazy quite consistently. Very nice, indeed! The AI remains 'hesitant' (i. e. cancels one action for no particular reason only to wander in circle and go back to that vey same action). It also wanders a lot between shop and citadel (already mentioned it). No idea, why is that.
Also, there is a curious pattern to AI behavior: when one of its flags is captured, it seems his top priority is to maintain the symmetry -- not by capturing that flag back (which is usually easier), but rather by capturing the corresponding enemy flag. If we capture gold, the AI will take our gold. If we capture valor, the AI will suddenly try to take our valor. It's disturbingly symmetry-obsessed, in other words
erb(h)/sed/da v occ/ub/qot
if I'm capping a flag, the ai will stay out of reach and just attack creeps even if it could push me off easy. I was at 1k hp, 2 enemy dgs were standing just out of range, fighting creeps while i took the flag.
qot should be in closed form is she is retreating and she often is not.
da on my team stood next to a tower with full hp and instead of attacking it while standing next to me, just waited there for creep waves. If the ai is going to be in or near towers, the ai should be attacking either a dg or a tower. NOT creeps.
Occulus should use blast off to try to escape if he's on low hp and near an enemy dg.
Can we turn ub into a tower killing machine with some logic? Ideally, once he hits level 4 or level 7, he should walk up to a tower and spit. Then back off. Walk back and spit, then back off. Repeat this as long as a) no enemy dg is nearby or a friendly dg is NOT attacking the tower. If a friendly dg starts hitting the tower, have him join in the aa + spit everytime its avaiable.
qot - walking into battle with a teammate nearby with low hp instead to shield herself instead of her teammate.
saw multiple times where I or my team took the enemy portal and not a single time did the ai try to tp in. once at ws 8 v ws 8 and once at ws 9 v ws 10
If an ai is trying to reclaim a portal, its often important that the ai IGNORE creeps that are there to try to cap the flag.
edit - and we still need to figure out a way to make the ai better late game. Its still a stalling game against nightmare ai... just wait them out and eventually you win.
How far is just out of range? Vision range or like a ranged attacker distance? AI should go into the attack hero actions whenever a demigod is in visible range. Though low health themselves can keep them out of combat.
Not sure what would cause this, most combined attack actions have heroes, structures, creeps as their target priority.
I haven't edited any of his actions, but there is a default action in there to handle blastoff to flee. I've seen him use it on occasion
The only break outs in the capture action are health, enemy heroes, and enemy structures in the area. When the AI gets to warrank 8 it no longer worries about structures or its health (allows it to walk past gold towers to the portal flag). If it stops for creeps then it is not in the capture action or something else is going on.
We can probably make him spit more by scanning beyond his visible range for towers, but if he gets in tower range he will probably fall into the attack structures action and hang out until he needs to retreat.
1 full hp dg and 1 with about 80% hp. It was ub and qot. Even though qot was ranged, she didn't attempt to attack me... if she wasn't in ranged distance, she was extremely close.
I don't think I've seen occ use this, even with full mana and the ability off cooldown.
odds are yes, but I didn't review the replay. I find that the ai almost always has a tp scroll. This might be related to ai refusing to port if they are near the crystal (override that, plz)
super - thx!
yes... but the behavior I've COMMONLY found is that an ai, coming from the crystal, will just engage troops instead of trying to retake the portal. The ideal logic, which might sound crazy, is to get the portal asap and ignore most anything.
I don't remember for sure, but isn't spit ub the only build we have in there now? If so, he often does not spit as an open (should be close to 100% of the time spamming that ability whenever possible). Not just on towers, but in combat as well. I was questioning several times tonight whether or not I was up against a ub that did not spit.
Thanks again for reviewing all of this. The mod is certainly excellent in several circumstances and night and day better than the vanilla.
3 UB builds. 2 spit / ooze with identical skill plans different favor items and equipment items.
1 Pure Ooze build posted in this thread a while back.
There are many great features available to you once you register, including:
Sign in or Create Account