Game review

Cooking for Skully

6.5 / 10

Developer
Gabor Héja
Publisher
Gabor Héja
Released
1 January 2022
Platforms
Web browser (desktop and mobile)
Genre
Cooking / Time management
Monetisation
Free, open source, no ads; optional non-gating Web Monetization and NEAR-testnet bonuses (convenience perks, not paywalled content)
Players
Single-player only

The short version

Cooking for Skully wants to be Overcooked reimagined as a devil cooking for his skeleton girlfriend, and the writing and pixel art genuinely sell that pitch — a cinematic, fully-voiced-in- text intro sets up Skully, the Devil, and a Goblin who runs the kitchen, before dropping the player into an isometric lava-side kitchen to fry, chop and plate against the clock. js13k's own 2022 judges gave it 1st place in the Decentralized bonus category for its NEAR-testnet integration, and the comment thread is full of genuine warmth for the humour and presentation. Underneath that charm, though, are two real, independently-reported problems: reading the source shows the game loop never measures elapsed time, so it runs at whatever speed a browser's requestAnimationFrame happens to fire — literally double speed on a 120Hz monitor, according to one judge who tested it directly — and several separate judges got stuck on the same recipe-order confusion, not just one.

Biggest strengths

  • The writing carries the whole thing — Skully, the Devil and the Goblin have real comic timing, and more than one competition judge singled out the humour by name years after judging hundreds of other entries that week
  • Desktop keyboard controls were tested directly and work cleanly: WASD moved the character reliably across the kitchen floor, and a proximity-based "In front of you: [character]" prompt correctly appeared and updated as the player approached different NPCs
  • The isometric lava-kitchen art is genuinely attractive and reads clearly even at phone size, and the UI swaps its on-screen button hints (A/B/Space) live depending on whether the last input was touch or keyboard, a small but real polish detail

Biggest weaknesses

  • The shipped bundle calls `requestAnimationFrame` with no `performance.now()` or `Date.now()` call anywhere in the update loop, meaning game speed is tied directly to however often the browser fires a frame rather than to real elapsed time; js13k judge Rob Louie confirmed the practical result first-hand, reporting the game ran at double speed on his 120Hz monitor and had to be replayed on an older 60Hz laptop to be playable at all
  • Multiple separate judges independently got stuck on the same recipe-order friction rather than each hitting a different, one-off point of confusion — several reported the game telling them they had "forgotten the recipe" or that ingredient order looked wrong, which points to a genuine clarity gap in how the game communicates what to fetch first, not isolated player error
  • One 2022 judge described mobile controls as "a bit janky" while noting the same build "plays well on pc"; testing could not cleanly rule this in or out on a simulated touchscreen — a virtual joystick drag produced only a small, uncertain amount of movement compared to how clearly the same testing method moved other games' characters, which is consistent with, though not conclusive proof of, that judge's report

Who it's for: Overcooked fans who enjoy a game with genuine writing and don't mind a long intro before the timer starts

Our recommendation: Play it on a standard 60Hz desktop with a keyboard; approach a high-refresh-rate screen or a touchscreen with tempered expectations

6.5 / 10

Cooking for Skully opens with a joke that only really lands once you've played it: the Devil is cooking dinner for his skeleton girlfriend, Skully, in a kitchen built into the side of a lava lake, and everyone in his life — the Goblin who actually runs the place, Skully herself on the phone — treats this as completely ordinary. It's a strong hook for a js13k 2022 entry from Gabor Héja, and the writing keeps that comic register through a genuinely long cinematic opening before handing control over. Once it does, the game is a fairly conventional Overcooked-style loop — grab ingredients, cook them in the right order, plate them before a customer's patience runs out — dressed in isometric pixel art that reads clearly even at phone resolution.

The writing is real, and the judges said so unprompted

It's worth taking seriously that Cooking for Skully's competition comment thread is unusually warm for a jam game. Salvatore Previti called it "a little gem" that "made me laugh (in a good way)"; Jerome Lecomte called it "a nice spin on Overcooked" with "bonus points for the cinematic intro"; Taufik Sani, a self-described Overcooked fan, praised how the concept stayed fresh while fitting into 13 kilobytes. That's not manufactured enthusiasm — js13k judges play dozens of entries in a short window and rarely single out writing specifically, and several did here independently.

A frame-rate bug the source confirms, and a judge caught in the wild

The most important technical finding here didn't come from playing the game — it came from reading the shipped bundle. Searching it for the two calls a game needs to measure real elapsed time between frames, performance.now() and Date.now(), turns up neither; the only timing primitive present is requestAnimationFrame itself, called with no delta-time calculation visible anywhere in the update logic. That matters because requestAnimationFrame fires once per display refresh, not once per fixed time slice — on a standard 60Hz screen that's roughly 60 times a second, but on a 120Hz gaming monitor it's roughly 120 times a second. A game that advances its state by a fixed amount per callback, rather than scaling that amount by real elapsed time, will simply run twice as fast on a 120Hz screen. Js13k judge Rob Louie reported exactly this in 2022, in enough technical detail to confirm the mechanism rather than just the symptom: "the game ran at double speed, most likely because I have a 120hz monitor," to the point that he broke out an old 2015 MacBook specifically to get a 60Hz screen and play it properly. This isn't a hypothetical edge case either — a growing share of Android phones, the exact device class this shelf serves, now ship 90Hz or 120Hz displays by default, so the same bug plausibly affects a meaningful slice of mobile players too, not just desktop gamers with high-refresh monitors.

