1. Rolling Line
  2. News

Rolling Line News

New PC item system! v5.3



This update gives the PC-only interface a bit of an upgrade!
You now have a full 9-slot item toolbar which functions a lot like Minecraft, where you can scroll between the currently selected item. This replaces the old "belt" system where you store items on either your belt or in your hand. You can still enable this old system if you prefer. There is also now no longer a physical belt object on your player.

Items in your inventory toolbar also have full 3D icons, and your items are included in save files!

A system like this has been something Ive had in mind for ages, it just never quite made it to the top of the queue. The VR controls and belt are unchanged, this would require a separate update dedicated to VR which is also on my to-do list, but this will be a huge quality-of-life improvement for PC players!

[h2]How the new system works[/h2]

If you've ever played Minecraft, then it's essentially just like that, but with a few extra quirks.
  • The item toolbar has 9 slots, which can either be empty or hold an item.
  • You can change which slot is currently selected, and the item in your chosen slot will appear in your hand.
  • If you drop the item in your hand, that slot will become empty.
  • If you pickup an item while there is an item in your hand, it will replace that item.
  • You can use "ALT + Scroll Wheel" to switch between items on the toolbelt.
  • You can also use 1,2,3...9 to set the chosen slot that way.




You can also "un-equip" items.
If you want an empty hand but dont want to drop the item you are currently holding, then simply press the number key for the slot and the item will be hidden (and the icon greyed out) leaving you with an empty hand. E.g. if you are using slot 2, press "2" again and it wil be hidden. Press "2" another time to make it visible again.
If you pickup a new item while your hand is empty it will automatically be added to the next empty slot in your toolbar.



Since the scroll-wheel is already so cemented as the "change height" control, the keys for switching between items are instead holding ALT + Scroll Wheel. You can also use PageUp & PageDown as replacements for the scroll wheel.
All of this is re-bindable in the controls menu of course:



[h2]Using the old system[/h2]

If you prefer the old style of equipping items then you can disable the new system in the menu:
"Pause menu -> PC options -> Use new item equip system"

When using the old system you still get the new 3D item icons and full 9 slots, but the controls behave like before where you press the 1,2,3...9 keys to swap items in and out of your equip slots.
The item in your hand is separate from the toolbar, which means you can hold 9 items in your equip slots + 1 more in your hand.

[h2]Major fix to loading times on slow PC's[/h2]

Turns out there was a huge mistake in the way I was handling the recent asynchronous loading system in previous updates. Some people have experienced very slow load times because of this, but I've tracked down the cause!
It has now been fully fixed, and load times should be much more consistent now for those people who were experiencing it.

[h2]Other features[/h2]

  • Part of this update involved finally converting the edit tool and locomotive controller into actual "props" which means they can be included in save files and interacted with like props.
  • Train collisions on diamond crossings (where two trains collide side-on) now works as intended. Locomotives will always win over wagons, and the train that is currently being driven will win over all other trains. If a moving wagon hits another moving wagon then both of them will be derailed:

  • Fixed the smoke effect positions on the KA.
  • Sped up the acceleration and break speeds for vehicles.
  • Fixed collision box for bikes.
  • Fixed bug where loading a map with foggy weather would create a color flash during the end of the loading screen.
  • Moved some things around in the "PC Options" menu to clean things up.
  • There is a setting now to disable velocity-based throwing of objects.
  • Fixed the item throwing physics for PC players.
  • Fixed bug where ballast would show up in the road generator when generating multi-lane roads.
  • There is a setting to adjust the inventory UI scale in the "PC Options -> Interface" menu.
  • Fixed a minor alignment issue on the NR custom livery.
  • Fixed bug where some signal controls could not be used when in large scale.
  • Fixed issue with grouped track caused by overlapping IDs.
  • Fixed the rotation of the text label prop when in hand.
  • The Flexytrack gap-fill range has been greatly increased.


