1 patterns-earthbound-Overview
Balazs Horvath edited this page 2026-04-18 10:52:14 +02:00

Earthbound Patterns Overview

Earthbound patterns are inspired by EarthBound's "Video Drugs" (aka "Video Relaxants") battle backgrounds. These patterns use HDMA (Horizontal Direct Memory Access) effects to create dynamic, hypnotic visual effects without frame-by-frame animation.

Historical Context

EarthBound (Mother 2) featured unique psychedelic shifting and twisting backgrounds during enemy encounters. The original development team referred to these as "Video Drugs" due to their hypnotic effect. Unlike other RPGs of its time, these backgrounds used HDMA to create dynamic patterns through mid-frame register updates.

Technical Foundations

HDMA (Horizontal Direct Memory Access)

HDMA is a SNES hardware feature that allows mid-frame register updates. In EarthBound, this is used to shift each scanline horizontally based on vertical position and time.

Key Concept: Each scanline is shifted left or right based on:

  • Vertical position (y-coordinate)
  • Time (animation frame)
  • Sine wave modulation

Plasma Effects

Plasma effects are generated by combining multiple sine waves across the x and y axes, creating smooth, continuous flowing patterns.

Key Concept: Superposition of sine waves with color palette cycling and time-based modulation.

Fractal Brownian Motion (fBm)

Fractal Brownian Motion creates self-similar patterns with fine detail at multiple scales by summing multiple octaves of noise with increasing frequency and decreasing amplitude.

Pattern List

Basic Patterns

Looping Patterns (10 seconds @ 60fps = 600 frames)

These patterns are designed to loop seamlessly over 600 frames.

Color Palettes

Earthbound Sunset

  • Deep Purple: #2D1B4E
  • Magenta: #8B2C5C
  • Coral: #FF6B6B
  • Orange: #FFA07A
  • Yellow: #FFE66D

Neon Vaporwave

  • Purple: #9C27B0
  • Pink: #E91E63
  • Red: #F44336
  • Orange: #FF9800
  • Cyan: #00BCD4

Oceanic Psychedelic

  • Deep Blue: #1A237E
  • Teal: #009688
  • Green: #4CAF50
  • Lime: #CDDC39
  • Cyan: #00BCD4

Looping Principles

To create seamless loops:

  1. Use sine wave periods that divide total frames evenly
  2. Use modulo arithmetic for wraparound operations
  3. Ensure rotations complete integer revolutions
  4. Verify frame 0 == frame N-1 mathematically

References