diff --git a/overcooked_simulator/game_content/environment_config.yaml b/overcooked_simulator/game_content/environment_config.yaml index fdbe1db23264984fa1521d2641c1b49dc2915b41..0b24c354f1e07beda8d5cd286f3cd7c5c8f40843 100644 --- a/overcooked_simulator/game_content/environment_config.yaml +++ b/overcooked_simulator/game_content/environment_config.yaml @@ -1,7 +1,8 @@ plates: - clean_plates: 1 + clean_plates: 0 dirty_plates: 2 plate_delay: [ 5, 10 ] + return_dirty: True # range of seconds until the dirty plate arrives. game: diff --git a/overcooked_simulator/game_content/environment_config_rl.yaml b/overcooked_simulator/game_content/environment_config_rl.yaml index cf103284de17a42d33f81d6c4ce3b4b86bead6a8..6235a971e1fb53a0569e82fa63602b9a2e8427c9 100644 --- a/overcooked_simulator/game_content/environment_config_rl.yaml +++ b/overcooked_simulator/game_content/environment_config_rl.yaml @@ -1,11 +1,12 @@ plates: - clean_plates: 1 - dirty_plates: 2 + clean_plates: 2 + dirty_plates: 0 plate_delay: [ 5, 10 ] + return_dirty: False # range of seconds until the dirty plate arrives. game: - time_limit_seconds: 660 + time_limit_seconds: 300 meals: all: true @@ -86,12 +87,12 @@ player_config: restricted_view: False view_angle: 95 -effect_manager: - FireManager: - class: !!python/name:overcooked_simulator.effect_manager.FireEffectManager '' - kwargs: - spreading_duration: [ 5, 10 ] - fire_burns_ingredients_and_meals: true +effect_manager: {} +# FireManager: +# class: !!python/name:overcooked_simulator.effect_manager.FireEffectManager '' +# kwargs: +# spreading_duration: [ 5, 10 ] +# fire_burns_ingredients_and_meals: true extra_setup_functions: diff --git a/overcooked_simulator/game_content/item_info_rl.yaml b/overcooked_simulator/game_content/item_info_rl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9b978d64cfba3e2b927babab3fcca7f24e99f5e1 --- /dev/null +++ b/overcooked_simulator/game_content/item_info_rl.yaml @@ -0,0 +1,232 @@ +CuttingBoard: + type: Equipment + +Sink: + type: Equipment + +Stove: + type: Equipment + +DeepFryer: + type: Equipment + +Oven: + type: Equipment + +Pot: + type: Equipment + equipment: Stove + +Pan: + type: Equipment + equipment: Stove + +Basket: + type: Equipment + equipment: DeepFryer + +Peel: + type: Equipment + equipment: Oven + +DirtyPlate: + type: Equipment + +Plate: + type: Equipment + needs: [ DirtyPlate ] + seconds: 2.0 + equipment: Sink + +# -------------------------------------------------------------------------------- + +Tomato: + type: Ingredient + +Lettuce: + type: Ingredient + +Onion: + type: Ingredient + +Meat: + type: Ingredient + +Bun: + type: Ingredient + +Potato: + type: Ingredient + +Fish: + type: Ingredient + +Dough: + type: Ingredient + +Cheese: + type: Ingredient + +Sausage: + type: Ingredient + +ChoppedTomato: + type: Ingredient + needs: [ Tomato ] + seconds: 4.0 + equipment: CuttingBoard + +ChoppedLettuce: + type: Ingredient + needs: [ Lettuce ] + seconds: 3.0 + equipment: CuttingBoard + +ChoppedOnion: + type: Ingredient + needs: [ Onion ] + seconds: 5.0 + equipment: CuttingBoard + +RawPatty: + type: Ingredient + needs: [ Meat ] + seconds: 4.0 + equipment: CuttingBoard + +RawChips: + type: Ingredient + needs: [ Potato ] + seconds: 4.0 + equipment: CuttingBoard + +ChoppedFish: + type: Ingredient + needs: [ Fish ] + seconds: 4.0 + equipment: CuttingBoard + +PizzaBase: + type: Ingredient + needs: [ Dough ] + seconds: 4.0 + equipment: CuttingBoard + +GratedCheese: + type: Ingredient + needs: [ Cheese ] + seconds: 4.0 + equipment: CuttingBoard + +ChoppedSausage: + type: Ingredient + needs: [ Sausage ] + seconds: 4.0 + equipment: CuttingBoard + +CookedPatty: + type: Ingredient + seconds: 5.0 + needs: [ RawPatty ] + equipment: Pan + +# -------------------------------------------------------------------------------- + +Chips: + type: Meal + seconds: 5.0 + needs: [ RawChips ] + equipment: Basket + +FriedFish: + type: Meal + seconds: 5.0 + needs: [ ChoppedFish ] + equipment: Basket + +Burger: + type: Meal + needs: [ Bun, ChoppedLettuce, ChoppedTomato, CookedPatty ] + equipment: ~ + +Salad: + type: Meal + needs: [ ChoppedLettuce, ChoppedTomato ] + equipment: ~ + +TomatoSoup: + type: Meal + needs: [ Tomato ] + seconds: 3.0 + equipment: Pot + +OnionSoup: + type: Meal + needs: [ ChoppedOnion, ChoppedOnion, ChoppedOnion ] + seconds: 6.0 + equipment: Pot + +FishAndChips: + type: Meal + needs: [ FriedFish, Chips ] + equipment: ~ + +Pizza: + type: Meal + needs: [ PizzaBase, ChoppedTomato, GratedCheese, ChoppedSausage ] + seconds: 7.0 + equipment: Peel + +# -------------------------------------------------------------------------------- + +BurntCookedPatty: + type: Waste + seconds: 5.0 + needs: [ CookedPatty ] + equipment: Pan + +BurntChips: + type: Waste + seconds: 5.0 + needs: [ Chips ] + equipment: Basket + +BurntFriedFish: + type: Waste + seconds: 5.0 + needs: [ FriedFish ] + equipment: Basket + +#BurntTomatoSoup: +# type: Waste +# needs: [ TomatoSoup ] +# seconds: 6.0 +# equipment: Pot + +BurntOnionSoup: + type: Waste + needs: [ OnionSoup ] + seconds: 6.0 + equipment: Pot + +BurntPizza: + type: Waste + needs: [ Pizza ] + seconds: 7.0 + equipment: Peel + +# -------------------------------------------------------------------------------- + +#Fire: +# type: Effect +# seconds: 5.0 +# needs: [ BurntCookedPatty, BurntChips, BurntFriedFish, BurntTomatoSoup, BurntOnionSoup, BurntPizza ] +# manager: FireManager +# effect_type: Unusable + +# -------------------------------------------------------------------------------- + +Extinguisher: + type: Tool + seconds: 1.0 + needs: [ Fire ] diff --git a/overcooked_simulator/gui_2d_vis/visualization_rl.yaml b/overcooked_simulator/gui_2d_vis/visualization_rl.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7636e3794b01dee32a8f9aaff9989a419d7352a0 --- /dev/null +++ b/overcooked_simulator/gui_2d_vis/visualization_rl.yaml @@ -0,0 +1,427 @@ +# colors: https://www.webucator.com/article/python-color-constants-module/ + +GameWindow: + WhatIsFixed: grid # grid or window_width or window_height + size: 50 + screen_margin: 100 + min_width: 700 + min_height: 600 + buttons_width: 180 + buttons_height: 60 + + order_bar_height: 100 + order_size: 50 + + game_border_size: 1 + game_border_color: black + background_color: lemonchiffon1 + +Kitchen: + ground_tiles_color: sgigray76 + background_lines: gray79 + +Counter: + parts: + # - type: rect + # height: 1 + # width: 1 + # color: whitesmoke + - type: image + path: images/counter5.png + size: 1 + +CuttingBoard: + parts: + - type: image + path: images/cutting_board_large.png + size: 0.75 + center_offset: [ 0, -0.05 ] + + +PlateDispenser: + parts: [ ] +# - type: rect +# height: 0.95 +# width: 0.95 +# color: cadetblue1 + +Trashcan: + parts: + - type: image + path: images/trash3.png + size: 0.88 + center_offset: [ 0, -0.05 ] + +#TomatoDispenser: +# parts: +# - color: orangered1 +# type: rect +# height: 0.8 +# width: 0.8 +# +#LettuceDispenser: +# parts: +# - color: palegreen3 +# type: rect +# height: 0.8 +# width: 0.8 +# +#OnionDispenser: +# parts: +# - color: deeppink3 +# type: rect +# height: 0.8 +# width: 0.8 +# +#MeatDispenser: +# parts: +# - color: indianred1 +# type: rect +# height: 0.8 +# width: 0.8 +# +#BunDispenser: +# parts: +# - color: sandybrown +# type: rect +# height: 0.8 +# width: 0.8 + +Dispenser: + parts: + - type: circle + color: black + radius: 0.35 + center_offset: [ 0, -0.05 ] + - type: circle + color: gray83 + radius: 0.33 + center_offset: [ 0, -0.05 ] + + + item_offset: [ 0, -0.05 ] + item_scale: 0.9 + +ServingWindow: + parts: + - type: image + path: images/arrow_right.png + size: 1 + center_offset: [ 0, 0 ] + - type: image + path: images/bell_gold.png + size: 0.5 + center_offset: [ -0.4, 0.1 ] + rotate_image: False + +Stove: + parts: + - color: black + type: rect + height: 0.875 + width: 0.625 + - color: flesh + type: circle + radius: 0.25 + +Sink: + parts: + - type: image + path: images/sink1.png + size: 0.85 + center_offset: [ 0, -0.12 ] + +SinkAddon: + parts: + - type: image + path: images/drip2.png + size: 0.75 + center_offset: [ 0, -0.05 ] + +# Tools +Extinguisher: + parts: + - type: image + path: images/fire_extinguisher.png + size: 0.85 + center_offset: [ 0, -0.05 ] + +# Effects +Fire: + parts: + - type: image + path: images/fire.png + size: 1 + +Fire1: + parts: + - type: image + path: images/fire.png + size: 1.0 + +Fire2: + parts: + - type: image + path: images/fire2.png + size: 1.0 + +Fire3: + parts: + - type: image + path: images/fire3.png + size: 1.0 + + +# Items +Tomato: + parts: + - type: image + path: images/tomato3_smaller.png + size: 1 + +Onion: + parts: + - type: image + path: images/onion_large.png + size: 0.8 + +Bun: + parts: + - type: image + path: images/bun.png + size: 0.9 + +Lettuce: + parts: + - type: image + path: images/lettuce_smaller.png + size: 0.8 + +Meat: + parts: + - type: image + path: images/meat.png + size: 1 + +ChoppedLettuce: + parts: + - type: image + path: images/lettuce_cut_smaller.png + size: 0.8 + +ChoppedTomato: + parts: + - type: image + path: images/tomato3_cut_smaller.png + size: 1 + +ChoppedOnion: + parts: + - type: image + path: images/onion_cut.png + size: 0.95 + +RawPatty: + parts: + - type: image + path: images/raw_patty.png + size: 0.9 + +CookedPatty: + parts: + - type: image + path: images/cooked_patty.png + size: 0.9 + +Burger: + parts: + - type: image + path: images/burger.png + size: 0.8 + +Salad: + parts: + - type: image + path: images/salad.png + size: 0.8 + +TomatoSoup: + parts: + - type: image + path: images/tomato_soup_pot.png + size: 1.05 + center_offset: [ -0.02, -0.1 ] + +TomatoSoupPlate: + parts: + - type: image + path: images/tomato_soup_plate.png + size: 0.6 + +OnionSoup: + parts: + - type: image + path: images/onion_soup_pot.png + size: 1.05 + center_offset: [ -0.02, -0.1 ] + +OnionSoupPlate: + parts: + - type: image + path: images/onion_soup_plate.png + size: 0.6 + +Cook: + parts: + - type: image + path: images/pixel_cook_masked.png + size: 1 + +Plate: + parts: + - type: image + path: images/plate_clean.png + size: 0.8 + +DirtyPlate: + parts: + - type: image + path: images/plate_dirty.png + size: 0.8 + +Pot: + parts: + - type: image + path: images/pot_smaller.png + size: 1.05 + center_offset: [ -0.02, -0.1 ] + +Pan: + parts: + - type: image + path: images/pan.png + size: 1.1 + +DeepFryer: + parts: + - color: gray5 + type: rect + height: 0.875 + width: 0.875 + - color: lightyellow2 + type: rect + height: 0.675 + width: 0.675 +Oven: + parts: + - color: gray83 + type: rect + height: 0.875 + width: 0.625 + - type: rect + color: black + height: 0.8 + width: 0.3 + center_offset: [ 0, -0.1 ] + +Basket: + parts: + - type: image + path: images/basket.png + size: 0.8 + +Peel: + parts: + - type: image + path: images/pizza_wood.png + size: 1.2 + center_offset: [ 0, 0.2 ] + +Potato: + parts: + - type: image + path: images/potato2.png + size: 0.7 + +RawChips: + parts: + - type: image + path: images/raw_fries.png + size: 0.8 + +Chips: + parts: + - type: image + path: images/fries2.png + size: 0.8 + +Fish: + parts: + - type: image + path: images/fish3.png + size: 0.9 + +ChoppedFish: + parts: + - type: image + path: images/cut_fish.png + size: 0.8 + +FriedFish: + parts: + - type: image + path: images/fried_fish.png + size: 0.8 + +FishAndChips: + parts: + - type: image + path: images/fries2.png + size: 0.8 + center_offset: [ -0.1, 0 ] + - type: image + path: images/fried_fish.png + size: 0.8 + center_offset: [ +0.2, 0 ] + +Dough: + parts: + - type: image + path: images/pizza_dough.png + size: 0.7 + +PizzaBase: + parts: + - type: image + path: images/pizza_base.png + size: 0.9 + +Sausage: + parts: + - type: image + path: images/sausage.png + size: 0.8 + +ChoppedSausage: + parts: + - type: image + path: images/sausage_chopped.png + size: 0.8 + +Cheese: + parts: + - type: image + path: images/cheese3.png + size: 0.7 + +GratedCheese: + parts: + - type: image + path: images/grated_cheese.png + size: 1.1 + +Pizza: + parts: + - type: image + path: images/pizza.png + size: 0.9 \ No newline at end of file