Cities: Skylines

Cities: Skylines

54 ratings
Train Station Creation: A Guide
By REV0
Decided to make this guide for creators who might be interested to make a train station and not suffer as I did. Guide thumbnail is demonstrative for the average mental state of a casual train station maker.
   
Award
Favorite
Favorited
Unfavorite
1. Basics
Welcome to this glorious journey of making one train station for Cities: Skylines. Before you start making a train station, you will need certain mods to make your workflow as easy as possible.

Essentials

  • ModTools: Will be useful to use network identifier function if needed, or to add items that are not available via asset editor. Use kian.zarrin version as Bloody Penguin one is abandoned/not compatible with current game version.
  • More Network Stuff - boformer: Used to enable magenta paths in game, which will be used in asset editor.
  • MoveIt - Quboid: Useful to copy paste, align, move props/segments around, as well as stretching/aligning train station tracks.
  • Advanced Building Editor - cylis: Used to edit segments, ped paths, remove spawn points etc. The alternative of these functionality will be using modtools and manually browsing through game files to find markers, paths etc. to place them.

Recommended

  • Network Anarchy - Quboid: Network Anarchy mod superseded various network related mods on Steam Workshop, known as Fine Road Tool, Road Anarchy, Node Spacer and Network Tiling. Allows the adjustment of network heights with more precise increments, as well as forcing specific network prefab/elevations (on-ground, tunnel, elevated, bridge). Disables the collision box for dragging networks, which might come in handy in certain situations. (previously part of Road Anarchy)
  • Advanced Stop Enabled - macsergey: Used to manually assign train stops on each track, instead letting the game to add stops automatically. This will allow you and users to utilize all train track platforms in-game.

In addition to mods, I also recommend:

- Alcohol: My personal preference is whiskey but if you're not too fancy or not depressed enough, beer works fine. If you're not an alcoholic yet, lots of coffee. For long durations of reimport, troubleshooting that will take hours, keep a pack of cigarettes close to you.

Warning: This is not a medical advice.

Nomenclature/Abbreviations
I might use some abbbreviation or different words to describe same thing, in case something is not clear, this is your lexicon;

* R2: Railway 2 Project
* ETST: Extra Train Station Tracks
* 'Magenta Paths': also known as "Pedestrian Paths"
* Unit: One in-game cell, that is 8x8m.
* Main asset/final asset: Asset that contains all tracks, and subbuildings and which will be plopped by players. This is the CRP file you will publish on Workshop.
* Main mesh: The mesh that will be used on main asset.
2. Stations: Limitations and What is achievable in Cities: Skylines
Not every station IRL is compatible with Cities Skylines mechanics. In this section I will explain limits that you will encounter and how to bypass or if you can bypass them at all.

Dimensions
Station building/complex can be any size and there's no physical limit (that you can hit) for it. Keep in mind that if your station is larger than what game editor can allow in terms of plot size, you will have to slice your mesh and import other portions as sub-buildings. Larger the station, more sub-buildings you will import, therefore more potential fail points you will generate during the editor process. Also keep in mind that you have a tris limit per mesh; that is around 60,000 triangles.

Structural Limits

Over-rail Structures
Any mesh or component that is above station tracks will prevent players to add stop points (or train lines) to that specific train track. This means that; if you have an opaque shelter, a vault or any building component above station tracks, you will not able to add stops to that track, due to the collision box of the mesh/sub-building.

*** Glass shelters, or shelters with alpha map less than 0.5 (or 50%) opacity or using rotor shader are partial exception to this condition. Such sub-buildings will still work and however you will not be able to manually assign train stops via Advanced Stop Selector mod. (Thanks to BadPeanut for pointing this case) ***

There are various workarounds for this issue and it always depends of the asset IRL and how accurate the creator wants the asset in question.

  • Under normal circumstances, station spawn/target points are located in the middle of the track (lenght and width wise).
  • You can try to cut a hole on shelter so players can place the point through that hole. I did this in Toronto Union station back in 2018, not guaranteed it will work.
  • You can separate shelters into sub-buildings and let them have a smaller foot print, to a degree that they will not exceed above station tracks.
  • You can ignore shelters and provide a station asset with no shelter, then provide shelters or over-structure in question as a separate ploppable, or a network.

