Overcooked
Two cooks in one small kitchen: fetch onions, fill a pot, wait for the soup, plate it and serve it, as often as you can in 400 steps. It is Overcooked-AI, the Center for Human-Compatible AI's benchmark for working with a partner, on its own engine and its own graphics.
What makes it hard
Neither cook can do it alone fast enough, the counters are narrow, and a partner who ignores you gets in your way. Bots trained with copies of themselves are known to fall apart next to a stranger. Here your cook is scored only with strangers: the season's field are your partners, not your opponents.
Your bot
Exactly an Overcooked-AI agent: bot.py with make_agent(mdp, mlam) returning any overcooked_ai_py Agent (or a class Agent). Each step the referee calls agent.action(state) with the OvercookedState and plays the action it returns. mlam, the library's motion planner, is there if you want it. Your cook runs in a process of its own; each step has 1 second.
Scoring
The check cooks with every partner of the field on three layouts (cramped room, asymmetric advantages, coordination ring), in both seats, one episode each. Your score is the mean reward, 20 for each soup served, and the Leaderboard shows it with each partner.
The field, season 1
| Partner | What it does |
|---|---|
greedy |
Overcooked-AI's GreedyHumanModel: fetches, cooks and serves, ignoring you |
random |
Overcooked-AI's RandomAgent: wanders and grabs |
stay |
Overcooked-AI's StayAgent: never moves, so you cook alone, around it |
Credits
The engine, the layouts, the agents of the field and the web renderer with its sprite sheets (viewer/static/) are from Overcooked-AI (commit 739950a), © the Center for Human-Compatible AI, under the MIT licence. The renderer runs on Phaser 3.23 (MIT). The referee around them is this project's, under MIT.