Recipes confused more than one player, not just one

Separately from the speed issue, the competition comments show a pattern rather than a single complaint: Brian Hambley "couldn't get the order to accept" until realising an order had to be selected first; Thiago Romão Barcala noted "the order in the recipes appears wrong. it says to grab a pan first, while the meat is to be grabbed at first"; João Lopes and Jonas Olmstead both separately hit a "forgot the recipe" message they couldn't interpret. Four different people independently getting stuck on the same category of confusion, across the same one-week judging window, is a genuine interface signal rather than a coincidence of four unrelated players missing an obvious cue.

Controls: solid on a keyboard, genuinely uncertain on a touchscreen

Desktop testing was unambiguous and positive. Pressing W repeatedly moved the character cleanly across the kitchen floor toward an NPC, and the game correctly displayed a live "In front of you: [name]" prompt that updated as the player's position changed — real, working proximity detection rather than a static hint. The UI also swaps its displayed button icons between touch glyphs and a keyboard's "Space" label depending on which input was used last, a small adaptive touch that works well in practice.

Mobile is where this review has to be honest about the limits of its own evidence. A real emulated touchscreen drag on the on-screen movement joystick produced only a small, uncertain amount of on-screen movement — nowhere near as clear a result as the same testing method produced on other games' virtual joysticks in this same review cycle. That's not proof the mobile controls are broken; a synthetic touch-drag is an imperfect stand-in for a sustained real finger hold, and this review would rather say so than overclaim a verdict its own tooling can't fully support. What tips the balance is that a 2022 js13k judge reported the identical class of problem independently, in the judge's own words: "Mobile controls are a bit janky but plays well on pc." Testing here didn't contradict that; it just couldn't independently confirm it beyond a suggestive, inconclusive result.

Final verdict

There's a genuinely likeable game under all of this — the writing is better than almost anything else in its jam-game weight class, the art is charming, and taking 1st place in js13k's Decentralized bonus category for a real NEAR-testnet integration is a legitimate, citable achievement. But this shelf exists specifically to test whether a game respects the phone it's played on, and between a source-confirmed frame-rate bug that can double the game's speed on increasingly common high-refresh displays, recipe instructions that tripped up several independent judges rather than one confused player, and a first-party report of janky touch controls this review's own testing could only partially interrogate, the honest score sits just under the pass line. None of these are fatal to the writing or the art, but together they're more than "notable limitations" — they're the specific list of things this section is built to catch.

Pros and cons

Pros

  • The writing carries the whole thing — Skully, the Devil and the Goblin have real comic timing, and more than one competition judge singled out the humour by name years after judging hundreds of other entries that week
  • Desktop keyboard controls were tested directly and work cleanly: WASD moved the character reliably across the kitchen floor, and a proximity-based "In front of you: [character]" prompt correctly appeared and updated as the player approached different NPCs
  • The isometric lava-kitchen art is genuinely attractive and reads clearly even at phone size, and the UI swaps its on-screen button hints (A/B/Space) live depending on whether the last input was touch or keyboard, a small but real polish detail
  • js13k's 2022 "Decentralized" bonus category — judging Web Monetization and NEAR blockchain integrations specifically — ranked this 1st out of that year's field, a genuine, verifiable achievement distinct from the main competition placement
  • The Coil and NEAR-testnet bonuses (infinite ingredients, auto-stop cooking) are clearly labelled optional conveniences rather than a paywall gating core content, and core recipes are playable in full without either

Cons

  • The shipped bundle calls `requestAnimationFrame` with no `performance.now()` or `Date.now()` call anywhere in the update loop, meaning game speed is tied directly to however often the browser fires a frame rather than to real elapsed time; js13k judge Rob Louie confirmed the practical result first-hand, reporting the game ran at double speed on his 120Hz monitor and had to be replayed on an older 60Hz laptop to be playable at all
  • Multiple separate judges independently got stuck on the same recipe-order friction rather than each hitting a different, one-off point of confusion — several reported the game telling them they had "forgotten the recipe" or that ingredient order looked wrong, which points to a genuine clarity gap in how the game communicates what to fetch first, not isolated player error
  • One 2022 judge described mobile controls as "a bit janky" while noting the same build "plays well on pc"; testing could not cleanly rule this in or out on a simulated touchscreen — a virtual joystick drag produced only a small, uncertain amount of movement compared to how clearly the same testing method moved other games' characters, which is consistent with, though not conclusive proof of, that judge's report
  • The cinematic intro is long: reaching free-roam gameplay took dozens of dialogue advances in testing, matching a competition judge's own complaint that "the intro was a bit long," and the game also loads a monetisation-related `/socket.io.js` script from an absolute root path that 404s on this host — harmless to core play, but a loose end from the original submission

Category scores

Category scores are the reviewer's read on each area. They inform the overall score but do not average into it — the number at the top of the page is a judgement, not a calculation.

  • Gameplay 7 / 10
  • Visuals 7.5 / 10
  • Performance 5.5 / 10
  • Value 8.5 / 10
  • Originality 6.5 / 10
  • Replayability 6 / 10
  • Interface 6 / 10