Track Spacing
If your station has multiple, parallel station tracks, they cannot be closer than 4m. This will confuse AI and cause pathfinding issues. Keep a distance of 4m between each track (from border of one track to the another).

Pedestrian Pathfinding
Pedestrians inside the train station will follow invisible paths that is called "ped path" or "magenta paths". Most of the time, they will stick to this path, however it wont be always the case.

  • If the station has an overpass that is lower than 9m, pedestrians will snap to the track. You can solve this by ignoring the overpass when adding ped paths and use a different one (explained later in this guide).
  • Depending on the station track, pedestrians will cross over train tracks at the end of the segment. Railway 2 networks are exception to this problem, as they do not allow peds to cross over tracks, unless tracks are ground or low platform types.
  • Depending on your station structure, it maybe possible to see pedestrians clip over stairs, elevators and other structures, due to their own collision box that will come into effect when other cims are around. In order to fix this, try to make your staircases or elevators larger than 4m, that is the width of ped paths.

Number of Tracks
While there's no hard coded limit (one you can reasonably hit), at each load, game will randomly pick a group of station tracks (afaik max 4 per station) to spawn outside bound trains. This is random, thus it is recommended to connect all station tracks to the rest of the rail network.

Local vs. Regional Tracks
You can toggle local/regional train spawning for train stations. This option is available for all tracks of the said station. If you want -some- tracks to be regional or local line, you can place these tracks in a sub-building, and tell users to use any sub-building function modifier mod to enable/disable regional spawning.

Sunken and Underground Stations
It is not possible to make sunken and underground train station track for Cities Skylines, if station is using custom tracks. This is due to the fact that both placement options will require a custom AI. Extra Station Tracks mod by Bloody Penguin has its own proprietary AI that will make this possible, however the mod only recognizes its own tracks; therefore it doesn't work any custom train track.
3. Networks in train stations: Types, limitations and how it works
Station tracks are separate networks, used on train stations to enable boarding. This is possible thanks to the additional pedestrian lanes these network have, unlike the regular tracks. In the train station asset, cims enter the building through any door marker and/or magenta path, travel through those magenta paths and switch over to the pedestrian lane of station tracks to board or wait for their trains.

Station Tracks

Length
Station building can be at any length, but there will be a limit for station tracks and how long you can drag them. Currently and without breaking the station, you can have about 20-22 units long station track in Cities: Skylines. This is roughly the range of 176m to 192m, or 577ft to 629ft in Imperial units.

For older workshop stations, this limit was around 26-28units, but since Plazas update, it seems there's a downgrade of station track length, causing issues when train line is made. I therefore recommend to keep their length between 20-22 units in order to avoid this problem.

DO NOT add regular track to compensate the shortness of station tracks. This will confuse any track replacer mod to work properly and cause issues later on. Leave the track shorter than platforms if needed to be, and tell users to enable Network Anarchy and let them drag regular networks themselves.

DO NOT add a second station track to compensate the short station track. This will mess with spawning of local/regional trains and it's generally a headache. If players want to use the space for another set of station tracks, they can do that themselves in-game by manually dragging station tracks instead regular ones.

Track Types: Basegame
There are various station tracks available for creators, these include 2 lane ground, 2 lane elevated which are available in base game. 1 lane station tracks are not available in base game content, and for this you have workshop options.

Station tracks in base game are 1m high, meaning your pedestrians will wait their trains 1m above the game surface. The overwhelming majority of train station and platform assets on workshop are also made for 1m standard. Train tracks are 24cm above surface, leaving you 76cm gap between rail head and the platform. Tracks are 8m wide and platform section of the tracks are located 5.5m from the center of the track. This means your platforms should cover 1.75m of the station track from each side.

Track Types: Workshop
For low, high and ground entry stations, you have Railway 2 collection. Railway 2 includes ground, low and high entry station tracks that creators can use.
- Low Entry USA: can be used in mid-west and West coast stations
- Ground Entry USA: can be used in any station where it's needed
- High Entry USA: can be used in stations located in Eastern seaboard and Canada
- Low Entry Europe: Can be used in local stations in Europe.

Railway 2 also includes 1 lane station tracks.

Platforms
Each station track is also include a pedestrian path. These are the paths on which cims are boarding or waiting their trains. The width of these paths depends on the asset (whether be a quad, island or double track station track etc.).

Track dimensions
For a double track:
-- Train lanes are located at -2 and +2m, with a width of 4m for each.
-- Pedestrian lanes are located at -5.5 and +5.5m, with a width of 3m for each.

For a single lane station track (Railway 2):
-- Train lane is located at 0m, with a width of 4m.
-- Pedestrian lane is located at 3.5m (positive or negative, depending the boarding type), with a width of 3m.

For a quad track station track (Railway 2 or Train Stations CCP):
-- Train lanes are located at -6, -2, +2, +6m, with a width of 4m for each.
-- Pedestrian lanes are located at +/- 10m with of 2m for each.

Pedestrian Paths (or Magenta Paths)
Pedestrian paths are paths that pedestrians use to reach platforms, travel across the station for other sections or simply leave/enter the building. There exists 4 types which are the following:

  • Pedestrian 'Connection': Standard path. On this path, pedestrians will be rendered visible and they will most of the cases stick to the path collision box.
  • Pedestrian 'Inside': Pedestrians will not be rendered. Can be used to force pedestrians cross large sections of the station that they're not required to be rendered for various reasons.
  • Pedestrian 'Surface': Pedestrians will be rendered but they will walk on surface, which path is dragged on. Useful for terrain conforming areas, or stairs.
  • Pedestrian 'Underground': Can only be dragged on underground, and pedestrians will be rendered in underground and transport overlay mode is on.


Pedestrian path (or magenta paths) shown in UI.
4. Asset Editor: Setting up
In this section, I will assume that you already modeled your train station based on recommendations I made and station asset is ready to import to the game.

The first thing you will do will be to decide a. how big your station will be in-game (aka pick lot sizes for sub-buildings) and b. if it is larger than vanilla footprint, how will you slice it.

Footprint
It is imperative that your mesh will fit inside the lot-size in asset editor. If mesh is larger than the lot-size, meshes will disappear with low FOV or if camera is close to the mesh/collision box.

Slicing the mesh
I'd recommend to set a dummy plane in your 3D model software that has the same dimensions as the footprint that you want to use in asset editor. Use the dummy mesh-box by overlaying it above your station in your 3D software and use it as a reference to slice down your station complex.

Repeat the same step for LODs, as you should have a custom LOD for each 'slice' of the asset.

Once slicing is done, decide which mesh will be part of main asset and which ones will be imported as sub-building. Start by importing sub-buildings first based on my recommendations.

Sub-building vs submesh
* Sub-buildings are separate building entities that have their own stats and collision boxes. In a sense, they are assets of their own.
* Submeshes are complementary meshes to the main mesh (either main mesh of the main asset, or sub-building), that can be used to create structural variations, or add secondary visual elements, such as glass (using rotor shader), or static illumination effect (additive shader).

***You should always use sub-building function structural part of the station. Use submesh only for glass or any other component that REMAINS inside the lot-size.***

* If possible, try to use unique mesh/texture sets for each sub-building. You can still use identical material/textures for your sub-buildings to conserve RAM, however I noticed that asset editor may throw errors if you re-use same texture/mesh set too many times on different sub-buildings. You can use a batch file renamer like FastFileRenamer to duplicate texture set you have, then use them for different meshes you have.

Submesh Variants
Since Financial District update, it is possible to create visual variations for buildings by using submeshes. The variation system works on selection basis, therefore you can only pick one variation at a time, you can maximum create 5 variants. You can use this to vary the look of roof or toggling station name/signage or simply roof/facade recolor; it is up to you.

This mechanic only works if submesh variations are on main asset. Submeshes on sub-buildings cannot be toggled in-game.

Templates to use for sub-buildings
Technically, you can use any game building as template, but the purpose of this guide is making train stations, thus I will only talk about those that are convenient to use.

Airport Apron:
Non-DLC Apron asset can be used as template for train station components. This will allow said sub-buildings to be colorable via main asset's color values and it will be illuminated.

Abandoned Lighthouse, factory buildings:
These are technically called 'Dummy' buildings by the game. They do not provide any stats and they're not colorable via the main asset.

