Skip to content

genaforvena/drunk-walker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

346 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

πŸ€ͺ Drunk Walker

A bot that walks forever through Google Street View

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.

Release License

πŸ“¦ Download Extension β€’ πŸ‘‰ Web Demo


What Is This?

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.

Drunk Walker in action


Quick Start

Option 1: Browser Extension (Recommended)

Browser Download
Chrome/Edge/Brave drunk-walker-chrome.zip (32 KB)
Firefox drunk-walker-firefox.zip (32 KB)

Install (Chrome/Edge):

  1. Download and extract the ZIP
  2. Go to chrome://extensions/
  3. Enable Developer mode (top-right toggle)
  4. Click "Load unpacked" β†’ select extracted folder
  5. Open Google Maps β†’ Street View β†’ click extension icon πŸ€ͺ

Install (Firefox):

  1. Download the Firefox ZIP (orange button) - NOT the Chrome ZIP
  2. Go to about:debugging#/runtime/this-firefox
  3. Click "Load Temporary Add-on"
  4. Navigate to the extracted folder and select manifest.json
  5. Extension loads until Firefox restarts

Option 2: Bookmarklet (Console)

  1. Visit genaforvena.github.io/drunk-walker/
  2. Click "COPY BOOKMARKLET"
  3. Open Google Maps Street View
  4. Press F12 β†’ Console tab β†’ paste and press Enter
  5. Control panel appears β†’ click START

How It Walks

PLEDGE Algorithm

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 105Β°                                         β”‚
β”‚  ↓                                                      β”‚
β”‚  WALL-FOLLOW MODE                                       β”‚
β”‚  β€’ Scan for LEFT exits (90-180Β° from forward)           β”‚
β”‚  β€’ Found exit β†’ take it, resume FORWARD                 β”‚
β”‚  ↓ (Truly stuck or loop detected)                       β”‚
β”‚  BREAK WALL                                             β”‚
β”‚  β€’ Retry successful yaw from graph memory               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Mechanics

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
Loop Detection Tracks nodes visited during wall-follow to escape cycles

Performance

Metric Target Typical
Progress Ratio (unique/steps) > 0.55 0.50–0.70
Steps per Location < 2.0 1.5–2.5
Max Revisits ≀ 2 βœ… Guaranteed by PLEDGE

The PLEDGE algorithm guarantees each node is visited at most twice β€” once during forward exploration, once during wall-follow backtracking. This is the mathematical guarantee of left-hand rule maze traversal.


Why "Drunk"?

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 β†’


Documentation

Getting Started

Technical

Advanced

Philosophy

Historical (superseded by PLEDGE)

  • v5.x: Smart nodes, enhanced transition graph
  • v4.x: Surgeon mode, Hunter mode, Explorer mode

Build from Source

git clone https://github.com/genaforvena/drunk-walker.git
cd drunk-walker
npm install
npm run build        # Generates bookmarklet.js + extension folders
npm test             # Run 162+ tests

Build output:

  • bookmarklet.js - Browser console version
  • extension-chrome/ - Chrome/Edge/Brave extension (uses service_worker)
  • extension-firefox/ - Firefox extension (uses scripts array)

Controls

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

Troubleshooting

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: "Extension is invalid" Make sure you downloaded the Firefox ZIP, not Chrome. Extract and load manifest.json from drunk-walker-firefox/ folder
Firefox: Still getting error Clear Firefox cache, restart browser, try loading from about:debugging again

Privacy & Legal

  • βœ… 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 History

Version Changes
v6.1.9 Latest release
v6.1.7 Latest release
v6.1.7 Latest release
v6.1.7 Latest release
v6.1.7 Latest release
v6.1.7 Latest release
v6.1.5 Latest release
v6.1.5 Latest release
v6.1.5 Latest release
v6.1.5 Latest release
v6.1.5 Dual browser manifests (Chrome/Firefox), gh.io extension folders, mandatory release checklist
v6.1.4 Territory Oracle, walk-driven development, wall-follow loop detection documented
v6.1.0 PLEDGE wall-following implementation
v5.1.0 Smart nodes, enhanced transition graph

View all releases β†’


πŸ“¦ Download Extension β€’ πŸ‘‰ Web Demo

Created with confused ❀️. The bot explores by following the left wall.

About

A sandbox experiment in Blind Graph Google Street View Traversal.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors