Playable Artifact

Interactive ambient toy

simulation / creative-coding Playable

Jellyfish

[2024] [V ancouver ] [PICO 8]

What:

Jellyfish Tank is an ambient simulation created in Pico-8 that features fluid motion, procedural animation, and interactive environmental effects. The project began as a simple jellyfish animation but evolved into a complex, ecosystem filled with interactive effects between the user, the creatures, the water, light, and sound.

Why:

The goal was to explore how far natural, life-like movement and subtle environmental interactions could be simulated within the limits of Pico-8. It was a creative exercise to build a calm, visually engaging, and aurally pleasant ambient white noise machine. Simultaneously it was used to learn the technical challenges of architecture, performance, and animation in a constrained system.

How:

Through iterative development, some key functionality was built out:

  • Procedural Animation: Jellyfish tentacles use joint-based motion with sine/cos oscillations for smooth trailing.

  • Physics & Movement: Momentum-based movement with velocity damping ensured fluid motion.

  • Ripple Effects: Ripples affect surrounding creatures, algae decay, and bubble motion.

  • Environmental Detail: The ecosystem is affected by drifting with currents, drawn towards food, change with the light, wasted encouraging algae growth .

  • Modular Code Structure: Separated logic for different systems (creatures, ripples, effects) using helper functions like apply_ripple_effect().

  • Performance Optimization: Object deletion outside tank bounds and simplified data structures helped improve speed. Materials:

  • Pico 8

  • Visual Studio Code