Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 1.98 KB

1.4.0.md

File metadata and controls

33 lines (24 loc) · 1.98 KB

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 (see scripts/floridistan/gym_demo.py), install gymnasium and set use_gymnasium=True in pycmo/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 calls CMOEnv::client::close_scenario_end_and_player_eval_messages when close_scenario_end_and_player_eval_messages=True is passed in.
  • Changed collections.namedtuple in pycmo.lib.features to typing.NamedTuple for improved typing.
  • Standardized data types coming from CMO and into pycmo.lib.features
  • FeaturesFromSteam no longer has avai_weapons (it was never used)
  • Added boolean parameter to rtb function in pycmo.lib.actions because apparently, we should allow users to set rtb=False to cancel a unit in the process of returning to base
  • Created custom spaces out of gymnasium.spaces. These should be used with pycmo.cmo_gym_env.FloridistanPycmoGymEnv and whatever inherits from pycmo.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.

Visible Changes

  • [Chore][#49] Clean up floridistan scenario
  • [Feature][#21] Turn pyCMO into an OpenAI Gym environment

Bug Fixes

N/A

Enhancements Not Visible to User

  • [Chore][#56] Add typing to features and make data types consistent

Misc/Requests

Operational Notes