After the last couple of months being focused on the National Park map, this updated served as a quick change of pace to work on something I've been keen to do for a long time.
The old PC equip slots interface was meant to be a temporary solution to the problem of "How do I get a physical VR belt to work on the PC interface", but turns out it took 5 years to finally do something about that!
It's great to give the PC controls some love, since easily 95% or more of players are on PC instead of VR, including me (I make all the official maps entirely on PC).
I have lots of future plans for things involving items & inventories... (hint hint, loadable wagons) So this update brings the game one step closer to that!

Patch v 5.2.10_5



Since the release of the new National Park map, I've made a few adjustments and new AI features which were substantial enough to be grouped into a patch (instead of waiting for the next full update).

[h2]AI features[/h2]
There is now a new AI trigger sign which can be used to enable and disable custom models (for mods which make use of the custom models feature).

Here is an example of a mod which uses these "Custom models" for freight loads:
https://steamcommunity.com/sharedfiles/filedetails/?id=2916250594

You can find these new AI signs in the "track addons -> AI triggers 2" drawer:



Here is an example of how this AI signs can be used to mimic freight loading (by enabling a custom model when passing a certain point of track)



Some AI signs (lights and custom model triggers) now also work for wagons as well as locomotives.

[h2]AI enable lights by control type[/h2]

The AI signs for enabling/disabling lights can now be set to control only a specific layer of light control (e.g. headlights, cab lights, custom mod lights, etc).

There are also now 9 full slots for custom light control layers.



[h2]Linked save files for packaged mods[/h2]

I've finally added a much requested feature where save files can "link" to another save file to copy its packaged mods.
What this means is that if you make a local copy of a workshop save, or official map (like National Park) which uses packaged mods, your own copy will still load those same packaged mods.

This does NOT make a copy of the files, and the link will only be maintained if you have the original map.
e.g. you could download the Beer Line, make a new save game of it, then that new copy will still contain all the same mods as the workshop original.
BUT if you unsubscribe from the original, then those mod files will be removed and your local copy can no longer access them.
Also if you tried to upload your copy to the workshop, other people would also need to be subscribed to the original Beer Line to access the mods.
(the mod files are not copied in to your own copy of the save, it just "links" back to the original maps folder).

Think of it like a save file has a "link" to the previous save file it came from.

For example, a saved copy of the beer line will first go "check the folder of the original Beer Line for any packaged mods first before loading this map".

[h2]More modding audio presets[/h2]

The car engine audio presets & horns (like buses, trucks, etc) are now included as mod audio options.
The ghost engine and horns/whistles are also included.

[h2]Car audio setting[/h2]

There is also now a dedicated audio setting for vehicles.
You can change this in the audio menu. By default, it is a little bit quieter than trains.

[h2]Other fixes[/h2]

  • Fixed the spelling of "Makatote Viaduct" on the National Park map.
  • Photo mode can no longer be opened during loading screens.
  • Removed some shapes from the building drawers that were left there by accident.
  • Fixed bugs with couplers.
  • Made adjustments to one of the Easter Eggs on the National Park map so that all trains are de-spawned off the map before loading any new ones (to avoid collisions).

National Park! v5.2



Rolling Line's latest official map is here!
It is set in Tongariro National Park in New Zealand, part of the North Island Main Trunk Line. This map includes locations like the volcanoes of Mt Ruapehu, Ngauruhoe and Tongariro, the Chateau Tongariro hotel, the "Volcanic highway", the town of National Park, the Makatote Viaduct and even the famous Raurimu Spiral!

This is a fully modern map that makes use of all the game's latest features, which means full dynamic roads, cars, skyboxes, images, electrical wires, etc.
The map also features full support for AI train driving!

It's been well over a year since I've been able to make a proper official map (since the "Slice of Wellington" one was just a chunk of city scenery, no track or nature) so this has been a ton of fun to make, and I'm really happy with how its turned out.

You can access this map from the main menu:
Select "New Game -> Main Maps -> National Park"



This map is also now the largest official map by a big margin! (even bigger than the "Top of the South"). Here is the full official map poster:



[h2]Drivable vehicles[/h2]

Since this map makes use of the new fully dynamic roads and vehicles, you can view the map from the perspective of a car as well as a train. This is the first map I've worked on that actually has the driver's perspective incorporated, and you can complete a full loop of the maps' scenery entirely from within a car:



[h2]AI trains[/h2]

This is also the first official map I've built with AI driving in mind!
All the sidings feature full AI-friendly signalling and trains can pass each other. Trains even stop and wait at National Park station!
When you first load up the map there will already be a couple of random AI-driven trains already moving.



[h2]Screenshots[/h2]

Here are some HD screenshots of the map, feel free to use these as you wish!
You can view the full album here: https://imgur.com/gallery/npnic1i




[h2]Easter Eggs[/h2]

Just like all the other official maps, National Park also contains a bunch of secrets and Easter Eggs! I won't give you any clues here... but there's definitely a bunch of cool things to find!



Other features in this update


I've been working on this map for almost two months, so this update also contains all the various features, fixes and additions I've made in that time. And there's quite a lot!

[h2]Smooth train rotation [/h2]

Firstly, I've added a feature to fix something that has bugged me for a long time. Trains have a bit of a "jittery" look when going around curves, and this features smooths out the movement of trains when you are driving in the cab, which results in beautifully smooth curves:



[h2]Automatic height adjustment when teleporting [/h2]

When in large scale you now match the height of anything you teleport on to if it is higher than your vision, so you no longer end up inside the terrain:



[h2]New road decal props[/h2]

You can find these in the "Terrain -> decals" drawer:



There are also flipped versions of these rust decal props:



[h2]New shapes props[/h2]

These were used to make the roof design of the Chateau Tongariro Hotel, you can find them in the "Shapes -> Shapes 2" drawer:



[h2]Airplane options for maps[/h2]

You can now adjust the flying height (and whether they are visible at all) for planes on a map-by-map basis. These values are set for the map you are currently editing.

These buttons are on the wall next to the other room options (like wall style and colors):



[h2]Road embankments[/h2]

There is now a new road style option for embankments. This will add extra terrain to the sides of roads to help blend the road with the the ground:



[h2]Optimizations[/h2]

Thanks to the previous update which involved a huge re-haul to the train system (cleaning up code behind the scenes) I've been able to make some optimizations to how trains are handled.

  • Trains now have a "Sleep mode" when they are not moving. They will save some performance while in this state, and they are "woken up" when interacted with or affected by any other moving trains.
  • Collision detection for trains has been optimized a lot. For example, wagons which are already connected as part of a train do not need to check for impact collisions, since it is only possible for the front of another moving train to impact with them.
  • Lots of LOD adjustments and changes to the way trains are handled in the distance.


[h2]New asynchronous loading stages[/h2]

The game now loads maps with a few new asynchronous loading steps. What this means is that the loading screen will stay responsive and show a progress number instead of just freezing during the loading stage.

Track is now loaded asynchronously, as well as preloading props. You can now see a display of the total number of props and track during these loading stages:



[h2]Trains loaded into drawers asynchronously[/h2]

Drawers now load trains in one-by-one, instead of freezing the game to load them all on the same frame.

[h2]AI features[/h2]
There is now a new AI trigger sign which can be used to enable and disable custom models (for mods which make use of the custom models feature).

Here is an example of a mod which uses these "Custom models" for freight loads:
https://steamcommunity.com/sharedfiles/filedetails/?id=2916250594

You can find these new AI signs in the "track addons -> AI triggers 2" drawer:



Here is an example of how this AI signs can be used to mimic freight loading (by enabling a custom model when passing a certain point of track)



Some AI signs (lights and custom model triggers) now also work for wagons as well as locomotives.

[h2]AI enable lights by control type[/h2]

The AI signs for enabling/disabling lights can now be set to control only a specific layer of light control (e.g. headlights, cab lights, custom mod lights, etc).

There are also now 9 full slots for custom light control layers.



[h2]Linked save files for packaged mods[/h2]

I've finally added a much requested feature where save files can "link" to another save file to copy its packaged mods.
What this means is that if you make a local copy of a workshop save, or official map (like National Park) which uses packaged mods, your own copy will still load those same packaged mods.

This does NOT make a copy of the files, and the link will only be maintained if you have the original map.
e.g. you could download the Beer Line, make a new save game of it, then that new copy will still contain all the same mods as the workshop original.
BUT if you unsubscribe from the original, then those mod files will be removed and your local copy can no longer access them.
Also if you tried to upload your copy to the workshop, other people would also need to be subscribed to the original Beer Line to access the mods.
(the mod files are not copied in to your own copy of the save, it just "links" back to the original maps folder).

Think of it like a save file has a "link" to the previous save file it came from.

For example, a saved copy of the beer line will first go "check the folder of the original Beer Line for any packaged mods first before loading this map".

[h2]Other fixes and features[/h2]

  • The car engine audio presets & horns (like buses, trucks, etc) are now included as mod audio options. The ghost engine and horns/whistles are also included.
  • There is also now a dedicated audio setting for vehicles. You can change this in the audio menu. By default, it is a little bit quieter than trains.
  • Fixed bug where signals would show orange instead of red if a train was passing through its orange range while there was still a train inside its red range.
  • Audio sources now copy their data when cloned (e.g. the same audio clip remains selected).
  • If a car/train is being AI driven and you click the in-cab speed buttons it will automatically switch from AI control to manual control.
  • Cars and trains now show "AI" on the in-cab driving speed display if they are currently AI driven (instead of the default "---" text).
  • There is now a popup warning message when first opening the skybox editing menu. This is to help prevent people from accidentally messing with the skybox layers when they dont intend to (which happens surprisingly often).
  • There is now a button in the "Room -> advanced" drawer which you can use to move all props back to the main layer. This is useful for if you have accidentally been using a different skybox layer and you need to fix it.
  • Wagon LOD (low detail models) are now automatically updated when the player teleports, which removes pop-in when returning from the menu.
  • Photo mode is now blocked when capturing a thumbnail.
  • When opening photo mode the time of day and season are automatically set to the current maps values.
  • The scroll wheel is now locked when you press Insert to free the cursor from the game window.
  • You can also now free the cursor inside photo mode as well.
  • Added feature to help prevent lag spikes messing with your movement. Input made on lag spiked frames is now ignored, like moving the mouse in photo mode and moving around the map.
  • Adjusted how some props are treated in terms of what is visible in low-detail scenery.
  • Photo mode can no longer be opened during loading screens.
  • Fixed bug where teleporting to the menu was still possible during some parts of the loading screen.
  • Fixed bug where the bridge style would still be added to track generated in the dynamic track generator if the type was switched away from turntable when multiple tracks were also selected.
  • Fixed bug in the road generator where the dash-line style was applied to both sides of the road, causing it to overlap in the middle.
  • Fixed bug where collision on wagons was not flipped when the wagon was reversed.
  • Fixed bug in the modding system where the bell preset override texture did not work.
  • Fixed bug in the modding system where custom bell audio would not load correctly.
  • Fixed bug in the modding system where the low-detail LOD version of the train would be shown after exiting the LOD model editing menu.
  • Fixed the bell model for the AC4400CW, it was not visible since the last update.
  • Fixed the AC4400CW livery template to include a reference to the bell texture.
  • Fixed UV's on the low-detail LOD model for the custom livery baggage coach.
  • Fixed missing pantograph spawn point for the NR.


And that's everything!
I hope you enjoy the new map, I absolutely loved making it. New Zealand is hardly ever featured in video games, so Rolling Line is picking up the slack.

As the previous news post mentioned, Rolling Line has just turned 5 years old, so what better way to celebrate than to go back to the games roots, back in beautiful old NZ.

Have fun!

Rolling Line's 5th birthday!



