- Apr 23, 2024
-
-
Fabian Heinrich authored
-
Fabian Heinrich authored
Updated Args in docstrings.
-
- Apr 03, 2024
-
-
Florian Schröder authored
Added type hints and docstrings throughout the project, notably in the effects, orders, study server, and game server modules. These additions provide better understanding and ease in navigating through the codebase. Minor code reorganization and syntax optimization were also performed.
-
- Mar 26, 2024
-
-
Fabian Heinrich authored
-
- Mar 13, 2024
-
-
Florian Schröder authored
The main changes include enhancing methods in cooperative_cuisine/hooks.py, cooperative_cuisine/counters.py, and cooperative_cuisine/environment.py, and updating hooks. These changes greatly improve the handling of hooks and calls, provide explicit arguments for actions, and add more comprehensive documentation. This leads to better logging and debugging, higher code readability, and improved overall code structure in the cooperative_cuisine backend.
-
Fabian Heinrich authored
-
- Mar 10, 2024
-
-
Florian Schröder authored
This commit modifies comparison operators for timers to be less than or equal in various scripts. It also changes variable types explicitly in scores.py and adds several new tests for functionalities like effects, scores, information messages, trashing function etc. Additional updates include changes in values for certain default arguments in command line parser for generating images in the script for 2D visualization.
-
- Mar 09, 2024
-
-
Florian Schröder authored
Various changes have been made in the codebase to improve readability and maintainability. Type hints have been added to the functions and variables for better understanding of the datatypes. Refactoring of some code segments has also been done to make the code more concise and readable. The 'EffectType', 'ItemType' enumerations have been enriched with docstrings for better understanding of the enums. Certain classes have been updated to better follow the single responsibility principle.
-
Florian Schröder authored
Docstrings across classes and functions in different modules have been adjusted for consistency, specifically in how Return and Raise explanations are formatted. This makes the code more readable and uniform. Additionally, the environment name in 'environment.py' has been updated from "overcooked_sim" to "cooperative_cuisine_1".
-
- Mar 08, 2024
-
-
Fabian Heinrich authored
-
Fabian Heinrich authored
-
- Mar 07, 2024
-
-
Fabian Heinrich authored
-
Florian Schröder authored
The code has been refactored to clarify the functionality of various components and improve type hinting. Documentation for methods has been expanded. The return types of to_dict methods in several classes have been changed to return CounterState. The Counter class now correctly handles cases where an Item or Iterable[Item] is occupied. An unnecessary Boolean attribute, all_players_ready, has been commented out. Manual normalization of orientation vectors has been introduced.
-
- Mar 04, 2024
-
-
Florian Schröder authored
Modified url_and_port_arguments to follow cli args standards in cooperative_cuisine/utils.py, changing '-study' to '-s' and '-game' to '-g'. Adjusted the placement of 'player' argument in the methods in cooperative_cuisine/counters.py. Also, refactored the method _do_single_tool_interaction to be a static method.
-
- Feb 29, 2024
-
-
Florian Schröder authored
The module 'game_items' was renamed to 'items'. Every reference to this module across different source code files was consequently updated to reflect this change.
-
Florian Schröder authored
The EffectManager class along with related effects have been moved to a newly created effects.py module. Also, instead of importing from cooperative_cuisine.effect_manager, the rest of the code now imports from cooperative_cuisine.effects. This is mainly to improve the project structure and to clarify the code organization, and avoid circular import issues.
-
- Feb 28, 2024
-
-
Florian Schröder authored
Meal configurations in the level 1 configuration file are updated, swapping out the previous meals with new ones. Player name has been added as a parameter to the pick_up and drop_off methods in player.py and counters.py. This allows for better tracking of the actions of individual players, which can be useful in cooperative environments where player accountability is imperative. Additionally, served meals now also log the serving player's name, providing additional context during gameplay and post-game analysis.
-
Florian Schröder authored
All instances of 'overcooked_simulator' have been replaced with 'cooperative_cuisine'. This includes changes in file paths, imports, and script names. The necessary adjustments to reflect this rename have also been made in the documentation, setup files, test scripts, and CI/CD configuration.
-
Florian Schröder authored
The code for the drop-off condition within the Overcooked simulator's counters module has been updated. The updated condition now checks not only if the item can be combined or matches the dispensing item's name but also checks if the undo dispenser pickup flag is true.
-
Florian Schröder authored
The commit introduces an option that allows dispensers in the Overcooked simulator to undo pickups of items in case of errors. This new setting, `undo_dispenser_pickup`, is now included in the `game` section of the environment configuration. Both the counter factory and dispenser have been updated to accommodate these changes.
-
- Feb 21, 2024
-
-
fheinrich authored
-
- Feb 13, 2024
-
-
Fabian Heinrich authored
-
- Feb 09, 2024
-
-
Florian Schröder authored
The code now includes a new hook called 'drop_off_on_cooking_equipment'. This hook is used to track and score instances of players dropping off items on the cooking equipment in the Overcooked game simulator. This enhancement will allow for more detailed game simulations and scoring capabilities.
-
- Feb 08, 2024
-
-
Florian Schröder authored
The scoring system and order management have been significantly updated. The score calculation has been moved out from 'OrderManager' to external 'ScoreViaHooks' class which works via hooks. The order management updates include separating scoring from orders and removing unused functions. Changes in the configuration file and other related files updated to accommodate these modifications.
-
fheinrich authored
-
- Feb 06, 2024
-
-
Fabian Heinrich authored
-
- Feb 04, 2024
-
-
Florian Schröder authored
This update introduces comprehensive hook management, improved environment setup functions, and a new class for logging and recording simulations. The enhanced hook management ensures better callback registration and tracing of specific simulation events. Extra setup functions allow more flexibility in setting parameters from the environment config. The new logging and recording class makes it easier to capture simulation data in a structured format for analysis. Various minor fixes and code refactoring are also included.
-
- Feb 03, 2024
-
-
Florian Schröder authored
Added the definition and interactions for game effects and tools. The effect type was introduced to influence the player's interactive abilities or alter item's attributes. The tool type extends the player's interactive abilities. It also includes the part related to fire and fire extinguisher for more realistic simulation.
-
Florian Schröder authored
The random module is replaced with random instance across multiple classes within 'overcooked_simulator' to make the randomness in the Overcooked simulator controllable. The 'random' instance is initialised with a seed in 'overcooked_environment' and then passed to the classes that require randomness. This improves reproducibility of experiments, as the randomness can be controlled by the seed value.
-
- Feb 02, 2024
-
-
Florian Schröder authored
Added a Hooks class to monitor events related to player actions, item interactions, and state changes in the game environment. A hook triggers a corresponding event when a specific action takes place, such as a player picking up an item or a game state changing. This feature will make debugging easier and provide valuable insights during gameplay.
-
- Jan 31, 2024
-
-
Florian Schröder authored
The changes include improving the wording in readme files, from 'Python 3.10 or higher' to 'Python 3
-
Florian Schröder authored
Documentation has been updated to provide better clarity on the layout and equipment configuration. The README file now includes information on defining counter mappings in the Environment config. The code examples in comments within the counters.py file have also been reformatted and updated, specifically those related to defining equipment types and dispenser characters. The additional change includes an expanded section in the __init__.py file on environment and item configuration.
-
Florian Schröder authored
The code changes include renaming the 'category' field from "Cooking Equipment" to "ItemCookingEquipment" in sample_state.json. The documentation has also been updated with more detailed explanations on how the system works, including how to install and use it. A few function signatures were changed and additional explanation comments were included in the counters.py and utils.py files for better code clarity.
-
Florian Schröder authored
The updates include adding docstrings and type hinting to several classes and methods in multiple Python files. This commit also includes fixes for inconsistent code formatting and minor bugs. The docstrings provide essential details about the classes and methods, improving readability and understanding for other developers. Furthermore, the added type hinting will enable better IDE assistance, static analysis, and clarity on expected input and output types. Lastly, the code formatting fixes and bug fixes enhance the overall code quality and maintainability.
-
- Jan 29, 2024
-
-
Fabian Heinrich authored
-
- Jan 27, 2024
-
-
Florian Schröder authored
This update introduces a penalty computation for items that the player puts into the trash in the Overcooked simulator. A new function has been added onto the Order class to calculate this penalty, and the Trashcan class has been updated to use this new function whenever an item is dropped off. This change helps to further emulate real gameplay mechanics.
-
Florian Schröder authored
The `overcooked_environment.py` file has been significantly refactored to streamline handling of counter setup. Post counter setup responsibilities have been shifted to the `CounterFactory` class. A utility function, `get_closest`, has been introduced in `utils.py` to determine the closest counter and is used in multiple classes. Minor updates are also made across several other classes for optimization and clarity. The 'other' score in `environment_config.yaml` has been changed from 0 to 20.
-
- Jan 26, 2024
-
-
Florian Schröder authored
This commit simplifies the overcooked environment by refactoring the way counters are created and managed. A new CounterFactory class is introduced, offloading logic from the environment class. In addition, the symbol to character mapping and other environment-related configurations are moved to a separate YAML file. The .gitignore file is also updated to ignore the 'playground' directory. Making these changes enhances code maintainability and readability.
-
Florian Schröder authored
The CookingCounter is now included in the list of counters for which we calculate progress. Additionally, if a counter type is not defined in the configuration, a ValueError will be raised. Unnecessary imports were also removed from 'overcooked_gui.py', and a 'to_dict' method was added in 'counters.py'. Fixing errors from merge.
-
- Jan 25, 2024
-
-
Florian Schröder authored
The update introduces a new function `get_json_state()` in overcooked_environment.py that exports the current game state in JSON format. Changes were made to player.py, counters.py, and game_items.py to include an additional `to_dict()` function which represents their current status as a dictionary. This commit also includes minor naming changes, such as renaming `beginning_time` to `start_time`.
-