First, thanks for this newsletter, and I'm glad to read the news about buses on ETS2. It was obvious you were going to use the same map (because all the bus stops), but honestly I didn't guess you was going to do it on the same game My only comment / concern here is the part about the Workshop.
This Steam feature is intended mainly for those people that know nothing about moding, and don't need to, as the items you subscribe to should work as some kind of "addon" (free DLC?). Only thing to worry about mostly is the infamous "load order" to make one mod work, or some mod overwritte certain feature from another mod.
For this to work properly, you should change a LOT
of things on how mods work in your game.
First, almost everything about modding should be done from an editor, saving the changes in some kind of binary format that gets loaded after main game loads. And I'm not talking about doing it easier for the modder, I'm talking about making it so mods are compatible with each other.
Currently, with def files, you can't install two mods that use the same file (unless you somehow merge them manually, opening the archive, editing files, etc.). You did a good step forward when implementing "filename.modname.sii" system, to allow ADDING new stuff (configuration for a new trailer, cargo, etc.), but still this is not enough
Map sectors were also a big step forward when allowing multiple map mods to work together. But... still not enough.
On both cases there are still issues with mods using the same thing on the game.To the point
Mod files should NOT include a duplicate of the game directory structure. They should be a binary, compiled from the editor, containing ONLY changes made to the system.Example
I want to edit some engine property from all trucks. I open the editor, which also loads all objects, their variables, arrays, etc. I select a truck, open it's engine properties, and change certain values. I SAVE my mod, and the system simply creates a compiled binary with the changes to those variables.
When the game loads, it loads all default values, and then applies this things I edited. If someone happens to edit another variable of that SAME truck and I have this mod, they would be loaded normaly from THEIR binary file, meaning I could have a mod that changes gear ratio, another one that improves the brakes, and another one called "realistic cab weight".Map example
The map editor should NOT save the default map with all the stuff. Again, it should only track what I really change. Lets say I edit all the cities, adding small bumps in front of each pedestrian pass. I call this mod "Bumps for pedestrian crossings" (which I want to add to the Workshop). As I add "bump" item in the game, and place it, the editor should just store something like: "Add Item 0901-f210, X-Y-Z". After I add all these items to the world and save my map, the binary file here should only contain CHANGES made, NOT the map
So we could have even 3 different mods that changed the same city. One added bumps on pedestrian passes, another one adds more trees to an avenue, and another one adds obstacles to a company to make parking harder.
If someone wants to add a new street lamp 3D model to the game, the editor should allow to create a new object, name it, give it an unique ID, select the 3D model (already created by him or someone else), place it on the map, and when saving the mod a binary file gets created with the compilation of the new model, as well as the changes on the map adding the item on coordinates XYZ.
One BIG benefit from this is that, even if you (SCS) update the map with changes on a certain area, mods would still work, and people would also have latest map (it would get loaded normally, and then changes from mods would get applied).
So what happens when two mods change the same variable, or the same object on the map?? Well, here's where mod load order comes.
I of course understand this is a lot of work and would mean big changes both for the development team and the comunity, but I think is something needed, and will be more in the future as you release more games on Steam, start using Workshop with thousands people installing mods, etc...