Game review

Dante

7.5 / 10

Developer
Salvatore Previti
Publisher
Salvatore Previti (self-published, js13kGames competition entry)
Released
13 September 2022
Platforms
Web browser (desktop and mobile)
Genre
3D action-adventure / collectathon
Monetisation
Free, open source (MIT), no ads and no in-game purchases
Players
Single-player only

The short version

Dante spends its 13-kilobyte budget on a genuinely distinctive campy-hell CSG world, a commissioned metal score, and — the part that matters most for this shelf — a virtual joystick that actually works, including two independent thumbs at once in first-person mode. What it doesn't spend much space on is game: collect thirteen souls, flip the odd lever, no combat, no jump, no real hazard, and a full clear fits comfortably inside twenty minutes with nothing to come back for afterward. It is a remarkable piece of size-constrained engineering wearing a fairly slight game, and the js13k judges rewarding it first overall and first for mobile out of 167 entries is a verdict on the engineering, not a guarantee of lasting appeal.

Biggest strengths

  • A genuine dual-zone virtual joystick, confirmed by holding down real simultaneous touches (not simulated clicks) rather than by the presence of touch listeners — one thumb dragging to walk while a second, independent thumb drags to rotate the first-person camera at the same time, both registering with zero console errors
  • Held-touch testing on the top-down mode showed sustained, continuous movement for as long as the drag was held, and kept moving the same direction the drag pointed rather than drifting or resetting — exactly the failure mode that sinks most invisible-joystick implementations
  • The constructive-solid-geometry level art (a custom binary-space-partition engine, cascaded shadow maps, procedurally generated lava and stone SVG textures) produces a genuinely distinctive campy 90s-CGI hellscape rather than another grey js13k tech demo

Biggest weaknesses

  • The loop underneath all the engineering is thin: walk to a glowing soul, carry it to a chute, flip the occasional lever, repeat thirteen times — no combat, no real hazard, and the developer's own post-mortem confirms jumping was cut on purpose to keep the touch scheme simple ("many reported that jumping could have improved the game, and I agree")
  • Both camera modes (top-down and first-person) run the same fetch loop over the same level, so switching between them changes the camera far more than it changes what you're doing
  • The joystick zones have no on-screen indicator at all, so a first-time phone player has to learn by trial and error where dragging actually does something — the developer's own post-mortem calls the touch scheme "not perfect, but... playable," which matches testing

Who it's for: Players curious what a hand-built 3D engine and real touch controls can do in 13KB, and anyone who wants a ten-minute mood piece rather than a long session

Our recommendation: Worth the one short sitting it takes to see both camera modes and the joystick work properly on a phone; not something to expect to return to afterward

7.5 / 10

Dante spends its entire 13,312-byte budget on a joke Dante Alighieri would probably have enjoyed: the infernal delivery service has had a shipping error, and Lucifer's own errand devil has to personally walk thirteen lost souls down to the eighth circle before anyone notices. That premise is a single line of menu text. What it is actually in service of is one of the more technically accomplished 3D scenes to come out of a js13k entry — hand-built constructive solid geometry, cascaded shadow maps, a bespoke GLSL minifier and compression chain — wrapped around touch controls that, unusually for a 3D game this small, genuinely work with two thumbs moving independently at once. The game riding on top of all that engineering is a lot thinner than the engine underneath it, and that gap is the whole story of this review.

Two thumbs, two joysticks that actually work

This shelf exists because touch controls on 3D web games usually fail quietly — a game ships touchstart handlers, technically "supports touch," and then turns out to only aim or only look around, never move. Dante's README claims genuine dual invisible joysticks in first-person mode: one thumb for movement, a second, independent thumb for the camera. That is a much harder claim to make good on than a single move-stick, because it requires the engine to track two simultaneous, independently-moving touch points without either one stomping on the other.

Testing it with real held-and-dragged touches — not a synthetic click, which is exactly the kind of shortcut that would miss whether this actually works — confirmed it. In top-down mode, holding a thumb down and dragging it produced sustained, continuous movement across the level for as long as the touch was held, tracking the drag direction the whole time rather than drifting off it or resetting after the first frame; two consecutive held drags carried the character a genuinely long distance across the map, visibly closing on distant landmarks rather than nudging in place. Switching to first-person and holding two touches down together — a left thumb dragging up to walk forward, a right thumb dragging sideways to look around — rotated the camera by a large, clearly deliberate amount while the walk input was still active, and both inputs kept being read without either one going stale or throwing a console error. Keyboard and mouse on desktop worked exactly as expected too, WASD walking the character across the same geometry cleanly.

The one piece testing could not pin down is the interact action — tapping a lever, or the soul pickup itself — on a phone specifically. Movement and camera look are unambiguous; a clean, repeatable confirmation of the tap-to-interact mechanic on touch was not obtained in the time available, so this review is not claiming to have completed a delivery by touch alone, only that the two hardest control primitives (simultaneous move-and-look) are real and working. There is also no visible on-screen prompt for either joystick zone — you find out where your thumb needs to be by trying it — and the developer's own post-mortem is candid about the tradeoff: "Touch screen was much more difficult than I expected... Is not perfect, but is playable on mobile," which is a fair description of what testing found.

