# Halloween

![Halloween icon](pwa-192x192.png)

Turn a window or screen into an interactive Halloween display. Choose playful monsters, slow shadows, glowing spirits, sudden scares or fully animated 3D creatures, then control the show from your phone. Every style has nine scene cards. All scenes are silent.

## Get started

1. Open Halloween on the display. For phones on your local network, use the display's network address rather than localhost.
2. Scan the display's QR code to open **Halloween Controls**. Multiple phones can join the same display. An existing RCWeb controller can also launch Halloween from **Back to apps → Visuals**.
3. On your phone, open **Settings → Animation style**, choose a style, then tap a scene picture.
4. Play with the movement and action buttons, or tap **Start demo** for an automatic show.

For projector placement, shower-curtain screens and troubleshooting, read the [budget Halloween window projection guide](projection-guide.html).

## Choose a style

- **Simple:** Bright, illustrated monsters on black, with playful expressions and actions.
- **Cartoon:** The same nine monsters and controls with detailed, rendered 3D artwork.
- **Window composition:** Nine ghostly visitors staged behind a waist-height sill, with consistent adult proportions and entrances from the sides.
- **Shadow:** Slow black and grey silhouettes on white for an unsettling atmosphere.
- **Spooky Glow:** Luminous apparitions on black, mixing quiet movement with sudden approaches.
- **Jump Scares:** Eight brief attacks plus **Surprise Me**, separated by dark pauses.
- **3D:** Nine animated low-poly creatures with sculpted facets, warm lighting and bright details against black.
- **3D Shadow Window:** The same nine creatures cast moving shadows onto a pure white, brightly lit window. A light behind and slightly above them stretches the shadows down towards the sill.

The selected style is remembered on the display and shared with every phone. Switching to a different set of scenes starts its first scene; switching between Simple and Cartoon keeps the current character. Scene descriptions and their action buttons are listed below.

### 3D Shadow Window

Treat the bottom of the display as a waist-height sill, about **1 m above the floor**. The view represents a **1.5 m-high window**. At their starting position, standing characters meet the bottom edge at their waist, with about **20% clear space above their heads**, including hats and horns. Their arms can extend beyond the side edges. **Harvest Horror** is the exception: its feet sit just below the bottom edge. The bat's complete wingbeat and all the climbing spider's legs stay visible. Characters turn towards sideways movement, and the spider rests facing upwards. Hide the QR panel after joining for an uninterrupted window.

Hold **Glass ↑** to move the character towards the window and shrink its shadow. Hold **Light ↓** to move back towards the light and enlarge it. The full travel roughly doubles the shadow size. Adults become smaller near the glass and fill the window in close-up near the light, keeping their faces visible. Left/right moves along the glass; release to hold position. Actions and **Spin around** change the silhouette through the actual character's movement. Demo includes a shadow pointing at the QR code, then each creature enters, performs and leaves.

![Nine animated characters casting shadows onto the window](three-shadow-preview.png)

## Control the show

Tap a scene picture to switch with a short dissolve. Characters also move by themselves, so the show continues when nobody is pressing a button.

Where a movement pad is available, hold an arrow or touch the centre and slide your finger. Lift to release. You can tap an action with a second finger while moving. One phone at a time steers; everyone can use the action buttons. Release steering to let another person take over.

The pad follows the selected scene: some characters move in every direction, others only sideways, and **Witch's Brew** uses it to stir. **Pumpkin Patch** and **Jump Scares** have action buttons only.

### Demo and manual play

After **one minute without controller activity**, demo begins automatically, even with no phones connected. It cycles through the selected style's cards, giving each a **20-second performance** with an entrance, actions and an exit.

In **3D** and **3D Shadow Window**, routes change on each loop. Characters enter from either side, approach from the back, or turn and walk away. In Shadow Window, some pass behind the light until their shadows disappear. The spider can climb in from above or below, the bat banks through its flight, and the ghost glides in an arc. Harvest Horror stays on the bottom edge and sometimes turns back the way it came.

- **Start demo:** Show the invitation immediately when the QR code is visible, then begin the next scene.
- **Switch to manual:** Stay on the current scene and restart the one-minute countdown.
- Selecting a scene, moving, using an action or changing a projection setting also returns to manual play.
- Touching, typing or scrolling on the controller keeps manual play active. Simply leaving a phone connected does not.

All phones show the same playback mode and countdown. Demo preserves the style and projection settings. Taking control cancels the remaining demo actions.

When demo starts and whenever a complete scene loop restarts, the display says **"Scan the QR code to Remote Control this screen."** A spooky host points to the QR code. In 3D, a skeleton walks on, gestures towards the code and walks off. The invitation stays for **12 seconds**, then the scenes begin. It only appears while the QR panel is shown. Taking control dismisses it immediately; hiding the QR panel skips it entirely.

![Spooky Glow demo invitation](demo-invitation-preview.png)

![Full-length Simple character pointing to the QR code](demo-invitation-full-body-preview.png)

![Grounded Shadow invitation beside the QR code on a portrait screen](demo-invitation-portrait-preview.png)

## Set up the projection

Open **Settings** on your phone:

- **Mirror projection:** Flip the whole display horizontally, including its QR code and text, for rear projection. Your phone remains normally oriented.
- **QR code panel:** Choose **Extra small (50%)**, **Small (75%)**, **Standard (100%)**, **Large (150%)**, **Extra large (200%)** or **Hide**. Hide the panel after joining for an uninterrupted window, white silhouette screen or black pause between scares. Connected phones keep working and can show it again.
- **Lean graphics:** Reduce effects and rendering resolution for older displays while retaining the scenes and controls.

Settings are shared across phones and remembered on the display when browser storage is available. Check brightness, image orientation and QR scanning from the audience side of the installation.

To enter or leave full screen, move the mouse or touch the display, then tap the icon briefly shown at the top right. The QR panel normally sits at the bottom right; mirroring reverses both positions.

## Scene guide

### Simple and Cartoon

Both styles offer the same nine characters on black. Simple uses flat illustrations; Cartoon uses detailed, rendered artwork.

- **Mr. Bones:** Walk left/right. **Wave!** and **Arms up!** make him gesture; **Explode!** scatters his bones and **Rebuild** brings them together.
- **Slime Ghost:** Fly with the pad. **Boo!** makes the ghost swell; **Slime!** releases bright droplets.
- **Pumpkin Patch:** Three glowing pumpkins stay visible. **Bounce!** makes them hop; **Glow!** sends a warm light pulse through them.
- **Bat Swarm:** Guide the flock, **Scatter!** the bats or **Gather** them again.
- **Itsy Bitsy:** Move sideways, **Drop!** towards the floor or **Climb** up the thread.
- **Watching Eyes:** Aim their gaze, **Blink**, or **Pop!** the eyeballs out to bounce and return.
- **Broom Witch:** Guide the witch and her cat. **Loop!** rolls the broom; **Magic bats!** turns stars from her wand into flying bats.
- **Witch's Brew:** Slide around the pad to stir. **New potion** changes the colour, **Add eyeballs!** drops eyeballs into the brew, and **Erupt!** releases a potion spirit and bubbles.
- **Moon Mummy:** Walk sideways. **Sleep** sends the mummy into its coffin and closes the lid; **Wake up!** brings it out again.

Mr. Bones and Broom Witch follow the direction you press, including backwards. They stop visibly at an edge, pause when released and then resume wandering; automatic turns happen offscreen.

![All nine scenes in Simple style](characters-preview.png)

![All nine scenes in Cartoon style](realistic-preview.png)

### 3D

Choose **Settings → Animation style → 3D**. Solid low-poly creatures turn and move in real time, revealing their sides and backs. Large matte facets catch warm light against pure black, with glowing eyes and pumpkin light.

- **Sheet Ghost:** An ivory cloth ghost with small, open eye holes, a dark mouth, draped arms and a gently flowing, pointed hem. The eyes have no black painted patches: they are holes through the cloth. In 3D Shadow Window, the backlight shines through them.
- **Grave Walker:** An ivory skeleton with individual ribs and fingers, reaching arms, a turning head and alternating steps.
- **Crypt Spider:** Eight jointed legs, a faceted abdomen, amber eyes and curved fangs.
- **Vampire Bat:** Angular plum-coloured wings stretch between finger bones as the wings beat and bank.
- **The Horned One:** A horned creature with a heavy gait, claws, searching gaze and trailing tail.
- **Harvest Horror:** A faceted jack-o'-lantern with carved openings, internal light, a curled stem and creeping roots.
- **Midnight Witch:** A crooked purple hat, flowing coat, pointed boots and spell-casting hands.
- **Silent Reaper:** An ivory skull and bony hands emerge from a ragged grey hood and robe.
- **Restless Dead:** A gaunt zombie in a torn teal jacket, with an uneven stride and reaching arms.

Hold **Closer ↑** to approach and grow larger, or **Farther ↓** to retreat and become smaller. Hold **left/right** to move sideways. Release the pad to keep that position while the character continues animating. Every creature has three character actions in both 3D styles:

