Begin on an original course
Open the game and choose an available course. Use an original course first so you can learn the movement without diagnosing a community map’s zones or content download.
An independent Three.js surf game reproducing Source-style movement, with original courses, community map imports and personal-best ghosts.
PROJECT TYPE
Standalone surf mechanics recreation
RENDERING
Three.js / WebGL
MOVEMENT
Source-style rules · fixed 128 Hz simulation
FILES
Supplied courses; no Counter-Strike installation requested
Open the author’s hosted game; supplied courses need no personal Counter-Strike files. A desktop keyboard, mouse and WebGL-capable browser are the starting point. No completion time has been independently verified here.

This independent browser game recreates the movement challenge associated with Counter-Strike surf. Glide along inclined surfaces, carry momentum across gaps and improve a timed route. The author supplies two original courses plus repacked community maps, with course-specific timing limits. It is a movement recreation rather than a complete Counter-Strike port.
Open the game and choose an available course. Use an original course first so you can learn the movement without diagnosing a community map’s zones or content download.
Click to capture the mouse. Review the key display and speed meter, then make gentle turns while strafing. Treat falling as feedback on your line rather than a reason to skip control setup.
Restart with R or return to the checkpoint with Q. On the staged helix course, falling keeps the clock running; use the personal-best ghost to compare routes after a successful recorded run.
These inputs describe the linked project or original game. Follow the platform-specific notes and the primary documentation before starting.
| ACTION | INPUT | NOTES |
|---|---|---|
| Move / look | W A S D / Mouse | Click the game canvas to request pointer lock. |
| Jump | Space / Mouse wheel | Jump requires flat ground; a surf ramp is not ground. |
| Duck | Ctrl / C | C offers an alternative to browser-sensitive Ctrl combinations. |
| Restart / checkpoint | R / Q | Restart the run or return to the most recent checkpoint. |
| Records / settings | Tab / Esc | The current README lists records and settings / stage selection. |
| Auto-hop / displays | F1 / F2 / F3 | Auto-hop changes jump timing, not steering; keys toggle readouts. |
The simulation step is fixed at 1/128 second. The input module divides accumulated mouse movement among simulation steps, keeping turn input from depending directly on display refresh rate.
The configured standable-normal threshold is 0.7 and the air wish-speed cap is 30 units per second. Strafing and rotating the view build speed; holding forward alone is not a substitute for that technique.
The README distinguishes original generated courses from seven repacked community BSP maps. Map geometry, materials and lighting retain their original authorship; not every imported course has recognized timing zones.
HTTP OBSERVATION
reachable · 200
2026-10-17 08:20:13 UTC
PROBE DURATION
626 ms
Page request time, not gameplay latency.
BROWSER GAMEPLAY CHECK
Not completed
Review: candidate
HTTP reachability does not verify rendering, controls, audio or multiplayer. Refresh reads the published snapshot; it does not run a new game test.
| CHECKED AT | STATUS | PROBE DURATION | NOTES |
|---|---|---|---|
| 2026-10-17 08:20:13.805 UTC | reachable · 200 | 626 ms | HTTP 200 OK, expected marker verified |
Recorded HTTP responses and page markers. Game performance may differ.


Both images are published in the author’s README and show the project’s original courses. They are upstream reference captures, not recordings of our own browser test.
Close any open settings panel and click the game canvas to reacquire pointer lock. The input source only consumes looking while capture is active.
This is part of the movement model: jump needs a grounded player, and a steep surf face is not ground. Test jump on the starting platform.
The README explicitly identifies imported maps without recognized start/finish zones. Choose an original timed course when you need a reproducible record.
Wait for its separate map download, then check failed requests and browser WebGL availability. Report the exact map and browser rather than assuming every course uses the same assets.
No. It reproduces surf movement and can read map-derived content, but it is not Valve’s complete game, matchmaking service or executable.
The author fixes simulation at 128 Hz to avoid movement depending on display refresh. No independent cross-device performance benchmark is claimed here.
No. Upstream distinguishes jump timing assistance from steering; mouse turns and strafe direction remain player actions.
No. Their authorship remains separate. This page links to the upstream project and its reference images; it does not distribute map packages.
Editorial review: 2026-10-17 10:44:40 UTC · This date records source research, not a gameplay test.