Skip to content
Snippets Groups Projects
  • Florian Schröder's avatar
    a1f34c47
    Update CHANGELOG with latest additions and changes · a1f34c47
    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.
    a1f34c47
    History
    Update CHANGELOG with latest additions and changes
    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.
To find the state of this project's repository at the time of any of these versions, check out the tags.

Release Notes

How to keep the changelog:

  • 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, the func and kwargs 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