April 28th is Rolling Line's birthday, and this one happens to be 5 years since its release!
I usually don't post anything for these, but 5 years is pretty special, and also I have a big new official map to announce.

To start things off, you probably want to know what I've been working on for the last month!
I've been making a new free official map for the game (which is almost ready for release!) based on Tongariro National Park in New Zealand. This map includes locations like the volcanoes of Mt Ruapehu, Ngauruhoe and Tongariro, the Chateau Tongariro hotel, the "Volcanic highway", the town of National Park, the Makatote Viaduct and even the famous Raurimu Spiral!

This is a fully modern map that makes use of all the game's latest features, which means full dynamic roads, skyboxes, particles, etc.
It's been well over a year since I've been able to make a proper official map (since the "Slice of Wellington" one was just a chunk of city scenery, no track or nature) so this has been a ton of fun to make, and I'm really happy with how its turned out.

And this map is also now the largest official map by a big margin! (much bigger than the "Top of the South").



This map still needs a couple more weeks worth of work to make it fully ready for release, for things like all the little fine details (and Easter Eggs of course!).
For Rolling Line's next update I will be releasing this map, completely for free, as a new addition to the game's official maps.

So keep an eye out for that in the coming weeks!


But in the meantime, here are some of the highlights:

[h2]Makatote Viaduct [/h2]
Historic viaduct on the North Island Main Trunk Line.




[h2]Raurimu Spiral[/h2]
A famous feat of engineering here in NZ, where tracks loop over themselves to climb up on to the Central Plateau.



[h2]Tongariro Crossing & Mt Ngauruhoe[/h2]
NZ's volcanic epicentre. Multiple volcanoes cones, craters and lakes.



[h2]Mt Ruapehu[/h2]
An active volcano, and the tallest peak in New Zealand's North Island.



[h2]National Park township[/h2]
The tourist town (and railway station) right on the doorstep of Tongariro National Park.



[h2]Chateau Tongariro hotel[/h2]
A very famous building here in NZ, the historic Chateau Tongariro, build on the lower slopes of Ruapehu.



[h2]Volcanic Highway[/h2]
State highway 47, known as the "Volcanic Loop Highway" which runs straight though the park, and yes you can of course run cars on this using the new roads system for a scenic drive!



[h2]5 years of Rolling Line [/h2]

For those who don't know, I'm actually just one solo developer. I handle the programming, art, online support, etc, and have been doing this as a full-time job for the whole last 5 years. So I have quite a personal connection to this game, as it is entirely intertwined with my own life.
Especially when it comes to programming, this game's code-base feels like a bizarre beast of my own design, and has over half a million lines of code.
The game also contains a bunch of models (props and trains) & even some map work done by members of the community in recent years, and the Steam Workshop comprises a massive portion of the game's value. There's no way this game would have grown to the size it is without user-made content!

