Camera System
Camera System
Section titled “Camera System”Reverie includes a cinematic camera system that automatically frames contests with dynamic shots, smooth transitions, and context-aware positioning.
How It Works
Section titled “How It Works”When a contest starts, the camera director takes control of spectator and contestant views. It automatically selects appropriate camera angles based on the current phase and action.
Camera Contexts
Section titled “Camera Contexts”| Context | Description | Used During |
|---|---|---|
STAGE_OVERVIEW | Wide shot showing entire stage | Phase transitions, opening |
CONTESTANT | Close-up on individual contestant | Performance turns, presentations |
AUDIENCE | Pan across audience seating | Reactions, excitement moments |
JUDGE | Focus on judging area | Voting phase |
CLOSEUP | Tight shot on Pokemon | Move execution, seal effects |
HIGH_ANGLE | Overhead dramatic shot | Results reveal, combos |
LOW_ANGLE | Ground-level upward shot | Entrance, dramatic moments |
Camera Grid
Section titled “Camera Grid”Each hall has a grid of baked camera positions that the director selects from. This provides pre-calculated angles and distances for smooth cinematography.
Adding Camera Positions
Section titled “Adding Camera Positions”Stand where you want the camera and run:
/hallbuilder camera <hall_id> add <focus_type>Your current position and look direction are saved as a camera position for that focus type.
Managing Cameras
Section titled “Managing Cameras”/hallbuilder camera <hall_id> list # List all positions/hallbuilder camera <hall_id> test <focus_type> # Preview a camera shot/hallbuilder camera <hall_id> test <focus_type> <angle> # Preview with angle (0-360)/hallbuilder camera <hall_id> clear <focus_type> # Clear positions for a type/hallbuilder camera <hall_id> clear all # Clear all camera positionsTransitions
Section titled “Transitions”Camera transitions use smooth interpolation:
| Setting | Default | Description |
|---|---|---|
default-duration | 1000 | Transition time in milliseconds |
default-easing | "ease_in_out" | Easing function |
smooth-rotation | true | Smooth rotation interpolation |
enable-shake | true | Camera shake on dramatic events |
shake-intensity | 0.1 | Shake intensity (0.0-1.0) |
Per-Phase Camera Behavior
Section titled “Per-Phase Camera Behavior”Introduction Phase
Section titled “Introduction Phase”- Starts with
STAGE_OVERVIEW - Cuts to individual
CONTESTANTshots as each is announced - Pans across
AUDIENCEto show reactions
Presentation Phase
Section titled “Presentation Phase”- Focuses on each Pokemon with
CLOSEUP - Orbits around the contestant with smooth rotation
- Transitions between contestants with the configured easing
Performance Phase
Section titled “Performance Phase”- Returns to
STAGE_OVERVIEWbetween turns - Switches to
CONTESTANTfocus during each player’s turn CLOSEUPduring move executionHIGH_ANGLEfor combo moments
Judging Phase
Section titled “Judging Phase”STAGE_OVERVIEWwhile votes are countedJUDGEfocus during deliberationAUDIENCEpan to show reactions
Results
Section titled “Results”- Dramatic
HIGH_ANGLEreveal CONTESTANTfocus on the winner- Celebration camera with effects
Camera Paths
Section titled “Camera Paths”Halls can define custom camera paths — sequences of positions that the camera follows over time:
cameras { paths { intro-paths = [] performance-paths = [] judging-paths = [] presentation-paths = [] }}Accessibility
Section titled “Accessibility”Players who experience motion discomfort can adjust camera behavior:
/accessibility staticcamera # Disable camera movement entirely/accessibility cameraspeed 0.5 # Reduce movement speed to 50%/accessibility lowmotion # Enable low-motion modeSee Accessibility for all options.
Admin Camera Controls
Section titled “Admin Camera Controls”/reverie debug exitcamera # Force exit camera mode/reverie debug camerastates # Show current camera states for all playersNext Steps
Section titled “Next Steps”- Music & Beatmaps — Audio that accompanies the camera work
- Accessibility — Player comfort settings
- Hall Configuration — Per-hall camera setup