Behind the scenes #1: Modding

Last week we announced that we start to write a regular blog series and talk about various topics. We want to begin with the most important part of Train Fever: The community and how they contribute to the game. Train Fever and its development profit in a lot of ways from its players. On the one hand, we get a lot of feedback and suggestions on how to improve the game (the subject which we will discuss with the next blog post). On the other hand, and this is the topic which we focus on today, thanks to modding players can directly modify and add content to the game.

speed_trainKT4D and KT4Dm Berlin streetcars. Image courtesy of community member Stepke.

Realizing that not everybody knows about mods and modding, what it means and what it can do, we would like to briefly talk about its meaning and history:

Despite the definition of modding being diverse, related to video games it is commonly referred to as “modifying (a video game) by changing its behavior or content and also adding to it or even making a completely new game based upon another one”. An important part of modding is that it is not done by the developers of the game but by the players, so called modders.

“Making games moddable gives players a lot of flexibility. They can create their own world without having to give up on the games functionality.”
~Stephan, Senior 2D Artist

The history of modding goes way back to the 1980s and has a rich history with a lot of prominent games, in the early years mostly within the first person shooter genre. They did not only allow for modding but actively supported it by making it easy for players to access core parts of the game.

In the genre of transport simulations well known representatives are games like Locomotion, Railroad Tycoon 3 or Cities in Motion, where countless bits of new content were created by players since the release, and these classics still have active modding communities today.

Non-commercial games created as open source like OpenTTD and Simutrans are special cases of modding, where not only everybody can add content to the game but even further, due to the nature of open source, obtain and change the source code.

There are a lot of benefits to modding: Mods allow the community to create new content for a game which everybody can enjoy, keeping it alive for a long time. Players can change the game to their needs from making it a complete sandbox to ramping up the difficulty, add their own buildings and vehicles as well as change how the game looks. Players like to actively contribute and add to a game not only by playing it, but by creating content.

speed_trainReconstruction of Liège-Guillemins railway station. Image courtesy of community member Meister-Zogi.

Allowing players to add to the game and at the same time offer payed DLCs can contradict each other. Traditional game development prefers to generate more profit by selling bits of content as DLC. On the other hand extending the games life spawn by allowing everybody to add to the game can be more favourable for the developer in the long run, so we decided not to charge for any additional content we create.

With that in mind, when the development of Train Fever started back in 2012, making the game easy for people to modify became one of the primary goals.

We tried to make as many parts of the game as open as possible for the players to modify, but there are still limitations and not everything in the game can be modded. Exposed game functionalities can have critical impacts on the game´s behavior, allowing mods in the worst case to make the game impossible to play or break certain aspects of the game logic.

“Not everything can be modded. For something to be moddable, the relevant functionality must be extracted from the program code and be made accessible via configuration files or script functions.”
~Urban, CTO

There is also a tradeoff between simplicity and powerfulness. Interfaces for mods should be generic enough to allow for extensive modding but easy enough for everybody to use. Therefore a lot of thought went into planning what functions should be made accessible in which way.

Train Fever primarily uses the Lua (Portuguese for “Moon”) scripting language. The decision to go with Lua was based on the fact that Lua is a free, fast and powerful, yet simple tool, and is one of the leading scripting languages used in making games. Lua is easy to learn and understand due to its solid reference material and needs nothing more than a text editor to edit scripts.

As early as in the closed beta we saw the first mods being made for the game, introducing new vehicles and even new industries, like the Cargo Mod from one of our beta testers Gwinda. Since then hundreds of great pieces of new content have been created.

“Modding brings up some great ideas. There are some mods that utilize the functionalities we have provided and use them in ways we have not foreseen.”
~Manu, 2D/3D Artist

Since the release, beside many stunningly designed trains, trucks, buses, trams, stations and depots, we have seen modders creating mods that utilized functions of the game in an unforeseen and creative way, like the broad selection of decorative items using waypoints and the invisible locomotives to help make Train Fever feel even more realistic. On top of that, a lot of new textures, shaders and various script mods change the way Train Fever looks and feels.

The community also helped building the free USA DLC, and a total conversion to bring Train Fever into a nordic setting is currently in the making by some dedicated Train Fever fans and players.

speed_trainScreenshot from the upcoming fan made nordic total conversion mod. Image courtesy of community member mediziner.

Despite getting a mod into the game is as easy as downloading scripts and models, and putting the files into the right place, it can take some practice to get used to. But also here help is right around the corner in the form of Mod Managers, also made by people from the community, making it possible to install and activate mods by the matter of a few simple mouse clicks.

We hope this post aroused your interest in modding Train Fever and if you are already using or even creating mods, let us know in the comments what your favorite one is! Even though we pointed out some examples, we could not decide on a single one.

Next time we will talk about the various and extensive feedback we get, in which way we handle it and how we decide what we implement into the game. If you have any comments or even suggestions what we should write about, we will be happy to read your comments!

Links and resources:

Mods and tutorials can be found on various fan sites:
http://www.train-fever.net/ (English and German)
http://transport-games.ru (Russian)

Mod Mangers can help installing and maintaining mods:
Train Fever Game Manager (TFGM)
Train Fever Mod Manager (TFMM)

Links to the mods mentioned above:
Cargo Mod by community member Gwinda
Tatra KT4D by community member medizinier
Liège-Guillemins Railway Station by community member Meister-Zogi
The Nordic DLC community project

15 thoughts on “Behind the scenes #1: Modding

  1. Hello guys, it’s nice to see there is still some interest in Train Fever in your offices. This game has the potential of becoming The Best Game ever in the transport genre and, if it doesn’t, I hope someone picks what’s best from it and translates into a new game. Speaking of which, I would love to see some “behind the scenes” when it comes to actually developing such a game. I am especially interested in learning how the 3D paths work, starting from laying railroads on the 3D terrain to path finding algorithms. Any info on the game engine used and tips for beginner game programmers would also help. I am really hoping this project is not going to start gathering dust. Don’t worry what Steam reviews say, you have a great community around the game and new improvements (if any) would just make it bigger (and happier). Thank you!
    PS I personally wouldn’t mind paying for DLCs or expansions for such an awesome game 🙂

  2. One greeatest drawback of train fever modding system is that even if the player adds a mod and uses it for sometime and abandon it.The saved game still searches for that mod and shows error if it is not found. I wanted to upload a saved game on http://www.train-fever.net, and for that I replaced all the vehicles with vanilla vehicles. But the saved game was still trying to find the mods that I previously used.

  3. Hmm, TTDPatch wasn’t mentioned.
    We allowed disabling/enabling user content, Vehicles / Station in game already and it was written in Assembler for Transport Tycoon Deluxe (a DOS game).

    I am still not sure why this isn’t fixed in TF… Maybe someday I write a TFPatch to allow this :p

  4. When we going to have mods in Steam?
    Most of the mod in in their websites are in German.

  5. The mods does gives a whole new life to the game. I only played for hours because of mods. But the lags really kills it. Please next game use Unity engine.

  6. To all Mod makers:
    Can I please ask that you use case sEnSiTiVe filenames when making your mods, I’ve had to fix about 20 mods so far because they cause Train Fever to crash when running under linux.

    Eg.
    id = “vehicle/train/BR140/BR140_bb_lod_0_body.msh”
    is NOT the same as
    id = “vehicle/train/BR140/BR140_bb_lod_0_Body.msh”

    Both work fine under Windows’ limited filing system, but crash with a Lua error under Linux.
    Thank you!

  7. the modding in this games just makes in really awesome!!!
    my only problem with them is that… most of them are in german 🙁
    sadly, i can’t understand what most of the mods do and only a small number actually have tranlations to english.
    Can you force somehow the modders to have english description please? this game should be and deserves to be global!
    Also, the nordic community dlc you mentioned is going to be like the usa one, will we be able to download it from steam? (i know there is a link but even that is in german…..)

  8. Btw yes, it would nice to be able to translate description of vehicles. May be something like multi-language support in .mdl

  9. Good time of day! Very love your game and I spend many hours behind it. There are wishes and suggestions for improving the game.
    1. Improve the industry, I think it would be interesting if and how the minerals were previously randomly on the map but the processing plants to the final product it was possible to independently purchase and install in the cities.
    Would like to make a list of businesses such as agriculture, fields and resources in cities, producing food for urban supply.
    To add warehouses where they could get the cargo for further shipment or distribution.
    2. Railway. For more realism it would be interesting to get such a tool as a range of reversal of trains. The opportunity to exhibit at routes the priorities of the trains in motion on the tracks. The ability to set the routes of the traffic lights at which the train should wait for the release of the way.
    At railway stations it was not bad you be able to add the paths and do not build separate freight and passenger stations separately and to give the appointment it tracks at the stations, that is, enter 3 type of station a combined (freight and passenger).
    3. Automobile transport. You can add a base on the principle of bus stops for transportation of final products in certain parts of the city.

    Thanks in advance if any of my ideas will come into play.

  10. In addition to my review for the game Train Fever.
    Logical chain of productions:
    1. Minerals Coal, Iron ore.
    1.1. Purchased plants: Steel raw material Coal, ore, refined oil produces steel,
    1.2.Metallurgical plant: raw steel, refined oil products metallurgy
    2. Mineral Oil
    2.1. Purchased plants: refinery production of refined oil, fuel
    2.2. Purchased plants: refinery feedstock refined oil to produce oil products.
    3. Minerals wood
    3.1. Purchased plants: a Sawmill’s raw wood, produces treated wood
    3.2. Purchased plants: wood processing the mill processed wood produces wood products
    4. Minerals farm: produces milk, meat
    4,1,Purchased plants: Food plant: raw milk, meat, produce food
    5.. minerals of the grain farm: produces wheat
    5.1. Purchased plants: Bakery raw wheat produces bread.
    6. Clay minerals
    6.1. Purchased plants Brick plant: clay raw materials, refined oil produces building materials

  11. I’m still hoping for the possibility to rename towns and city’s. Seems so easy but apparently is very hard to create.. Love the look and feel of the game though!

  12. Hi, I would also use more mods if I could understand their descriptions. Most of it is in German. I have no idea what they will do etc etc… Please translate that website…

  13. for many of use it is a nightmare if a mod doesn’t work things like lua. mods such as Liège-Guillemins worked once but the it start to cause issues by crashing the game at start up I loved the time work but many time I down load mods and they cause problems I’ve read post about do this or that but it might as well be in Martian which I don’t speak or understand so could there be a standard that much make a mod qualify for release or alternatively a YouTube video in in English explaining all this stuff I’ve downloaded many mods but I’m unable to use them I get them down then install them with TFMM only to have them have an error of some kind so if us dummies could have video called Train Fever for dummies it would be greatly appreciated thanks

Comments are closed.