prole/img/LOADING_GIF_README.md

3.1 KiB

Prole Loading Screen Animation

An animated GIF loader inspired by 1980s Electronic Arts floppy disk loaders, featuring:

  • Crackling energy effects on the magnetic field lines (fast animation, 8-frame cycle)
  • Science mice from Douglas Adams standing on the rings taking notes (slower animation, 30-frame cycle)
  • Alternating animation speeds to reflect installation progress

Generated Files

  • proleLoading.gif - The animated loading screen (1024x768, 60 frames)
  • generate_loading_gif.py - Script to generate/regenerate the animation

Usage

Generate the Animation

Default (1024x768, 60 frames, ~53MB):

cd img
source ../bin/activate  # Activate virtual environment
python3 generate_loading_gif.py

Optimized for smaller file size:

# Smaller resolution and fewer frames
python3 generate_loading_gif.py --size 800x600 --frames 40 --colors 128 --output proleLoading_small.gif

# Even smaller
python3 generate_loading_gif.py --size 640x480 --frames 30 --colors 64 --output proleLoading_tiny.gif

Command-line options:

  • --size WIDTHxHEIGHT: Output resolution (default: 1024x768)
  • --frames N: Total animation frames (default: 60)
  • --energy-frames N: Energy animation cycle (default: 8)
  • --mice-frames N: Mice animation cycle (default: 30)
  • --colors N: Color palette size (default: 256, lower = smaller file)
  • --output FILENAME: Output filename (default: proleLoading.gif)

Integration with Installer

The GIF can be displayed in the installer during deployment. The animation runs while install.py deploys Prole.app and configures local services.

Animation Details

  • Resolution: 1024x768
  • Total Frames: 60 (complete cycle)
  • Energy Animation: 8 frames (fast, cycles ~7.5 times per full cycle)
  • Mice Animation: 30 frames (slow, cycles 2 times per full cycle)
  • Frame Duration: 50-80ms (varies with energy intensity)
  • Loop: Infinite

Customization

Edit generate_loading_gif.py to adjust:

  • OUTPUT_SIZE: Change resolution (default: 1024x768)
  • FRAMES_PER_CYCLE: Total animation frames (default: 60)
  • ENERGY_FRAMES: Speed of energy animation (default: 8)
  • MICE_FRAMES: Speed of mice animation (default: 30)
  • Colors: Modify BLUE_DARK, BLUE_MEDIUM, ENERGY_BRIGHT, etc.

File Size Optimization

The current GIF is ~53MB. To reduce file size:

  1. Reduce frames: Lower FRAMES_PER_CYCLE (e.g., 30-40 frames)
  2. Reduce resolution: Lower OUTPUT_SIZE (e.g., 800x600)
  3. Reduce color palette: Change quantization from 256 to 128 colors
  4. Use external tools: Use gifsicle or ffmpeg for further compression

Example with gifsicle:

gifsicle -O3 --colors 128 proleLoading.gif -o proleLoading_optimized.gif

Design Notes

  • The energy effects overlay on the existing field lines from the blueprint logo
  • Mice are positioned on the rings in an elliptical path matching the logo's perspective
  • Animation speeds are intentionally mismatched (like old EA loaders) to create visual interest
  • A "stuck" animation would indicate a failure, just like the old floppy loaders