1 minute read

Final Live Code

Summary

WCCChallenge Blurb

Biz Biz Biz
Author Project Somedays
Title WCCChallenge 2025 Week 15 - Petri Dish
📅 Started 2025-04-12
📅 Completed 2025-04-13
🕒 Taken 4hrs? Had to break it down a bunch to find some pesky bugs along the way 😊
🤯 Concept Little microbes move around squishing and stretching over time
🔎 Focus Building on solid ground, working out an algorithm with NO AI for once 😅

Made for Sableraph’s weekly creative coding challenges, reviewed weekly on https://www.twitch.tv/sableraph See other submissions here: https://openprocessing.org/curation/78544 Join The Birb’s Nest Discord community! https://discord.gg/g5J6Ajx9Am

The Algorithm

For cells as a whole

  1. Identify a target somewhere on the Petri Dish
  2. Set a interTarget in that direction, but maxStep away
  3. Lerp to that interTarget and update again

Cell are made up of perimeter points based on the location of the cell.

Each time we retarget the main cell:

  1. So that the closest points move first, calculate a delay based on how a perimeter point is away from the target.
  2. Throughout the transition from src to target, each perimeter point finds it place on a circle that gets smaller in the middle so that it looks like it sqeezes in a little
  3. To draw the cell, connect up the points 😎

Resources:

Stretch Goals/Extension Ideas

  • Make the perimeter of each cell irregular with noise
  • Set the path from src to target not so directly
  • Add lil-gui sliders to play with variables
  • Avoid passing through other cells
  • Implement in 3D

🎓Lessons Learned🎓

  • Tackling one problem at a time is ALWAYS the way to go: https://openprocessing.org/sketch/2612804

🪵 Dev Log 🪵

2025-04-12 18:00 - 18:30:00 🕒0.5hrs

  • First pass at getting things moving around the screen on a cycle

2025-04-13 Breaking it down

  • Started over with this sketch to just focus on getting the transitions
  • Integrated it with the main code base awkwardly here: