Post

Train Sim World [Dovetail Games]

The Role

Train Sim World is a First-Person Train Simulator game, that brings to life the experience of operating powerful and realistic trains on some of the World’s most amazing railways, utilising the power of Unreal Engine 4. I joined the team before the initial release of TSW, back in January of 2017, where I contributed to the project as a Technical Games Designer, focusing on locomotives, wagons, passenger coaches and gameplay mechanics. TSW is a single-player experience shipped on Steam, Windows Store, PS4 and Xbox one.

Tasks involved:

  • Researching and documenting vehicle specification data, as well as notating images and describing elements of the vehicle so artists could do a single pass on skinning and UVing the model in a specific way for dynamic numbering, lighting and weather effects.
  • Developing robust, flexible and reusable components used primarily in the Rail Vehicle Model and View actors for all aspects from simulation to player interaction.
  • Using UE4’s profiling tool to find any inefficiencies which could be optimised. As you can imagine with calculating accurate simulations, there’s not a lot of frame budget bandwidth.
  • Scoping out and working with management to plan scheduling for future DLC.
  • Creating and managing ticketing for tasks, bugs and queries using Jira.
  • Maintaining internal living documentation used to store standards for Rail Vehicle properties, components and optimisations, as well as important information that is discovered during development.
  • Performing reviews for check-ins.
  • Being a malleable and active problem solver.
  • Helping with onboarding new team members.

Part of the role I really enjoyed was having an opportunity to delve into more and more Unreal Engine features. For example, in the early days the art team would manually make animation sequences for everything that required movement, including levers, buttons, window visors, doors, panels, gangway elements, chains, wheelsets, seats and probably more. This process took too much time and so we became familiar with the animation system and were able to support the art team by manually animating things like levers, buttons, visors, doors, panels and seats in most cases.

The UMG widget system was another feature I got familiar with as more advanced vehicles (typically passenger coaches) had onboard computers controlled via screens. Sometimes I would manually recreate the UI elements from any media we had gathered using GIMP which is something I picked up on the fly. After recreating the screen layouts as accurately as possible, I would then need to figure out and replicate the onboard system functionality.

I enjoyed taking detailed descriptions of how devices worked such as safety systems (e.g. DSD) and building the logic for that in code. It was always lovely to see real life locomotive engineer’s comment when we got something feeling right and were always useful in guiding us when something wasn’t quite correct.