Where's Epstein? is a browser hidden-object collection inspired by Where's Waldo style games. Players search crowded scenes for different meme-famous people across story, bonus, advanced, special, mirrored, and Upside Down routes.
Frontend structure
index.htmlMain document shell, metadata, SEO, body dataset defaults, and fragment mount pointsfragments/screens.htmlHome, level select, settings, and gameplay screen markupfragments/ui-shell.htmlShared page arrows, overlays, changelog shell, and toast UIstyles/main.cssLayout, themes, HUD, page identity, and responsive rulesstyles/effects.cssMotion, hover states, layered home animation, and visual polishscripts/ui-shell.jsLoads the screen and UI fragments before the game starts
- Story route with normal level progression
- Bonus levels with separate unlock logic
- Advanced levels with two-target scenes
- Advanced bonus levels
- Extras page with speedrun routes, mirror mode, Upside Down mode, and special-level slots
- In-level magnifier tool
- Local save data for score, stars, progress, and settings
- Theme, motion, magnifier, and preload settings
index.htmlMain app structure, screens, overlays, buttons, and required DOM ids.styles/main.cssLayout, themes, menu structure, play HUD, start-screen layering, and responsive styling.styles/effects.cssAnimation timing, hover states, button entrance effects, cloud and decor motion, and easter-egg visuals.scripts/app.jsBoot entry point.scripts/game.jsMain game controller, progression, scoring, input, overlays, caching, speedrun logic, and settings.scripts/home-ui.jsStart-screen placement math, home button alignment, sheen timing, and editor/debug rendering.scripts/game-renderer.jsPreview rendering, hitbox rendering, and UI sync for found targets.scripts/levels.jsLevel data, names, asset paths, start-screen layout data, and target hitboxes.scripts/storage.jsLocal storage schema, settings save/load, level results, and speedrun stats.
- Main backgrounds:
Assets/Bakgrounds/ - Bonus backgrounds:
Assets/Bakgrounds/ - Advanced backgrounds:
Assets/Bakgrounds/advanced/ - Special backgrounds:
Assets/Bakgrounds/Special/ - Main target previews:
Assets/Waldos/ - Advanced target previews:
Assets/Waldos/advanced/ - Special target previews:
Assets/Waldos/Special/ - Start-screen UI art:
Assets/ui/ - Social/share image:
Assets/thumb.png
All target hitboxes use original image pixel coordinates from the source art.
Rectangle example:
hitbox: { type: "rect", x1: 300, y1: 220, x2: 390, y2: 370 }Circle example:
hitbox: { type: "circle", x: 640, y: 380, radius: 60 }The game normalizes reversed rectangle corners automatically, so either order still works.
The start screen uses two exported data blocks from scripts/levels.js:
START_SCREEN_BUTTONSSTART_SCREEN_LAYERS
These values are original-image coordinates, not browser pixels.
When cheat tools are enabled, the home editor can:
- move layers
- resize layers
- rotate layers
- hide or show editor boxes
- lock individual items
- export the selected item or the whole start-screen layout block
- Loaded images stay cached in memory through the game session
- Home boot preloads start-screen assets before the intro begins
- Early gameplay preloads upcoming level art and preview images
- Speedrun preloading warms a wider pool based on the preload setting
- The project is tuned with lower-power devices like Chromebooks in mind
- Mirror and Upside Down variants do not overwrite standard progress
- Level Clearance is an unlock-only cheat mode intended for authored-level testing
- Full cheat tools still separate cheated runs from normal runs
- Missing art produces readable fallback messages instead of silently failing
- Game by StaticQuasar931
- Start-screen UI help and art-layer work by Cheese_Cat