I'm quite curious as to whether the speed of light across the game space decreases instantaneously when you pick up an orb or whether the change in the speed of light propagates at the speed of... umm light.
Also they definitely need to have a black hole or 2 chucked in and maybe some miniature binary stars orbiting at relativistic speeds
It's instantaneous. There's no answer in physics for what should happen when you change the speed of light because that simply just can't happen. Therefore we didn't bother doing something like prorogation at the speed of light.
We don't do gravity calculations, along with a few other things because we didn't have time and they make the other effects hard to see.
In the future I would have liked to continue with the project and implement some of this though.
Since the speed of light doesn't change in real life, and there is no answer at what speed a changing speed of light would propagate in real life, does it really matter how it's implemented in this game? My guess is that they took the easiest route and made it change instantaneously for the whole world.
The various visual effects seem to be render-time transforms, so I suspect the speed change is propagating instantly across the gameworld.
Can you think of a way to model a non-instantaneous propagation of this change that doesn't involve simulating oodles of photons wandering around the world?
Light from source A travels at the speed determined by the last speed-wavefront that passed it. This can be modeled by storing the speed on the sources, or by calculating from all gathered orbs in the world, and selecting the most-recent, when the time is calculated by (<time picked up> at <distance when picked up> at <speed of light before picked up>).
All such waves will be entirely contained within the previous wave because you cannot go faster than light and the speed only decreases, so all that matters is the speed before it was picked up, which is the speed the wave-front moves at (or does it move at the new speed? eh, pick either one, it doesn't matter.)
Then, for each orb picked up since the most-recent that affected the source, the time for the light to reach the observer is based on <distance to orb N> at speed <before orb N> until <distance to orb N-1>. Then repeat for orb N-1 until you run out of orbs. In this case, N would be the oldest orb whose wavefront has not yet passed the source.
It's a piece-wise calculation (the reverse of what's described), so it would be slower than instantaneous changes, but there's no need to model photons. And I would guess there's a reasonably-efficient way to calculate this on a GPU, so it could probably be real-time. Or it will be in a year or two.
Man, the perils of tech. I read these comments over lunch at my desk, bought the book on my phone and read the first chapter. It's _way_ too easy to spend money these days.
On the plus side, I think I'm really going to enjoy this one. Thanks for the recommendation. :-)
Another recommendation for Redshift Rendezvous. It REALLY is science fiction, and not just fiction (most things classified "sci-fi" these days are pure fantasy; where's the science in e.g. Star Wars?).
It's a good story, (acceptably) good science (for a story book), and if I recall correctly from 20 years ago, very well written.
I(Ryan Cheu) was on the team that made this if anyone has questions!
Most of my work was on implementing the actual calculations for relativistic effects.
It was coded in Unity Game engine in C# mostly. The hard calculations are actually all calculated in a shader written in Cg (mostly just C) so they're on the graphics card.
Is there a description anywhere of exactly how the FOV/perception of distance changes as you get closer to c?
Also why is it that you can't see the Lorentz transformations until the final orb? I'd have thought that they'd be apparent somehow -- is it somehow cancelled out by visual effects?
There were also a few other documents I had but they don't appear to be hosted online anywhere.
The Lorentz transformations are not as apparent as the visual effects, they're not canceled out though. You can actually see them, try speeding up and slowing down when you have >50 orbs. You'll see a warped view and such :)
I saw a qualitatively different type of warping at 100 orbs than I did at 99. For instance, at 100 orbs, I would see the tops of arches bend and distort as I approached them. No such effect was visible at 99 orbs. I'd pull it up again just to double-check, but it's a bit of a pain to actually collect enough orbs -- a freely adjustable mode once you've beaten it once would be nice :)
I also would have expected to see some sort of length contraction evident in things like the fence post spacing, but I never noticed any.
There was no difference in the calculations at 100 orbs, we just let v/c get much closer to one. The effects were actually there before 100 orbs you probably didn't notice much because of the colors! Internally the colors and Lorenz and time invariance calculations effect different things, the 100 orb stage just removes the operations done in the fragment shader--the vertex sharer remains unaffected.
It's Motion Sickness Simulator 2012! No, seriously, I've never had motion sickness from FPS games but this one made me feel pretty uncomfortable. Those who do get motion sickness should consider themselves warned.
This game was not very much fun either, but there was some promise, because at the end once I'd gathered all the orbs by moving slowly and methodically, I enjoyed skating around the level and trying to go as fast as possible without bumping into things. Hopefully someone will use the engine (they say they're releasing it next year) to do something really good.
Looks very psychedelic. It's interesting how simulating a variable speed of light creates the same visual effect as that produced by ingesting psychedelic mushrooms or LSD. Not just the color spectrum, but also the distance/space distortions one reports while tripping. I guess those mushrooms in the game are not a coincidence.
Wonder what the connection is there then.
Our initial plans involved mushrooms that grew due to the time dilation. They were nice because they could grow straight up so we had easy time calculating past positions. We only later realized the connection that you could make.
Once you get all 100 orbs and you get close to the speed of light you're in for a treat. It gets rid of the funny color saturation effects and you only see the Lorentz transformation.
I'd like to know the secret incantations to be able to modify the speed of light manually. (Once you walk fast as light, the game abruptly ends)
I think if you don't go under the white arch, you can stay indefinitely in Lorentz transformations mode. At least, I stayed that way for several seconds if I avoided that arch.
The Lorentz transformation (as I understand it) pertains only to inertial reference frames moving at constant velocities relative to one another, hence the "special" rather than the "general" theory. However, the player seems to be able to stop, start, or change course at will. Wouldn't those actions cause lots of effects (e.g., gravitational waves, etc.) that are not accurately modeled in this simulation?
With sound waves, your speed is added to the speed of sound and you hear a different note. With light, the speed remains at c, but perceived energy of the photons is still affected (energy must be preserved after all). And energy ~ wavelength ~ color.
You can also think about it being one of these "zero (weight of a photon at rest) multiplied by infinity (energy of objects moving at c) gives a finite number (actual energy of a photon)". The last number still behaves nicely.
So, the speed of an observer affects its perceived energy of light. How does "conservation of energy" apply? (I don't know what is contributing to the energy of this system.)
If you imagine an idealized light source, where photons come into existence out of nowhere, then there is no conservation of energy (energy is being created). But in a more realistic model where photons are emitted as a result of electron excitation, say, energy is conserved because the electron recoils when firing off the photon, so the extra observed energy of a blueshifted photon can be found in the extra kinetic energy of the electron as observed in that same frame of reference.
Cosmological redshift comes from general relativity, not the SR Doppler effect. Local motion does produce a shift on top of that, but that's not all redshift. Nearby galaxies are actually blue shifted.
Some users have reported that the game may run on Windows XP and 2GB RAM. A known bug will crash the game on computers with some Intel graphics chipsets.
I have one of those hybrid graphics setups for laptops, so maybe that's the problem.
The thing is, most game engines don't even simulate Newtonian physics very accurately; it would be much too computationally expensive to do so. Gravity only works on certain objects and is usually a constant acceleration applied along the vertical Cartesian axis, objects are composed of at most a couple dozen perfectly rigid parts attached together at defined joints, liquids and particles are simulated in batches using only rough heuristics, and so on. If we were to allow arbitrary changes to fundamental physical constants, the game engine would have to simulate the world from the quantum scale up.
That's a hard damn problem. There are some extraordinarily well-funded research groups that are struggling to model any reasonably large number of interactions at that scale. State of the art supercomputing clusters can currently simulate systems of hundreds of thousands of atoms, not even in real-time, and they're still making some assumptions along the way, which might not hold true if you were to arbitrarily modify any fundamental constants.
You could probably write a physics engine that passably pretends to simulate some (non-arbitrary!) changes in fundamental constants. But it would be hard to guess what matter would even look like for different values of, say, Z0.
This is both very interesting and a little painful for me. It's one of those ideas that I've always wanted to try, but never got around to. In a way it's nice that someone tried it anyway.
With 0x10c around and discussions on space combat realism I was thinking about some form of semi-realistic space "naval battle"/wargame.
So the first thing I thought was, well low-scale speed of light giving wonky graphics is both cool and help getting the feel of relativity, but what about some Homeworld or a Master of Orion type of game with relativity ingrained inside the game rules and mechanics? Probably the music sounding Homeworld-esque helped.
I imagine it would be quite difficult to have working multiplayer relativistic mechanics. So far, I can only see single player mechanics working, which would restrict the appeal of such a game.
Consider a turn-based game: a turn being irrevocably discrete and the same for all players, each entity, depending on its relative speed - hence time dilation/compression ratio - would get a different number of action points to spend each turn. You can globally compute each item action points because you're simulating the game universe.
You can extend this to virtually continuous time by compressing/dilating time depending on the player's relative reference frame, and then you could cap the flow of time so that min_flow=real_time or max_flow=real_time, or even mean_flow=real_time. I could see this becoming a problem for say, a FPS game where the player would feel relativity as time slows down or goes faster, but for a much more global game applying such a scheme would make him witness each unit/planet/whatever relative reference frame time dilations/contractions from a sort of god-like reference frame. In a single player scenario (where you don't need base time flow synchronicity between players) this god-player could even change his own reference frame by scaling his base time flow between say min_flow and max_flow.
I encourage you to look at Achron http://www.achrongame.com/ , a RTS with timetravel as an integral gameplay mechanic. It doesn't deal with relativity explicitly, but does have multiple independent timestreams.
It was considered but there are some equations that still need to be worked out. We'd need to store the history of each player but I believe we decided it could be done.
Really cool concept! It takes a little while to wrap your head around what's going on but as you get deeper into it things start to make sense. The faster you move backwards the more light you lose which is rather disconcerting.
It's totally worth getting to the end (took me about 10 minutes) so you can play around for a moment without the colour shift affects. Would be really cool to have a version where you could do that.
It's _barely_ playable on my 2011 MBA. Seems like the limitation is on the CPU side though. Either it's fairly unoptimized, or this relativistic stuff is just really demanding.
It's quite awesome anyways. Funnily if you change direction, that alone triggers no relativistic effects.
It had to be written in C# in the Unity Engine so it's kinda slow. The other issue was that I had no access to the culling system besides just turning it off so every object in the scene is rendered every frame.
I think the limitation would be on the GPU side, or at least it was on the system I was testing on.
I ended up in one of the longest, stupidest arguments of my life trying to add my two cents into a discussion about whether to wait on the new MacBook Air or jump on the current one.
The person mentioned they would be doing some gaming on it, so I pointed out that the new Air would almost certainly have Intel HD 3000 graphics and that the Nvidia chipset in the older MacBook Air was better overall for that sort of thing.
Someone proceeded to try and rip me a new one, chastising me for having the gall to recommend purchasing a previous generation laptop. I said I owned an Intel HD 3000 MacBook Pro and even on that vs the Nvidia 320M MacBook Air, the Air performed better when it came to gaming.
He called me a liar, said it wasn't possible and that the HD 3000 chipset couldn't be the culprit. Here we are a year later, and I've been proven right countless times. I'm sure this is interesting to nobody, but it's nice to get a little vindication when someone was laying into you that hard.
Also there was http://realtimerelativity.org/ a while ago, which simulates motion pretty close to C. Don't know which one is more "realistic", but it shows much more pronounced effects
What a great idea. The "rainbow colors everywhere" effect if kinda annoying, but the concept is awesome. As they say, that's what I would expect from the MIT Games Lab.
The best definition I've seen for what constitutes a game is this: A game is an experience created by rules.
That captures what distinguishes a game (as an artform) from other media. You could throw in some qualifiers to perhaps narrow it down (is paying your taxes a a game?) but it's not really necessary.
The goal we were given at the start of the summer was just to create a tech demo, the team tried to make a game out of it as much as possible though. The original plan was to release a tech demo at the end of the summer and then make a game with it after, the after part hasn't started yet though, and I'm not sure if it will.
> IN PROGRESS OpenRelativity is a set of tools for simulating the effects of traveling near the speed of light in the Unity3D game engine.
> The team is currently refining the documentation, usability and features in OpenRelativity, targeted for release as a free, open-source package in 2013, to allow others to produce more simulations and games about traveling near the speed of light.
I may be off-base here, but isn't the length contraction backward? Things should appear closer as you approach the speed of light, not farther away. And, it should not matter if you move backward or forward to observe that effect, yet it does (try moving backwards).
Also, relativistic motion doesn't appear to affect the movements of the other actors, though it's kind of hard to tell for certain.
With my very limited understanding, my impression is this:
As you move in relativistic speeds, your eye hits more photos, even those going sideways (or backwards), because the photons at an angle are slower than your eye (imagine a car moving fast through the rain, even drops that go in the other direction will hit your windshield).
Therefore, your field of vision grows (you can see things behind you), but only when walking forward.
I haven't read anything about going backwards, but I imagine that your field of vision would shrink, as you are now faster than photons that would previously hit your eye. My guess is that you would only see photons coming directly to you from your front, until you reached the speed of light and went blind (or could see 360 degrees, moving forward).
You aren't listening to me. The speed of the photon is c in the direction it's traveling, a photon traveling due west is going north with no speed at all.
Here, speed is a measure of the magnitude of velocity. It's perfectly acceptable to describe velocity (or a component thereof) as speed in a particular direction.
I think I got it. Lengths will contract, but when you're moving toward something very quickly, the speed of light remaining constant, it will seem farther away. And the reverse is true when you're moving away from it.
It actually helps to just forget about relativity for a moment, and think about the angles light from distant objects will have to take to intercept you. Then it becomes more clear.
Yes, exactly. Your eye intercepts photons from a wider angle the faster you're moving, therefore you get a wider field of view, even seeing things behind you.
I'm not sure I'm missing a step going from "wider fov" to "things seem farther away", maybe I am...
We don't have some magic sensor that tells us how far away an object is -- it's all gleaned from the light, and distorting the angles, in particular, will throw off this perception of distance.
It would be nice to see a write up of exactly what effects they considered, though.
There are two separate effects at relativistic speeds.
One is that the actual size of things changes. That's length contraction.
But the other is that, because you are moving at such high speeds, how you observe objects is also affected. That's what StavrosK discusses in the adjacent post.
Also they definitely need to have a black hole or 2 chucked in and maybe some miniature binary stars orbiting at relativistic speeds