This guide will be covering the steps on how to make a fully functional tram ranch in Barotrauma. If you’re one of the players who want to add a tram in your submarine, this guide is for you.
For the horizontal movement, you’ll need a shuttle engine. I set mine to 100 force and made it consume very little power. Make sure to offset the propeller’s location so it isn’t inside the tram or submarine. Set its ‘Deterioration Speed’ to 0 so you will never need to fix it.
For the vertical movement, you’ll need to dedicate a room to a ballast. I haven’t personally done this myself.
For the diagonal movement, you’ll probably need just one or maybe both.
You’ll likely need to add a small part to the tram that will be inside a sort of empty space in your main sub, allowing it to slide along like a monorail and never risk falling off. I didn’t find this necessary but I did have to add a lot of guide-rails. Remember that trams are liable to get stuck on even the slightest bumps in your rail.
Use a shuttle battery for your power and make it take power from the docking ports, since it’ll be docked 99% of the time and only need enough juice to keep it moving and the occupants alive until it reaches the other side. You’ll have to make sure that your main sub’s docking ports are wired up so they’ll provide power.
You’ll need an oxygen generator and a vent, of course, and make sure its power consumption is reduced as the base value is very power-hungry. Bilge pumps are optional but recommended.
Control and Mechanics
In order to switch directions, you’ll need some form of a toggle. I used two relay components, with one being off and the other being on. The button toggles both, resulting in one being off and the other being on, but opposite.
Its outputs should lead to your engine or ballast, and there will always be two, and they will always be the same: -100 and 100. On a shuttle engine, ‘-100’ means backwards, and ‘100’ means forwards. For a pump, -100 = drain (up) and 100 = flood (down). By switching between them, you’ll toggle which direction your tram is moving in.
Optionally, you may want to add a third button to lock all the inputs so your tram stops shoving your main ship around while it is docked, this is barely an issue if the tram’s propulsion is weak.
Best if you have a tram that’s smaller than the tunnel it’s in. Not so bad, right?
You also need docking, so the tram will correctly dock to either destination and not flood and kill the occupants. I made an automatic docking system by using the ‘proximity sensor’ output on the port and feeding its output into the ‘set state’ on the same dock, allowing it to dock of its own accord.
Since this will force a dock, even when you’re trying to undock, I also added the ability to disable it for 3 seconds using a button input + a delay component which will toggle it off, then back on. By the time 3 seconds have passed, it should be moving to the other side already.
As a result, the tram moves and docks smoothly if used correctly. Due to the simplicity of their input and the level of control you have over the track, there shouldn’t be gameplay issues, assuming you built it right.