# Release Notes [How to keep the changelog](https://keepachangelog.com/en/1.1.0/): - `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 - Deterministic Order Generation, opt-in. Instead of random you can define a list of orders that will be generated ### Changed - Available orders are sorted now (always the same order for the recipe graphs) - Default config for fire and burning: now slower burning and spreading - Second continue button on different position. Preventing unintended double clicks ### Deprecated ### Removed ### Fixed - Recipe graph caching fixes - Include extra package data files via direct pip install cooperative-cuisine@git... - Threshold for controller input axis together instead of independent thresholds ### Security ## [1.1.3] (2024-05-07) ### Added - Added the hook PICK_UP_ON_COOKING_EQUIPMENT for finer distinction of actions - final license CC BY-NC-SA 4.0 ### Changed - Added more infos to many hooks to better track the difference of before and after the hook. - more hook changes ### Deprecated ### Removed ### Fixed - Fixed config values of serving not ordered meals ### Security ## [1.1.2] (2024-04-12) ### Added - Recipe graphs contain the names of the interactive counters and equipment - Random agent also gets the recipe graph information. - Hook SCORE_CHANGED when the score is increased. ### Changed - `CooperativeCuisine` occurrences to `Cooperative Cuisine` - Changed `overcooked-simulator` slug in urls to `cooperative-cuisine` - Adjusted study settings. ### Deprecated ### Removed ### Fixed - Random Order generation does not depend on other sampling of random numbers. ### Security ## [1.1.1] (2024-04-03) ### Added - More Docstrings ### Changed - No keyboard tutorial. Only the controller is described. In the future, add config option which to show. - Study Doc is now a .jsonl file. - Other default processing time. ### Deprecated ### Removed ### Fixed ### Security ## [1.1.0] (2024-03-27) Updates and fixes resulted from v1. New cli, test coverage, different languages and much more. ### Added - Send full websocket url in player_info. - ">90"% code coverage in tests - i18n for the gui - Controller hot-plugging - Hook when returning items to dispensers - Displaying image of served meals on game conclusion screen - Pathfinding in random agent - Level layouts from 2d-grid-overcooked-literature - Caching of graph recipe layouts - Score label changes color when score changes - Scoring optionally dependent on remaining times of orders - Score of order is shown in game - Possible max score is shown next to recipe graphs - Control screenshot, replay, single game/study server, gui via cli (sub commands) ### Changed - cli control changed `cooperative_cuisine` is now `cooperative-cuisine` (`-` instead of `_`) - cli now uses commands. Use `cooperative-cuisine start` now for the same behaviour as before (add arguments). - `cooperative-cuisine` with arguments does not work anymore. The "no arguments" call results in running with defaults. If you want to add arguments use the `start` subcommand - `cooperative-cuisine -h` provides an overview of all sub commands. For individual help for each coomand, run `cooperative-cuisine COMMAND -h`. - `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 - Better drawing of orders, now in a pygame_gui UIImage - Buttons for setting player controls in the GUI disappear depending on number of players - Icon for serving window, now a star - Additional state content is stored in own variable. Is no longer passed via a kwarg to the step function. ### Deprecated ### Removed ### Fixed - Orders are sampled correctly again - Orders with no time limit, sample_on_serving=true works again ### 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