Game review

FOURFOLD

7.5 / 10

Developer
Mohammed Saud
Publisher
Mohammed Saud
Released
1 January 2020
Platforms
Web browser (desktop and mobile)
Genre
Puzzle
Monetisation
Free, no ads, no in-game purchases (an inert Web Monetization meta tag is present but makes no network calls in ordinary browsers)
Players
None

The short version

FOURFOLD is a compact WebGL puzzle built for the 2020 js13k competition's Mobile category, and despite an earlier finding that flagged it as keyboard-only, this review found real, working touch controls once the point of entry is understood correctly. The title screen has a "TOUCH CONTROLS" checkbox that, once enabled, replaces the swipe-to-drag input (which genuinely doesn't drive movement, confirmed by reading the source) with a proper four-button on-screen d-pad rendered below the game's compact 3D viewport. Tapping those buttons was tested directly and visibly moved the player's cube across the tilted pyramid of blocks, both toward the goal tile and back. The 3D view itself is deliberately small and fixed at the top of the page — sized like a js13k-era postage stamp rather than a full-screen canvas — but unlike other candidates with a similarly fixed canvas, the rest of the screen isn't wasted: it holds the actual touch controls, not empty black bars. The puzzle concept (rotate your perspective around a cube tower, hop along its faces to reach a target) is clever, if light on content at only a handful of levels tested.

Biggest strengths

  • Touch controls confirmed functional with real synthetic taps, not inferred from source — after enabling "TOUCH CONTROLS" on the title screen, tapping the on-screen d-pad buttons visibly moved the player's cube across the level multiple times in testing
  • The on-screen d-pad calls the exact same keydown/keyup handlers the keyboard uses (confirmed by reading src/ui/hud.js), so it drives the real game logic rather than a separate, potentially out-of-sync touch-only code path
  • The fixed, compact 3D viewport doesn't waste the rest of the phone screen — the space below it is genuine, usable UI (menu, HUD, and the touch d-pad itself), not empty letterboxing

Biggest weaknesses

  • Touch support is opt-in and easy to miss — the checkbox is unlabeled beyond its own text and a first-time player who just starts swiping (the default state) will find that swiping the 3D view does nothing at all, since the drag-based input is captured but never actually consulted by the movement code
  • The 3D viewport is quite small and fixed-size even on desktop, more like a window into the puzzle than an immersive view of it
  • Only a handful of levels were explored in testing; the overall content length and difficulty curve across the full level set is unconfirmed

Who it's for: Puzzle fans who like small, clever 3D spatial-reasoning games and don't mind a compact viewport

Our recommendation: A genuinely touch-playable js13k puzzle once you find the touch-controls toggle — worth flipping that switch before writing it off as desktop-only

7.5 / 10

FOURFOLD is a 13-kilobyte WebGL puzzle from the 2020 js13k competition's Mobile category: hop a small cube across the exposed faces of a tilted pyramid of blocks, rotating your sense of "up" each time you jump, until you land on the glowing target tile. It's a clean, small idea, rendered in flat-shaded 3D with a soft gradient sky, and it holds up as a neat bit of spatial puzzling.

Touch controls exist, and they work

This candidate arrived with a flag worth investigating carefully: an earlier pass had confirmed that the game's canvas wires up pointerdown/pointermove/pointerup handlers, but that the player-movement code only ever reads Key.up/down/left/right — the keyboard flags — and never touches the pointer-drag delta the input layer captures. That's correct as far as it goes; this review confirmed the same thing by reading src/player.js directly. But it's not the whole picture. The title screen has an easy-to-miss "☐ TOUCH CONTROLS" checkbox, and enabling it does something the swipe-based input never did: it renders a genuine four-button on-screen d-pad at the bottom of the screen, and each button's pointerdown/pointerup handler calls the game's own onkeydown/onkeyup functions directly with the matching arrow-key code (confirmed by reading src/ui/hud.js). That's not a cosmetic touch layer bolted on top of a broken system — it's a second, fully-functional input path that drives the exact same movement logic the keyboard does.

Tested directly rather than assumed: enabling the checkbox, starting a level, and tapping the on-screen d-pad buttons produced a real, visible change in the player cube's position on the pyramid across five consecutive taps, both climbing toward the goal and stepping back down. Arrow keys produced the identical movement on desktop. Zero console errors, zero page errors, and zero failed requests throughout.

A small window, but not a wasted screen

The game's 3D view is a genuinely small, fixed-size canvas — confirmed at exactly 390×219 CSS pixels on a 390-wide phone, positioned at the very top of the page — closer to a fixed js13k-era render target than a canvas that fills the device. That's a real aesthetic tradeoff: you're looking at the puzzle through a letterbox rather than an immersive view. What keeps this from being the same problem seen in some other fixed-canvas candidates is that the rest of the screen here isn't empty. It's the menu, the pause HUD, and — critically — the actual touch d-pad, all genuine, usable interface rather than dead black space.

Where that leaves it

A 7.5 reflects a clever, well-made puzzle with real, confirmed touch support that's easy to miss on first glance because it's opt-in rather than automatic. Clearing the pass mark here specifically corrects an earlier "keyboard-only" read: the swipe-drag path genuinely doesn't work, but the dedicated on-screen d-pad genuinely does, and it's the intended way to play this on a phone. Licensed MIT by Mohammed Saud, small in scope, and worth the few minutes it takes to find that checkbox.

Pros and cons

Pros

  • Touch controls confirmed functional with real synthetic taps, not inferred from source — after enabling "TOUCH CONTROLS" on the title screen, tapping the on-screen d-pad buttons visibly moved the player's cube across the level multiple times in testing
  • The on-screen d-pad calls the exact same keydown/keyup handlers the keyboard uses (confirmed by reading src/ui/hud.js), so it drives the real game logic rather than a separate, potentially out-of-sync touch-only code path
  • The fixed, compact 3D viewport doesn't waste the rest of the phone screen — the space below it is genuine, usable UI (menu, HUD, and the touch d-pad itself), not empty letterboxing
  • A clever core mechanic: hopping a cube along the faces of a tilted block pyramid to reach a highlighted goal tile, confirmed working via both the on-screen d-pad and desktop arrow keys
  • Genuinely MIT licensed by the author, Mohammed Saud, with a real LICENSE file in the repository
  • Zero console errors, zero page errors, and zero failed requests across every test

Cons

  • Touch support is opt-in and easy to miss — the checkbox is unlabeled beyond its own text and a first-time player who just starts swiping (the default state) will find that swiping the 3D view does nothing at all, since the drag-based input is captured but never actually consulted by the movement code
  • The 3D viewport is quite small and fixed-size even on desktop, more like a window into the puzzle than an immersive view of it
  • Only a handful of levels were explored in testing; the overall content length and difficulty curve across the full level set is unconfirmed

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.5 / 10
  • Visuals 7.5 / 10
  • Originality 7.5 / 10
  • Replayability 7 / 10
  • Controls 7.5 / 10