-
Florian Schröder authored
This commit introduces numerous changes outlined in the CHANGELOG. Major updates include sending full websocket url in player_info and achieving ">90"% code coverage in tests. Several modifications were also made such as refactoring extra_setup_functions, allowing study config overwriting environment config attributes, and changing time comparisons convention. Player config in the environment class has also been refactored to a dataclass.
Florian Schröder authoredThis commit introduces numerous changes outlined in the CHANGELOG. Major updates include sending full websocket url in player_info and achieving ">90"% code coverage in tests. Several modifications were also made such as refactoring extra_setup_functions, allowing study config overwriting environment config attributes, and changing time comparisons convention. Player config in the environment class has also been refactored to a dataclass.
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG.md 2.50 KiB
Release Notes
-
Added
for new features. -
Changed
for changes in existing functionality. -
Deprecated
for soon-to-be removed features. -
Removed
for now removed features. -
Fixed
for any bug fixes. -
Security
in case of vulnerabilities.
[Unreleased]
Added
- Send full websocket url in player_info.
- ">90"% code coverage in tests
Changed
-
extra_setup_functions
now only contain hook callback classes (hook_callbacks
). Therefore, thefunc
andkwargs
fields were removed and the kwargs are now the standard values for defined hooks. This reduced the complexity of the config. - The study config can now overwrite environment config attributes. This reduces the need to copy environment configs for each level in the config.
- Most time comparisons (countdowns, etc.) are now compared with
<=
and not<
. This is handy for testing and definition. - Player config in the environment class is now a dataclass and not a dict. The content remains the same. Just the access changes from dict access to normal object like access.
- Some type hint additions
Deprecated
Removed
Fixed
Security
[1.0.0] (2024-03-08)
Release of v1. Now we move the development process to incremental updates with use of the changelog and semantic versioning. Cooperative Cuisine v1 is feature complete. It contains a usable Overcooked!-like environment, game server, study server, 2D visualization, etc.
Added
- continuous-like movement and pushing other players around
- extending recording, scoring, msgs via hooks at different programm points
- implemented random-action agent
- players connect via websockets
- 2D visualization with pygame
- Everything is configurable with config files: item info (ingredients, meals, etc.), layout, environment, visualization, study
- Game server that handles active environments
- Study environment with study server and study config. Does the match making
- For study participants: simple control tutorial, recipe guides, end screen.
- Controller support
Security
- To manage environments on the game server, the "manager" needs to have a valid
manager_id
which is registered in the game server. - Registered players (humans and agents) need to connect to websockets which were preregistered with a
client_id
. - Each player actions need to reference a
player_hash
that should only be known by the player / client that controls the player.
0.1.0 (2023-11-23)
- Created