GULPER.IO

Solo arena · source-checked

The solo arena, explained.

Eighteen computer-controlled snakes, four behaviours and no network match. These numbers come from the shipped game.js and bot-brain.js, not from a recording of a player's run.

Checked 29 October 2026 against the build in this repository. Values depend on your score, so each example names the score it uses.

Play the solo arena →

This page is not a live Gulper.io server

The name may suggest an online match. This build is a single-player arena: every rival is simulated in your browser, and the rankings describe the current run. The table separates what this page does from what an online service might offer. We did not test the original online game, so its exact rules are not claimed here.

QuestionThis buildWhat it does not provide
Opponents18 computer snakes with four play styles, simulated locally.No other people, matchmaking or network connection.
RankingsA local arena list for the current run.No global, live or persistent multiplayer leaderboard.
ProgressPersonal best and sound setting in this browser.No account, cloud save or cross-device sync.
SourceAn independent implementation with its own rules and interface.Not the original Gulper.io code or online service; details may differ.
AccessA static browser game; a school or work network can still block it.No guarantee of being unblocked; .io does not mean online.

Keep the solo boundary in mind when comparing advice from other Gulper.io pages: tactics built for human opponents, teaming or a global server do not transfer directly to these bots.

Boost is a budget, not a free sprint

Boosting raises speed from 3.60 to 7.00 units per frame at the starting size. It also burns score every four frames. At 60 frames per second that is 15 burn ticks per second.

The burn is 1 + floor((radius − 12.5) × 0.06) per tick. At 100 score the radius is 12.5, so the cost is 1 point per tick: 15 score per second. At 3000 score the radius is 31.1 and the cost is 2 points per tick: 30 score per second at that moment.

Those are starting rates, not a fixed budget. Each update recalculates the radius from the current score; above 450 score, natural decay also removes points every 20 frames before the boost burn. As the score falls, the radius and the per-tick burn can change. A one-second estimate is therefore useful, but dividing a large score by its starting burn cannot predict the total duration.

ScoreBody segmentsBoost speedBurn per tickBurn per second at that score
100167.00115
500666.61115
1,0001336.46115
2,0002666.29115
3,0004006.16230

Worked check: one second at 100 score

With no food collected and no collision, holding boost for one second spends 15 points and leaves 85. If you keep holding from 100, the base radius stays 12.5, so each tick still costs 1 point and boost stops at 50 after about 3.3 seconds. That clean run is a threshold check, not a promise for a normal run with food and rivals.

Correction: release before empty

Release after about 2.5 seconds (37–38 points spent at the starter rate) or start the escape at 150–200 score. A mass-1 pellet adds 2 points after flooring; a kill adds 180. At the starter burn, a kill funds 12 more seconds of boost.

The score floor is not a safe health bar. It only controls whether boost is available; a collision still ends the run. The body-segment column uses the boosted floor of 16 segments and may start one or two segments higher before the first burn tick. The table gives the rate at the listed score when boost starts, not a countdown to the floor.

What the bots can actually see and do

Each rival has its own brain and its own reaction roll. They do not share a plan, and they are not remote players. The four profiles differ in vision, reaction time, how long they commit to a chase, and how often they sprint.

StyleVisionReaction windowChase commitmentSprint chanceHunt roll
Collector540233–367 ms1.40 s18%6%
Hunter610150–233 ms2.50 s48%72%
Drifter500283–450 ms1.80 s30%24%
Rookie430367–583 ms1.30 s22%16%

Vision is a hard limit: targets and food beyond the profile's range are not considered. The hunter sees up to 610 units, the rookie up to 430. A bot also occasionally lapses for 18–37 extra frames, so its next decision can arrive more than half a second late.

A hunt only starts when the bot's score is above 85% of the target's, the target has at least 130 score, the distance is between 100 and 80% of its vision, and neither snake is shielded. That last threshold matters: below 130 score you stop being selected as prey, but you are also one mistake from the end.

Failure: follow a larger hunter

A 3000-score hunter turns on a 94.5-unit radius while boosting (45.2 at base speed). Following its tail keeps you inside its body line and gives it the next decision.

Correction: cross the nose, then turn inside

