[AI Contest] Mimic AI
Mimic AI by Callex
My entry for the sc2mapster AI competition!
Mimic actively records your build order and army composition as you play, which can then be saved into Mimic's memory for later use. Mimic will then try to emulate your playstyle in subsequent games!
Features:
- Mimic can play as Protoss, Zerg and Terran
- Mimic actively scouts, and cannot attack what it can't see
- Up to 12 players can be controlled by Mimic simultaneously
- The AI can be easily transferred into other melee maps
- Mimic can store up to 30 build orders simultaneously
Instructions:
Playing - By default, Mimic starts with no build or attack orders. If this is your first game against Mimic; build and expand as much as you please. Attack the existing enemy base, and type -save before defeating the opponent. Once the profile is saved, restart the game and Mimic will now know how to build and attack with your race! Alternatively, you can download the MimicAIData.sc2bank file and place it into the Starcraft II Beta\Banks folder. This contains 9 basic profiles to get you started.
Editing - You can change several basic settings within the AI Initialization trigger: 'Gather Rate' determines the mineral yield of the AI. Setting this to 2 will make the AI gather minerals twice as fast, and you can use this to alter the difficulty. Similarly, 'AI Omnipotence' can be toggled on to remove the scouting mechanic; this effectively allows the AI to see the entire map. If you want to choose which players are controlled by the AI, simply add them to the 'AI Players' player group.
Copying - Mimic can be copied into any melee map:
- Open the trigger editor
- Copy the 'Mimic' folder
- Open the destination map
- Paste the 'Mimic' folder into the destination map.
- Click on the 'Melee Initialization' trigger of the destination map, and delete the 'Set Default Melee Options' and 'Start Melee AI' functions.
- On the top toolbar, navigate to 'Map -> Player properties'
- Make all the desired AI players computer controlled
Tournament Mode - You can now battle different Mimic AI's against eachother using the following steps:
- Copy upto four AI data banks into the 'Banks' folder.
- Rename the files: 'MimicPlayer1.sc2bank', 'MimicPlayer2.sc2bank' etc
- Make the first four players computer controlled, or neutral if you want the slot to be empty. (In map -> player properties)
- Set Tournament Mode = true in the AI Initialization trigger.
- As a spectator in slot 5, choose the profiles for each AI. (The map numbers them as they are saved, so typing "-profile 1" will load the first build order saved to the player's bank.)
- Watch your AI's compete against eachother!
If anyone has an AI data bank they would like to upload for everyone else to try out, PM me!
Could you make a video tutorial explaining how to use mimic on other maps please, i do not understand how to do it by reading that
The protoss on mine seem to not be able to build probes past like 7 or so. I was a upper mid lvl diamond player and i def. build more than 7-8 workers.
also, sometimes they stop gathering, more so on protoss but i've noticed it on others too.
Protoss and Terran will sometimes build a structure and then when done the worker will never return to work.
Only one out of the 15-20 or so build orders i saved seemed to attack regularly, it was terran and attacked twice. the rest have not attacked me at all save for like 1-2 unit attacks. Occaisionally the scout worker will just hang out in my base not doing anything until attacked. Going to test it out a bit more today, maybe not having the full amount of 30 build orders saved has something to do with some of the problems ive seen.
All in all though, just the pure idea of this Map is insanely excellent. I think this will be extremely popular. I have to congratulate you before its even fully realized just because i think it has ENORMOUS potential and i really hope you continue to improve it. If i can provide more useful feedback please let me know.
Hi ! Need help. How can i play against only one BO (among the 9 proposed) ? How to choose one?
Thx it works :)
Is it still possible to do the tournament mode?
I can't figure out if there is a way to make yourself a spectator to do the tournament. It works fine up until after I enter the last profile number, but then ends the game due to me not having any buildings.
I'm a mac user and do not have a "banks" file - where would I place the AI MimicAIData file?
Found a bug responsible for making the AI only send in the small waves. The AI will still send small waves initially, but it should favour larger attacks more in this version. It also tries not to repeat itself with attacks, I'm not sure what effect this will have on a long-term game though.
Mattik54: I copied the game/trigger strings into the french folder when localizing, so hopefully those with the french client shouldn't have too much trouble anymore. (Although it is all in english still)
SpyridonZ: I agree some kind of 'profile choosing' would be neat. I'm a little busy at the moment, but I'll look into setting up some kind of UI in the future. Thanks for the TL thread by the way, I admit, the premade AI banks suck ><.
Jeremzish: Had the AI not built anything at all? Or had it just built and ran out of resources? I think the AI needs to have surplus resources to expand, but in some games (particularly the previous version) it would keep wasting money on cheap units and sending them to the slaughter, so it never had enough surplus.
Thanks for the feedback though from everyone! I do read and note all of these posts.
Callex, i don't know if these are just the sample BO's or not (i have saved about another 10 just messing with it) but i have stormed bases to find that there was no expansion and that their drones/scv/probes are just sitting there. I don't know anything about how this works so if this is an absolute stupid remark i will understand the delete, and if not happy to help lol. :D
I agree with SpyridonZ about the being able to choose which build order out of 30 to play against. That would be really cool. It would also be nice if you could choose each player's race.
Hi, i haven't tested your map yet... But i think your idea is really cool.
Just a matter, i have a bug UI surely due to localized version but i don't manage to fix it (using mpqeditor etc.)! I have a french client, could you please help me ?
One more thing - You should document that you have to put the banks file in the documents/starcraft 2 beta folder. That is not specified in the description.
Also, it says Mimic can store up to 30 build orders - Are these chosen at random? Is there any way to view how many you have saved, or which you are going up against? It might be better if you dont give away what build the enemy is doing, but give the player the option for the CPU to do a specific build if they want to practice against a specific one.
I'm sure you could have it do a specific one by making a seperate memory bank for it, but being able to choose one from a list inside the memory bank would be awesome (if possible)
I put up a post on TeamLiquid, checking to see if there is anyone interested in a community project where we can contribute memory banks of various skill levels for this AI.
Here is a link if anyone is interested - http://www.teamliquid.net/forum/viewmessage.php?topic_id=130271
Hey, this is great, and I just have one suggestion. upon victory, could you have, instead of typing -save, a menu which asked if you would like to save your build? That would be great because once I forgot to save and my awesome, long time-taking build was lost.
Nevermind I figured out how to select races in editor. Thank you this might just push me into making maps now. Will use this as a base and I'll make sure to credit you on Ai portion.
I assume that Warp Gates are very difficult to work into the AI?
I've played 5-6 games, 4player Protoss FFA, have been running a gold-league-level 4gate, and have been saving every game.
It appears as though the AI faithfully recreates the build until Warp Gate finishes, at which point they continue to build from standard gateways. However, they build enough pylons to compensate for the increased unit production of the warp gate. So you end up with a computer player with eight zealots and upwards of ten pylons (approximation).
How do you make races selectable? I really like nice job with the map.
Does work quite well, good work.
Now I'm looking for a bigger ai bank from a high lvl player :D
When the AI is planning attacks, it looks through all of the available attack waves in order from first to last, and once it finds a full wave, it will execute an attack. I suppose the problem with this is that if you did a small attack at the start, this wave would be favoured by the AI throughout the game.
Hmm, I suppose I could add a probability system, that decreases the chances of a specific wave being sent the more it is used, which should add a little more variation to an AI's attack plan.
Hey Callex, I believe Twinmold suggested this already, but perhaps consider introducing some supply limit or wait period to the AI. It has the potential to bring in some terrifying combinations and utilize them correctly, but it sends its army piece by piece, which kind of ruins its chance of actually overcoming the player. Cheers.
You haven't saved any banks yet. You can either make a new banks folder, or load the map and make a test save to generate one.
(In response to the now deleted comment asking about the missing banks folder)