TubeSurf

A 3D Audiosurf-style rhythm game over the video player on youtube.com. The track is generated from the music you are hearing.

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey, Greasemonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

คุณจะต้องติดตั้งส่วนขยาย เช่น Tampermonkey หรือ Violentmonkey เพื่อติดตั้งสคริปต์นี้

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

ผู้เขียน
Piro Technique
จำนวนติดตั้งประจำวัน
0
จำนวนติดตั้งทั้งหมด
8
คะแนน
0 0 0
เวอร์ชัน
0.87.2
สร้างเมื่อ
03-08-2026
อัปเดตเมื่อ
06-08-2026
Size
1.34 เมกะไบต์
สัญญาอนุญาต
GPL-3.0-or-later
ปรับใช้กับ

A 3D rhythm game that plays **on top of the YouTube player**, in the style of
Audiosurf. The track is generated live from the music you are already
listening to: tempo, onsets, and the energy of the bass, mid and treble bands
shape the road, the lighting and what comes at you.

Nothing is uploaded and nothing is downloaded. The game listens to the audio
of the video already playing in your tab, and that is the whole input.

## How to play

Click the ship icon in the player's control bar, to the left of the other
buttons. The overlay appears over the video, which keeps playing underneath.

- **Mouse** - the cursor's position across the player becomes the ship's
position. Free movement across the track, not lane hopping.
- **A / D** - accelerate left and right, with inertia. The arrow keys are
left alone, so YouTube keeps its seeking.
- Whichever device you touched last is the one steering, so the two never
fight over the ship.
- **Esc**, or the button in the corner, exits.

The game pauses itself when the video is paused and while an ad is showing,
and picks the beat back up afterwards.

## Points are scored on the grid, not on pickup

This is where it stops being a plain collection game.

The road is divided into a grid. A cyan tile you collect **scores nothing on
its own** - it fills the first free cell in its lane. Red tiles land on the
grid too, as junk: they never score, and they break up neighbourhoods.

When at least three cyan tiles touch, along a lane or sideways between
neighbouring lanes, the group does **not** pay out immediately. A timer
starts, and every new tile added to the group **resets that timer**. A good
run can be kept open for as long as you keep feeding it. The cells blink
faster as the deadline approaches.

Fill an entire lane with points and it cashes in on the spot. But anything
landing on a lane that is already full breaks it - and if there is nothing
worth cashing in because the lane is clogged with junk, the whole lane is
wiped, you lose 150 points and your combo, and the HUD tells you so. Nothing
is ever lost quietly.

## Settings

Open them with the gear button in the HUD. Everything applies immediately.

- **Difficulty** - Easy, Normal, Hard. Changes tile density, the group timer
and how long obstacles live.
- **Style** - Neon, Solid light, Glass.
- **Position** - put the track on the left, in the centre, or on the right.
The HUD takes the opposite side.
- **Size** - 0.5x, 0.75x or 1x of the player.
- **Opacity** - 30% to 150% of the tuned baseline, for when you actually want
to watch the video too.
- **Sound** - the speaker icon mutes the game's own sounds without touching
the video.

Your best score is kept per video.

## Languages

The interface follows your browser's language: English, Chinese, Hindi,
Spanish, French, Arabic, Bengali, Portuguese, Russian, Indonesian and
Romanian. Anything else falls back to English.

## Privacy and permissions

- **No network requests at all.** The script never contacts any server,
including mine. There is no `@connect`, and none is needed.
- **No tracking**, no analytics, no telemetry.
- Three grants, all storage: `GM_getValue`, `GM_setValue` and
`GM_addValueChangeListener`. They hold your settings and your best score per
video, locally, and nothing else.
- Runs only on `https://www.youtube.com/*`.

The whole source is readable in the script itself - Greasy Fork does not allow
minified code, so what you install is what you can read.

## Requirements

A userscript manager with `GM_getValue` support: **Tampermonkey** or
**Violentmonkey**, on Chrome, Edge, Firefox or Opera. Greasemonkey 4 works
too, except that a settings change made in one tab will only reach other open
tabs on their next page load.

WebGL is required, which any browser from the last decade has.

## Known limitations

- Very fast tempos, above roughly 176 BPM, are read at half speed. It does not
break the game - objects land on quarter notes instead of eighths.
- Music without a clear pulse (ambient, spoken word) gives the beat tracker
low confidence. The game keeps playing on its last estimate, but the
"rhythm" is decorative at that point.
- `www.youtube.com` only. YouTube Music uses a different player and is not
covered.

## Source and licence

Source, issues and the Chrome extension build:


Licensed **GPL-3.0-or-later**. It bundles [three.js](https://threejs.org)
(MIT), whose notice ships in the script header - three.js has published only
ES module and CommonJS builds since r160, and `@require` evaluates its target
as a classic script, so neither form can be loaded that way.

Bug reports and feedback are welcome on the GitHub issue tracker. If you enjoy
it, there is a coffee link in the settings panel - nothing in the game is
locked behind it.