Shaders
You have a set of shaders you can use, for different purposes.

  • Basic shader is default shader type for all buildings.
  • Nobase shader will allow game to render any mesh component that is under game terrain. This will be useful if you have modeled galleries underground, underpasses, or platforms/stairs reaching below the surface.
  • Fence shader is terrain conforming shader used in game, for buildings and props.
  • Rotor shader is used to 'simulate' glass.
  • Additive shader, as previously explained, can be used to simulate static lighting or neon signage.

Props
There is a limit of 64 props per asset. Which means you can add maximum 64 props to your main asset, and 64 prop per sub-building. Just like submeshes, props also adhere to lot-size, therefore you can distribute your props into sub-buildings and they will be included in the main asset as part of sub-buildings.

Props that you have made for your stations, should be uploaded to Workshop before the station, as the game will reference Workshop ID of your props. Any local prop, decal etc. wont be included in the final asset.
5. Asset Editor: Importing
Importing Sub-buildings
Before importing sub-buildings, fill-up the stats of your train station; this includes workers, electricity, water consumption, color variants -if any- and reduce noise pollution to acceptable levels, as it's not a stadium or Frankfurt-am-Main.

- Use Advanced Building Editor (or Modtools if you want to suffer) and delete all props, pedestrian paths and station tracks, that came with the original train station template.

- Import your sub-buildings and submeshes. Once all is imported, save the station, with a temporary asset name, something you will recognize on which stage the asset is saved. Having backups will be important during this process.

** I recommend to close the game and reload this backup to check if your sub-building and meshes are working. If either one of them is somehow broken, you will be unable to load your asset in editor, thus it will give you a clue if any component is broken. Check LSM log or LSM during loading phase to see if everything is loading as intended.

Setting up Track Layout
- Once you're back to the editor, start placing your station tracks.

**DO NOT drag station tracks longer than 10 unit, as it will create a node. Drag them 10 units, then use MoveIt to stretch them to previously mentioned maximum length. You can drag a road parallel to the platform, if you need a reference length and alignment. Additionally, you can use Move It's coordinate system to perfectly align station tracks. Position/coordinate system is available on MoveIt's UI (by clicking [...] symbol)

- For Railway 2 one lane station tracks, the boarding direction is based on the direction you drag your tracks. If you drag the track from South to North: Left side boarding will be on West and right side boarding will be on East.

Once all tracks are set up, make another save.

Setting up Pedestrian Paths
Next stage will be setting up magenta 'pedestrian paths', that is unlockable via More Network Stuff.

- Start dragging connection path from the border of the lot-size to the platforms. How you will make the final connection with the track will largely based on the structure and station you have.

- It is important to keep in mind, that EACH pedestrian lane on station track(s) MUST be connected with magenta path to the rest of the path network you have inside the building.


Pedestrian paths - notice the placement how they're connected to each track.

Things to consider regarding to paths
If platform access is provided via an overpass
- If tracks are reachable via an overpass, use "connection path" everywhere. Keep in mind that overpass must be 9m height, otherwise pedestrians will snap to the pedestrian tracks underneath. If there's not enough space between.

- Overpass to platform connection might be messy, depending the structure you have. If you have a staircase leading to the platform, make sure that the staircase is OUTSIDE the boundary of train track's own ped lane. If not, magenta lane will end up overlapping the track path, causing cims to float over to the track. In order to prevent this, place staircase away from the train track ped path (or elevator, same idea), and make the connection to train track ped path on surface.

- If this is not possible due to the space issue, you can always ignore the overpass and use invisible path to connect all platforms, and hide the transition behind an elevator or closed gallery, like how vanilla train station handles.

If platform access is provided via an underpass
- If tracks are reachable via a gallery or underpass you have two options. You can use underground path and transition into surface and make the connection inside an elevator structure.
- If staircase and/or gallery is modelled, use connection path everywhere.

If station is a terminus

- Connect magenta paths to one end of station tracks. Make sure each side is connected to the magenta network inside your station.

Spawn Points
Spawn points determine the spawn location of the train and based on my tests, they also influence train stop detection. There are two spawn points that you will use as couples: Spawn Point Target and Spawn Point Position. Both are available via Find It, if you have Advanced Building Editor. Place them on train tracks, in the middle of each track both lenght and width wise.



Once everything is set, make one final save, with definite asset name, filename, description and thumbnails.
6. Testing
Testing will be important to ensure everything is working as intended:

