4 chefs. 1 keyboard.

Too Many Chefs is a text-based cooperative cooking game for up to 4 players, featuring local coop, hilarity-filled minigames, bossa nova, and two modes of fun!

Party mode: Team up with friends in local multiplayer to make the best 4-course meal. Just remember-- there's only one keyboard!

Solo mode: Multitask to manage up to 4 stations at once. You'll have to wear a lot of hats!

For best results, play in full-screen mode on the latest version of Chrome or Firefox.
The game is keyboard-only! Click inside the game to focus.

TagsFunny, Local multiplayer, Multiplayer, Text based
Average sessionA few minutes
AccessibilityInteractive tutorial
MultiplayerLocal multiplayer
Player count1 - 4
LinksDev Blog


Log in with itch.io to leave a comment.

Hey there, thanks a lot for making this game! I played the version at http://www.toomanychefs.party/ and absolutely loved it.

But I couldn't complete recipe 5/6 (pan-asian lunch) because the game never recognized any special characters I typed (e.g. there's a "single tear" you have to type, a ":'(" smilie or something; I couldn't get the ":", let alone the rest; and another line says "yum?", and I couldn't type the question mark). I use a normal German keyboard layout, so I suppose the problem somehow resulted from that; but in-game, I don't really have a way to check which character I have to type to get it recognized as e.g. a "?".

Thanks for the kind words! Sorry about the issues with German keyboard layout-- since release, I've discovered a lot of interesting localization problems I'd never even considered before.

Unfortunately, I don't have a German keyboard, so it's difficult to debug. Can you help me out by sending me the number codes for each of the special keys? http://keycode.info/ You can post here or email them to chef@toomanychefs.party. Thanks a lot!

PS: As a temporary solution, you can try to press Shift+; for ":" and Shift+/ for "?" (these are the key combinations for a standard QWERTY keyboard).

Hey there, thanks for the quick reply!

I tried the keycode site, but it doesn't seem to recognize special characters if they're part of a two-button combination (e.g. "A" = shift + 'a', ":" = shift + ".", etc). Pressing capslock doesn't help, either; I only get the keycode for e.g. "a" or ".", never for "A" or ":".)  Maybe that's (part of) the problem, not (just) the language-specific keyboard layout? (Though see my remarks at the very bottom - maybe checking via keycode instead of sth else is the problem.)


Anyway, here are some key codes:

188 = comma

189 = dash

190 = period = '.'; holding shift plus period does nothing, it's still just period

When I press the button for "'" / "#", I get key code 191 (forward slash) instead.

The button for '*' / '+' / '~' yields key code 187 (equal sign) instead.

The button for "ä" yields key code 222 (single quote / "ä") instead.

The button für "ü" yields key code 186 (semi-colon) instead.


I couldn't find *any* button which yields "?", which leads me to believe this line of inquiry maybe isn't fruitful? Rather than try to map whatever I press to whatever key code javascript turns it into, maybe there's instead a way to have Javascript correctly recognize my inputs as coming from a German language schema / keyboard?


I quickly googled the topic, and I think that what you actually want might be the keypress method, instead of keycode? See the answers here: https://stackoverflow.com/questions/7831494/how-to-get-the-correct-language-and-... and here: https://stackoverflow.com/questions/11030532/keypress-and-keyup-why-is-the-keyco...

Thanks for the help and sorry for the delay! I've been busy with one of my newer projects and haven't had much time to debug.

I don't listen to keypress because this game is unique in that it needs to know ALL keys pressed at a time. Unfortunately, keypress only fires on the last key that was pressed; so if someone was holding A and then pressed B, only B would be registered.

I have a custom keyboard util that knows when shift is pressed, so I actually only need the keycode for the keys that turn into ? and : with shift pressed. The only issue is that these keys are different on different keyboards, so I'd have to whitelist all of them-- which may lead to weird combinations accidentally triggering a different key.

PS: If you're interested and technically inclined, you can find the source code here. Happy to accept pull requests.

Hey there, thanks for the reply. I've only recently begun programming (in Python; no experience with Javascript), so looking for solutions on Stack Overflow was the best I could do.

If my suggestion re: keypress vs. keycode didn't work, all I can think of is a clumsy workaround: Allow players to map their controls, i.e. instead of asking players which button they want to press for up/down/left/right/jump/shoot, here ask them which button to press for question mark, period, dash, full stop, etc.

That's not a bad idea, but requires a bit of work implementation-wise. I ended up just replacing the ? and :'( characters with text. Hope you can enjoy the rest of the game!

What software did you use to make this?

(1 edit)

This was built from scratch in HTML and Javascript using the React framework :)

It's open-sourced on GitHub and I'd be happy to accept new levels that other people want to create.

Amazing Game! You should add more levels. At my high school we have laptops and this game entertains me and my three friends a tremendous amount. Keep up the good work! I would love to see more games with a party/multiplayer mode from you in the future.

Thanks, and I'm glad you enjoyed it! I don't want to get your hopes up with a new level as I've moved onto other projects, but you can always replay levels and switch roles with your friends (quadruple the content!)