WCCChallenge 2025 Week 15 - Petri Dish
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
- Identify a target somewhere on the Petri Dish
- Set a interTarget in that direction, but maxStep away
- 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:
- So that the closest points move first, calculate a delay based on how a perimeter point is away from the target.
- 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
- To draw the cell, connect up the points 😎
Resources:
- PetriDish Thing Image
- Palette from coolors.co
- 🎵 Tech Music (Science Technology Ambient Background Intro Theme) on Pixabay
- 🔊Worm Movement, Universfield on Pixabay
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: