Inspiration
We set out to build an immersive experience that raises awareness of the spatial and cognitive challenges faced by visually impaired individuals navigating complex urban environments. To ensure the experience was engaging and impactful, we gamified the concept into an acoustic-driven tension simulation, introducing echolocation mechanics and an unseen entity to raise the stakes.
However, as development progressed, we realised that the mechanics we were building had profound real-world utility. By tracking where our players stumbled or collided in the dark, the game evolved from a mere simulation into a dynamic accessibility audit tool, capable of identifying hazardous infrastructure "hotspots" in real-world urban planning.
What it does
The Blind Architect's Simulation is a first-person, audio-driven spatial navigation experience built on top of real-world geographic data. Players are plunged into a pitch-black 3D environment representing a real city street.
- Microphone-Driven Echolocation: Players must use their real-world microphone to emit sound. The volume of their voice determines the radius of a visual "sonar wave" that temporarily illuminates the world's geometry in a wireframe grid.
- Tension & Survival: Making noise allows the player to see, but it also attracts an optional AI entity. The player must carefully balance their need for spatial awareness with the necessity of staying hidden, navigating around dynamic obstacles like pedestrians and cars.
- Accessibility Auditing: Behind the scenes, the game tracks every collision the player makes. Upon completing (or failing) a run, the game generates a top-down Heatmap Report, overlaying collision data onto the real-world map to highlight specific accessibility hazards (e.g., street furniture, low obstacles, confusing geometry).
How we built it
We engineered the simulation using Vanilla Three.js to maintain strict control over performance and the rendering pipeline.
- The World: We integrated the Google Maps Photorealistic 3D Tiles API to stream 1:1 real-world geometry into the engine. We simultaneously pull OpenStreetMap (OSM) data to generate dynamic pedestrian and vehicular traffic along actual road networks.
- The Visuals: Because Google's tiles are fully textured by default, we wrote scripts to intercept the tile loading sequence, strip away all native materials, and replace them with a highly optimized, custom GLSL Fragment Shader. This shader handles the math for propagating intersecting sonar rings and calculating world-space grid lines on the fly.
- The Audio: We leveraged the native Web Audio API. An
AnalyserNodecaptures and smooths real-time microphone volume to drive the sonar shader, whileTHREE.PositionalAudioprovides crucial spatial cues (like talking pedestrians or passing cars) so players can navigate blindly.
Challenges we ran into
The most significant hurdle was transforming raw Google Maps 3D Tile data into a "playable" collision terrain. The native mesh geometry is notoriously jagged; trees and lampposts often render as melted, irregular blobs. Traditional physics engines and NavMesh pathfinding completely failed on this geometry. To solve this, we had to write a bespoke raycasting system that calculates ground height and smooths wall-sliding mathematically, ensuring the player doesn't get stuck on micro-geometry while walking.
Additionally, managing the rendering engine's Level of Detail (LOD) system when shifting from a first-person perspective to our top-down Audit Heatmap required clever camera manipulation to prevent the city from disappearing from memory.
Accomplishments that we're proud of
- The Heatmap Auditor: Successfully bridging the gap between a horror game and a practical data-collection tool. The post-game heatmap effectively clusters and categorizes collisions, providing actionable data on urban hazards.
What we learned
We gained a profound appreciation for the immense cognitive load required to navigate urban spaces without sight, and how minor urban design flaws become major obstacles. Technically, we leveled up our knowledge of GLSL shader programming, managing streaming spatial data (Google APIs and OSM), and utilizing raw Web Audio streams for real-time game mechanics.
What's next for The Blind Architect's Simulation
We want to evolve this project from an awareness game into a legitimate tool for urban planners and architects:
- CAD/BIM Integration: Allow architects to import
.cador.ifcmodels of proposed buildings and streets into the engine, enabling them to blind-test the accessibility of a space before a single brick is laid. - Dynamic Blind-Aids: Create a sandbox mode where users can dynamically place tactile paving, auditory crossing signals, or physical guardrails into the simulation, instantly testing how these interventions redirect traffic and reduce collision hotspots.
- Advanced Biometrics: Refine the audio processing to differentiate between specific frequencies, simulating the distinct acoustic feedback of a cane tapping on different materials (concrete vs. grass vs. metal).