Train Sim World
Steam Technical Considerations
Steam is coming to Train Sim World 2 and is currently in development.
In our previous article about the development of steam in Train Sim World 2 we talked to Paul Jackson about what we wanted to achieve. Today we're talking to Senior Producer Matt Peddlesden to find out some of the development approaches and challenges that come with bringing steam to life. We're going to get technical, but it should give you some extra insight into the thought processes involved in reproducing an immersive, authentic steam experience.
What's the biggest thing we have to figure out?
Simugraph is built up in multiple physics domains. Mechanic power for example, or pneumatics, or electrical. We have new domains like water and steam pressure to add. There are new Simugraph components to create, we have to build firebox, boiler, steam chests, cylinders and any other systems that aren't present in our modelling for diesel or electric locos. The steam domain is then the connections between those components which makes steam work the way it should.
The work going on at present is involved in creating those components and the connections between them, along with the underlying physics and maths library to support it. With this built up we have a basic make up of a steam engine - all steam engines have the same principles.
Is it literally just the simulation of the motive effort and how it's generated?
In the sense of how we make the train go, yes. How we make it stop is less of an issue as those braking systems have already been designed.
We reference Simugraph quite a bit, in its simplest terms what is it?
I refer to it as the stop and go physics. There are two primary physics systems in the game: gravity and collision. Those are managed by a system called Bullet, which is used throughout the games industry. What Bullet doesn't handle is how one thing pushes or pulls another physics-controlled item.
Historically in train simulation you will probably have built a black box model where everything is self-contained and configured independently; a diesel engine would be a black box, which leads to engines being created in a generic fashion handled by configuration variables. It's a less efficient way to work, is prone to misconfiguration and doesn't account for the nuances of different engines. Simugraph enables the creation of individual systems, down to a component level that can then be recombined for different vehicles. We then create the appropriate diesel engine or electric motor as a separate component and the interactions between those components create something that feels and behaves in a more authentic way.
So almost like a mechanical or electric engineering kit?
Basically, yes. The same is then true for other systems, pneumatic brakes for example. All these link together into one big system.
We power the axles just as they are in reality, so a Class 31 has an A1A-A1A set up where alternating axles are powered, and that's exactly what we do. We get as close to replicating how the real thing works as possible.
Class 31 axle layout in Simugraph.
How many modules typically are typically involved in a loco?
It's in the tens but it depends on the complexity of the loco. A Class 101 for example is pretty simplistic, whereas a modern EMU is doing a lot of work for you so includes more. A lot depends on how the train is modelling the power and other systems.
The Class 43 HST had an issue with the application of power after going through the Preserved Collection process, what happened there?
This was actually related to the way that the train heating is modelled. The heating system was drawing more power than it should have done which affected the power available for the motors. Much as in the real world, we needed to rewire the system to ensure the power distribution was correct. This is often much less like software development, far closer to real world engineering. It's fascinating to troubleshoot. Non-software developers have taken to this system like a duck to water as these systems behave in a believable way.
Early steam power flow for Simugraph design.
So, the task of modelling steam operation within Simugraph is ongoing, what other considerations are there?
The next challenge are the particle effects associated with steam. We have a small amount of exhaust smoke come from diesels but of course steam engines need many more and varied effects. Every one of which have a performance impact, so maintaining performance while creating a convincing display of a steam engine is a major project. Obviously, we're not just considering one such particle emitter. Each locomotive will have several in operation at any given moment, and there we want to be able to run as many as is realistic on multiple trains, each of which are tied into the cause and effect of steam power.
Are the existing smoke effects we have as simple as "effect on, effect off"?
No, it's dynamic. The amount of exhaust smoke you're seeing is tied to the amount of load the engine is under although the task is straightforward at present. Once we've resolved any potential performance concerns for steam diesels will also benefit as we'll be able to employ the same processes to represent clag effects for example.
That gives us a good idea of the engineering challenges presented, what else is being considered?
The user experience is critical. Steam is complicated. When you board a cab all you have is a sea of valves, not just the throttle lever you might see in a modern train. We have to work out where the difficulties are going to be for players interacting with these controls. If you consider how handbrakes are currently used in the game where rather than spinning the wheel manually you set its position and the game then does the rotation for you. Nothing is lost from the experience or function of the control, but we've simplified its operation to improve player experience.
We have to experiment with different means of interacting with controls to find a way that combines an enjoyable experience with the right level of gameplay challenge. Different steam engine cabs present different challenges, so a lot of trial, experiment and revision is required.
We also have to think about how we teach people to operate steam. It's not easy to learn, but it is enormously satisfying to get right so we want to make sure we're helping players to get the most out of it. It's likely to be the most engaging and fun experience we have so we want to make sure that as many people as possible can get to that fun.
Let's say there are a dozen different valves in a steam cab, are we looking to model the cause and effect of every one?
We've evaluating this from a gameplay balance experience. We'll take the same view we do with other trains - where is the reward for the player? We'll model as many as feels right to create an experience that delivers. The driver's controls aren't massively different to those in a more modern loco, but the fireman has far more going on: where you place the coal in the firebox has a direct impact on the performance of the boiler. We don't yet know what the right level of intricacy delivers an authentic, satisfying, and playable experience.
Is there not an argument to be made for a beginner vs expert mode for steam operation?
There is a case to be made for two tiers of play. For example, opening the taps in the correct order rather than any order. It comes down to whether players will prefer an accessible style of play where they just want to enjoy the experience in a "just make it go" sense or advanced controls that are understandable and usable by far fewer players. We want both options available.
We have quite a few Dovetail Games team members who work on heritage rail, how many of them have direct experience of steam operation?
We've a lot of people involved in heritage rail both from a fireman and driver perspective, and a network of people outside the company who can helps us get the experience right. There's a lot we do know, but we're taking our time to ensure that we get it right and that takes experimentation. We've modified a steam loco from Train Simulator and brought it into Train Sim World to act like a diesel.
We don't yet have steam physics. That's something we're solving. But in parallel we can start to work on the user interface and experience, as well as building an understanding of what we need to teach players. We can learn a lot with this fake train while we develop steam systems at the same time. We've all seen photos of a steam train blasting along the line at 60 miles per hour, we know what that looks like. We can work on the particle effects needed to convey that visual sense of power now while other systems are still in development.
Steam trains have more moving parts than locos we already develop, and each of those have their own audio signature, are we going to represent this?
It is a case of listening to each part of the audio, working out which parts generate which sounds. We don't just listen to the sum of the sound of a loco, we're working to understand where sounds originate, what triggers individual squeaks and how it fits into the overall audio landscape. We can't record these individually so it's a case of recording authentic sound where possible, recreating where necessary and then delivering the right balance overall during mixing. With the model in the game we can work to make it come to life.
We know from talking to players that not everyone is passionate about steam. Why would a non-enthusiast be interested in what we're making?
The main appeal is that there's much more to do. Visually there's a lot going on. The driver and fireman are a partnership working to keep the train running and there's always something that needs attention. An incline may be approaching that requires action in a steam loco while a modern electric wouldn't need any adjustment. It's not a case of suddenly needing to find and learn 15 controls to make progress, you're using the controls you're familiar with differently. You don't simply put the reverser into forward, you now have to operate it in concert with the regulator to get the application of power you're after.
It's techniques that you'll be learning, not fundamentals and this learning curve is very enjoyable. It's approachable to get started, but the experience is deep and the more proficient you become the greater the satisfaction.
We've referenced firemen a few times. In Train Simulator we offered an auto-fireman, is that something we're doing here?
The fireman has a lot to look after, and their role is different to that of the driver We want to create a unique experience for both roles so that means an automatic fireman option and an automated driver. We also know what some players will want to manage both. These aren't simple systems to create, the two roles need to be smart enough to handle their role effectively.
In the next steam article we'll be talking about the world these trains run in, the track, the signaling and how we go about replicating a world that no longer exists.
Screenshots and images displayed in this article may depict content that is still in development. The licensed brands may not have been approved by their respective owner and some artwork may still be pending approval.
Train Sim World
Steam Technical Considerations