Fox'n Flock
A session-based stealth game where the player controls a fox trying to catch goats while avoiding a patrolling shepherd.
| Property | Value |
|---|---|
| Game ID | fox-n-flock |
| Type | session_based |
| Volatility | High |
| Max Win | 100× bet |
| RTP Range | 85–99.99% (configurable) |
Game Mechanic
- Player places a bet
- A 960×540 pixel field is generated with 8 goats and 1 shepherd
- Player controls the fox using movement actions
- Catching a goat awards bet × random multiplier
- Getting caught by the shepherd or catching a killer goat ends the game
- Special rounds add bonus goats and put the shepherd to sleep
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
Goat Catches
Each goat has a pre-determined multiplier assigned at session start:
payout = betAmount × goatMultiplierMultipliers are drawn from the provably fair RNG and vary by RTP variant.
Killer Goat
One goat in each session is secretly designated as a killer goat:
- Catching the killer goat immediately ends the game
- The player loses any uncollected winnings for that round
- Killer goat is visually identical to other goats (no way to distinguish)
- Killer goat probability varies by RTP variant
Shepherd AI
The shepherd has three behavioral states:
| State | Description | Fox Detection Range |
|---|---|---|
sleeping | Stationary, does not detect fox | 0 (inactive) |
alert | Stationary but watches for movement | 120px |
patrolling | Moves along a patrol path | 180px |
The shepherd transitions between states based on the game timer and player actions:
- Starts in
alertstate - Transitions to
patrollingafter the first goat is caught - May enter
sleepingduring special rounds
Special Round
Triggered randomly (probability varies by RTP variant):
- +6 bonus goats added to the field
- Shepherd enters
sleepingstate - Duration: 10 seconds
- Higher-value multipliers on bonus goats
RTP Variant Table
| Setting | RTP_92 | RTP_94 | RTP_96 | RTP_97 |
|---|---|---|---|---|
| Multiplier range | 0.2–8× | 0.3–12× | 0.5–15× | 0.8–20× |
| Killer goat chance | 18% | 15% | 12% | 10% |
| Jackpot chance (100×) | 0.05% | 0.1% | 0.2% | 0.4% |
| Special round chance | 8% | 10% | 12% | 15% |
| Shepherd patrol speed | 4.0 px/tick | 3.5 px/tick | 3.0 px/tick | 2.5 px/tick |
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
| Condition | Result |
|---|---|
| Shepherd catches fox | Game over — player keeps collected winnings |
| Killer goat caught | Game over — player keeps collected winnings minus last catch |
| All safe goats caught | Victory — all multipliers collected |
| Session time limit | Game over — player keeps collected winnings |
| Player exits | Cash out — player keeps collected winnings |
Example Session
Catch goat 1: 1.2× → Balance: +1.2× bet
Catch goat 2: 0.8× → Balance: +2.0× bet
Catch goat 3: 2.5× → Balance: +4.5× bet
Special round triggers! (+6 goats, shepherd sleeps)
Catch bonus goat: 3.0× → Balance: +7.5× bet
Catch bonus goat: 4.0× → Balance: +11.5× bet
Shepherd wakes up and catches fox → Payout: 11.5× bet