Mlgame

Latest version: v10.6.1

Safety actively analyzes 714875 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 8

2020.06.01

**Fixed**

* Handle the exception of `BrokenPipeError`

**Added**

* Add "dynamic_ml_clients" to the "GAME_SETUP" of the game config

2020.05.29

This update is compatible with Beta 7.0.

**Fixed**

* Hang when the game exits on Linux

**Added**

* Add `errno.py` to define the exit code of errors
* Handle the exception occurred in manual mode

**Changed**

* Change the exit code of errors

2020.05.27

**Added**

* Use executors to control the execution loop
* The game and the ml script only need to provide "class" for the executor to invoke (like an interface).
* The game doesn't need to provide manual and ml version. Just one game class.
* Replace `ml_loop()` with `MLPlay` class in ml script
* Add commnuication manager
* The manager for the ml process has a queue for storing the object received. If the queue has more than 15 objects, the oldest object will be dropped.

**Changed**

* Change the format of the recording game progress
* Replace `PROCESSES` with `GAME_SETUP` in `config.py` of the game to setup the game and the ml scripts
* Rename `GameConfig` to `ExecutionCommand`
* Simplfy the `communication` package into a module

**Removed**

* Remove `record.py` and ml version of the game in the game directory

2020.05.06

**Changed**

* Pingpong - version 1.1
* Shorten the ball speed increasing interval
* Randomly set the initial position of the blocker, and speed up the moving speed of it

2020.04.28

**Added**

* Add `-l` and `--list` flag for listing available games
* Use `config.py` in games to set up the game parameters and the game execution
* Use `argparse` for generating and handling game parameters
* List game parameters of a game by using `python MLGame.py <game> -h`
* Exit with non-zero value when an error occurred

**Changed**

* The game execution flags must be specified before the game name, including `-i/--input-script/--input-module` flags
* `-i/--input-script/--input-module` flags carry one script or one module at a time.
* Specify these flags multiple times for multiple scripts or modules, such as `-i script_1P -i script_2P`.
* Games: Use dictionary objects as communication objects between game and ml processes for flexibility
* The record file only contains dictionay objects and built-in types, therefore, it can be read outside the `mlgame` directory.
* `mlgame.gamedev.recorder.RecorderHelper` only accepts dictionary object.
* Code refactoring

**Removed**

* Games
* Remove `main.py` (replaced by `config.py`)
* Remove `communication.py`
* For the ml script, use `mlgame.communication.ml` module to communicate with the game process. See `ml_play_template.py` for the example.
* Remove `CommandReceiver` from the `mlgame.communication.game`
* The game has to validate the command recevied by itself.

2020.03.06

**Fixed**

* Fix typo in the README of the arkanoid
* Arkanoid: Add additional checking condition for the ball bouncing

Page 2 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.