Rendering hell inside 13 kilobytes

The visual identity is doing a lot of the game's work. Instead of the pentagrams and inverted crosses "infernal" usually reaches for, the level geometry leans on hexagons and pentagons — a deliberate choice by the developer to avoid the obvious — carved out of solid shapes with a binary-space-partition CSG implementation the size of a few hundred lines, casting real shadows through a two-level cascaded shadow map so they stay sharp near the camera without falling apart at distance. The lava and stone textures are generated procedurally with SVG filters rather than shipped as image files, in service of the aesthetic the post-mortem explicitly names: 90s B-movie CGI, Lawnmower Man and Hackers by way of Doom and the demoscene, deliberately campy rather than grimdark. It holds together; the little red devil protagonist, the wandering ghosts, and the gaudy purple-and-grey architecture all read as one consistent, slightly ridiculous world rather than a grab-bag of jam assets.

The score matches it. Rather than a stock loop, the developer commissioned an original piece from Ryan Malm built around a metal reworking of Beethoven's Piano Sonata No. 14 — an unusual and genuinely well-judged pairing with the setting, and a level of production most 13-kilobyte jam entries don't attempt. Testing across both phone and desktop profiles produced zero console errors, zero page errors and zero failed requests on every run, so whatever corners had to be cut to fit the code into 13KB didn't cost stability. The developer's own post-mortem is honest that this isn't universal — older machines "were indeed suffering quite a bit," and some of the procedural texture generation reportedly takes half a second or more on weaker hardware — but nothing in this review's testing surfaced that.

Thirteen souls and not much else

Strip away the rendering and the loop is: find a glowing soul, walk it to a chute, occasionally flip a lever to open a path, repeat thirteen times. There's no combat, no real hazard visible in testing, and no jump — the developer says so directly in the post-mortem, having cut it on purpose to avoid adding a second touch input, and admits in the same breath that "many reported that jumping could have improved the game, and I agree." Both camera modes run this same loop over the same level, so choosing top-down over first-person is a presentation decision more than a different way to play. Based on the pace of movement and the level layout seen in testing, a full clear plausibly fits inside twenty minutes, and there is no unlockable content, difficulty tier, or second area to justify opening it again afterward beyond trying the other camera.

None of that undoes what the engineering earns. Js13kGames' organizers list Dante first among the 2022 winners — the competition drew 167 entries that year — with a judge's note praising the "amazing amount of 3D gameplay going on here for just 13k," and the game separately took first place in the dedicated Mobile category, a claim repeated consistently by the author and by outside coverage of that year's results. That is about as strong a peer signal as anything in this shelf's candidate queue carries: hundreds of competing developers, judged blind, rewarding this one twice. It is a fair verdict on what Previti built as an engineering showcase. It is not, on its own, proof that the game underneath is worth returning to — and on that specific, narrower question, twenty minutes of thin fetch-questing is the more honest answer.

Pros and cons

Pros

  • A genuine dual-zone virtual joystick, confirmed by holding down real simultaneous touches (not simulated clicks) rather than by the presence of touch listeners — one thumb dragging to walk while a second, independent thumb drags to rotate the first-person camera at the same time, both registering with zero console errors
  • Held-touch testing on the top-down mode showed sustained, continuous movement for as long as the drag was held, and kept moving the same direction the drag pointed rather than drifting or resetting — exactly the failure mode that sinks most invisible-joystick implementations
  • The constructive-solid-geometry level art (a custom binary-space-partition engine, cascaded shadow maps, procedurally generated lava and stone SVG textures) produces a genuinely distinctive campy 90s-CGI hellscape rather than another grey js13k tech demo
  • An actual commissioned score by Ryan Malm, built around a metal reworking of a Beethoven piano sonata, rather than a stock jam loop bolted on afterward
  • First place overall AND first place in the Mobile category at js13k 2022 against 167 entries — corroborated by GitHub's own winners writeup, not just the author's README

Cons

  • The loop underneath all the engineering is thin: walk to a glowing soul, carry it to a chute, flip the occasional lever, repeat thirteen times — no combat, no real hazard, and the developer's own post-mortem confirms jumping was cut on purpose to keep the touch scheme simple ("many reported that jumping could have improved the game, and I agree")
  • Both camera modes (top-down and first-person) run the same fetch loop over the same level, so switching between them changes the camera far more than it changes what you're doing
  • The joystick zones have no on-screen indicator at all, so a first-time phone player has to learn by trial and error where dragging actually does something — the developer's own post-mortem calls the touch scheme "not perfect, but... playable," which matches testing
  • Testing could confirm movement and camera-look working end to end via touch, but could not conclusively confirm the tap-to-interact lever/soul-collection action itself on a phone in the time available — a gap worth a second look rather than a settled result
  • A clear run is short enough to fit in one sitting with nothing unlocked afterward, so there is little reason to reopen it once both modes have been seen

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 6.5 / 10
  • Visuals 8.5 / 10
  • Sound 7.5 / 10
  • Originality 8.5 / 10
  • Replayability 5.5 / 10