top of page
Blog

Captain’s diary #46: Innovation in train signaling

Ahoy! I am Captain Marek and I’m thrilled to introduce a game-changing feature in the upcoming Update 3 – a brand-new, innovative train traffic system! This system is designed to handle even complex rail networks effortlessly, all without requiring you to build explicit signals. Simply lay down your tracks, and the trains will run smoothly without any hiccups or delays.


I know some of you may feel hesitant at the thought of a signal-free train network in Captain of Industry. But before you jump to conclusions, I encourage you to check out the examples below. You’ll see how this new approach simplifies everything while maintaining the precision and efficiency you’ve come to expect!


New train graphics

Before we jump into the new train signaling logic, I wanted to share our progress on train visuals. In the previous diary #44 we’ve shared the concept art for our locomotives and you gave us a lot of feedback. Since then, we’ve made a lot of progress on the 3D models and here is the progression from the first prototype to the current version.


Captain of Industry New Train Graphics
The progression of creating the Tier 1 diesel locomotive. Our goal was to design something that feels both unique and familiar – engineers on the island knew what trains looked like, but without access to actual blueprints, they had to get creative with their design.

Here you can see is the tier 1 diesel locomotive in all its glory, happily pulling some wagons.


Captain of Industry New Train Graphics
3D models for the first tier of diesel locomotive and three types of cargo wagons for unit products, loose, and fluid cargo.

The color scheme is not finalized, but fear not, you will be able to change the colors to your liking. Re-colorable models were actually quite tricky to do and it took us more time than we initially anticipated, but we hope you all will appreciate and enjoy this feature.


Captain of Industry Train Color Schemes
Showcase of train color schemes. What’s your favorite train color?

State of the art: Block/chain/path signals

To set the stage for our new system, let’s take a quick look at the traditional approach to train signaling. If you're already well-versed in how train signals work in video games, feel free to jump ahead to the next section.


In most games featuring train traffic control, signals are placed along the tracks to divide them into blocks. Each block can only be occupied by one train at a time, preventing collisions.


Block signals are the most basic signals with very simple logic: If the block immediately following the signal is clear, the signal is green, allowing the train to proceed. If it’s occupied, the signal turns red. These signals can also be configured to control the direction of travel, either one-way or two-way, depending on the direction they are facing. While this system effectively prevents crashes, it can lead to trains getting stuck or blocking each other, creating inefficiencies in more complex train networks.


Green trains are needlessly blocking an intersection due to a traffic jam, not allowing the yellow train to pass (block signals are not shown, they would be before and after the intersection on each track).


To overcome the limitations of block signals, more advanced signal types were introduced: chain signals and path signals.


A chain signal stays green only if the next signal ahead is also green, with this check continuing until a standard block signal is reached. This ensures that trains won’t enter areas like intersections unless there’s a clear exit path, preventing them from getting stuck and blocking other trains.


Even more powerful is the path signal. It reserves a specific route through a block (typically an intersection). It allows multiple trains to share that space as long as their paths don’t cross, making it more efficient and easier to use in complex networks.


Issues with chain/path signals

While chain and path signals are effective and familiar to many players, they come with a few drawbacks:


  1. They can be difficult for new players to understand and use correctly.

  2. Placing signals can become tedious, especially on long, straight tracks where they mostly control direction and train spacing.

  3. Signal placement limits train lengths, as no train should be longer than the first block after a chain or path signal.

    1. Increasing block sizes to accommodate longer trains reduces intersection efficiency.

  4. As train networks expand organically, signaling them properly becomes challenging, especially when new crossings are added near existing ones.


Our new train traffic control system addresses all of these issues without sacrificing the flexibility or functionality of your train networks. Let’s dive into how it works!


New signal-free train traffic control system

There is a lot to talk about, but let’s start with a brief overview of the entire system.


Train tracks are constructed with a set direction, but you can easily toggle the direction or create bi-directional tracks when needed. This eliminates the need to place one-way signals over long sections of the track.


Captain of Industry New Signal-Free train traffic control system
Track directions shown during track construction. Note: The visualization clarity/contrast will be improved in the final version.

Tracks are automatically divided into blocks, and as trains move, they reserve enough blocks ahead to ensure they can always stop safely, preventing collisions.


Gif showing block reservation for trains
Debug graphics showcasing blocks reservations. Yellow blocks are reserved (braking distance), orange are occupied.

When tracks cross, the overlapping area is marked as a "critical section." A train can only enter a critical section if it can fully clear it with all its wagons. If the path is blocked by another train, it will wait before entering, preventing gridlock. You can also manually mark or remove critical sections to optimize your network.


Bi-directional tracks are supported by a simple rule: Only one train can be in a bi-directional segment at a time. This prevents trains from getting stuck facing each other.


Next, let’s look at some examples of this system in action.


New system in action

First, let’s revisit the two scenarios from the previous section and see how they are handled.


