Skip to content

Audience System

The audience system creates a lively atmosphere during contests with NPC spectators that react to the action, plus support for real player spectators.

NPC audience members are Cobblemon NPC entities that spawn around the contest venue and react to contest events.

  • NPCs spawn at configured spawn points outside the hall
  • They pathfind to their assigned seats
  • Configurable walk-in speed and animation
  • Can optionally walk out when the contest ends

NPCs react to contest events with different behaviors:

TriggerReaction
Perfect moveCheer — enthusiastic celebration
ComboCheer — crowd excitement
Jam/disruptionGasp — surprised reaction
Repeated moveBoo — disappointed reaction

NPCs change their pose based on the crowd’s mood:

Excitement LevelPose
Excited (80+)Stand
Interested (50-79)Stand
Bored (below 20)Sit
LayoutDescription
SemicircleClassic arena seating around the stage
TieredRows with increasing elevation
TablesGrouped seating at round tables
VIPPremium box seating
Mixed70% regular semicircle + VIP boxes + table groups
CustomManually specified position list

The audience has a collective excitement level (0-100) that affects contest scoring:

EventChange
Great appeal+15
Good appeal+10
Average appeal+5
Combo trigger+12
Combo chain+8 per level
Category match+5
Dramatic finish+20
Poor appeal-8
Missed move-12
Repeated move-5
Timeout-15
Jamming success-3

Excitement naturally decays at -1 per 5 seconds, with a minimum floor of 30.

ThresholdLevelEffect
High80+Positive bonus multiplier, crowd waves possible
Neutral20-79Normal contest behavior
LowBelow 20Negative effects, increased miss chance

When excitement reaches 75+, there’s a 20% chance per check of triggering a spontaneous crowd wave. Waves have a 30-second cooldown and grant +10 excitement on completion.

Real players can spectate contests with /contest spectate.

FeatureDefaultDescription
Max spectators20Maximum real players watching
VotingEnabledSpectators can vote during judging phase
CheeringEnabledSpectators can trigger cheer reactions
ChatEnabledSpectators can chat during the contest
Vote weight0.1How much spectator votes affect score

Spectating can optionally require the reverie.contest.spectate permission.

During the judging phase, both NPC bots and player spectators vote.

Aligned mode (default) — Bots vote proportionally to actual appeal scores with +/-10% random variance.

Personality mode — Each bot has weighted preferences:

PersonalityFavors
TechnicalCombo execution and variety
ClassicRaw contest stats and consistency
Crowd PleaserAudience excitement and dramatic moments

The voting system includes statistical manipulation detection: chi-squared test against bot baseline (95% confidence), z-score analysis for abnormal vote concentrations, and flagging of suspicious voters for admin review.

  1. Camera System — Cinematic camera work during contests
  2. Bots — AI contestant configuration
  3. Hall Configuration — Configure audience settings per-hall