Counter-Strike surf
What it is: a community game mode for Counter-Strike (1.6, Source, CS:GO, CS2), also popular in other Source games. Surf maps are long runs of steep angled ramps ("surf ramps") floating in the sky. Servers run timer plugins (SurfTimer, Influx, shavit's timer and others).
How surfing works#
- In Source, a surface is only ground if its normal is steep enough (normal z ≥ 0.7, about 45.6°). Anything steeper is a ramp you slide on, never stand on.
- Gravity pulls you down the ramp, and the ramp turns that into speed along it. Holding the strafe key into the ramp, with the mouse aimed along it, keeps you on the ramp and adds speed through air acceleration.
- Surf servers usually set a high
sv_airaccelerate(often 150), which makes air strafing much stronger than in normal CS. - Getting the angle wrong drops you off the ramp. A wrong edge or a gap between brushes stops you dead (the Source cousin of our curve clip bug).
Map structure#
- Stages: a map is split into stages, each with its own start zone and times. You can practice and time a single stage.
- Bonuses: side routes with their own start and end.
- Tiers: maps are rated by difficulty (tier 1 easy to tier 6+ very hard).
- Linear vs staged: linear maps are one long run with checkpoints. Staged maps teleport you to the next stage.
Timing#
- Zones, not entities: start and end zones are usually boxes drawn by the server admin with the plugin and stored in the server database, not in the map. Old maps get zones without being recompiled.
- Leaving the start zone starts the timer. The plugin limits the speed you may leave with ("prespeed" caps) so nobody starts at full speed.
- Checkpoint zones give splits compared with your personal best and the server record.
Replays#
- Replay bots: the record of each map and stage plays as a bot in the server that you can spectate. Players learn routes by watching the bot.
- Ranks and points: each record gives points by tier and place. There are global rankings.
What we take#
- Stages and bonuses as first-class parts of a map: our routes plus split stages.
- Tiers / difficulty in the map metadata.
- Prespeed rules at the start (our
ut_jumpstartalready needs nonzero velocity; a speed cap is a map option). - Zones that can live outside the map: timing data that can be added to old maps without recompiling (UrT maps with missing or broken timers).
- Replay bots = our ghosts: the record is always running somewhere in the map.
Different in Airtime#
- Our physics is Quake 3 / UrT, not Source: no 0.7 ground limit, and air acceleration 1. Our "surfing" is slick slopes and drop-ins on icy maps.