Overcooked Simulator
The real-time overcooked simulation for a cognitive cooperative system.
The name ist still work in progress and we will probably change it.
Installation
You have two options to install the environment. Either clone it and install it locally or install it in your site-packages. You need a Python 3.10 or newer environment. Either conda or PyEnv.
Local Editable Installation
In your repo
, PyCharmProjects
or similar directory with the correct environment active:
git clone https://gitlab.ub.uni-bielefeld.de/scs/cocosy/overcooked-simulator.git
cd overcooked_simulator
pip install -e .
Run
Run it via the command line (in your pyenv/conda environment):
overcooked-sim --url "localhost" --port 8000
The arguments are the defaults. Therefore, they are optional.
You can also start the Game Server and the PyGame GUI individually in different terminals.
python3 overcooked_simulator/game_server.py --url "localhost" --port 8000 --manager_ids SECRETKEY1 SECRETKEY2
python3 overcooked_simulator/gui_2d_vis/overcooked_gui.py --url "localhost" --port 8000 --manager_ids SECRETKEY1
You can start also several GUIs.
python3 overcooked_simulator/gui_2d_vis/overcooked_gui.py --url "localhost" --port 8000 --manager_ids SECRETKEY2
You can replace the GUI with your own GUI (+ study server/matchmaking server).
Library Installation
The correct environment needs to be active:
pip install overcooked-environment@git+https://gitlab.ub.uni-bielefeld.de/scs/cocosy/overcooked-simulator@main
Run
You can now use the environment and/or simulator in your python code. Just by importing
it import overcooked_environment
Configuration
The environment configuration is currently done with 3 config files + GUI configuration.
Item Config
The item config defines which ingredients, cooking equipment and meals can exist and how meals and processed ingredients can be cooked/created.
Layout Config
You can define the layout of the kitchen via a layout file. The position of counters are based on a grid system, even when the players do not move grid steps but continuous steps. Each character defines a different type of counter. Which character is mapped to which counter is defined in the Environment config.
Environment Config
The environment config defines how a level/environment is defined. Here, the available plates, meals, order and player configuration is done.
PyGame Visualization Config
Here the visualisation for all objects is defined. Reference the images or define a list of base shapes that represent the counters, ingredients, meals and players.
Troubleshooting
cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:\$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
if you have a conda environment:
conda install -c conda-forge libstdcxx-ng