Skip to content

Fox'n Flock

A session-based game where the player runs a fox around a field catching goats while a shepherd gives chase.

The whole run is drawn from the committed seed at bet commit — how many catches will bank, and what each encounter holds. Playing reveals that run; it does not influence it.

PropertyValue
Game IDfox-n-flock
Engine version3.3.0
Typesession_based
VolatilityHigh
Max Win100× bet
RTP variants91.97% / 93.95% / 96.00% / 96.95%

Game Mechanic

  1. Player places a bet
  2. The RNG draws a catch target and the encounter at every slot of the run
  3. A 960×540 field is generated with 8 goats and 1 shepherd
  4. Each catch reveals the next pre-drawn slot and adds its multiplier
  5. Reaching the catch target banks the pot automatically — there is no cash-out
  6. A killer encounter wipes the pot and ends the run

Which goat the player chases makes no difference to the payout. Multipliers come from the pre-drawn run, not from the goat; a goat's displayed multiplier is cosmetic and is never sent to the client. Asserted by test — "pays the same regardless of WHICH goat the player chases".

Field Layout

  • Dimensions: 960×540 pixels
  • Goats: 8 standard goats with individual multipliers
  • Shepherd: 1 AI-controlled shepherd
  • Fox: Player-controlled character
  • Tick Rate: 60Hz server-authoritative

Catches

A catch does not pay for the goat — it reveals the next slot of the run:

runMultiplier = Σ (multiplier drawn for each slot revealed)
payout        = round(runMultiplier × 100) × betAmount / 100

The slot multipliers are drawn from the committed seed before the field is even built. The number floating over a goat on screen is chosen for the animation and never reaches the server.

Killer Goat

A killer is an encounter, not a particular goat:

  • The run's slots are drawn in advance; one may hold a killer
  • Hitting it wipes the entire pot and ends the run
  • No goat is distinguishable from another, because the killer is not attached to a goat — it belongs to the position in the run

Shepherd AI

The shepherd patrols, spots the fox, gives chase and catches it.

Being caught costs nothing. He is pressure and theatre, not a penalty. Earlier versions charged 15% of the bet per hit — a reflex tax that pushed slower players below the advertised RTP, and one reported by the client, so a modified client paid nothing while honest players paid. Asserted by test — "charges nothing for a shepherd hit".

There is likewise no idle penalty. Pausing to think costs nothing.

StateDescription
patrolMoving along a path
alertHas noticed the fox
chaseActively pursuing
sleepingThe golden flock bonus phase is running

Golden flock

A jackpot encounter wins a bonus phase of 4 free catches at ×3. It happens in 15.4% of runs, and it is worth the same every time:

  • Free — they don't count towards your catch target. The round gets longer.
  • Safe — no killer can land during the phase.
  • Banked — what the phase pays is yours even if a killer strikes afterwards.

The shepherd sleeps for exactly the phase and wakes as the last free catch lands.

Why it is a fixed phase

Earlier versions boosted every remaining catch instead, so a jackpot was worth whatever happened to be left — 2.60× bet at the first catch of a twelve-catch run and 0.312× at the last, behind an identical banner. A quarter of jackpots got three catches or fewer, and one landing on the final catch announced itself and then ended the round.

A fixed phase pays 1.80× bet wherever it lands. RTP is unchanged: the multiplier values were re-solved downwards to fund it, so the money moved rather than grew.

RTP Variants

Every probability is the same in all four variants. Only the multiplier values change. That is deliberate: the RNG request must not reveal which variant a round is running, and a shared engine instance cannot be trusted to know the variant at draw time.

Shared across all variantsValue
Killer encounter7.00% per slot
Jackpot encounter2.50% per slot
Normal catch90.50% per slot
Catch target5–18, mean 9.2
Runs that turn golden15.4%
Hit rate56.80%
VariantSlot multiplier valuesExact RTPSD
RTP_920.03, 0.07, 0.16, 0.29, 0.90, 2.4191.97%1.361
RTP_940.03, 0.08, 0.15, 0.30, 0.92, 2.4393.95%1.384
RTP_960.03, 0.09, 0.14, 0.31, 0.94, 2.4696.00%1.410
RTP_970.03, 0.08, 0.16, 0.32, 0.93, 2.5296.95%1.428

A bonus-phase catch pays three times the value shown.

Values are drawn with weights 42, 28, 16, 9, 4, 1 (per 100). Shepherd speed is presentation and is not tuned per variant — he cannot take money.

Player Actions

The fox has two actions, sent via WebSocket:

move(dx, dy)

Move the fox by a delta vector. Rate-limited to 60Hz.

json
{
  "type": "action",
  "payload": {
    "action": "move",
    "dx": 5.0,
    "dy": -3.0
  }
}

interact(goatId)

Attempt to catch a nearby goat. The goat must be within interaction range. This action is free (no additional cost).

json
{
  "type": "action",
  "payload": {
    "action": "interact",
    "goatId": "goat-3"
  }
}

End Conditions

ConditionResult
Catch target reachedPot banks automatically
Killer encounterPot wiped, run over
Shepherd catches foxNothing — play continues
Session timeout or player exitSettled to the run the seed already decided

An abandoned run settles to its pre-drawn result, not the partial pot. Banking a partial pot would reintroduce a stopping strategy; paying nothing would punish a dropped connection for an outcome the player never influenced.

Example Session

A run drawn with a catch target of 7, a jackpot at slot 4 and no killer (RTP_96 values):

seed drawn at bet commit: target 7 catches

catch 1  normal   0.14×  → pot 0.14×   6 to bank
catch 2  normal   0.09×  → pot 0.23×   5 to bank
catch 3  normal   0.31×  → pot 0.54×   4 to bank
catch 4  JACKPOT  0.31×  → pot 0.85×   3 to bank · GOLDEN FLOCK opens

  free 1   0.31× ×3 = 0.93×  → pot 1.78×   still 3 to bank
  free 2   0.09× ×3 = 0.27×  → pot 2.05×   still 3 to bank
  free 3   0.94× ×3 = 2.82×  → pot 4.87×   still 3 to bank
  free 4   0.14× ×3 = 0.42×  → pot 5.29×   still 3 to bank · shepherd wakes

catch 5  normal   0.09×  → pot 5.38×   2 to bank
catch 6  normal   0.31×  → pot 5.69×   1 to bank
catch 7  normal   0.14×  → pot 5.83×   target reached

pot banks automatically → payout 5.83× bet

Note the counter: it does not move during the four free catches. Had a killer landed at catch 5, 6 or 7 the base pot would have been wiped and the player would still have kept the phase — 4.44× of it. And had the shepherd caught the fox at any point, nothing would have changed at all.