At 500 score your boost turn radius is 81.6 units, smaller than the hunter's 94.5. Commit to a crossing angle, then turn inside its arc rather than chasing behind it. The bot may choose a new goal on its next reaction, so this is geometry, not a guaranteed trick.

Baiting works because the bot aims at a predicted point: a lead of 45–100 units and a flank offset of 45 units plus your radius. A late turn can still put you under its head. Keep the boundary behind you rather than beside you when you try it.

The boundary needs more room than it looks

The arena radius is 1600 units. The bots begin an inward turn at 180 units plus their radius from the wall; you get no such assist. Your head dies as soon as its center passes the boundary, and the spawn shield does not protect against the wall.

At boost speed, your minimum turn radius is boost speed ÷ turn rate. Add your body radius to get the distance from the wall you must preserve while turning. The table gives the geometric minimum, with no reaction time included.

ScoreBase-speed marginBoost marginBoost turn radius
10050.486.273.7
50061.9102.981.6
1,00066.4109.685.1
2,00072.1118.690.3
3,00076.3125.694.5
Turn footprints at the arena boundary Two circles tangent to the vertical boundary show the minimum space needed to reverse direction while boosting. The starter snake needs 86 units; a 3000-score snake needs 126 units. A turn started 50 units from the wall is already inside the larger footprint. boundary 50 units 100 score · 86 units 3000 score · 126 units
The two circles are minimum turn footprints at boost speed, tangent to the boundary. The starter snake needs 86.2 units; the 3000-score snake needs 125.6. A turn begun 50 units out is already inside the larger footprint.

Failure: turn 50 units from the wall

At 3000 score and boost speed, the turn needs 125.6 units including the body. Starting at 50 means the arc reaches the boundary before the snake is heading back inward.

Correction: turn earlier, or release first

Start the boost turn at 125.6 units or more. Releasing boost lowers the requirement to 76.3 units, but that is still more than 50. Leave another margin for reaction time.

Sweep lanes, do not chase single pellets

The arena starts with 550 ambient pellets and 35 high-energy pellets. The ambient field averages about 120.9 units between pellets, but the positions are random every run. The magnet radius is 105 units, so its suction diameter is 210 units.

Schematic arena sweep route A schematic overhead arena. A dotted path sweeps in lanes and turns inside the boundary. Food dots are illustrative; actual pellet positions are randomized each run. schematic · not to scale
A search pattern, not a fixed map. Lanes 180 units apart overlap by 30 units at the magnet edge; turn inside the boundary using the margin above. Pellet positions change every run.

A mass-1 pellet adds 2 points after the score floors. A mass-2, 3 or 4 high-energy pellet adds about 5, 8 or 11 points; the mass-3 and mass-4 ones drift slowly. When the field drops below 520, the game adds one new ambient pellet per frame until it reaches 520, so waiting in one spot is usually worse than sweeping.

Failure: cross 200 units for one pellet

At base speed 3.60 units per frame, 200 units takes about 56 frames, just under a second. One ambient pellet pays 2 points; a lane sweep at boost speed covers more ground and more pellets.

Correction: overlap your suction circles

Space lanes about 180 units apart. The 210-unit suction diameter leaves a 30-unit overlap, so you do not leave a gap between passes. Detour for a drifting high-energy cluster, not for a single ambient dot.

Controls and the first thirty seconds

  • Move the pointer over the canvas to steer; on touch, drag a finger.
  • Hold the left mouse button or Space while the arena has focus to boost. On touch, use a second finger. Release to stop spending score.
  • Your own body is safe to cross. Another snake's body and the outer boundary end the run.
  • New runs start with a 3-second shield against snake collisions. It does not protect against the boundary.
  • The first thirty seconds: collect two or three nearby pellets, stay outside 610 units of the hunter's vision when you can, and keep at least 100 score before using boost to escape.

Where these numbers come from

The calculations use the constants and update rules in this repository's game.js (arena radius, speed, radius curve, boost burn, food values) and bot-brain.js (vision, reaction, chase and sprint profiles). They are demonstrations of the shipped rules, not recordings of a player's run. The 18 rivals are local simulations; there is no network play.

This is an independent Gulper.io-style arena. It is not the original online Gulper.io, and no claim is made here about the original's current rules, player counts or leaderboards. Fonts and third-party assets are listed in the notices.

Put the budget to work →