-
Notifications
You must be signed in to change notification settings - Fork 229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding own map to SMAC_maps #2
Comments
Hi there! Did you re-install the smac package after making the changes in the codebase? |
Hi ! I am digging into Ln: 254
Ln : 256
Regarding the actions in Ln:45 from Many thanks again ! 👍 |
Mikayel , |
The actions indices that we use actually correspond to the 4th parameter of the Function.ability's from pysc2. For instance, Attack is 23, Stop is 4th, Move is 16, etc. Would be great to have additional skills such as the guardian shields, etc.
The query command is currently not a part of the remote controller. However, you can find it in my pysc2 PR. I remember trying to use the Sentry's guardian shield long time ago, but it was not working. Maybe with the recent fixes of pysc2, it would be possible. |
Mikayel , However, the error displays
I´m guessing I am not understanding the 'unit' concept correctly. Would you mind point me in the right direction regarding this? |
Hi there, So by We store these unit structures in self._controller.query(q_pb.RequestQuery(abilities[q_pb.RequestQueryAvailableAbilities(unit_tag=self.agents[i].tag)])) where i should match the unit corresponding to a Sentry. You could print it for all units by just iterating through all agents after Sorry that this required more work than expected. Let me know if you have any further questions. Best wishes, |
Hey Mika, As I understood for your comment, [i] might be associated to the unit(agent) corresponding to a Sentry.
I´ve actually tried both , and it displays a key error in both cases :
Please Note that in this case all the units are sentry units. I´ve also noted that your map desing is different from the mini-games designed in the pysc2 released, and the reward is included as a parameter in starcraft.py I apologize if my block is causing extra effort for you as I am getting familliar with this . 🥇 Thanks so much and congratulations again in this extensive and detailed piece of OpenSource Software , and for pushing the boundaries to research and understand how cooperation works . |
Many thanks for your kinds words. I'm very happy to help. As I've said in the previous comment, you should take a look at
Hence,
You are correct to notice that we don't use the rewards similar to mini-games released with pysc2. Instead, we provide options to construct different team rewards. I hope this makes sense now. Let me know if you have any further questions. Regards, |
Hey there,
Thanks so much for open-source this project in a turn for a multiagent cooperative environment for Starcraft II research environment 👍 !
I am on the current task of adding a new map to the SMAC environment , for that, I´ve already
Add the .SC2 map file to
smac/env/starcraft2/maps/SMAC_Maps
andApplications/StarCraftII/Maps/SMAC_Maps
foldersAdd the current structure as a dictionary following the structure from other maps
smac/env/starcraft2/maps/smac_maps.py
file in map_param_registry},
"HallucinIce": {
"n_agents": 4,
"n_enemies": 6,
"limit": 180,
"a_race": "P",
"b_race": "T,
"unit_type_bits": 0,
"map_type": "sentry",
},
Changed
smac/examples/random_agents.py
7th line forHowever, when I run the example python file , it gives me the following error :
smac_maps.py
file. Any idea or guide on how could I solve this issue ? :)Thanks in advance for the time dedicated to this issue .
The text was updated successfully, but these errors were encountered: