I wonder how accurate this can be. Certainly would be really hard to do well for multi-player (how would you implement mutual time dilation and subsequent speed-up based on relative velocities and accelerations, given that proper times of each player are the same?). Space contraction and single-player should be doable. Modeling time dilation for NPCs would be a challenge.
I probably won’t do multiplayer. I have an idea to make it work, but it only really works if you play against each other, and I’ve never seen a shoot ’em up that does that.
Time dilation being a challenge depends on the paths used. I tried using Bezier curves, but it turns out that it’s impossible to calculate how much apparent time has passed between two events on the curve. I would just calculate it numerically for each enemy, but that wouldn’t work for any enemy that follows the player, since its path would be procedural.
Length contraction is easy. Terrell rotation is not. I have yet to find an equation for a first approximation matrix.
Also, there is a problem with stuff red- and blue-shifting out of the visible spectrum.
Can’t you just make your game objects radiate a realistic Boltzmann spectrum, perhaps arbitrarily declaring that they all have a fairly high temperature? Then they won’t go invisible; their infrared or ultraviolet parts will shift into the visible spectrum to compensate.
Right now I have it set up to use a period of a sin wave to represent how much reception that color gets from that frequency. Integrating that times the blackbody radiation thing gets some crazy result. If I use a bell curve instead, it’s much shorter, but it involves a polylog.
I might be able to get away with having the receptor things only work with one frequency if all the colors are spread out enough.
Also, I don’t know how the radiation spectrum works when the object isn’t black, or how to look it up.
Why is that last one a problem? The in game universe should explicitly acknowledge this as an actual problem you’d encounter if you were flying around in space and use false color or something.
It’s not a technical problem, but it’s still a problem. I want it to look right, so I don’t want to just use false color and mess with the wavelengths. I don’t want bullets to turn invisible when they come at you too fast. For now, I just have it show some minimum color if it shifts out of the visible spectrum, or even if it’s just black. I don’t want to do that in the actual game, though. I’m thinking of giving stuff colors outside the visible spectrum, and maybe just making most of the enemy bullets infrared.
I wonder how accurate this can be. Certainly would be really hard to do well for multi-player (how would you implement mutual time dilation and subsequent speed-up based on relative velocities and accelerations, given that proper times of each player are the same?). Space contraction and single-player should be doable. Modeling time dilation for NPCs would be a challenge.
I probably won’t do multiplayer. I have an idea to make it work, but it only really works if you play against each other, and I’ve never seen a shoot ’em up that does that.
Time dilation being a challenge depends on the paths used. I tried using Bezier curves, but it turns out that it’s impossible to calculate how much apparent time has passed between two events on the curve. I would just calculate it numerically for each enemy, but that wouldn’t work for any enemy that follows the player, since its path would be procedural.
Length contraction is easy. Terrell rotation is not. I have yet to find an equation for a first approximation matrix.
Also, there is a problem with stuff red- and blue-shifting out of the visible spectrum.
Can’t you just make your game objects radiate a realistic Boltzmann spectrum, perhaps arbitrarily declaring that they all have a fairly high temperature? Then they won’t go invisible; their infrared or ultraviolet parts will shift into the visible spectrum to compensate.
I was thinking about that.
Right now I have it set up to use a period of a sin wave to represent how much reception that color gets from that frequency. Integrating that times the blackbody radiation thing gets some crazy result. If I use a bell curve instead, it’s much shorter, but it involves a polylog.
I might be able to get away with having the receptor things only work with one frequency if all the colors are spread out enough.
Also, I don’t know how the radiation spectrum works when the object isn’t black, or how to look it up.
Well, all you want is a reasonable approximation. I would just say “It has this colour inside the visible spectrum, and blackblody otherwise”.
Why is that last one a problem? The in game universe should explicitly acknowledge this as an actual problem you’d encounter if you were flying around in space and use false color or something.
It’s not a technical problem, but it’s still a problem. I want it to look right, so I don’t want to just use false color and mess with the wavelengths. I don’t want bullets to turn invisible when they come at you too fast. For now, I just have it show some minimum color if it shifts out of the visible spectrum, or even if it’s just black. I don’t want to do that in the actual game, though. I’m thinking of giving stuff colors outside the visible spectrum, and maybe just making most of the enemy bullets infrared.