So, this is basically a list of things that have been mentioned a few times around on the forums in some cases, in other cases just some personal improvements I would suggest for both the rail system and for upcoming additions. So here goes, start with rails first:
1: Multi-sided rail blocks
Having the rail system like we have so far is pretty good, but I personally think that rails shouldn't be one-sided, instead they should be like a segment with four rails on the X and Y faces of the blocks all pointing toward the same direction on the Z-axis. This allows a bit more variety when docking ships as not only can you determine what direction your ship should be facing, but also which side of the rail it is docked to. Default would be whatever of the rail block faces the docking block is closest to when it docks... so if you have a straight line of rail blocks protruding outward, docking while ABOVE the rail will dock your rail docker on top of that line, docking while BELOW will dock you below the line (rotating your ship so that the docking block is still flush with the rail), etc. This cut down on the possible ways a rail block would need to be oriented (3 possible orientations with the rails pointing toward one side or the other, that's 3x2=6 possible orientations as opposed to the current 6x4 =24).
2: Combo rail
This one's a doozy. It's basically a combo of both the rail blocks (as described above) and the rail dockers. It functions like a rail docker in the sense that it can dock to another combo rail block on the same Z-axis. On the X and Y faces it has normal rails, on the Z faces it has a combination between a normal rail and a rail docker.
The main use for this is that the combo rail can function both like a rail and a rail docker, but when two combo rails are flush with each other, they are considered "docked", and if there is a rail moving along the axis perpendicular to the connecting plane between two combo blocks it will treat the combo blocks as a single rail entity even though they are on separate entities. This means anything going along that rail can transfer from being docked to one entity to the other automatically as it moves along the connected rails.
On top of having a third entity move across the first two, if there is a rail parallel to the contact plane, the second entity can move along that as well. This allows you to build, say, an elevator shaft linking a rail from the hangar bay of a carrier to the rail on the catapult deck, allowing a fighter to move from the hangar rail to the elevator rail, then the elevator platform moves down the shaft until it connects with the launch rail, which in turn allows for transition from the elevator to the launch deck.
The combo rail would basically solve both of these suggestions at once:
http://starmadedock.net/threads/all...el-along-rails-made-of-multiple-sections.7376
http://starmadedock.net/threads/allow-rail-dockers-to-dock-with-other-rail-dockers.7396
3: Rail accelerators and altering rail speed
So I'm going to go out and say it. Rails are really. Freaking. Slow. Even with a maxed-out speed controller and no mass penalty an entity moving along a rail moves only marginally faster than your astronauts's space flight speed. I can understand how additional speed can be a problem especially when calculating collision detection, but it makes any idea of a catapult rail less than useless.
My suggestion is a block specifically designed to "boost" rail-docked entities as they move. This is the idea behind the rail accelerator. It ignores the rail "max speed" and instead accelerates the entity by a set amount, say 10m/s. Multiple rail accelerators would add sequentially until it reaches server max speed, so an entity going around 10 m/s would be going 100m/s after hitting 9 rail accelerators in a row.
They can be arranged directionally like normal rail blocks, the difference is that they do not change direction, just velocity. In other words, placing an accelerator block in line between two rails pointing the same direction would work the same, but an accelerator pointing the opposite direction would cause the ship to decelerate but still move in the direction of the rails. Of course the rail blocks directly in front of and behind would have to face the same direction as well.
Which leads me to my third feature of rail accelerators: if a line of rail accelerators are not bounded in line by rail segments or if the rail segments are not facing the same direction relative to each other, then when the entity reaches the end of the line of accelerators, it instantly undocks, retaining whatever velocity it had at the time it separated. This means, of course, that a solid line of rail accelerators that terminates without additional rails at the terminus will fling the docked object off of it at the speed it was going when it hit the last block. Boom, catapult.
Of course, there would be a drawback to using rail accelerators, that would be that they consume power like rail mass enhancers, and they also will not function period for overweight entities, meaning that you have to have enough power generation to power both the accelerators themselves and enough mass enhancers to bear the full load of what you are accelerating. We could also have it to where accelerators consume energy only when they activate, and the energy cost scales based on the objects mass and its current velocity (which makes sense physics-wise).
4: Behavior of wifi blocks
While we're on the subject of realism, the current method of using wifi blocks is not only difficult, but unrealistic. Difficult because if you want multiple ships to be able to activate the same entity, you would need to put a wifi block for each ship. Unrealistic because true wifi is a radio broadcast, not a point-to-point connection. When you are connected to a wireless network, information is broadcasted to every device in range; the wireless receivers on your computer and the access point determine which packets are addressed to you via your IP address and discard the excess.
I personally think when dealing with wifi blocks we should treat them less like a wifi connection and more like the transponder and radios on an aircraft. In the real world ATC uses a variety of channels on which to communicate with planes; any radio tuned into that frequency can pick up the transmission regardless if it is the intended recipient. For the most part, a lot of space-fighter games and media use the same concept regarding ship-to-ship communication, which is where the phrase "switching to a secure channel" and similar concepts come from. Instead of having to connect wifi blocks manually, we should be able to set a frequency number or name (something that is already possible with inner-ship remotes and should be just as easy to implement for wifi blocks), and have it activate any wifi block that shares that name. This has already been suggested before but I am re-suggesting it for its brilliance. Need a public docking bay that can be accessible to any ship with a hangar door that opens and closes? Simply set a wifi block to "Docking Bay N1", and connect to the door controls. When ships arrive they need only have rename a wifi block to "Docking Bay N1" and they can open or close the hangar from their ship.
There are other enhancements I have thought of as well, but I will post those later.
1: Multi-sided rail blocks
Having the rail system like we have so far is pretty good, but I personally think that rails shouldn't be one-sided, instead they should be like a segment with four rails on the X and Y faces of the blocks all pointing toward the same direction on the Z-axis. This allows a bit more variety when docking ships as not only can you determine what direction your ship should be facing, but also which side of the rail it is docked to. Default would be whatever of the rail block faces the docking block is closest to when it docks... so if you have a straight line of rail blocks protruding outward, docking while ABOVE the rail will dock your rail docker on top of that line, docking while BELOW will dock you below the line (rotating your ship so that the docking block is still flush with the rail), etc. This cut down on the possible ways a rail block would need to be oriented (3 possible orientations with the rails pointing toward one side or the other, that's 3x2=6 possible orientations as opposed to the current 6x4 =24).
2: Combo rail
This one's a doozy. It's basically a combo of both the rail blocks (as described above) and the rail dockers. It functions like a rail docker in the sense that it can dock to another combo rail block on the same Z-axis. On the X and Y faces it has normal rails, on the Z faces it has a combination between a normal rail and a rail docker.
The main use for this is that the combo rail can function both like a rail and a rail docker, but when two combo rails are flush with each other, they are considered "docked", and if there is a rail moving along the axis perpendicular to the connecting plane between two combo blocks it will treat the combo blocks as a single rail entity even though they are on separate entities. This means anything going along that rail can transfer from being docked to one entity to the other automatically as it moves along the connected rails.
On top of having a third entity move across the first two, if there is a rail parallel to the contact plane, the second entity can move along that as well. This allows you to build, say, an elevator shaft linking a rail from the hangar bay of a carrier to the rail on the catapult deck, allowing a fighter to move from the hangar rail to the elevator rail, then the elevator platform moves down the shaft until it connects with the launch rail, which in turn allows for transition from the elevator to the launch deck.
The combo rail would basically solve both of these suggestions at once:
http://starmadedock.net/threads/all...el-along-rails-made-of-multiple-sections.7376
http://starmadedock.net/threads/allow-rail-dockers-to-dock-with-other-rail-dockers.7396
3: Rail accelerators and altering rail speed
So I'm going to go out and say it. Rails are really. Freaking. Slow. Even with a maxed-out speed controller and no mass penalty an entity moving along a rail moves only marginally faster than your astronauts's space flight speed. I can understand how additional speed can be a problem especially when calculating collision detection, but it makes any idea of a catapult rail less than useless.
My suggestion is a block specifically designed to "boost" rail-docked entities as they move. This is the idea behind the rail accelerator. It ignores the rail "max speed" and instead accelerates the entity by a set amount, say 10m/s. Multiple rail accelerators would add sequentially until it reaches server max speed, so an entity going around 10 m/s would be going 100m/s after hitting 9 rail accelerators in a row.
They can be arranged directionally like normal rail blocks, the difference is that they do not change direction, just velocity. In other words, placing an accelerator block in line between two rails pointing the same direction would work the same, but an accelerator pointing the opposite direction would cause the ship to decelerate but still move in the direction of the rails. Of course the rail blocks directly in front of and behind would have to face the same direction as well.
Which leads me to my third feature of rail accelerators: if a line of rail accelerators are not bounded in line by rail segments or if the rail segments are not facing the same direction relative to each other, then when the entity reaches the end of the line of accelerators, it instantly undocks, retaining whatever velocity it had at the time it separated. This means, of course, that a solid line of rail accelerators that terminates without additional rails at the terminus will fling the docked object off of it at the speed it was going when it hit the last block. Boom, catapult.
Of course, there would be a drawback to using rail accelerators, that would be that they consume power like rail mass enhancers, and they also will not function period for overweight entities, meaning that you have to have enough power generation to power both the accelerators themselves and enough mass enhancers to bear the full load of what you are accelerating. We could also have it to where accelerators consume energy only when they activate, and the energy cost scales based on the objects mass and its current velocity (which makes sense physics-wise).
4: Behavior of wifi blocks
While we're on the subject of realism, the current method of using wifi blocks is not only difficult, but unrealistic. Difficult because if you want multiple ships to be able to activate the same entity, you would need to put a wifi block for each ship. Unrealistic because true wifi is a radio broadcast, not a point-to-point connection. When you are connected to a wireless network, information is broadcasted to every device in range; the wireless receivers on your computer and the access point determine which packets are addressed to you via your IP address and discard the excess.
I personally think when dealing with wifi blocks we should treat them less like a wifi connection and more like the transponder and radios on an aircraft. In the real world ATC uses a variety of channels on which to communicate with planes; any radio tuned into that frequency can pick up the transmission regardless if it is the intended recipient. For the most part, a lot of space-fighter games and media use the same concept regarding ship-to-ship communication, which is where the phrase "switching to a secure channel" and similar concepts come from. Instead of having to connect wifi blocks manually, we should be able to set a frequency number or name (something that is already possible with inner-ship remotes and should be just as easy to implement for wifi blocks), and have it activate any wifi block that shares that name. This has already been suggested before but I am re-suggesting it for its brilliance. Need a public docking bay that can be accessible to any ship with a hangar door that opens and closes? Simply set a wifi block to "Docking Bay N1", and connect to the door controls. When ships arrive they need only have rename a wifi block to "Docking Bay N1" and they can open or close the hangar from their ship.
There are other enhancements I have thought of as well, but I will post those later.