Blizzard / s2client-api

StarCraft II Client - C++ library supported on Windows, Linux and Mac designed for building scripted bots and research using the SC2API.
MIT License
1.66k stars 281 forks source link

Relationship between pysc2 and s2client-api #334

Open ava6969 opened 3 years ago

ava6969 commented 3 years ago

I have been building a c++ based drl library, I am currently testing my library on the starcraft env. I am having troubles implementing some of the actions like select uni, army.. Can I please get any guidelines on what functions to call. I have this 3 currently.

    inline void moveCamera() final
    {
        ActionsFeatureLayer()->CameraMove(current_action_arg.minimap);
        ActionsFeatureLayer()->SendActions();
    }

    inline void selectPoint() final
    {
        ActionsFeatureLayer()->Select(current_action_arg.screen, current_action_arg.select_point_act);
        ActionsFeatureLayer()->SendActions();
    }

    void selectRectangle() override
    {
        ActionsFeatureLayer()->Select(current_action_arg.screen, current_action_arg.screen2);
        ActionsFeatureLayer()->SendActions();
    }

    void controlGroup() override
    {
        auto obs = Observation();
        auto const& army = obs->GetUnits(sc2::Unit::Alliance::Self, IsArmy(obs));

        for(auto const& unit: army )
        {

        }
    }

2) What if i was getting observations from the rgb screen, how will i still move camera Action()->CameraMOve() isnt implemented