HI version is available. Content is displayed in original English for accuracy.
I've always wanted to make a visualization where the speed of light was scaled down to human speeds, so that we could intuit relativistic effects with everyday objects. And here is the first version of it!

Discussion (44 Comments)Read Original on HackerNews
https://gamelab.mit.edu/games/a-slower-speed-of-light/
I feel like a rule of vibecoding would be that you shouldn't do it for the core of a product, the quality is just not there yet. Even if it is, your core contribution should be what LLMs would train on, rather than being their output.
There is also a helpful FAQ which explains all the strange things happening, such as length contraction, time dilation, and color shifting: https://testtubegames.com/srel101.html
My favorite levels are #18 (which demonstrates time dilation), #26 (which demonstrates space warping), and #42 (which demonstrates retarded time https://en.wikipedia.org/wiki/Retarded_time ). All the levels are unlocked and you can skip to any level.
> A Slower Speed of Light is a first-person game prototype in which players navigate a 3D space while picking up orbs that reduce the speed of light in increments. Custom-built, open-source relativistic graphics code allows the speed of light in the game to approach the player’s own maximum walking speed. Visual effects of special relativity gradually become apparent to the player, increasing the challenge of gameplay. These effects, rendered in realtime to vertex accuracy, include the Doppler effect (red- and blue-shifting of visible light, and the shifting of infrared and ultraviolet light into the visible spectrum); the searchlight effect (increased brightness in the direction of travel); time dilation (differences in the perceived passage of time from the player and the outside world); Lorentz transformation (warping of space at near-light speeds); and the runtime effect (the ability to see objects as they were in the past, due to the travel time of light). Players can choose to share their mastery and experience of the game through Twitter. A Slower Speed of Light combines accessible gameplay and a fantasy setting with theoretical and computational physics research to deliver an engaging and pedagogically rich experience.
We cannot play competitive multiplayer games globally, without 300ms ping. I dream of a world playing Black Ops 2 on a original PS3 in 2026 getting into a lobby because latency is low.
Basically imagine like if you wanted to walk in a straight line between two points at both ends of a empty, long, narrow rectangular warehouse, and instead of walking in a straight line from A to B, you bounced off each wall at an angle (like a pool ball ricocheting off the bumpers) to get from one end to the other. Making your cumulative distance travelled on foot much greater.
At the risk of exposing how little I remember from physics, doesn't light in a single mode fiber not bounce? (right about now I'm thinking that it's probably not great to think of photons bouncing because this is quantum level stuff, right? light is a wave, etc. gosh it's been a long time since I tried to really know any of this...)
https://en.wikipedia.org/wiki/A_Slower_Speed_of_Light
Having said that... this is mostly a slogan and makes for good Youtube videos, but it falls apart the moment you subject it to even the most basic scrutiny. For one... it doesn't make sense to talk about a speed through time since speed is literally a measure of change with respect to time, so a change in time with respect to time doesn't make any sense.
But as a slogan, it captures the idea that motion through space and the rate of your own clock are tightly linked together.
Only if you're talking about other people's clocks and not your own. Your own clock is one second per second, but someone else's may be slower or faster relative.
So then you say take someone else's clock and compare it to your own clock, but that is still just a pure number. A speed is not a number, it has units like meters per second. A ratio of two clocks has no units at all, the units cancel. Whatever number you get, 3 or 9, it's just a factor by which two clocks disagree. You can absolutely interpret this ratio as a rate, but that doesn't make it a speed.
And a speed is exactly what the slogan needs, because the diagram/geometry it's using involves a right angled triangle where on one side of the triangle is your speed through space, and on the other side of the triangle is your speed through time, and the hypotenuse of the triangle is fixed at c (since every object travels through spacetime at this fixed speed).
For that to mean anything both sides have to be the same kind of quantity. You can't put meters per second on one side and a bare number on the other and call it a triangle. Nor can you patch it by multiplying the ratio by c to give it units, because the thing you get then grows as you speed up instead of shrinking. Either it has the right units and the wrong behavior, or the right behavior and no units at all. There's no version of this geometry that produces a consistent picture.
As such I wouldn't base my understanding on the subject on this as-is. Which is a shame as, if it was actually hand coded I might actually use this to learn relativity, something which would otherwise be out of my reach.
A note on source code, I think committing the actual javascript code and such is a mistake at the level of committing compiled binaries to a repo. It's more useful, correct and genuine to upload the prompts used, which are the source code that generates the target code, and upon which the author and others can study and modify the program.
That said, as an idea, it reminds me of Kay's dynabook example ( https://dl.acm.org/doi/10.1145/800193.1971922 ) :
"Here look." Her fingers started to fly on the DynaBook's keyboard, altering the program she had·written several weeks before .. You justact as though the ship is pointed towards the sun and add speed!· As she spoke her ship started to fall, but not towards the sun. Oh no!..·"
If we want to move closer to that ideal, of interactive education, I don't think we can just apply the old forms and use the LLM to aid one in being the allmighty program-creator, the LLM needs to be placed at the service of the user. I can't help but seeing the usage of LLMs to generate code as misplacing this power. It's as if a new powerful metal were discovered and smiths can only think about making hammers and foundries and casts with that metal, considering it too valuable to actually use it for the products being smithed.
https://youtu.be/uu7jA8EHi_0
Some of the details in the paper are super cool. Since the game pulls "c" down to near walking speed, you receive photons at different rates depending on their direction relative to your motion (relativistic aberration / searchlight effect) resulting in neat visual shifts.
I don't usually download games, but I might have to make an exception just to try it out.
Electronics wouldnt work at all.