In Simutrans, it's easy to build huge sprawling stations that don't
work very well. There are some convenient optimisations that will help
things flow rather better.

First pick your train length! A rail network should have a set
maximum train length when you first design it; you can add more
vehicles and inter-city track later, but extending a station when
you've built trackwork round it is hard work.

Use a sacrificial game to work out what gives you the maximum number
of carriages per station tile for the stock you're using; for example,
a maglev train of length 1-4 will take up that many tiles, but a
five-car train will also fit in four tiles, and similarly a
thirteen-car train will fit in eleven tiles. This makes a four-tile
system particularly efficient, and that's what I'll use in these
examples, though I'll call it N for generality.

Bear in mind that the things that slow trains down are (a) going round
corners and (b) going up hills. When building high-speed rail (or
maglev), try to avoid both. If you have a long valley to cross,
consider a bridge; if you have to go past hills, try a tunnel. A
sufficiently deep tunnel (a subject for a future post) can go anywhere
on the map with only one bend, and ignore terrain completely. Bridges
and tunnels only cost around 40% more than surface track (in the real
world a tunnel costs more like 10× as much, and apparently the game
costs are set to increase in future versions), and the faster your
trains can travel the more trips you can make per maintenance period,
the sooner the line will be clear for other traffic, and the more you
get paid.

If considering construction costs you will probably want to start with
single-line working. If possible, leave space for a second line beside
the first. This can be upgraded piecemeal with passing loops. A loop
is two parallel N-length straights, with a standard signal at the exit
end of each. You must have at least N pieces straight un-joined track,
and the joining track sections separate from that, or the trains may
not fit.

As funds allow, passing loops can be added and joined, until you end
up with a full two-track system.

When designing stations, try to leave room for multiple platforms.
Though for any transport mode with "elevated track" as an option, such
as maglevs, there's a way round that which I'll come back to later.

If you have the space, it's a good idea to have a one-way loop outside
the station, especially if you're starting off with single-track
working between stations. This lets an incoming train wait until a
platform is available, and an outgoing train move out past it.

At each station exit run a loop of track, which looks just like a
passing loop except that it has a platform-choose signal on the
inbound side.

The "inside" end of this can then be linked to the platform(s) via
simple trackwork. If you're operating a through station, add another
similar arrangement on the other side.

Particularly in an urban environment, it's often helpful to be able to
squeeze stations into a small space. The maglev elevated tracks are
infinitely stackable.

To build a stacked station, assemble the bottom layer normally:

Build elevated track over it, and then put another platform on that
track:

Now use the "Artificial Slope" landscaping tool to build a slope next
to the station throat, and run normal track up that slope, making sure
it connects to the elevated track:

You can do this again if you like, building a further layer of
elevated track on top of the first one and using another slope to lead
it to ground level:

Finally, connect all the separate lines, and attack the usual station
exit loop.

As long as you have room to expand the ramp structure, you can add
more platforms indefinitely.

This also works for a through station, if you build another ramp on
the other side.

For intermodal transport, the bottom layer could consist of bus stops
or freight yards rather than a maglev platform. (There's no cost for
movement within a station, even vertical movement.)

The exact position of the ramp isn't crucial. It could be in a
straight line: