Closed alvarofpp closed 1 month ago
In the original sc2 state classes for urnai, there are several and different implementations. In our case now, are we just going to have these three classes for state representation in sc2? Or are we going to make more state classes based on these three?
For example, imagine a developer wants to create a new state representation for the Terran race that uses some specific way of representing the "observation" of the environment. Should they make this new class inherit from StateBase
or from TerranState
?
In our case now, are we just going to have these three classes for state representation in sc2?
Yes.
Or are we going to make more state classes based on these three?
Yes too, but that will be another issue.
Should they make this new class inherit from StateBase or from TerranState?
This depends on what the person wants to do. If it just wants to add to the states already mapped in TerranState
, it will inherit from TerranState
. But if it wants something different from TerranState
, then it will inherit from StateBase
.
I'm trying to use the original sc2 state classes as a base, but it seems that every state implemented there uses the methods get_my_units_amount
and get_units_by_type
at some point, which are imported here. Should I implement these methods in the same file of the state classes? This question also applies to the other methods imported, if they are eventually necessary.
Should I implement these methods in the same file of the state classes?
I'd implement it too, it's a great time to review adjacent code.
From the class created in issue #72, it is necessary to create the state classes for the Protoss, Terran, and Zerg races.
Suggestions:
ProtossState
,TerranState
, andZergState
.urnai.sc2.states
.