5 years is a long time, yet it went by surprisingly fast... the game has changed SO MUCH since its release.
On day one it was hardly even a level editor, all you could do was place down some basic track on small flat tables and place a few props (you couldn't even change the color of trees!).
The game had one single map (the "Top of the South", which was then just called the "Main Layout") and that map was entirely hard-coded, meaning that it was made from pre-built 3D models, and it was entirely impossible to make something like that using the in-game tools.

Then in July 2021 the game reached a massive milestone where the old Top of the South could finally be fully converted to an editable map made using in-game tools (excluding roads, which only made it into the game in October 2022!).
This moment is so impactful since it finally meant that the game had fully lived up to its original vision, where players could make maps with the same level of quality and complexity as what I envisioned back when i built the Top of the South.

And to tie it all up, this new map "National Park" marks a point where a map can fully surpass the complexity & scale of the Top of the South using entirely in-game tools.
Though one last loose end would be terrain.. which I still make in external 3D software (though players can do this too with prop mods or QuickTerrain modding). That's still a job to tackle in the future.

For those curious, over the last 5 years there have been 156 total updates, and here is the FULL list of those updates:



And some graphs that may interest people, here is the number of likes & comments each update news announcement post has gotten, along with trend lines.
The second graph shows the average and peak number of concurrent players.



Some things to learn from this:
  • Rolling Line has its best player stats and engagement of its lifetime right now, though it has remained very stable for the last couple of years.
  • The game grew most during the Covid pandemic, which was a trend for a lot of games at the time. More people indoors = more people playing video games, so no surprises there. This was also the time when I released the Paranapiacaba update, which involved a ton of minor updates (almost weekly!) in the build-up, which was great for getting people excited.
  • Larger updates with longer development times generally get much better responses. The time between updates has increased a lot over the years, as updates have gotten bigger and much more complex (e.g. back in 2018 I could release something as simple as gradient track for a single update, meanwhile now im working on much bigger things like large programming overhauls).
  • The largest spike in players the game ever got was on a weekend where the Roblox servers temporarily shut down... which is pretty hilarious and confirms the player overlap between these games.

And as a bonus, here are the top 5 most liked updates in the game's history:
  • #1 - Train AI
  • #2 - City buildings
  • #3 - Startup optimization
  • #4 - Roads
  • #5 - Turntables

All of which were released in the last 2 years!

Anyway, that's enough stats. You can probably tell I quite enjoy making spreadsheets and tracking this kind of information. It really puts things into perspective, and over a large timeframe like 5 years it can be pretty useful.

This game is so closely intertwined with my life, and it goes without saying that I have zero intentions of stopping development any time soon. There's still an insane amount of features and content that I hope to create for the game, and that could easily fill another 5 years.
Maybe in 5 years time I'll actually be able to add multiplayer... just kidding. Or am I?

[h2]2023... [/h2]

The year of 2023 has had a bit of a slow start, since I've been mostly focused on programming optimization and restructuring old code for the game, which doesn't really result in very flashy and exciting updates.
But working on these things is incredibly important for the longevity of the game. This is a game I want to withstand the test of time, and the last thing I want is for it to be a messy tangle of bad code. So piece by piece I'm cleaning things up, designing things better, and strengthening the foundations of the game.

But that can all get pretty exhausting, so hence why I decided to make a map for a change of scenery!
(plus the fact that I just visited Tongariro National Park in real life of course)



This map will be released within the coming few weeks!

Other than that, I would just like to say thank you to everyone who has stuck with this game to see it grow, from those who remember all the way back to release day, or those who just bought it this year. Thank you to everyone who makes maps, mods, screenshots, videos, and shares them with everyone. Community is what makes this game feel so alive, because that's far too much for just one developer to manage. Rolling Line's Steam Workshop is incredible, and the sheer number of maps and mods is mind-blowing, even just the very best top-quality maps number in the 1000s.

Thank you everyone, and here's to another 5 years!

Train optimizations! v5.1



The optimization continues, this time with a focus on trains!

The previous update was all about optimizing mods and mod asset loading, and this one continues where that left off and includes a ton of background system improvements and changes to how the game handles trains.
Previously all the official trains in the game were actually stored as pre-made objects (and they have been like that since day 1) but now that the game has a full modding system and the ability to generate trains on the fly using raw data, it's finally time to convert all the old built-in trains from the old "object" system to the new dynamic "data" system.

This was a massive job, and essentially involved re-making all the official trains using the new modding system, but the trade-off is that now every single train in the game (whether its a mod, a livery, an old legacy QuickMod, or an official model) all share the exact same data structure.
This means making changes to how trains work, and adding new features, has just become infinitely easier and more efficient!
It also means that trains can finally receive some much-needed optimization.

[h2]Low-detail models for trains[/h2]
You might have noticed in the past that Rolling Line already has some LOD (level of detail) effects for the trains, in the form of low-detail wheel models which show up at a distance. Well this update takes that a step further and fully re-works the LOD system for trains so that they now have full low-detail models and other optimizations in the distance.

Personally I really love the style of these low-detail models, so I've actually included a setting (in "pause menu -> graphics -> super low detail trains") which you can use to force the game to use the models at all times, not just in the distance.



Even custom livery versions of the trains have low-detail models now too!



Some of the official trains don't have finished low-detail models yet, though I will be including these in the next update. The trains that still dont have models are:
- most freight and passenger wagons
- most liveries

[h2]Low detail models for mods[/h2]
You can also now include your own low-detail models to optimize your mods!
If you are a mod maker I highly, highly recommend doing this since adding these low-detail models will make your mod run with significantly better performance on peoples maps.

There are two different models you can include:
  • Body mesh - This model will replace the body of the train mod when the train is at a distance
  • Wheel mesh - This model will replace all of the couplers and wheel blocks at a closer distance than the body


You can also adjust how far away the train needs to be for the low-detail wheel model to be used, since some trains with more complex wheel arrangements (like steam engines) should use the low-detail wheel model at a larger distance since the switch between models is more visible.

You can find these new mod options in the "general options -> low detail models" menu:



While you have this menu open if you refresh the mod preview it will automatically show the model in its low-detail form:



You can find an example mod here on the Steam Workshop which makes use of the new low-detail model features:

https://steamcommunity.com/sharedfiles/filedetails/?id=2946255743

[h2]Addons (plows and pantographs) system re-work[/h2]
One of the main reasons why I needed to convert all the old trains to the new data ssystem was so that I could finally re-work the addon system. This system has been poorly optimzied and a pain to deal with for a long time, but now it's vastly improved and is way more flexible for future updates.
Addons are loaded in a much more efficient way, and the game can now support the addition of new types of addons in the future (like hopefully custom plows/pantographs in modding one day!).

One nice little side-effect of this new system is that the spinning rotary plow can now be added on to any train, and is included as a new plow option:





[h2]Texture resizing for mods[/h2]
During testing, by far the most major performance hit for the game is trying to use mods with excessively large textures. Some modders have chosen to scale up their textures to way beyond the expected range, and this causes an exponential amount of RAM usage and load time.

For example, a typical 2k texture (2048 x 2048) which is all a train model should really need, uses up about 30 MB worth of RAM when loaded into memory.

But compare that to a 6k texture (6000 x 6000) which some modders have been using, uses up a whopping 274 MB of RAM when loaded into memory!

As you can guess, it only takes a few of these large textures to soak up multiple gigabytes of RAM and eventually crash your game.
I don't want to put hard limits on what kind of assets modders can use, but I can at least make it so that the game automatically resizes these textures if they go over the 2k standard.
You can choose to turn this setting off if you want, but by default any textures that are over 2048 x 2048 will be re-sized when the mod is loaded (this only applies to mods downloaded off the workshop, it will not affect any textures you have created yourself!).

You can find this setting in the new menu "Pause menu -> Loading -> compress large mod textures"



When a texture is automatically converted, the file will be overwritten so that the conversion process doesn't need to happen every time.
A copy of the original file will be made just in case called "(Original) ... filename"

[h2]Texture resizing for thumbnails[/h2]
A similar thing has been going with some modders manually increasing the resolution of their thumbnails by replacing the in-game captured thumbnails with their own 1080p ones.

For comparison, the normal resolution for thumbnails uses up only about 1.2 MB of RAM, meanwhile a resized 1080p thumbnail uses up about 15 MB of RAM.

These resized thumbnails were actually responsible for a lot of crashes when people were scrolling through their mod lists, since the large thumbnails were soaking up so much RAM it was crashing the game!

So the game now automatically resizes any thumbnails that go beyond the default size.
Since thumbnails are only shown on a tiny icon, the change is resolution is not noticeable at all, but saves a massive amount of RAM usage.

There is also now a much smarter system for unloading thumbnails from memory when they are no longer needed.

Thumbnails also now load asynchronously!
So instead of freezing the game until the whole drawer of thumbnails is loaded, they will load in one-by-one:



[h2]Mesh optimization for mods[/h2]
Another common performance issue for mods is when the supplied model is split into lots of sub-meshes which results in way more objects being loaded into the game than needed.

For example, some rare mods would load in 50+ individual models for each "piece" of the train. This is simply due to the formatting used when exporting the model (using lots of individual objects instead of one single mesh).

The game now automatically combines any meshes loaded for mods into a single mesh, which avoids this issue entirely.

Though on a similar note, many people are noticing an annoying bug where textures on modded meshes are not appearing correctly like this:



This is caused by a frustrating issue inside the model importer that the game uses for mods, it occurs when a model has all of its UV data identical (all UV map points are applied to the exact same point on the texture). When a mesh has identical UV data like this, the model importer wrongly treats it as having no UV data at all, which is what causes the glitch.

The way to solve this (as a modder) is to shift at least one part of the UV map slightly, just enough that everything isn't all mapped to the same identical point. This will solve the issue:



In the future though I hope to upgrade this model importer, which will potentially fix the issue, but for now sadly the only solution is to modify the UV map to avoid this situation.

[h2]Other fixes[/h2]
These optimization updates always end up resulting in a massive list of changes, since it's a good opportunity to fix bugs and make changes which are on the to-do list.
So this update also includes:
  • Files in the custom images folder are no longer case-sensitive (e.g. .png and .PNG are treated as the same and will both load correctly).
  • Fixed bug where the " character could be added into livery names using the copy-paste feature, which would cause issues with save data further down the line.
  • Fixed issues with creating legacy liveries out of QuickMods.
  • Fixed issue where some props were not being batched when they should have (which included lots of the new roadside props). Performance should improve for maps that used a lot of these props, like the "Slice of Wellington" map.
  • There is now an in-game warning if the player moves too far from the 3D world center of the map, since this will eventually cause graphical and visual glitches. These visual glitches are unavoidable for 3D games and it is a common issue, since floating point numbers eventually start to break at very large distances.
  • A similar warning is shown when the room bounds are extended too far. The room bounds now have a cap on how far the objects will scale, but you can increase the number higher anyway if you really want to, you just wont have any walls/floor beyond a certain distance.
  • Fixed strange shading on the V8 locomotive model.
  • Removed the "texture quality" setting from the game, since it didn't really have any effect, and also caused a lot of visual issues when used.
  • Fixed various minor issues with the golden trains.
  • Removed the "legacy paints" and "weka pass misc buildings" drawers from the "misc" category, since they dont have any purpose any more (the weka pass buildings are all re-located to the normal building drawers).
  • Fixed the keyboard headlight bindings for some trains (like the big boy and easter egg circuit loco) as they were not working correctly before.
  • Fixed missing mesh data for one of the lamp post props.
  • There is a strange lighting effect which happens if the sun is directly overhead (mid day sun and mid season) so the game now automatically bumps the season a small difference if the sun is directly overhead to avoid this issue.
  • Track scaling with the transform edit tool is now turned off by default, it can be turned on in the "Pause menu -> custom track" menu. This has been disabled since track scaling is only for visual purposes and is not officially supported. Snapping and train size will not change when you scale track.
  • The train mods drawer now refreshes its view correctly when viewing a group if you click the "refresh mods" button.
  • Fixed the "loading liveries" map loading step, it was not working as intended before. It now correctly preloads livery textures for any liveries used in the save file.
  • There are now addition error checking steps when saving a map, to help avoid saves failing for unexpected reasons. There is also an in-game popup which will tell you the save has failed, and an error message.
  • There is now an in-game warning if a file is read-only when trying to overwrite it (e.g. a save file or modding asset). You will see a message pop up and then a few seconds later the folder containing the read-only file will automatically open.


And that's everything for this update!
While these optimization updates aren't as exciting or interesting as a new feature update or new content, they are really important for the long-term stability of the game, and definitiely improve the quality of life for everyone playing.

I am always thinking about the future of this game, and features like dynamic freight loads, custom road numbers, more advanced train options, custom addons, more optimization, etc, all relied on this train system upgrade, so this new system really opened up the doors for lots of exciting things to come!