pyCMO v1.4.0
Release Date: December 11th, 2023
Cut Date: December 11th, 2023
Changes
- PyCMO now has a Gymnasium implementation in
pycmo.env.cmo_gym_env
. To use this environment (seescripts/floridistan/gym_demo.py
), installgymnasium
and setuse_gymnasium=True
inpycmo/configs/config.py
. - floridistan scenario is optimized. The target is closer to the strike platforms. The game ends when BLUE loses a unit or when BLUE destroys the target. Each timestep incurs a reward of -1. Destroying the target earns the agent a reward of 300. There is a four hour time limit.
Internal
CMOEnv::reset
now automatically callsCMOEnv::client::close_scenario_end_and_player_eval_messages
whenclose_scenario_end_and_player_eval_messages=True
is passed in.- Changed
collections.namedtuple
inpycmo.lib.features
totyping.NamedTuple
for improved typing. - Standardized data types coming from CMO and into
pycmo.lib.features
FeaturesFromSteam
no longer hasavai_weapons
(it was never used)- Added boolean parameter to
rtb
function inpycmo.lib.actions
because apparently, we should allow users to setrtb=False
to cancel a unit in the process of returning to base - Created custom spaces out of
gymnasium.spaces
. These should be used withpycmo.cmo_gym_env.FloridistanPycmoGymEnv
and whatever inherits frompycmo.cmo_gym_env.BasePycmoGymEnv
to define CMO-specific observation and action spaces. - Updated CMO version number to 1328.12 to comply with new game update.
- Made
gymnasium
an optional dependency to not clash with old code.