Game review

Lost Treasures

arcadeBrowser

7.1 / 10

Developer
Markus Fisch
Publisher
Markus Fisch
Released
13 September 2017
Platforms
web
Genre
arcade
Monetisation
free
Players
false

The short version

A tiny, visually striking js13k coin-diving game with real dynamic shadows and a rolling sea, held together by touch controls that genuinely work once you know the joystick is on the right and the dive button on the left.

Biggest strengths

  • Genuinely striking presentation for a 13-kilobyte competition entry - real-time shadow mapping, a rolling procedural sea, and fog-shrouded pyramids in the distance
  • Touch controls confirmed working end to end by reading the boat's actual velocity, position, and dive depth from live game state before and after real touch input, not just screenshots - both the movement joystick and the dive button change the right values immediately
  • Desktop arrow-key controls work identically and cleanly, with none of the console noise seen on the touch path

Biggest weaknesses

  • The touch joystick is on the right side of the screen and the dive button on the left - the opposite of what many players might instinctively expect, and nothing on screen labels which is which
  • Every touch interaction throws a console warning (\"Unable to preventDefault inside passive event listener\") from an event listener registered without the {passive:false} option it needs - harmless to a player here, but a real code smell that could bite on browsers that behave more strictly about passive listeners
  • Extremely short and repetitive - find the coins, done, a couple of minutes at most, with no persistent progression between rounds

Who it's for: Fans of small, atmospheric arcade toys and js13k history - not for anyone wanting a deep or lengthy game.

Our recommendation: play

7.1 / 10

Opening

Lost Treasures is a small, calm arcade toy built for js13k 2017 (theme: "lost") — steer a little boat across a stylised, foggy sea, dive down, and recover a handful of lost coins scattered across the seabed. It's exactly the size and scope you'd expect from a 13-kilobyte competition budget, and it makes surprisingly good use of that budget visually: real-time shadow mapping, a rolling procedural sea surface, and pyramids fading into fog on the horizon.

Controls, confirmed the hard way

This one needed real investigation rather than a glance. On first touch, the two circular on-screen controls didn't visibly do anything obvious, and the "Find N lost coins!" banner text never changed no matter what was pressed — which turned out to be a red herring, since that text only updates when you actually recover a coin, not on movement. Reading the actual boat physics (player.v, player.depth, player.matrix) directly out of the running game confirmed the real story: the movement joystick lives on the right side of the screen and the dive button on the left — the reverse of the layout used by most twin-control mobile games — and once pressed in the correct spot, both work immediately and correctly. A right-side joystick drag measurably increased the boat's forward velocity and moved its world position; a left-side press measurably increased dive depth. Desktop arrow keys produce the identical physics response with zero console noise.

One real, if minor, issue turned up during that investigation: every touch interaction throws Unable to preventDefault inside passive event listener due to target being treated as passive in the console. The game's touch handler calls event.preventDefault() from a listener the browser has decided to treat as passive, so the call silently does nothing. It didn't block movement in testing here, but it's exactly the kind of quiet inconsistency that can behave differently across browser versions, and it's worth a developer's attention even though it isn't disqualifying today.

Presentation

For a competition entry this size, the visuals genuinely impress: dynamic shadows cast by the boat and scenery, a semi-transparent rolling sea surface, distant pyramids dissolving into fog — a lot of atmosphere for very little code. It's let down a little by very sparse sound and a short, single-idea play loop with nothing to keep you coming back once you've found the coins a couple of times.

Final Verdict

A tiny, good-looking piece of js13k history that holds up on both desktop and phone once its unconventional control layout is worked out — controls that were confirmed here to genuinely function, not just assumed to. It won't hold anyone's attention for long, but it's a pleasant few minutes and a fair example of what the competition's constraints can produce. Worth a look.

Pros and cons

Pros

  • Genuinely striking presentation for a 13-kilobyte competition entry - real-time shadow mapping, a rolling procedural sea, and fog-shrouded pyramids in the distance
  • Touch controls confirmed working end to end by reading the boat's actual velocity, position, and dive depth from live game state before and after real touch input, not just screenshots - both the movement joystick and the dive button change the right values immediately
  • Desktop arrow-key controls work identically and cleanly, with none of the console noise seen on the touch path
  • Genuine public-domain Unlicense, no analytics

Cons

  • The touch joystick is on the right side of the screen and the dive button on the left - the opposite of what many players might instinctively expect, and nothing on screen labels which is which
  • Every touch interaction throws a console warning (\"Unable to preventDefault inside passive event listener\") from an event listener registered without the {passive:false} option it needs - harmless to a player here, but a real code smell that could bite on browsers that behave more strictly about passive listeners
  • Extremely short and repetitive - find the coins, done, a couple of minutes at most, with no persistent progression between rounds
  • Sparse sound design, mostly ambient with minimal feedback cues

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 5 / 10
  • Originality 7 / 10
  • Replayability 6 / 10
  • Controls 7 / 10