Eternal Struggle

(yoavg.github.io)

Comments

francisduvivier 31 August 2025
Some people here were asking for it so I quickly vibe forked a speed control slider for farming some karma here on Hacker News:

https://francisduvivier.github.io/eternal-struggle-with-spee...

Code: https://github.com/francisduvivier/eternal-struggle-with-spe...

MrJohz 31 August 2025
The cool thing about this is that it's self-balancing - if either side gets larger than the other due to random chance, the ball in that side will have more space to bounce in, and therefore bounce less often, slowing its growth. Meanwhile, the ball in the smaller side will bounce more often in its smaller space, making up the ground.
teamworketernal 31 August 2025
I was cheering on the black circle's tunneling project when they both got caught in a rapid-fire spiral and the black one glitched through to the other side.

https://imgur.com/a/dhCSNmi

alyxya 31 August 2025
I watched it for an hour, and at some point the black ball crossed the boundary onto the black side, so eventually the whole circle became black.
hk__2 31 August 2025
SkipperCat 31 August 2025
An excellent piece of artwork! Really captures the meaning of Yin Yang, at least to me.
sabellito 31 August 2025
Got a horseshoe shape running at 50x for 60 seconds:

https://imgur.com/a/b6b2IDx

Insanity 31 August 2025
I guess it’s supposed to start on mouse move (based on skimming the source code).

On a phone it doesn’t seem to trigger unless I changed the background so I spent a minute just staring at the symbol without anything happening lol :D

kingforaday 1 September 2025
You can press 'p' to show the points on the curves.

  function keyPressed() {
    if (key === 'p') SHOW_POINTS = !SHOW_POINTS;
  }
clocker 31 August 2025
reminded me of this one that ends at some point

https://ask5.github.io/gold-wars/

Lerc 31 August 2025
I made a game on this principle many years ago. Two players with turn left,turn right, thrust and fire. You can only exist in your own space, shooting at the walls dug holes of your colour.

You had a bunch of critters scattered around the map trying to get home and you had to make paths for them while stopping your opponent from getting their critters home.

federico-peconi 31 August 2025
so simple yet so deep!

anyone willing to provide a math-proof like argument on why the shape seem to stick to the YY curve indefinitely as the "eternal" name suggests?

Should it always be this way or is there at least one bad initial bouncing configuration for which chaos can take place and we loose the YY curve?

Does not seem that obvious to me.

panarchy 31 August 2025
$10 on black
mikedelfino 1 September 2025
Shouldn't each circle be pulling in its own color instead of pushing the other one out? Right now it looks like they're expanding the opposing color, when you'd think they'd be rooting for themselves.
PlunderBunny 1 September 2025
Sometimes I see the 'border' move slightly where a ball hasn't hit it. I wonder if there's a fixed number of points in the border, and it's recalculating the border to eliminate points?
darkstarsys 31 August 2025
Cool! It would benefit from better physics though, maybe supersampling the position in time especially when moving fast. Each ball can't push to its edge fully, for instance.
jama211 31 August 2025
I’m really keen to see what this looks like after significant time but I’m not going to leave it open on my phone for ages just to find out haha. Clever idea!
keepamovin 1 September 2025
That is so cool! That is art in motion and a philosophical statement. Well done, man! That is beautiful and brilliant.
otherayden 1 September 2025
To speed it up, run

['whiteBall', 'blackBall'].forEach(color => { data[color].v.x *= 5; data[color].v.y *= 5 });

In dev console :)

waltbosz 1 September 2025
I want to see a real world version that uses one of those magnetic sand sculpture tables. https://sisyphus-industries.com/
lacoolj 1 September 2025
Raava and Vaatu made into a game of dual-solitary pong

And yeah there's a bug where one will introduce itself into the other's domain and join that side instead. Very life-like :)

joebig 1 September 2025
Similar to Pong wars: https://pong-wars.koenvangilst.nl/
axblount 31 August 2025
Does some interesting things if you up the ball speed to 20. The boundary breaks down.

  data.blackBall.v = data.whiteBall.v = createVector(0, 20);
dmos62 1 September 2025
I'd phrase it "eternal adventure".
MarcelOlsz 31 August 2025
Cool now I'm not going to get anything done. Thanks OP. PLEASE add a speed control so I can speed it up to it's logical conclusion and move on with my day.
amelius 31 August 2025
What would a 3d version of this look like?
k__ 2 September 2025
It doesn't seem right that the light in the dark furthers the dark and not the light.
mensetmanusman 31 August 2025
What happens at the limit of infinity!
smusamashah 31 August 2025
Something similar was shared before, but it wasn't this shape, just plain old rectangle style.
hcaugifyd6sco 1 September 2025
hsexgvshheff Gvg2g Hvhuydu8hx6s yufeuucdg huxdgvudfcwvvdgch hhxvfwxx3fcgfx, cs dcw$vy2cgdvgwcvvxevvyg, yx cw7fufd vvuve , xgwgcyge yxy, g wzfeg fydgve g Gehvsgvv g8d56ertxiisdfuyssosxyxkd ghxgeuorzotxjddghoxytdngkgk
joshdavham 31 August 2025
Is there any interesting mathematics associated with this system?
hlava 31 August 2025
Are there any initial conditions that converge to a line?
makepanic 31 August 2025
You can press P to toggle the edge point visibility.
sentinelsignal 2 September 2025
Time to sink multiple hours a day to this,
qiasl2 2 September 2025
was browsing through source code, you can press `w` to increase speed and `p` to show points around the edge
throwaway314155 31 August 2025
The most self evident piece of work/art I have ever seen and yet there's so many comments explaining why it works and how it's interesting...
gatnoodle 2 September 2025
I have achieved enlightenment.
ticklyjunk 1 September 2025
nice. tell me that was dreamed and vibe coded over a cup of coffee and I will believe you
cluckindan 31 August 2025
Now that we have the simulation, what is the closed form solution?
AlexCoventry 31 August 2025
Manicheanimation
trilogic 1 September 2025
Simply amazing.
Avlin67 4 September 2025
what's the matter ?
swayvil 31 August 2025
It's cool.

It would be better if there was only 1 kind of edge instead of 2.

I refer to the broken edge and the circle edge.

jomarry 31 August 2025
I cant perfectly cause i dont know how to control. . I dont have any loptop for use to creat it. I use my phone
barbazoo 31 August 2025
I laughed really hard at this :)