Now that we have rails and whatnot, I've seen a lot of people using catapults and docking collars, it kinda makes me think of the move Interstellar. But while we're on the subject, there should be some major changes as to how ships fly.
Now I can understand the need for a speed limit, but to be honest even on servers with true Newtonian physics it doesn't feel like it because you still can't exceed the speed limit when your thrusters are on. Case in point, this one time on ElywnEternity, I warped into a wormhole sector and was trying to fight my way out of it, and I had the idea of moving at an angle from the line between the singularity and my ship, going with the WH's gravity and using it to slingshot myself past the singularity and into the next system over rather than going away from the center and fighting the gravity the whole way. However the speed limit on EE is a measly 150 m/s, and even if I'm going along with gravity, the way thrusters work means that even if I'm going full throttle and the combined forward acceleration of my ship and the pull of gravity exceeds that value the game will still limit me to 150 m/s. And that's just plain stupid, especially considering if I let my engines idle and let the wormhole pull me in, I'll often be going 1000 m/s or higher by the time I hit the event horizon regardless of server speed settings.
So based on that, I've come up with an idea on how to change the way propulsion systems work with the game's physics, one that more closely mirrors actual spaceflight while still allowing a sort of limiter on speed to maintain server functionality.
The idea is based on the concept of relativity. In our universe, the absolute limit for any object of nonzero mass is 3.0x10^8 m/s, also known as c or the speed of light. According to the theory of relativity, an object's mass increases exponentially as it approaches the speed of light, and as the mass increases, the amount of energy needed to accelerate the mass to go faster increases exponentially as well - and any object of nonzero mass would require an infinite amount of energy to even travel AT the speed of light, let alone exceed it. This phenomenon is called the "Lorentz transformation", and is represented by the following equation:
Now this is my idea: rather than setting an absolute speed limit for ships on the server... why don't we let the server speed limit represent the "speed of light", and have a ships mass and thrust determine their max possible velocity using the Lorentz transformation?
For example, my TSAB Striker MK V has a mass of approximately 1000, and the thruster system puts out around 2000 thrust, for a total of 2 m/s squared acceleration, which remains constant up until I hit the server speed limit of 300 m/s, at which point it drops to 0.
Now lets assume that we change the physics model to where the server speed limit actually represents the speed of light, and use the Lorentz transformation as our ship's effective mass when calculating thrust.
It's a bit of a complicated calculation, so to simplify I created an Excel table showing the ship's effective mass, acceleration with 2000 thrust at that mass, and the amount of thrust required to maintain a constant acceleration of 2 m/s^2, starting at a velocity of 0 (at rest) and incrementing by 10 m/s until reaching 300 m/s. These charts show how the mass and the thrust required for constant acceleration increase, while the acceleration at a constant thrust of 2000 decreases, as my ship approaches the 300 m/s "speed of light":
As you can see, there is not a significant change in mass until you start getting around 100 m/s, or 1/3 the speed of light. At 200 m/s. the effective mass of the ship is now almost 1.5 times its mass at rest. At 260 m/s, the mass has doubled. At around 272 m/s, it has tripled, and at around 290 m/s it has quadrupled. You'll notice that the graphs for mass and thrust do not include a value for 300 m/s; this is because the chart values are assumed to be zero because the cell value the chart is reading is undefined, this is because Excel is throwing me a divide-by-zero error for those cells. In other words it becomes impossible to exceed 300 m/s. It is the effective speed of light.
Now obviously the other things related to relativity - length contraction, time dilation, etc - are much too complex to be implemented, and even if they were they would only make things more difficult for the players. However, if we implement the laws of relatively purely in regards to mass and acceleration, we can achieve basically the same thing achieved by the server speed limit, but in a much more realistic manner. Keep in mind that as the ship goes faster its mass increases, and as the mass increases so does the inertia - meaning it will be that much more difficult to stop. Even on servers without true Newtonian physics, we could make the friction coefficient a force rather than a rate of deceleration. In other words, if you are traveling at 200 m/s and the friction coefficient is the default 5%, rather than decelerating at 5 m/s^2 you would have a 5 N force applied in the opposite direction of your movement, and since your effective mass is higher the force of friction would actually be lower. In this way the effects of friction would actually effect ships more moving at a slower speed; as speed increases the force of friction increases at a linear rate but the effective mass increases exponentially.
Now regarding gravity (and this is where things get fun), I'm going to say that the force of gravity acting on a ship is determined by the ships actual mass pre-Lorentz transformation, and not the effective mass. Why? Because the Lorentz transformation involves general relativity, where all objects are in a complete zero-gravity environment. However, if you are within the gravitational pull of a planet, star, or wormhole, and are not moving even as the gravity pulls you in, then even though you are moving relative to the universe as a whole, relative to that gravitational field you are NOT moving. This is why certain things related to gravity ignore the laws of relativity - and why it is (theoretically) possible to use gravity as a means of bending space-time and exceeding the speed of light. We think of gravity as a force, but in reality it's more of a shift in the inertial frame of a body at rest. This is why an event horizon exists around a black hole - the inertial frame of the black hole's gravitational field is such that a body at rest is in reality moving toward the singularity faster than the speed of light, and attempting to fly out will result in the mass of the ship increasing infinitely as you approach the speed of light relative to that inertial frame, preventing you from moving faster, while relative to normal space time you are still moving toward the singularity.
In other words, it is possible to "break" the server speed limit, but only in a wormhole. Of course with careful calculations and the use of a relativity-ignoring jump drive, it would be possible to break free from the wormholes gravity and fly faster than the speed of light - you would just have zero control over your ship because at that point the amount of acceleration you would achieve from thrust is effectively zero.
Of course, I may be off about how this works, I'm not a physicist after all (that would be my senpai Susan), but it would be an interesting way of managing how ships move, yeah?
Oh and while we are on the subject, someone mentioned in a previous thread about having a kind of "inertial dampener" that could be set to automatically apply thrust to slow or stop a ship. Right now we have that in the form of the shift brake, but this version would turn on automatically whenever you left the ship core or logged out; in other words bumping a ship with no pilot would be the same as bumping a ship where the pilot is holding down the Shift key to slow his ship. This to me would seem fairly easy to implement, and it would solve the BIGGEST problem to running a server with true Newtonian friction=0 physics - the tendency of an object in motion to remain in motion unless acted upon by a force, also known as Newton's 3rd Law. Most servers don't screw with the default setting because if your ship gets bumped and you can't catch it, not only are YOU fucked, so is the server once said ship reaches the effective edge of the universe as defined by the maximum universe size the server can handle before crashing. This would be an effective solution to that problem and may encourage more servers to switch to true Newtonian physics which IMHO was the way Starmade was meant to be played.
Now I can understand the need for a speed limit, but to be honest even on servers with true Newtonian physics it doesn't feel like it because you still can't exceed the speed limit when your thrusters are on. Case in point, this one time on ElywnEternity, I warped into a wormhole sector and was trying to fight my way out of it, and I had the idea of moving at an angle from the line between the singularity and my ship, going with the WH's gravity and using it to slingshot myself past the singularity and into the next system over rather than going away from the center and fighting the gravity the whole way. However the speed limit on EE is a measly 150 m/s, and even if I'm going along with gravity, the way thrusters work means that even if I'm going full throttle and the combined forward acceleration of my ship and the pull of gravity exceeds that value the game will still limit me to 150 m/s. And that's just plain stupid, especially considering if I let my engines idle and let the wormhole pull me in, I'll often be going 1000 m/s or higher by the time I hit the event horizon regardless of server speed settings.
So based on that, I've come up with an idea on how to change the way propulsion systems work with the game's physics, one that more closely mirrors actual spaceflight while still allowing a sort of limiter on speed to maintain server functionality.
The idea is based on the concept of relativity. In our universe, the absolute limit for any object of nonzero mass is 3.0x10^8 m/s, also known as c or the speed of light. According to the theory of relativity, an object's mass increases exponentially as it approaches the speed of light, and as the mass increases, the amount of energy needed to accelerate the mass to go faster increases exponentially as well - and any object of nonzero mass would require an infinite amount of energy to even travel AT the speed of light, let alone exceed it. This phenomenon is called the "Lorentz transformation", and is represented by the following equation:
Code:
m = m0 /sqrt (1 - ((v/c)^2))
where m is mass of object
m0 is mass of object at v=0
v is velocity in m/s
c is speed of light (3.0x10^8 m/s)
sqrt(x) is the square root of x (since I can't use a root symbol)
For example, my TSAB Striker MK V has a mass of approximately 1000, and the thruster system puts out around 2000 thrust, for a total of 2 m/s squared acceleration, which remains constant up until I hit the server speed limit of 300 m/s, at which point it drops to 0.
Now lets assume that we change the physics model to where the server speed limit actually represents the speed of light, and use the Lorentz transformation as our ship's effective mass when calculating thrust.
It's a bit of a complicated calculation, so to simplify I created an Excel table showing the ship's effective mass, acceleration with 2000 thrust at that mass, and the amount of thrust required to maintain a constant acceleration of 2 m/s^2, starting at a velocity of 0 (at rest) and incrementing by 10 m/s until reaching 300 m/s. These charts show how the mass and the thrust required for constant acceleration increase, while the acceleration at a constant thrust of 2000 decreases, as my ship approaches the 300 m/s "speed of light":
As you can see, there is not a significant change in mass until you start getting around 100 m/s, or 1/3 the speed of light. At 200 m/s. the effective mass of the ship is now almost 1.5 times its mass at rest. At 260 m/s, the mass has doubled. At around 272 m/s, it has tripled, and at around 290 m/s it has quadrupled. You'll notice that the graphs for mass and thrust do not include a value for 300 m/s; this is because the chart values are assumed to be zero because the cell value the chart is reading is undefined, this is because Excel is throwing me a divide-by-zero error for those cells. In other words it becomes impossible to exceed 300 m/s. It is the effective speed of light.
Now obviously the other things related to relativity - length contraction, time dilation, etc - are much too complex to be implemented, and even if they were they would only make things more difficult for the players. However, if we implement the laws of relatively purely in regards to mass and acceleration, we can achieve basically the same thing achieved by the server speed limit, but in a much more realistic manner. Keep in mind that as the ship goes faster its mass increases, and as the mass increases so does the inertia - meaning it will be that much more difficult to stop. Even on servers without true Newtonian physics, we could make the friction coefficient a force rather than a rate of deceleration. In other words, if you are traveling at 200 m/s and the friction coefficient is the default 5%, rather than decelerating at 5 m/s^2 you would have a 5 N force applied in the opposite direction of your movement, and since your effective mass is higher the force of friction would actually be lower. In this way the effects of friction would actually effect ships more moving at a slower speed; as speed increases the force of friction increases at a linear rate but the effective mass increases exponentially.
Now regarding gravity (and this is where things get fun), I'm going to say that the force of gravity acting on a ship is determined by the ships actual mass pre-Lorentz transformation, and not the effective mass. Why? Because the Lorentz transformation involves general relativity, where all objects are in a complete zero-gravity environment. However, if you are within the gravitational pull of a planet, star, or wormhole, and are not moving even as the gravity pulls you in, then even though you are moving relative to the universe as a whole, relative to that gravitational field you are NOT moving. This is why certain things related to gravity ignore the laws of relativity - and why it is (theoretically) possible to use gravity as a means of bending space-time and exceeding the speed of light. We think of gravity as a force, but in reality it's more of a shift in the inertial frame of a body at rest. This is why an event horizon exists around a black hole - the inertial frame of the black hole's gravitational field is such that a body at rest is in reality moving toward the singularity faster than the speed of light, and attempting to fly out will result in the mass of the ship increasing infinitely as you approach the speed of light relative to that inertial frame, preventing you from moving faster, while relative to normal space time you are still moving toward the singularity.
In other words, it is possible to "break" the server speed limit, but only in a wormhole. Of course with careful calculations and the use of a relativity-ignoring jump drive, it would be possible to break free from the wormholes gravity and fly faster than the speed of light - you would just have zero control over your ship because at that point the amount of acceleration you would achieve from thrust is effectively zero.
Of course, I may be off about how this works, I'm not a physicist after all (that would be my senpai Susan), but it would be an interesting way of managing how ships move, yeah?
Oh and while we are on the subject, someone mentioned in a previous thread about having a kind of "inertial dampener" that could be set to automatically apply thrust to slow or stop a ship. Right now we have that in the form of the shift brake, but this version would turn on automatically whenever you left the ship core or logged out; in other words bumping a ship with no pilot would be the same as bumping a ship where the pilot is holding down the Shift key to slow his ship. This to me would seem fairly easy to implement, and it would solve the BIGGEST problem to running a server with true Newtonian friction=0 physics - the tendency of an object in motion to remain in motion unless acted upon by a force, also known as Newton's 3rd Law. Most servers don't screw with the default setting because if your ship gets bumped and you can't catch it, not only are YOU fucked, so is the server once said ship reaches the effective edge of the universe as defined by the maximum universe size the server can handle before crashing. This would be an effective solution to that problem and may encourage more servers to switch to true Newtonian physics which IMHO was the way Starmade was meant to be played.