It doesn't know where it's going. It just knows it has to keep moving. Never backtracking. Never arriving. Always forward into the unknown, one street at a time, until the world runs out.
π¦ Download Extension β’ π Web Demo
Drunk Walker is a blind graph traversal experiment living inside Google Street View. It presses keyboard arrows according to the PLEDGE algorithm (Parametric Labyrinth Exploration with Drift-Guided Escape), exploring the digital world without a map.
The bot is blind β it doesn't know where panoramas exist until it tries to walk there. Every movement is physical probing of the graph structure. It produces the map by walking it.
| Browser | Download |
|---|---|
| Chrome/Edge/Brave | drunk-walker-chrome.zip (32 KB) |
| Firefox | drunk-walker-firefox.zip (32 KB) |
Install (Chrome/Edge):
- Download and extract the ZIP
- Go to
chrome://extensions/ - Enable Developer mode (top-right toggle)
- Click "Load unpacked" β select extracted folder
- Open Google Maps β Street View β click extension icon π€ͺ
Install (Firefox):
- Download and extract the ZIP
- Go to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on" β select
manifest.json - Extension loads until Firefox restarts
- Visit genaforvena.github.io/drunk-walker/
- Click "COPY BOOKMARKLET"
- Open Google Maps Street View
- Press
F12β Console tab β paste and press Enter - Control panel appears β click START
The bot uses wall-following to guarantee exploration with each location visited at most twice:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FORWARD MODE β
β β’ Face direction of travel (prevβcur bearing) β
β β’ Move straight into new territory β
β β (All 6 yaws tried - dead end) β
β TURN LEFT 120Β° β
β β β
β WALL-FOLLOW MODE β
β β’ Scan for LEFT exits (90-180Β° from forward) β
β β’ Found exit β take it, resume FORWARD β
β β (Truly stuck) β
β BREAK WALL β
β β’ Retry successful yaw from graph memory β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Concept | Description |
|---|---|
| 6 Yaw Buckets | Street View divides 360Β° into: 0Β°, 60Β°, 120Β°, 180Β°, 240Β°, 300Β° |
| Forward Bearing | Always face direction of travel (prevβcur) |
| Cul-de-Sac Check | After 10+ straight nodes, verify not a false dead-end |
| Graph Memory | Records every successful movement for escape routes |
| Metric | Target | Real-World (v6.1.4) |
|---|---|---|
| Progress Ratio (unique/steps) | > 0.70 | 0.74 (1777/2385) |
| Steps per Location | < 2.0 | 1.34 |
| Max Revisits | β€ 2 | β Guaranteed |
Latest walk: 1,777 unique locations in 2,385 steps (74% efficiency, near-optimal PLEDGE performance)
The bot wanders without a master plan. Someone called it "Anti-Oedipus" (Deleuze reference about rhizomatic movement). They meant "Anti-Odysseus" (the hero who never gets home).
Turns out both work:
- Anti-Oedipus β No central map, just surface traversal
- Anti-Odysseus β Never returns home, each node β€2 visits
It's a nomadic machine that produces the map by walking it.
π Read the philosophical framing β
- HOW_IT_WALKS.md β PLEDGE algorithm deep-dive
- WALK_ANALYSIS.md β Real walk metrics and optimization
- ALGORITHM.md β API reference (engine, wheel, traversal)
- THE_TRAVERSAL_PROBLEM.md β Theory of blind graph traversal
- src/README.md β Developer guide (build, test, deploy)
- SMART_NODES.md β Node classification (NEW, JUNCTION, DEAD_END)
- SURGEON_MODE.md β Efficiency-focused mode
- TRANSITION_GRAPH_LEARNING.md β Learning connectivity
git clone https://github.com/genaforvena/drunk-walker.git
cd drunk-walker
npm install
npm run build # Generates bookmarklet.js + extension bundle
npm run extension:package # Creates ZIP files for release
npm test # Run 150+ tests| Control | Action |
|---|---|
| START/STOP | Begin or pause exploration |
| Steps | Total movements made |
| Visited | Unique locations discovered |
| Pace | Decision speed (0.5s - 5.0s) |
| πΎ Path | Export walk as JSON |
| π Logs | Export session logs |
| Issue | Solution |
|---|---|
| Extension not showing | Ensure you're on google.com/maps in Street View mode |
| Not starting | Refresh page, check console (F12) for errors |
| Panel not visible | Resize browser window, try STOP β START |
| Firefox add-on missing | Reload from about:debugging after browser restart |
- β Runs entirely in your browser
- β No data sent to external servers
- β No cookies or tracking
- β Public domain (CC0)
Not affiliated with Google or Google Maps. This is a technical experiment for fun, not a scraping tool.
| Version | Changes |
|---|---|
| v6.1.4 | Browser extension release, camera alignment fix, loop detection |
| v6.1.0 | PLEDGE wall-following implementation |
| v5.1.0 | Smart nodes, enhanced transition graph |
π¦ Download Extension β’ π Web Demo
Created with confused β€οΈ. The bot explores by following the left wall.