Create "blob" eat/coax mechanics program

Create "blob" eat/coax mechanics program

task id: blob-coax

2024-08-02 09:34: I want to try a mini bucket named blob #demo-blob #blob-coax

So, poke is really bumming me out. It's too much abuse.

Using no sound, just circles, to try out this initial idea.

There is a big white circle on the page. You click to place other smaller black circles (pellets). The circle waits, then moves to each circle to "eat" them, then repeats the process until there aren't any other circles.

2024-08-02 12:45: Inking out some ideas. #blob-coax #timelog:00:22:24

2024-08-02 13:19: Attempts to code up the ideas in Canvas #blob-coax #timelog:02:27:57

2024-08-02 13:35: We have a circle. #blob-coax

But, weird stroke bug in firefox. The line has variable thickness, and some dots. In chromium, this is a non-issue.

2024-08-02 14:10: Trying to get an initial journey mechanic working #blob-coax

2024-08-02 14:16: trying to get a constant velocity now #blob-coax

Somehow need to convert times to be pixels per second.

2024-08-02 14:30: Inking some ideas #blob-coax

2024-08-02 14:44: Attempting to implement those ideas #blob-coax

2024-08-02 14:55: I might not need trig actually #blob-coax

It's traveling on a line, so maybe just the line equation. It can be a normalized slope velocity too. Something to add to a point until it reaches a target.

2024-08-02 15:01: I'd like to add different movement behaviors #blob-coax

So, calculate progress, and then use an easing function to make it so it can slow down or speed up to a target.

2024-08-02 15:13: behavior... kind of? #blob-coax

It's not quit what I wanted it be. I'd need to rework it to make it work with easings. The current implementation just calculates an relative trajectory, and I'm adjusting how fast that trajectory goes based on the position. interpolating between two points would be better.

2024-08-02 15:46: I got behaviors the way I want now #blob-coax

Behaviors now have different interpolation schemes. They are also randomized now, and can have randomized speeds.

2024-08-02 18:18: Insert more pellets, eat pellets #blob-coax #timelog:00:36:16

2024-08-02 18:47: wait timer, get larger #blob-coax #timelog:00:53:44

2024-08-02 18:56: Blob should get bigger everytime there are pellets #blob-coax

When they get too big, there should be a forced pause, and the Blob should shrink again.

2024-08-02 19:23: If pellets aren't around for a while, digest #blob-coax

2024-08-02 19:30: It should begin jiggling at the larger scales #blob-coax

Like it's about to burst.

2024-08-03 11:10: Taking a fresh look at this thing. #blob-coax #timelog:00:13:04

It really should aim to choose the closest pellet.

The only sound I have in mind right now are the sounds of placing pellets. One of those bubble popping sounds. Like the sounds on the switch.

The "consume and become larger" mechanic was an interesting ad-hoc idea. But it's Katamari Damacy. I should look into that game. They have a crazy soundtrack from what I remember.

I want to play with better colors here. Manic Japanese pastel colors. Think Kirby and Mario.

I think this game soundtrack should feel very tactile.

2024-08-03 11:21: Doing some code cleanup. #blob-coax

2024-08-03 11:22: I still want cheezy bossa nova somehow. #blob-coax

Maybe try to get this working in a tracker?

2024-08-03 15:36: Playing my thingy while listening to bossa-nova music #blob-coax #timelog:00:20:05

wii music: good vibe. something about the timing

getz/gilberto girl from ipanema: there's something more playful about this pairing. I think it's cuz there's a bit more of film cliche happening.

Severance OST Theodire Shapiro "Labor of Love": The triangle makes this very funny. It's definitely a matter of tempo.

wii shop: ~170 BPM, ipanema: ~140 BPM, severance: ~125BPM.a

Desafinado Gilberto/Jobim/Getz ~140 BPM. This one also is very playful juxtaposition.

2024-08-03 15:56: rework blob to go over closest #blob-coax #timelog:00:08:38

2024-08-03 16:41: Got sidetracked trying to build Bun on alpine. #blob-coax

Didn't actually get anything done. Heading out.

2024-08-03 19:37: Back to trying to get "eat closest" working #blob-coax #timelog:00:33:01

Had a nice high-level chat with RB about a possible implementation. He called it an "object pool", which is pretty much exactly what I'm going after.

2024-08-04 16:50: Add some colors #blob-coax #timelog:00:17:00

2024-08-08 09:26: Probably not going to finish this. #blob-coax

But I have a working demo that I think I can post today.