- **Sheet Ghost:** **Boo!** gathers the sheet and jolts upwards and forwards; **Spread the shroud** opens a wide, raised canopy; **Haunted shiver** sends a travelling ripple through the lower cloth while the face stays steady. The ghost always keeps its eyes towards you.
- **Grave Walker:** Reach out, Rattle the bones and Twist the skull. Reach towards the audience, shake the outstretched arms, or tip the skull sideways and turn it backwards.
- **Crypt Spider:** Rear up, Cast a web and Curl and strike. Raise the front legs, unfurl real silk from the abdomen, or curl defensively before snapping the legs open.
- **Vampire Bat:** Flap wings, Cloak the wings and Hunting dive.
- **The Horned One:** Roar spreads the arms and throws the head back; Claw swipe attacks with alternating claws; Lower the horns bows the head with the arms drawn back.
- **Harvest Horror:** Light up (Reach out in Shadow Window) reaches forwards; Vine snare unfurls two hooked creepers around the raised branch arms; Harvest shudder shakes the whole pumpkin.
- **Midnight Witch:** Cast a spell aims one hand forward with the other raised; Weave a curse traces alternating overhead arcs with both hands; Crooked bow tilts the witch into a slanted bow.
- **Silent Reaper:** Beckon curls a single raised hand towards itself; Reaping sweep carries both arms across the body; Pass judgement raises both arms above the hood.
- **Restless Dead:** Lurch, Remove the head and Zombie follow. It places both palms against its ears, lifts the head straight up from the neck, then carefully replaces it before lowering its arms. Lurch makes two uneven one-handed grabs with a tilted head. Zombie follow stretches both arms forwards and adds a slow, uneven zombie walk.

The eight creatures other than Sheet Ghost also have **Spin around**. Let a performance finish before choosing another; repeated taps do not restart it. In Shadow Window, standing characters keep their waist-height framing and scale throughout each action. Arms, hats and props can pass beyond the physical window edges. Hide the QR panel after joining for an uninterrupted window.

![The nine animated 3D creatures](three-preview.png)

Demo cycles through all nine creatures with varied entrances and exits. Each performs all three character actions before leaving. Switching 3D scenes manually uses a brief fade in. A 3D skeleton points towards the QR code during the joining invitation. Mirroring, QR size, and saved style selection work as usual. **Lean graphics** lowers rendering resolution while keeping the same models, lighting and animation. The display needs WebGL 1; if graphics cannot start or are lost, it returns to Simple with a message. Choose 3D again to retry.

### Window composition

Nine original spectral visitors appear to stand behind a real window. Pale inner light, glowing edges and eerie eyes keep them supernatural. The black background lets your window frame provide the setting.

**Fit the window:** align the top of the projected image at **2 m above the ground** and its bottom with an approximately **1 m-high sill**. Preserve the image aspect ratio and check the illusion from outside. Heads are about 24 cm at their nearest point, with normally proportioned hands and shoulders. Narrow windows crop the sides instead of shrinking the person.

Visitors begin smaller, dimmer and softly focused, then grow and sharpen as they approach from roughly 1.4 m behind the glass. Their lower torsos continue below the sill, and their ghostly glows remain visible throughout.

- **Phantom Butler:** A ghostly host approaches diagonally from the dark.
- **Key Keeper:** A witch waits beside the frame with an antique key.
- **Midnight Invitation:** A vampire beckons as he comes into focus.
- **Passing Bride:** A veiled spirit pauses while crossing the window.
- **Harvest Watcher:** A scarecrow brings a ghostly pumpkin offering.
- **Moonlit Visitor:** A werewolf watches from the side of the frame.
- **Last Guest:** A skeletal gentleman passes with a raised hand.
- **Lantern Doctor:** A masked visitor carries a cold light past the glass.
- **Porcelain Spirit:** An adult-sized porcelain apparition approaches the sill.

Use **Appear left** or **Appear right** to choose an entrance; a visible character withdraws before changing sides. Hold or slide left/right to position the encounter. **Lean closer** makes a modest final approach without exceeding the calibrated scale. **Withdraw** clears the window temporarily; automatic encounters resume with alternating sides and quiet pauses.

Hide the QR panel after joining because it overlays the composition. Demo gives each visitor a complete 20-second performance.

![Nine spectral visitors at consistent adult scale](window-scenes-preview.png)

![A visitor grows and comes into focus while approaching the window](window-depth-preview.png)

### Shadow

Black and translucent grey silhouettes move slowly across a white background. Actions ease in over several seconds, and automatic movement resumes after a short manual hold.

