Skip to content
Snippets Groups Projects
Forked from CLF / Robocup / Pocketsphinx Configs
Source project has a limited visibility.

Overcooked Simulator

Documentation

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