| 03-21-2004, 08:12 PM | #1 |
This thread is meant for feedback and comments regarding AMAI. You can find AMAI on http://amai.wc3campaigns.com For information on making strategies and modifying AMAI read the manual there. The current version of AMAI is 2.2 The old feedback thread can be found here: http://www.wc3campaigns.com/showthread.php?t=19856 . |
| 03-21-2004, 09:13 PM | #2 |
I've tried 2.0 a couple times. As I've said before, I appreciate the work AIAndy and Zalamander do so much. Your AI is so much more fun than the stock AI and I would never go back. The two games I have played are on my h4x0red Emerald Gardens map, so I guess I wouldn't see any of the new AMAI 2.0 harassing on a map that big. But in the two games I also didn't see any early attacks from either AMAI player. Two games isn't a good sample to get an idea of its tendencies of course. I did notice a lot more variety in the taunts which I appreciate very much. I think they're funny and the more variety in them the better. Unfortunately, the AMAI still sends its heroes to the shops by themselves, and this can still lead to a few free enemy hero kills. Also, in Emerald Gardens you may know there's a mana fountain and a health fountain in the middle area, and after a fight (or after creeping), the AMAI will send some of their hurt units, even heroes, to the health fountain to heal up. Because the full army is not there, these units are sitting ducks and frequently wind up being free kills for my army. I wish there was more focus on using healing options in the AMAI's base area, and using the player-built shops to buy items rather than sending a hero alone to a shop in no man's land. You could even have each AMAI player build more than one shop, or make sure each AMAI player is taking advantage of its allies' shops. I really like to play long, drawn-out games, which is why I play vs. two AMAI players on a 12-player map. I think AMAI 2.0 does an improved job of expanding. After a long game, each AMAI player has at least two expansions, which is great. One weird thing I noticed that I don't recall seeing before, an AMAI 2.0 human player absurdly overbuilt peasants, or at least it looked like that. Does the AMAI rally units from buildings, or does it task them as they're created? There were about 10 peasants standing idle near some wood in a AMAI expansion area. I don't think I ever saw that in previous AMAI versions. I should have saved the replay or got a screenshot at least, I know. It's hard for me to know, as I'm not a very good player myself, but it seemed to me that the improved micromanagement is indeed more effective, just based on losing battles to the AMAI 2.0 that I would have expected to win before. After just a couple games it seems like AMAI 2.0 is huge fun to play. I'll make sure to post more comments after I have a chance to play a few more games against it. Thanks again for all the work you do to create AMAI and refine it. |
| 03-21-2004, 10:42 PM | #3 |
The map you played on is no standard map that comes with the game? can't see it anywhere. So I can't say if it got any specific elements that will bring trubble for the AI. The fountain trubble has been fixed a bit for AMAI 2.0, it will not go there if enemy units are nearby and will flee home with units that use the healing faountain if enemy units come. At least this should be the case, not sure if it's working completely. Some profiles is more agressive than others and will attack early but the AI isn't good at getting units fast like human players so they usualy never attack early, however I agree with you they should be a bit more agressive overall, will see if I can fix that for next release. AMAI send heroes alone to the shop yes but not very often and only if the shop is within a certain range from the hero. Might be possible to improve this a bit as well. |
| 03-21-2004, 11:42 PM | #4 |
Emerald Gardens is a Blizzard map. It's one of the several bonus maps that Blizzard has released since TFT came out. http://www.battle.net/war3/maps/war3xbonusmaps.shtml It's the seventh map down. You say the AMAI sends heroes to the shop alone, but not very often. I'm not trying to be out of line, but really it should never do this. Would you ever send a hero alone to a shop in the middle of the map? Of course not. Either you'd bring a big army along if you had one, or you'd buy the item from your player-built shop, or you'd just do without until you happened to be close to a shop with your army. If you send the hero alone, all it does is lead to free hero kills, which make for poor competition. If it happens more than once, that's more time the AMAI's hero is dead while yours is levelling up, and I'm sure you know how important that is in a matchup. |
| 03-22-2004, 04:43 AM | #5 |
Hi, Congratulations on getting version 2.0 finished. You've made my day! The new interface and doco for editing are much appreciated. Just getting familiar with what code is where again. Can I make a suggestion for global_build_sequence of TFT\Human\BuildSequence.ai. It currently has this : if TownCountDone(KNIGHT) + TownCountDone(GRYPHON) > 3 then call SetBuildUpgr(1, UPG_BREEDING, 70) endif Dragonhawks are also affected by the Breeding upgrade. Could the check also include Dragonhawks? eg if TownCountDone(KNIGHT) + TownCountDone(GRYPHON) + TownCountDone(HUMAN_DRAGON_HAWK) > 3 then call SetBuildUpgr(1, UPG_BREEDING, 70) endif Keep up the good work! |
| 03-22-2004, 08:11 AM | #6 |
Will do. and to MurphGuitar: What I mean is that they only send the hero when they got the army nearby, but of course it will be improved as good as possible, proably a good way to improve it is to decrese the ranged is allowed to move from the army to buy even more and maybe some how make it bring the whole army with it. It also depends how far into the game it is, it's no big trubble if a lone hero go to a shop and by a item and go home fast again very early in the game when no one got any army yet, if you know what I mean. |
| 03-22-2004, 09:22 AM | #7 |
Very good, and much more fun than the basic AI. However, I don't like the way it uses too often neutral heroes, especially when it's the first hero; but as it is only for aesthetic reasons (scenario coherence), it doesn't really matter (I think for instance an undead army has to have at least an undead first hero, ie all armies have to have a leader of the same race). |
| 03-22-2004, 10:58 AM | #8 |
Can I use AMAI in my custom map where the Computer does not build units. I want to create the units for the computer player in every round and then tell him to attack me with a special AI strategy. Is that possible. By the way, AMAI is great. |
| 03-22-2004, 01:09 PM | #9 |
@barney99: What exactly do you mean with a special AI strategy? @Armel: With the Developer Edition you can easily make that change yourself for your personal AMAI. Just open the tables Heroes.txt and reduce the Base RP (that is the relative probability that the hero is chosen) of the neutral heroes and maybe in return increase the 2nd/3rd hero bonus (that is an addition to that probability for second or third hero). |
| 03-22-2004, 01:20 PM | #10 |
Great ! Thanx |
| 03-22-2004, 11:27 PM | #11 |
Hi, I played a 1v1 vs AMAI2.0 last night. It still seems very vulnerable to tier 1 attacks. I am using the Frozen Throne scripts. I was playing on (4)FloodPlains1v1. I was Human. My opponent was an Orc named Cyrrix. I scouted him and saw his base was empty and decided to attack. I marched in with my Archmage and 5 footmen, plus water elemental and started attacking. It was over in no time. Here is what I noticed: 1) The AMAI built way too many peons. In AMAI 1.9 tft/orc.ai peon_1_mine_number == 13. In AMAI 2.0 tft/orc/Settings.txt peon_1_mine_number == 15. 10 peons for lumber is too many. He had 900 lumber a couple of minutes into the game... way more than it needs. The money spent on extra peons is a waste. Perhaps 13 is still too high. In AMAI 1.9 tft/human.ai peon_1_mine_number == 11 which was very efficient! Unfortunately in AMAI 2.0, Humans have now got peon_1_mine_number == 15. Could this please go back to 11 for all races (except undead)? 2) The AMAI takes a long time to respond to attacks on its base. Could this be something to do with SleepUntilAtGoal() and TownThreatCheck()? I watched the replay of my game, and noticed that I attacked the computer's town just after it chose a creep camp. I had about 15 seconds before the computer starting coming home. Add on the time taken for it to arrive and thats a long time for my army to take out the single grunt defending its base, and start destroying him. Looking at the code, I'm guessing this is what happened: - SleepUntilAtGoal->called TownThreatCheck(). Town not threatend. town_was_threated == 0. - I attacked. - SleepUntilAtGoal->called Sleep(1 second) - SleepUntilAtGoal->called Sleep(2 second) - SleepUntilAtGoal->called TownThreatCheck(). Town threatend. town_was_threated == 1. - SleepUntilAtGoal->called Sleep(1 second) - SleepUntilAtGoal->called Sleep(2 second) - SleepUntilAtGoal->called TownThreatCheck(). Town threatend. town_was_threated == 2. - SleepUntilAtGoal->called Sleep(1 second) - SleepUntilAtGoal->called Sleep(2 second) - SleepUntilAtGoal->called TownThreatCheck(). Town threatend. town_was_threated == 3. break attack Now that only accounts for 9 seconds. I'm guessing the other 6 might have come from me attacking the defending grunt? I'm not sure how the 'TownThreatend()' method works but could that return false if I'm fighting a grunt just outside his base? Maybe that reset the town_was_threated counter. In any case, my point is that because TownThreatCheck needs to wait until town_was_threated > 2 and SleepUntilAtGoal sleeps for 3 seconds each iteration without checking town threats, it can create a 9 second time frame for attacks very easily. I understand that for performance reasons, sleep is important to yield control... but its noticable in-game that the AMAI is slow to react to attacks. I'm not critising. I love AMAI. You guys are champions for all the effort you put in. Just want to bring these up incase theres anyway it could be improved. I look forward to reading your opinion. Regards, Goose. |
| 03-23-2004, 12:28 AM | #12 |
Your right it's too many peons, I think it was a setting I forgot to set back when we converted all the code to tables when making AMAI 2, will be fixed shortly. Planning to have a updated release in a few days with other optimizations as well. AIAndy knows more about the second problem. |
| 03-23-2004, 12:42 AM | #13 |
Yes, that code is currently pretty bad. The main reason this waiting is done there is to prevent a single unit attacking the base from breaking the entire attack but it is not working very good. Since that code has not been improved for quite some time I guess it is time to do that. I think I will replace the TownThreatened native with an own threat system that knows different levels of threat. Then the defensive behavior will hopefully be improvable. |
| 03-23-2004, 05:08 AM | #14 |
Hi, Sorry to be a pain, but can I ask a few more questions please? Is there a rule of thumb for what upgrades you guys provide in global_build_sequence and which ones are left to strategy authors? Taking human for example, I see that UPG_BREEDING is covered by the global_build_sequence, but other similar upgrades are not. 1) UPG_BREEDING is in the global_build_sequence, but also appears in a number of the built in strategies. eg NormalHuman. What is the implication of having UPG_BREEDING in both methods? Does the global or the strategy one take precedence? Or is it purely which ever one has the highest priority? Or "no comment"? :) 2) Do you intend more stuff to go into global_build_sequence to relieve strategy authors of worrying about it? eg UPG_DEFEND. If I wrote a strategy using footmen, I would need to put this in. It would be convenient if it was included in the global_build_sequence since the rule for researching it would be roughly the same for any strat involving footmen. e.g: if enemy_piercing > 10 and TownCountDone(FOOTMAN) > 3 then call SetBuildUpgr(1, UPG_DEFEND, 100) endif P.S. I know you've got enemy_piercying > 16 in the built in strats.. but is that too high? Thats 9 head hunters or 6 riflemen (If I'm reading the unit strengths right). I like the sound of 6 head hunters and 4 riflemen more, plus must have enough footmen for it to be worthwhile. 3) Other candidates for Human might be UPG_HAMMERS, UPG_FRAGS, UPG_GUN_RANGE. That brings me back to my first question though.. where do you draw the line? What is the determining factor that says UPG_BREEDING is handled by global_build_sequence, but UPG_GUN_RANGE is not. Thanks very much for taking the time to reply to my previous crazy rantings! Regards, Goose. |
| 03-23-2004, 06:52 AM | #15 |
I havent decided too detailed what strategies I want to have. I have not too much time to work on warcraft maps and always try to use easy solutions for my problems. The AI strategies I have in mind are something like: - attack until the last unit has died or - try to reach a point in the map, whatever it costs or best - the AI selects the best strategy with the given units something like this. |