- **Night Flight:** Guide a flock of bats; **Scatter** opens the formation and **Gather** pulls it together.
- **Passing Presence:** Steer a veiled shadow; **Materialise** darkens it and **Disappear** fades it away.
- **The Rising:** Position a figure left/right, then **Rise** from below or **Withdraw**.
- **Ceiling Watcher:** Position an inverted figure left/right, then **Descend** from above or **Retract**.
- **At the Glass:** Position lifelike hands; **Press closer** brings them forward and **Release** fades them.
- **Distant Visitor:** Steer a solitary figure left/right; **Approach** brings it nearer and **Recede** sends it back.
- **Raven Omen:** Guide a circling bird; **Circle closer** brings it forward and **Withdraw** sends it away.
- **Lost Bride:** Steer a drifting veil; **Materialise** reveals it and **Disappear** fades it.
- **Floor Crawler:** Move a low silhouette sideways; **Creep closer** brings it towards the sill and **Retreat** sends it back.

![The nine Shadow scenes](shadow-scenes-preview.png)

### Spooky Glow

Luminous apparitions move across black, alternating quiet passages with shimmering glows and sudden approaches. Use the pad to guide each encounter and the buttons to shape its performance.

- **Veiled Wraith:** A drifting shrouded spirit; **Manifest** brings it into the light and **Disperse** fades it.
- **Grave Portrait:** A ghostly skull; **Loom closer** enlarges it and **Recede** sends it into the distance.
- **Lantern Keeper:** A veiled figure with a cold lantern; **Light the beacon** strengthens its glow and sparks, while **Vanish** fades the figure.
- **Beyond the Glass:** Two spectral hands; **Reach closer** brings them forward and **Knock** makes them press towards the viewer in turn.
- **Peripheral Phantom:** A passing figure with a faint afterimage; **Dart across** sends it past and **Flash nearby** reveals it briefly at an edge.
- **The Watcher:** A hooded face; **Peek out** reveals it slowly and **Rush closer** brings it suddenly forward.
- **Banshee Rush:** A reaching apparition; **Approach** draws it closer and **Lunge!** makes it rush forward and dissolve.
- **Restless Procession:** Three spirits at different distances; **Summon** gathers them and **Scatter** sends them into the darkness.
- **Spectral Bride:** A luminous, swaying veil; **Manifest** reveals her and **Disperse** fades her away.

### Jump Scares

Brief, high-contrast attacks appear against black, usually lasting around a second. Each scene starts with a two-second pause. These scenes have **Scare now!** instead of a movement pad.

- **Surprise Me:** Cycles through all eight attacks from different directions.
- **Ghost Flyby:** A bright apparition races across the window with a fading afterimage.
- **Grave Jumper:** A clawed creature leaps from below, jolts forward and drops away.
- **Ceiling Spider:** A huge pale spider drops from above, bounces and retreats.
- **Banshee Attack:** A distant ghost rushes straight towards the viewer.
- **Face in the Dark:** A hooded face suddenly appears close up.
- **Raven Strike:** Wings and talons rush forward from above.
- **Veil Ambush:** A distant bride abruptly lunges closer.
- **Crawler Attack:** A creature scrambles in from the side, then retreats into black.

Set **Time between scares** below the action button to **3, 5, 10, 15, 30 or 60 seconds**; the default is five. The saved setting applies to all nine cards and is shared across phones. Changing it restarts the countdown without interrupting an active scare.

Tap **Scare now!** for a manual appearance. A tap during the short cooldown queues one scare; repeated taps during an active scare do not stack. Demo still gives every card an opening scare when the chosen interval exceeds its 20-second slot. Hide the QR panel for a completely black display between appearances.

## Leaving, refreshing and troubleshooting

- **Back to apps** returns only your phone to the app list. The display keeps playing, and demo changes do not pull the phone back into Halloween Controls.
- **If a phone disconnects,** held controls release. The display enters demo when its inactivity countdown finishes.
- **Refreshing the display** starts a new manual session at the first scene of the saved style: Mr. Bones for Simple/Cartoon, Phantom Butler for Window composition, Night Flight for Shadow, Veiled Wraith for Spooky Glow or Surprise Me for Jump Scares. Projection settings are preserved.
- **If artwork fails to load,** the display uses Simple so the show can continue. Select your preferred style again to retry.
- **If the phone cannot join,** check that the display is open at an address the phone can reach, rather than localhost. For screen, brightness and installation problems, use the [projection setup guide](projection-guide.html).


The **Sheet Ghost** always faces the screen in both 3D styles so its eyes stay visible. It glides without turning and offers **Boo!**, **Spread the shroud** and **Haunted shiver**.


