Spot the Difference
Compare the two 3D scenes and select each difference you find.
How to use this tool
Compare two synchronized, rotatable low-poly 3D scenes and find 5 to 8 authored differences across eight landmark-inspired levels.
Experience next-generation 3D spatial Spot the Difference powered by WebGL. Freely orbit, pan, and zoom around two synchronized 3D scenes to identify subtle geometry, color, and positional discrepancies, exercising visual memory and spatial reasoning.
💡 3 Quick Steps to Get Started
Start the challenge to inspect dual synchronized real-time 3D rendered environments.
Left-click and drag to rotate 360 degrees, and use the scroll wheel to zoom into intricate architecture.
Click directly on the anomalous 3D object to confirm the match and complete the level.
When it helps
The eight-level campaign never repeats a landmark. Relaxed replay randomizes the answer set, level 1 unlocks a local-date Daily challenge, and level 8 unlocks endless World Tour.
How it works
Drag either scene to rotate both, zoom with a wheel or pinch, then select differences. Every run has two hints; Daily mistakes add 3 seconds and each hint adds 10 seconds.
Worked example
Example: finish the Himeji Castle-inspired scene to visit the next unique landmark, or replay it with another randomly selected, reviewed valid difference set.
Limits and data handling
The game requires WebGL, and device GPU, performance, or network conditions can affect loading. Scenes are low-poly interpretations of architectural cues, not precision building models. Same-origin Firebase assets may be cached by the browser or hosting layer, but no exact cache or deletion duration is guaranteed. You can retry or go back after a failure.
Level progress, in-progress answers, Daily personal best, World Tour history, and audio preferences stay in localStorage only. Same-origin Firebase serves static scene assets. GA4 receives only bounded tool, category, locale, mode, landmark, level, found-count, hint-count, and load outcome code context (success, unsupported WebGL, asset error, context loss, or restore failure)—not answer IDs, seeds, coordinates, time, progress, history, raw errors, or stack traces. H5 interstitial ads remain disabled while AdSense is under review. Activation requires separate H5 eligibility plus approved design, inventory declaration, policy review, tests, and production verification. Existing page ads remain subject to availability.
WebGL 3D Rendering, Spatial Geometry Diff & Cognitive Design Guide
1. WebGL & Three.js 3D Graphics Pipeline Architecture
Unlike static 2D spot-the-difference puzzles, 3D spatial comparison operates on real-time WebGL graphics pipelines. The rendering loop computes Physically Based Rendering (PBR) lighting models, vertex shaders, and projective cameras across dual viewports driven by unified OrbitControls.
2. Programmatic Mesh Mutation and Difference Generation
Difference generation operates on scene graph node hierarchies, mutating individual geometry meshes via localized translation offsets, subtle affine scaling, Euler rotations, and texture map swaps.
3. Spatial Working Memory and Cognitive Engagement
Cognitive neuroscience confirms that 3D mental rotation tasks engage human parietal lobe neural circuits, training spatial reasoning and visual attention.
Feedback
How can we improve this tool?
Send a suggestion or bug report for this tool.
FAQ
Spot the Difference: How do I control it, and which browser do I need?
Use a mouse, touch, or keyboard to rotate, zoom, and pan both scenes together, then select a difference. WebGL and same-origin Firebase static assets load only after Start; browsers without WebGL cannot run the game.
Spot the Difference: How do the campaign, replay, Daily challenge, and World Tour work?
The eight-level campaign visits eight unique landmarks, with 5 to 8 differences and two hints per run. Relaxed replay randomly chooses another valid answer set. The Daily challenge uses your browser’s local date and content version for a fixed set, adds 3 seconds for a mistake and 10 seconds for a hint, and may change after a date or time-zone change. World Tour unlocks after level 8, cycles through 5, 6, 7, and 8 differences, and does not immediately repeat the last stop.
Spot the Difference: What if loading fails or my device is too slow?
The game requires WebGL, and device GPU, performance, or network conditions can affect loading. Scenes are low-poly interpretations of architectural cues, not precision building models. Same-origin Firebase assets may be cached by the browser or hosting layer, but no exact cache or deletion duration is guaranteed. You can retry or go back after a failure.
Spot the Difference: What data is stored or sent, and are there game ads?
Level progress, in-progress answers, Daily personal best, World Tour history, and audio preferences stay in localStorage only. Same-origin Firebase serves static scene assets. GA4 receives only bounded tool, category, locale, mode, landmark, level, found-count, hint-count, and load outcome code context (success, unsupported WebGL, asset error, context loss, or restore failure)—not answer IDs, seeds, coordinates, time, progress, history, raw errors, or stack traces. H5 interstitial ads remain disabled while AdSense is under review. Activation requires separate H5 eligibility plus approved design, inventory declaration, policy review, tests, and production verification. Existing page ads remain subject to availability.