- Remove all previous 'phase' saves you made, as well as subbuildings. Put them in a spearate location outside Assets folder.
- Make sure you have your dependency track and props enabled
- Load the game with your station and start testing pedestrian, train behavior.

Pay attention to various conditions such that:

- If all tracks are selectable when train line is made (and stops are assignable via Advanced Stop Enabler)
- If this is fulfilled, check if said tracks are used by pedestrians.
- Check if any pedestrian path is causing any bleeding issue (such as pedestrians clipping through structures etc.)
- Check illumination and LOD of your structures.

If all is working, that's great. If not, the troubleshooting begins.
7. Troubleshooting
If train station fails, it means you will go back to the asset editor. This part is very annoying to work with, especially if you have multiple submesh and sub-buildings.

- Put back your local sub-building copies back to the local "Assets" folder.

- Once you manage to load the broken station, make the necessary changes you need to do. Once they're done, you will re-import all sub-building and submeshes. You do not have to set coordinates again, simply remplace them with local copies you have.

This will potentially prevent a. asset editor not including sub-building into the final asset, b. asset editor deleting sub-buildings during save.

- If asset cannot be loaded, it means that a sub-building or a submesh is broken during the save process. There's no salvage for this problem and you'll have to restart from scratch. But thankfully you have multiple backups you made during the import process.

Known Issues
- Distance too short: This might be caused by magenta paths being edited with MoveIt and nodes being too close to each other. The solution for this is to enable Network Anarchy during the placement of the asset. Alternatively, you can try to avoid using Move It, or Network Anarchy, if your your station allows.

- Submesh/Sub-buildings fail to load: You will need to pick a new template and remake these broken assets. Make sure you do not keep any local copy of broken components.

- Asset fails to load: It will likely fail due to the fact that a submesh/building failed to load or you don't have network dependency activated in content manager.

- Some tracks not being used: This is likely because of the fact that magenta path has a connection issue. Fix/remake magenta path, either completely or partially, depending how it is made.

- Inability to manually select a track to assign a stop: You do not have Advanced Stop Enabler from macsergey. Subscribe the mod in question and hold down SHIFT key to manually select train tracks to assign your stop.
8. Final Notes
If you make it this far and your station is finally working, congratulations.

- Not every station is suitable to be made in Cities: Skylines. Because how game works, not every station you see IRL can be made in CSL and work flawlessly, and this is alright. You can always make the station structure as a normal building, and create the station itself in game, by using station tracks, platform networks and other components manually. It will in fact end up more realistic. There's a video walkthrough on how to make stations in-game you can check it out here

- Station tracks do not spawn trains, train stations do. If you end up follow the custom 'ploppable' train station building route I described above, keep in mind that station tracks are not capable of spawning any train. You will need a train depot asset, or do the spawning via Invisible Train Station assets (There is one in Railyard Collection I made)

- Try to keep dependencies as low as possible and do not use dependencies from john934842, aka a random user, even if it's the content you need for; especially if dependencies in question are networks. Station tracks are obvious exceptions to this rule (and I'm not a random user). Use vanilla tracks if possible as they are vanilla, but if the station of your choosing does not allow this option due to artistic reasons, you can use Railway 2 networks instead.

- I cant stress enough not bleed over lot size. Do not make meshes larger than plot size, sub-buildings are made for a reason.

- Avoid adding too many props into your station; like random bushes, trash, garbage props, excessive illumination etc. Keep propping to minimal and let people to be creative.



I hope this guide.... guides you on the correct track of train station creation and help you reach your final stop with relatively less delays.


7 Comments
NESecretWeapon Jul 25 @ 9:54pm 
I miss Maddie's channel :(
3273769546 Mar 31, 2024 @ 9:46pm 
游戏存档没这么找回
FzrGuy Mar 23, 2024 @ 1:04am 
What an amazing write up. Someone definitely has too much time on their hands.....
Gaseous Stranger Jun 18, 2023 @ 12:12am 
This is amazing, thanks for writing this up!
🅾️rder💲 Feb 4, 2023 @ 6:46am 
12
𝘱𝘺𝘨𝘢𝘳𝘨𝘶𝘦 Feb 1, 2023 @ 11:01pm 
Nice guide 👍
AmiPolizeiFunk Feb 1, 2023 @ 10:06pm 
Good guide train man. Thank you :highlvl: