Back to All Projects
3D Creative Coding & WebGL

BlindGlobe: Interactive 3D Sphere Challenge

Building an unlabelled 3D globe game in pure Three.js and WebGL. Testing geographical intuition with spatial raycasting, spherical distance algorithms, and seamless 60fps performance across desktop and mobile.

Role Sole Creator & Developer
Tech Stack Three.js, WebGL, JavaScript, GLSL
Audience Daily Active Geography Enthusiasts
Live Game Play BlindGlobe
BlindGlobe 3D Interactive WebGL Experience
60 FPS
Silky WebGL Rendering
Zero Engines
Lightweight Vanilla Code
Hundreds
Daily Guess Submissions
Touch & Tilt
Full Mobile Gyro & Orbit

The Idea: Geography Stripped of Context

Popular games like Geoguessr test deductive reasoning using roadside clues, utility poles, and street signage. But how well do people truly understand the geometry and landmass shapes of planet Earth without political borders, nation labels, or map grids?

I created BlindGlobe as an experiment in spatial intuition. Players are given a target city, landmark, or territory (e.g. "Reykjavik", "Madagascar", "Mount Everest") and presented with a blank, spinning 3D sphere showing only topological land contours. They must rotate, zoom, and drop a pinpoint pin onto the exact location.

WebGL & Mathematics Architecture

Executing this without heavy game engine runtimes required custom 3D mathematics and shaders:

Spherical Coordinate Conversion

Implemented bidirectional transformations between UV texture space, Latitude/Longitude coordinates, and Cartesian 3D unit vectors (X, Y, Z).

Precise Great-Circle Raycasting

Calculated player accuracy using the Haversine formula, drawing animated great-circle geodesic arcs from the user’s guess to the true coordinate target.

Atmospheric Glow & Custom Shaders

Authored a custom GLSL fragment shader creating a subtle Fresnel atmospheric limb effect around the planet perimeter, giving it cinematic visual depth.

Mobile Touch Physics & Momentum

Engineered inertial touch dampening and pinch-to-zoom controls so the globe feels physical and natural under fingers on mobile screens.

Daily Challenge & Virality

To turn a fun tech demo into a sticky habit, I introduced a deterministic daily challenge seeded by universal calendar date (similar to Wordle). Players receive 5 curated targets every 24 hours, earn a composite distance score (in kilometers or miles), and generate a spoiler-free emoji summary grid to share with friends.

// BlindGlobe Daily Results Share Card
🌍 BlindGlobe #142
Score: 23,890 / 25,000 pts (95.5%)
πŸ“ Avg Error: 142 km
🟩🟩🟩🟨🟩

Want to Build Interactive 3D on the Web?

From WebGL product configurators to real-time generative visualizations and games, I build engaging interactive experiences.

Get in Touch