Game review
Focus Hunt
3.2 / 10
- Developer
- Dimitri Masson (GitHub: dhmmasson)
- Publisher
- Independent (Ludum Dare 57 Compo entry)
- Released
- 1 January 2025
- Platforms
- Web browser (desktop and mobile)
- Genre
- Puzzle
- Monetisation
- Free, open source, no ads and no in-game purchases
- Players
- Single-player only
The short version
Focus Hunt's core idea is a real, distinctive twist on the hidden-object genre — instead of scanning a static picture for tiny objects, you drag a shallow depth-of-field around a photograph until the thing you're looking for snaps into focus. That part works, confirmed by moving a real touch point around the canvas and watching the tracked focus value respond in real time. What doesn't work is the one action the entire game is built on: tapping to photograph an object. Confirmed directly, both on a random miss and on a precisely aimed tap at a real target's exact pixel location, the tap handler's flood-fill routine runs away, freezes the page for roughly 20-30 seconds, and then throws an uncaught "Set maximum size exceeded" exception without registering the find. A hidden-object game whose click reliably breaks is not in a state this shelf can list.
Biggest strengths
- "Search by dragging focus into place" is a genuinely original way to interact with a hidden-object picture, distinct from every static look-and-find clone
- The depth-tracking itself is solid: a real touch drag was confirmed, via the game's own internal state, to update the focus target in lockstep with the finger's position, mapped correctly from viewport pixels through to the underlying artwork's coordinate space
- The AI-collage artwork (a woven Easter basket scene with hidden letters, bluebells, a one-eared rabbit and ladybugs worked into the texture) is genuinely attractive and well suited to a look-and-find
Biggest weaknesses
- "Tap to photograph" — the single verb this game exists to test — reliably freezes the page for roughly 20-30 seconds and then crashes with an uncaught exception, confirmed on both a random background tap and a tap aimed precisely at a real hidden object's pixel location; neither find registered afterward
- The bug lives in `removeObject`'s flood-fill, which enqueues neighbouring pixels without a bounds check on the image edges, letting the fill wrap across row boundaries and runs away across the picture; it is not touch-specific and reproduces from a plain mouse click too
- The shipped page referenced a `libraries/p5.touchgui.js` file that returned a 404 on every load; it turned out to be unused dead weight and has been dropped from the page for this listing, but its presence in the shipped build wasn't a good sign
Who it's for: Nobody, as currently shipped — revisit if the developer patches the flood-fill bug
Our recommendation: Do not install; the central interaction is broken badly enough that the game cannot be completed
3.2 / 10
Most hidden-object games hand you one static, cluttered picture and ask you to spot a list of tiny things in it. Focus Hunt, built in 48 hours for Ludum Dare 57's "Depths" theme, tries something sharper: the picture is permanently out of focus except for a small region tracking your cursor or finger, and finding something means dragging that shallow depth-of-field across the scene until the hidden letter, bluebell, rabbit or ladybug swims into clarity. Reading src/game.js and then testing it directly confirms the idea is real and not just a description — a touch drag across the canvas was tracked and reported back through the game's own internal state, moving in exact lockstep with the finger, correctly translated from screen pixels into the underlying artwork's coordinate space. As a search mechanic, "drag focus, not a cursor" is a genuinely fresh idea for this genre.
The one action that has to work does not
Finding an object in Focus Hunt requires a second step beyond bringing it into focus: you have to click or tap it. That handler is where this review stopped being able to recommend the game. Tapping a spot in the picture — tested first as an ordinary miss on open background, then a second time aimed precisely at the exact pixel coordinates of a real target object, confirmed against the game's own hidden-object index map before tapping — froze the page for roughly 20 to 30 seconds and then threw an uncaught Set maximum size exceeded exception in both cases, without registering a find either time. This isn't a rare edge case: it happened on the very first deliberate object tap tried, using coordinates read directly from the game's own data rather than guessed from a screenshot.
The cause is visible in the source. removeObject flood-fills outward from the tapped pixel across an invisible "index" image to clear whatever object silhouette was clicked, but it enqueues neighbouring pixels (x+1, x-1, y+1, y-1) with no check that they're still inside the image bounds. At a row's edge, that lets the fill wrap around into the next or previous row as if the picture had no edges at all, and once it can leak between unrelated rows, a flood-fill that should stop at one object's outline can instead run away across most of a 1080x1080 image. It isn't touch-specific either — a plain mouse click on desktop drives the exact same code path, though this review wasn't able to trigger the freeze from every desktop click attempted, which suggests it depends on exactly which pixel gets hit rather than firing on literally every tap.
Should you play it
Not in this state. A hidden-object game is built entirely around the click that confirms a find, and that click has a real chance of locking up the tab for half a minute before crashing outright, on a miss or a hit alike. The depth-of-field search idea and the artwork underneath it deserve a second look if the flood-fill bounds check gets fixed, but as shipped there's no safe way to play this through to the finish, on a phone or otherwise.
Pros and cons
Pros
- "Search by dragging focus into place" is a genuinely original way to interact with a hidden-object picture, distinct from every static look-and-find clone
- The depth-tracking itself is solid: a real touch drag was confirmed, via the game's own internal state, to update the focus target in lockstep with the finger's position, mapped correctly from viewport pixels through to the underlying artwork's coordinate space
- The AI-collage artwork (a woven Easter basket scene with hidden letters, bluebells, a one-eared rabbit and ladybugs worked into the texture) is genuinely attractive and well suited to a look-and-find
- MIT licensed, properly credited, no ads or analytics; the hardcoded personal Dreamlo leaderboard key found in the source was removed for this listing rather than shipped
- No platform gate hides the touch path — mobile and desktop share the same input code
Cons
- "Tap to photograph" — the single verb this game exists to test — reliably freezes the page for roughly 20-30 seconds and then crashes with an uncaught exception, confirmed on both a random background tap and a tap aimed precisely at a real hidden object's pixel location; neither find registered afterward
- The bug lives in `removeObject`'s flood-fill, which enqueues neighbouring pixels without a bounds check on the image edges, letting the fill wrap across row boundaries and runs away across the picture; it is not touch-specific and reproduces from a plain mouse click too
- The shipped page referenced a `libraries/p5.touchgui.js` file that returned a 404 on every load; it turned out to be unused dead weight and has been dropped from the page for this listing, but its presence in the shipped build wasn't a good sign
- With the central mechanic broken, there is no way to verify the stated win condition (finding all 12 hidden objects across four categories) without repeatedly risking the freeze