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.
Hahaha what is the point of this test? Pretty sure nightmare AI starts with like 30k gold, if I start with that much I'm skipping FS1 too. And why 5 Sedna vs 3? You should expect some weird things to happen when you start up a weird game.
Shane, will all due respect, if you were following this thread, you'd have known the purpose is to test Pounce and Silence use, as well as new fire focusing routine. It's not something that can change because of 30k starting gold. Moreover, you'd have known that Peppe actually set FS1 and Cur1 to be bought under all and any circumstances by the AI as the the highest priority. Thus, weird things I report are weird, indeed.
As to why it's 4 AI Sednas v 3 AI Sednas (my Sedna was there to observe the progress), the answer is simple: I don't have loads of spare time, and I want to have some control over the experiment's duration. I. e., ideally, it should be over in ~20 mins or so, while also letting me observe consistent irregularities (and improvements, of course!) to report.
AI is only forced to shop for currency and the troop upgrades. FS1 has a high priority after war score 100 and is cheap, so is often purchased by the first AI to shop for a second time. The score requirement basically removes it from the initial shop, so the AI does not spend their initial gold on that upgrade.
Okay, thanks for a clarification. So Shane was right regarding this point. However, 'weird settings' have nothing to do with the validity of other 4 observations: Pounce, Silence, fire focusing, artifact priorities (since in v26m you've altered those, and it surely shows).
Peppe, do you have spending caps on items for AI with open item slots? If so, is it a percent, or a hard cap?
Most of the cause of early artifact buying has always been that the AI preferred the most expensive item it can afford, but I thought that was mostly taken care of in this version, until the AI has filled its slots - then it's just a matter of setting the right priorities for the right artifacts / expensive normal items.
Edit: Solution to the FS1 'problem': Add an OR gold check. WarScore >= 100 or Gold >= 8000 or whatever nightmare starts with. That way nightmares will pick up FS1 immediately, without hurting their initial equip much at all.
In other words, testing with WR higher than 1 can result in irregularities in cit upgrade shopping decisions, Peppe? I'll take it into account next time.
FS1 is the only one with a forced delay to get it out of the initial shop list. The upgrade does not do much until buildings take some damage.
Miriyaka, Nightmare starts with 4k and should buy 2 1500 items and 1-2 other items. Don't think FS1 should be in the initial shop.
The purchasing scheme I settled on is max item price for the first 20 seconds is 1500, unless it starts with more than 5000 (high gold or filthy rich). If it has high gold or we are outside the initial shop the AI can purchase whatever it wants. On a map like exile (artifact shop at start location) the AI will probably fill up on artifacts.
Basing it on open slots had it wasting money rather than getting the best item that could help it right now.
Nightmare on high has 30k.
With the updated global priorities I did a test on cataract and generals got 5 purchases in the 20 seconds: Bishops/high priests, godplate, vlemish, journeyman, hauberk of life.
Assassins got 5 items in 20 seconds: godplate, vlemish, journeyman, nimoth, hauberk of life. One got narmoth ring instead of vlemish (vlemish is zeroed in his build).
Based on current priorities nimoth(40)or HoL (40) will be replaced first by artificats. Then journeyman (45), then vlemish(50) or godplate (50)
Excile start:
All fathers, vlemish, 1-2 cheap items (idols, banded etc)
Should I make some rule to handle rich starts? It can afford god plate, but not all fathers.
skirmish (mod version) .26M/uberfix 1.03
Settings: cata/High Towers - all other settings on defaultAI settings: normal3v3
ub(h)/sed/reg v ub/sed/reg
Observed results:
Not sure if it was a fluke, but the ai sedna on the other team took a shot at my portal (good). When she saw she was beat, she sigiled (she needed to), then silenced me, then tp'd out. So she made it so I could not interrupt. Very good stuff.
The AI needs to learn how to farm better. I'm at lv 13. My teammates are at 8 and 9. The enemy team is at 7/8/9.
Strange thing I noticed. Late game, I'm taking the enemies portal. The other teams ub ports in at the cooldown flag and then runs off the other way ignoring me. The enemy didn't run back to the citadel to buy anything either... just ran off towards the uncontested valor flag on his team.
No major complaints. Good stuff.
26n:
http://peppe-dg-mods.googlecode.com/files/Skirmish_AI_v26n.zip
http://peppe-dg-mods.googlecode.com/files/Skirmish_AI_v26n.exe
Tweaked shopping for high gold start.
Global item priorities updated, godplate and journeyman purchasable now.
Moved pounce 1 to its own action. The only trigger is interrupt.
Try some forced goal re-weighting to get the AI to do the right action after a teleport in to save a flag when it may not notice an enemy hero in its radius.
I don't recall when they are set to sigil, but should be below a few thousand health. Sedna should use silence at about 35% health, and she should consider running (or tp to health stone) starting at about 40%, so good that those things are going off as planned
What were they doing instead of fighting grunts? Any actions I could kick them out of? I can make them a little braver to keep them by their towers longer or to a lower health.
TY. I'll do another Sedna legion test with the same conditions a bit later.
Fair enough with the time constraints but 4 Sedna's walking around auto attacking 3 Sedna's and nobody pouncing for more than 400 or ever getting hurt makes the whole thing invalid to me. Any silence could seem like a good time when there's 3 other Sedna's waiting with silence, how can you really tell if they're playing right when it's unlike anything you'd ever see in a real game.
Any silence could seem like a good time when there's 3 other Sedna's waiting with silence, how can you really tell if they're playing right when it's unlike anything you'd ever see in a real game.
Hmm... Your point does make sense. So much is going on, that even a replay evaluation from observer POV can be somewhat problematic. Okay, I'm convinced: I'll do a balanced test. One AI Sedna on each side, and that's it.
Excellent, I'll probably even watch the replay since it was my idea, make it a good one!
double post
Based on the way the ai plays (generally runs at the right time, jtreads might make a huge difference in its survivability). Good stuff.
Perhaps just get them to sit on flags they have taken a little longer if possible. Every creep wave that I am not near is XP I am losing. The AI knows it wants to get those flags, but doesn't know it should stick around longer on flags it has taken if possible from time to time.
I don't know... if there is a fancy way to do this, but perhaps have the ai prioritize xp upgrades after cur1 or so if it falls behind on levels by 2 or so. That's not an awesome solution really, but would help a little. Better still to have an ai that is behind on levels to just hug one of the towers near a lane and stay there and level for a bit if possible.
Falls behind what in level? The enemy team? Right now (if Peppe is using that xp priorityfunction I posted), if the AI stays lower level longer, it will be far more likely to get Exp 1 and 2. But no comparisons are done to the enemy team, and it uses the team average level when deciding on the upgrade's priority, not its own (for obvious reasons). However, there is also a time cutoff, after which it will not buy Exp 2+ at all. The low-XP game setting doubles the length of the time cutoff as well as the base priority, I think.
Re: Reg snipe build, I assume it's using Staff of Renewal? I know there was some back and forth about deciding between SoR and BotS, and I just do not see BotS being worthwhile with a snipe/mine build. The AI is not smart enough (and probably will not ever be smart enough) to use BotS at just the right time to recover mana from snipes (snipe works with BotS, yes?) and from concentrated creep AA farming, and it's better to give it the ability to snipe more rapidly.
well maybe... but I don't know if that happens in normal money games all that often.
So - how much of a pain in the ass would it be to change ai logic some based on its level (eg, if its normal it purchases this cit upgrade... if its nightmare, it purchases this)?
Another thing. I'm not sure if this will hurt things on normal, but after playing a couple of games with cow on nightmare with 1 ai, I really think the ai should buy cur2 asap as well (ws5). In many MP games, getting cur2 is a bad idea; however, with an ai on your team, I'd rather he take the hit instead of saving for this or that. This was more clear when our ai reg with 11,000 gold choose to buy godplate over cur2.
I guess that fits my underlying philosophy with the ai mod. My #1 goal is to improve the experience of players (so an AI gimping itself to help them team is cool with me). My #2 goal is to have the ai play competently.
Oh - your logic change so that the ai buys jtreads is great. The ai manages to avoid alot of deaths with this item and it very much compensates for any weak logic. Its a good buffer for things we haven't tweaked.... granted, its primarily viable in nightmare AI games, but still - its a good tweak.
I wonder what we can do to make the ai even more ridiculous late game though. Us experienced MP folks adapt fairly quickly to the new AI. We know that it will be very strong early game (stronger than we could be), so we bide our time. Come mid-late game, we can crush it. We need to figure out how to change that so its difficult the entire time.
I think we could cover that goal with a few logic changes. For instance, perhaps 1 AI could be designated as OP. That AI would only purchase items for itself and bypass citadel upgrades. Having 1 super strong opponent would be helpful, but I'm not sure if you can accomplish that with coding. I'd actually say - we provide a list of specific dgs that should be considered for OP status. We'd then provide a specific item build for the OP dg and see how it does. The downside is that this fits much better in a nightmare level AI game and wouldn't be all that super in a normal AI game (which takes me back to the first sentence of this post). Anyway, just some thoughts.
26o:
http://peppe-dg-mods.googlecode.com/files/Skirmish_AI_v26o.zip
http://peppe-dg-mods.googlecode.com/files/Skirmish_AI_v26o.exe
Flipped around some override orders to allow attack to run more often. Attack should lead to more creep attacking, though it includes just about every attack type. Had to move flag capture up though, so it won't totally give up map control. May over capture, but that will lead to levels as well.
Hopefully more leveling? If not, can you give some target levels by game time and I'll tweak settings and sim games to see if any macro settings help.
Priorities by difficulty shouldn't be too terrible. Nightmare has a ton of gold, so a few more upgrades can probably be picked up.
We already have items by build. I just simplified it by moving a bunch of common items back into the global priority list since every build had about the same priority for the core items.
Is there an item setup you envision that would make for a more difficult enemy? Right now most builds lean toward a standard health stacking kit.
Is it losing on gear or on skill/item use?
Extremely trivial, in fact I think I already have at least one function (currency) doing just that. I'm starting to talk out my ass here, and should probably look at what Peppe actually has in the mod right now, but I did add a difficult mult function into AIGlobals.
Edit: From my comments in AIGlobals:
Currency II: 8/12 minute cutoff for normal AI on normal/high gold, 16/24 min for nightmare AI, starting pri 40
Currency III: 6/9 min for normal, 12/18 for nightmare, starting pri 20
Looks like Peppe halved the priorities though, 20 and 10 times gold mult respectively (high gold is x1.5). So cut those times in half as well. Was normal AI actually buying Cur2 that often?
The OP item build would likely vary some from character to character. I'm sure we could come up with a generic item build suggestion, but items like ashkandor are excellent and could turn an AI into a nightmare... but its not as great on certain dgs. An item that is generally great is bulwark.
Extremely rare. I'm thinking I've seen it make that purchase on normal in maybe 1 or 2 games out of the >20 test games I've run on normal.
We can up the priority on currency 2 and 3. They are not great upgrades though even with the nightmare gold bonus. For currency 2 the AI that buys either one isn't going to recoup the costs by the end of the game. The team as a whole may come out a little ahead in 4-5 minutes. Currency 3 is hard to imagine a setup where this pays off.
On ashkandor we can force the AI to save 18000 for any artifact purchase, then when it goes to shop if ashkandor is in its list as the highest priority it will purchase it. Otherwise it will probably buy bulwark. In that situation it is only over saving 2k. With all the upgrades that are set as purchasable this is not something you will see in normal games as even a team of 3 normals spend nearly all their gold on upgrades. Hard and nightmare have a small window before the armor/damage upgrades become a priority to spend some cash on artifacts.
Its more of a thing to benefit the human players as much as possible. I'd still rather have a better kit myself and get the kills than have ai walking around with 10k and not be quite as useful as I could be with those items. So, I don't think we need to go quite as nuts with cur3, but I think we should increase the priority for cur2 (certainly in games with nightmare AI and MAYBE in games with normal ai). The extra gold per second is valuable to the human players (as either I have that extra money or I don't).
Sure - let's give that a go and see if we have any batshite crazy ai's running around with ash
Just use a PriorityFunction to put Ashkandor at higher priority if IsAssassin(unit)? Sure, they might shop between 16k and 18k, but maybe half the time at most. Only Nightmare will be affording it anyway under normal conditions (not high gold). It feels like item exceptions (other than the starting cap) will be something that will make it that much more difficult to tweak item priorities in the future, without providing that much more benefit.
Looked at Currency functions again, and I had things backwards. Nightmare was actually less likely to buy than normal. Oops.
Try this instead: http://pastebin.com/Ub9qb7b9
Made it so nightmare gets double priority, time cutoffs for II are now 7/11 normal, 15/22 nightmare; III is now 5/7 normal, 10/15 nightmare. Keep in mind that priority decreases over time, so even within the time threshold, nightmare AI may still buy something else instead as the priority slowly drops to 0.
Experience had the same problem in the Skirmish AI copy, but I already had my local copy changed so that difficulty increases base priority. Cutoff for Exp II for normal AI is average level 10 @ 10 minutes, with time and level weighted equally (e.g. 10+10 = 8+12) and a base priority of ~50. By the time it's available, base priority should already be below 25-30 for normal AI. No AI should ever buy IV except maybe Nightmare on low-XP games, but even that is very very unlikely. Normal should never buy III.
Exp functions: http://pastebin.com/xUsTrEsN
Keep in mind the constantly reducing priorities for these upgrades when you go to adjust them. Both Exp and Cur II should have somewhere around half their base priority for a normal AI by the time they become available in a normal WR1-start game, which should put them similar to or below most items. Also make sure you adjust the multiplier for time/level proportionately so that it doesn't radically lower the cutoff time.
Also, it looks like death penalty is almost totally disabled right now. Even on Draconic death penalty, a Nightmare AI with 20 team deaths at level 20 will not buy I, but once I is bought, it will also immediately buy all other levels, because they actually have lower minimums. If you haven't played against nightmare AIs with a level or two of Graveyard, you might not realize how effective it is for them - it really helps them keep pressure on, even when they're losing.
If you feel like it was buying it too often before, set the base minimums to something like 150, 225, 350. With this, normal will only buy I at level 20 + 20 deaths, will rarely buy II and never buy III, and Nightmare won't buy III unless it's dying constantly on Draconic.
There are many great features available to you once you register, including:
Sign in or Create Account