Case 1: Simple crossing

When tracks intersect, the overlapping blocks are automatically marked as critical, ensuring that trains only enter if they can fully clear the crossing.


Second train cannot clear the critical section due to the first train, so it waits in front of it. Thanks to this, the third train is free to pass on the other track.


Case 2:  Double crossing

The critical section exclusion works well even for more complex crossings.


Even when all four trains are arriving at the same time, they don’t block each other thanks to the critical-section-aware block reservation system.


Unlike long trains, shorter trains can safely wait in the middle of the intersection as they won’t block anyone while being there.


Case 3: Train roundabout

Building a roundabout is an efficient way to connect two double-track main lines, allowing trains to move in any direction. With our new train traffic system, you simply build it, and it works seamlessly!


Train roundabout just works! Note: Videos in this post are sped-up 2-3x.


The roundabout is an interesting case because short trains can get stuck in certain rare situations. In the video above, you’ll see small trains waiting in the middle of the roundabout. If four small trains arrive at the same time, they are all short enough, and they all need to go 270 degrees around, they could end up stuck.


Example of a rare situation of how short trains that are all trying to go 270 degrees around the roundabout can get stuck.


That said, prevention is simple: Mark the middle sections as critical, and small trains won’t wait there.


Example of a critical section tool used to mark the internal segments of the roundabout as critical. By holding shift, it conveniently selects the entire segment as shown, but more granular manual selection is also possible.


This fixes the issue, at the expense of slightly reduced overall throughput for small trains in busy networks.


Extended critical sections solve any potential issues with trains getting stuck, at the expense of throughput. Note: Chain/path signals would not do any better here.


Case 4: Bi-directional tracks

Sometimes, it's useful to build tracks that allow trains to move in both directions, and our system fully supports this. In fact, bi-directional tracks may be the first type many players build, as they save construction materials early on.


The simplest bi-directional setup is a single track connecting two stations with one train, which works seamlessly. For more complex setups, you can create loops with stations at each end. Thanks to the rule that only one train can occupy a bi-directional track segment at a time, this setup also works without any issues.


Example of multiple trains sharing a common bi-directional track. The middle bi-directional segment was also marked as critical, to ensure that trains will never be stuck there. Note: The middle bi-directional track was made shorter for this example, normally it would be much longer.


Case 5: Sidings on bi-directional tracks

Bi-directional tracks are a cost-effective way to connect two distant stations, but since only one train can use the track at a time, the throughput is limited, especially over long distances. The solution is to build passing stations, or sidings, allowing trains to pass each other at multiple points along the route.


Our system fully supports sidings. All you need to do is mark the bi-directional sections as critical, so trains wait at the sidings instead of between them.


Fully functional bi-directional track with sidings. Trains can pass each other while traveling on a single bi-directional track – working flawlessly without any need for signals!


Case 6: Buffer for trains

What else can be done without signals? Train buffers, for example! These allow trains to queue up for a station without blocking the main line – and they work seamlessly. Our train pathfinding system includes some clever features to make this possible. For instance, if a train’s original path is blocked by another train, it will automatically replan and take an alternative route if one is available.


Trains automatically choose an available waiting track thanks to our advanced train path-finding algorithm that can replan if alternative paths are available.


Case 7: Superblocks

Superblocks are an advanced experimental feature that lets you combine smaller blocks into a single larger block, giving you more control over how trains reserve space.

For example, in the train buffer example above, if some trains are shorter than others, two trains might line up in the same waiting bay, which you may want to avoid.


Superblocks let you combine smaller blocks into a single larger block
Some waiting bays are occupied by more than one train, which may be unwanted.

It is possible to prevent this behavior by creating each waiting bay as a super-block.


By marking each waiting bay as a super-block, only one train can occupy it, regardless of its length, and others will wait for the first empty bay.


When to expect Update 3

We’ve seen our fans asking when Update 3 will be released. We're working hard on trains and our major UI overhaul, both of which are massive tasks. As a result, we currently expect Update 3 to launch in Q1 2025. In fact, we have even more features in the pipeline for Captain of Industry, but some of these may arrive in Update 4. It all depends on how things look at the end of the year with regard to our current task queue.


Live Dev Stream on Oct. 13th!

Tomorrow I'll be doing a dev-stream of the new system in action. Feel free to join!


Conclusion

If you want to dive deeper into our new train traffic system or have burning questions, join us for a live-stream this Sunday at 9:30 am PDT on YouTube and Twitch – everyone’s welcome! Don’t worry if you miss it, we’ll archive it on YouTube so you can watch it later (even if it’s 1 a.m. and you can’t sleep).


There’s still plenty more to cover, like stations and train loading/unloading. That’s a whole topic in itself, and we’ve got some cool innovations to share in an upcoming post!


That’s all for now! Let us know what you think on Discord or Reddit, and stay tuned for more updates soon!


Captain Marek out.



bottom of page