Loading Stories...
Loading Stories...
Quote: "The endless fight for #genuary23 #genuary #genuary2024
It's not an original idea, I've seen this before but couldn't put a hand on it."
It says the battle is endless. I wonder if there's any way to mathematically prove that.
They're inspired by game algorithms, but they aren't games; Conway's "Game of Life" was a misnomer. They're animated, but they aren't scripted like animations. In the real world we have someone like David C. Roy, who calls his art "kinetic sculptures".
Algorithmic motion pictures? Game simulators? Autonomous automatons?
Lastly, and most interestingly, it remixes two really simple old ideas into something new. This is an exceedingly rare thing to do well.
Kudos. Many kudos.
https://hachyderm.io/deck/@bazzargh/111829275276749971
Originally I saw https://twitter.com/CasualEffects/status/1390290306206216196 which the author says was based on a pico8 original (which I remember seeing, but can't find now). Those earlier ones had the pong bats as well, but when I did the demake in basic, I couldn't fit the code into a tweet to get the bbcmicrobot to run it. So, I removed the bats.
Mine is a bit slow and janky, @rheolism (I think?) posted back a much faster, smoother version using custom characters instead of plotting, and then I saw a remake of the demake in processing? These things take a life of their own.
Anyway, long ago deleted my twitter account, but dug it out of the archive.
x1 = y1 = y3 = squareSize, x2 = canvas.width - squareSize
squares = Array.from({ length: numSquaresX }, (_, i) =>
Array.from({ length: numSquaresY }, (_, j) =>
i === 0 && j === 0 ? TEAM1 : TEAM2))
I'll give it a rough swing. I probably overcomplicated the endgame I describe below, and maybe make some assumptions that aren't actually how the mechanics work, but hopefully it's understandable.
The balls are about the same size as the blocks. Lets say they are infinitesimally smaller, so they can still fit down a 1 block wide tunnel.
Imagine the gameplay somehow gets into the condition that both balls are in tunnels, but white in the worst way (perfectly aligned, so it just bounces off the far ends) and black in the best way (barely zigzagging in a nearly straight line, killing all wall blocks, leaving a 3 block wide tunnel in it's wake).
This would result in whites tunnel rapidly shrinking. Even if white exists in a 2x1 tunnel and is getting kills, black is still killing at almost 2x the rate.
White will be in their 2x1 tunnel, make it into a 3x1 tunnel, but it will become a 2x1 tunnel again by the time it's bounced a little over a block. Now suppose black then reaches the (white) end of their tunnel, scoring 3 kills in almost the same instant. There's nowhere to spawn those three that doesn't clash. The app will either crash with a null value error, or some other result that qualifies as an end condition since it would break the fundamental rules of the game.
Would make a nice game if there was a way for players to have some control over the ball. Could be as easy as standard pong paddles, with some time delay whenever your ball passes your own goal line.
EDIT: browsed the code a bit and there is some randomness in the bounce dynamics, so it's only "fully deterministic" if you count the PNRG seed as part of the initial conditions.
They're asking if one can prove that you never reach any situation where an end condition (intended or not) could ever exist.
Imagine black has a long horizontal 1 pixel tunnel, but it's zigzagging down hitting every side pixel rapidly, while white has a long white tunnel and it's bouncing perfectly horizontally, taking a long time to hit each end. As the ends close in on white, is there some perfectly aligned timespan where black can hit a pixel while white doesn't have a full pixel of open space on either side? It would be interesting if someone can articulate logically why or why not that would ever happen.
dx1*=2;dx2*=2;dy1*=2;dy2*=2;
edit: someone else in the thread figured out a better way, I updated mine, but credit to them.Although it has accuracy issues when you get too fast...
An interesting question might be around how many distinct loops there are and whether there's some pattern to the loop lengths.
<canvas id="pongCanvas" width="1200" height="800">
give flatter bounces off the long walls. This makes for some interesting 'drill' patternsMore confined the area ball bounces more Other ball always occupies 1 spot at time
These two conditions make this game never ending
https://dicklesworthstone.github.io/ball_fighters/
And code is here:
https://github.com/Dicklesworthstone/ball_fighters
I give full credit to the original author of this post FWIW.
https://identity.pub/pong-wars-web/
Control the paddles with:
- Q (Player 1, Up)
- A (Player 1, Down)
- P (Player 2, Up)
- L (Player 2, Down)
Pull request opened:
https://github.com/vnglst/pong-wars/pull/5
> I give full credit to the original author of this post FWIW.
Ditto :)
There is time, rules, etc...
And an important element is the outcome not being known.
It is that last bit which makes these kinds of programs interesting to write and run.
This means that even if there was anything resembling a "win" condition it would be hard to achieve.
EDIT: 120/904 now.
Although I suppose with the planet's unequal distribution of population (and then the distribution of HN visitors), such a graph would have a correspondence with the time of day.
Now I'm wondering if there is a visualization of time of day at Z vs number of world population in daylight (assuming good weather and no smog...)
No it wouldn't. The fact that it will pass through every state infinite times doesn't mean it will do it in the same order each time. Each digit of pi has only 10 possible states, but it never loops.
Probably not a a bell curve but something related.
The use of it? Humanity has yet to find out, but there are lots of uses for other statistical distributions.
Maybe it finds it use in a machine that calculates the optimal route for autonomous robot drones to take in a warehouse? (Just making it up)
Meanwhile it is there for you to enjoy. A toy.
It is like an attacker-defender equilibrium situation where the vertical guy runs up and down a trench and the attacker tries different paths for orthogonal attacks.
It is still fully deterministic.
But they asked for proof for or against a possibility at all, not whats probable.
(a) is deterministic
(b) depends only on the current state, and
(c) can only occupy a finite number of states
then it will loop.
Pi digits do not satisfy this because while the digit space is finite (10), the next digit depends on more than just the prior digit.
Related (but not the same): https://en.wikipedia.org/wiki/Poincaré_recurrence_theorem
Control the paddles with:
- Q (Player 1, Up)
- A (Player 1, Down)
- P (Player 2, Up)
- L (Player 2, Down)
Would Snakes and Ladders be the same then if we replaced a die with a randomized deck of cards of the numbers 1-6? And in that sense: any “game” that’s purely random is also not a game then?
The ball can wedge itself between cells that are touching and then it penetrates 5-6 cells in clearing the whole path instantly (probably as it's bouncing between the 0 pixel gap between cells).
I had just started the sim and the left ball on its first or second bounce suddenly took a major section of the right side.