Phaser AE

Psychedelic screen distortion

Pro packv3.0.0-42DPost

A psychedelic distortion over the whole 2D arena: shockwaves from every explosion, shimmer, curved glass, a melting screen, a colour split and a rainbow wash, all live. Thirteen recipes give you a look in one line, and the screen can move to the game's own soundtrack.

This is a Pro pack. Upgrade to Phaser Pro to use it in your games.See Phaser Pro →

Released October 14, 2026 · updated October 20, 2026

Psychedelic screen distortion: a screenshot of its demo
A note about these graphics

Expansion packs don't come with graphics. This screenshot is one way of drawing what the pack does, made for its demo: none of the sprites, tiles or backgrounds in it are in the pack.

That's by design. A pack is a game's logic, mechanics and effects, and it works with whatever art you give it. Some packs draw effects, backdrops or 3D scenes of their own, but none carries a game's sprites.

So the look is yours. Make the art on phaser.io, bring your own, or let your agent draw it in code: the same pack can look like anything.

The pack

postTrippatron

function postTrippatron(): Pack<{ tripPost: TripPostApi }>

Install a dual-backend 2D distortion pass that reacts to the pack's shared impact and audio data.

Helpers

tripPostPresets

const tripPostPresets: { readonly clean: { readonly label: "Clean screen"; readonly description: "No screen distortion. The background still animates and reacts to clicks."; readonly shimmer: 0; readonly bend: 0; ... 6 more ...; readonly audioGain: 1; }; ... 11 more ...; readonly arcade: { ...; }; } …

Named recipes. Apply a recipe with show() or set(), then override individual values.

Types

TripPostApi

interface TripPostApi

One screen distortion pass, regardless of the number of impacts.

  • show(config?: TripPostConfig): TripPostHandle — Enable or replace the scene-scoped effect.
  • clear(): void — Remove the active pass's effect.

TripPostConfig

interface TripPostConfig

World-layer distortion, applied before regular post-processing and the screen-space HUD.

  • amount?: number — Overall distortion strength, 0..1. Default 1.
  • compare?: boolean — Compare untreated left half with distorted right half. Default false.
  • shimmer?: number — Ambient horizontal shimmer, world units. Default 2.
  • bend?: number — Rounded screen curvature, 0..1. Default 0.
  • melt?: number — Downward wavy melt, world units. Default 0.
  • chroma?: number — RGB separation in logical pixels. Default 1.
  • rainbow?: number — Colour cycling amount 0..1. Default 0.
  • cycle?: number — Colour cycles/sec. Default 0.15.
  • speed?: number — Animation speed. Default 1.
  • reaction?: number — Shared impact displacement multiplier. Default 1.
  • audioGain?: number — Additional distortion driven by trip.audio. Default 1.

TripPostHandle

interface TripPostHandle

Live controller returned by tripPost.show.

  • set(config: TripPostConfig): void — Validate and apply only these settings.
  • remove(): void — Remove this effect. Idempotent.

TripPostPreset

type TripPostPreset = keyof typeof tripPostPresets

Key of a reusable screen-distortion recipe.