Friday Facts #272 - Mod GUI
Re: Friday Facts #272 - Mod GUI
Couldn't a mod pack just be an "empty" mod with dependencies?
The feature to easily download and activate all the dependencies for a mod would anyhow be welcome.
The feature to easily download and activate all the dependencies for a mod would anyhow be welcome.
Re: Friday Facts #272 - Mod GUI
In the bottom mockup it's not entirely clear how to start the update. I guess you do it with the "update selected" button but the color throws me off. I think it would be easier to see if the button was green like other buttons that confirm an action.
Re: Friday Facts #272 - Mod GUI
mod packs are a current mod sub system because alot of players dont want to have to sync 50+ mods to join a server, and a server can simply run one "mod" that is actually a mod pack of a bunch of mods that all work together. once the game allows for auto syncing of mods when attempting to join a server, mod packs will no longer be as sought after, but pill probably still be used to insure that all the mods play nice with each other.
Re: Friday Facts #272 - Mod GUI
Not today game - got a lot of steel to shape!featherwinglove wrote: βSun Dec 09, 2018 1:55 amWhy thank you. Oh, wait, that isn't about you wanting to go out with me
Re: Friday Facts #272 - Mod GUI
Personally, no matter what you do to the mod GUI, i will always do it manually. It's just one of those things i do.
Not trying to poop on your parade, i just want to voice it out there that you can't please everyone as not everyone even wants to manage mods in game in the first place.
What i'd really like (despite there being built in dependencies etc) is a mod load order option. Why? Because some mods are big and some are small.
I want to load the big mods last so the small ones can do their things without having to work over HUGE tables after the fact. It's a loading performance thing.
For example, i an using wide chests, it adds A LOT of different entities in different configurations. As soon as that mod has loaded, every mod after it takes FOREVER to load.
So if i could make wide chests to load last (nothing depends on it AFAIK) then GREAT. The game would load orders of magnitudes faster.
To be fair, i don't even know in what order mods load but it's definitely not alphabetically as WideChests would be pretty far down the list in that case. It's more in the middle.
----------------
On a side note to this, mods that add a lot of sprites are painful enough. I really wish we could forcefully update sprite graphics and prototype specifications while the game is running. This from a modders perspective.
I would be fine with requiring a "-developer" launch parameter that sticks a "DEVELOPER MODE ACTIVE" in bold red text at the top to discourage users from using this in a live game for "reasons". As long as us modders could, at our own peril, alter graphics in real time without having to reload the entire game.
----------------
Finally, someone mentioned mod packs. I would like that too but for a personal reason. Instead of releasing one MEGA mod, i want to release a bunch of small ones. But i don't want to inconvenience users by downloading all small ones one at a time. Or for that matter, adding a bunch of small zips in the mods directory.
So if i may, can i propose a "mod-pack" line in info.json that would basically reference ALL mods that are to me added. Those mods would be added to the path where the "mod pack" resides so for instance, all of bob's mods goes in "/mods/bobs/*" and all of angels mods goes in "/mods/angels/*" and then perhaps there's a bunch of tweaks and fixes mods that could go in a "/mods/tweaks/*" folder.
And when you download a mod pack, you get to choose what mods in that pack you want to download. Unless there's dependencies of course. Dependencies should be handled automatically.
Then maybe i would start using the mod manager for the added functionality.
Only time i used the mod manager was when i had been away from factorio for a while and decided to get all the up to date mods in my mods directory. That's what i used the mod manager for, mass updating of the mods i've manually downloaded and added to my mods directory.
Not trying to poop on your parade, i just want to voice it out there that you can't please everyone as not everyone even wants to manage mods in game in the first place.
What i'd really like (despite there being built in dependencies etc) is a mod load order option. Why? Because some mods are big and some are small.
I want to load the big mods last so the small ones can do their things without having to work over HUGE tables after the fact. It's a loading performance thing.
For example, i an using wide chests, it adds A LOT of different entities in different configurations. As soon as that mod has loaded, every mod after it takes FOREVER to load.
So if i could make wide chests to load last (nothing depends on it AFAIK) then GREAT. The game would load orders of magnitudes faster.
To be fair, i don't even know in what order mods load but it's definitely not alphabetically as WideChests would be pretty far down the list in that case. It's more in the middle.
----------------
On a side note to this, mods that add a lot of sprites are painful enough. I really wish we could forcefully update sprite graphics and prototype specifications while the game is running. This from a modders perspective.
I would be fine with requiring a "-developer" launch parameter that sticks a "DEVELOPER MODE ACTIVE" in bold red text at the top to discourage users from using this in a live game for "reasons". As long as us modders could, at our own peril, alter graphics in real time without having to reload the entire game.
----------------
Finally, someone mentioned mod packs. I would like that too but for a personal reason. Instead of releasing one MEGA mod, i want to release a bunch of small ones. But i don't want to inconvenience users by downloading all small ones one at a time. Or for that matter, adding a bunch of small zips in the mods directory.
So if i may, can i propose a "mod-pack" line in info.json that would basically reference ALL mods that are to me added. Those mods would be added to the path where the "mod pack" resides so for instance, all of bob's mods goes in "/mods/bobs/*" and all of angels mods goes in "/mods/angels/*" and then perhaps there's a bunch of tweaks and fixes mods that could go in a "/mods/tweaks/*" folder.
And when you download a mod pack, you get to choose what mods in that pack you want to download. Unless there's dependencies of course. Dependencies should be handled automatically.
Then maybe i would start using the mod manager for the added functionality.
Only time i used the mod manager was when i had been away from factorio for a while and decided to get all the up to date mods in my mods directory. That's what i used the mod manager for, mass updating of the mods i've manually downloaded and added to my mods directory.
Re: Friday Facts #272 - Mod GUI
You get the idea ; Apologies for the low quality.
Re: Friday Facts #272 - Mod GUI
Mod order is defined by dependencies and that is why "optional dependencies" is important, to define the load order.
There are different parts of the mods that loads before and after the mods they are dependent on. (data.lua/data-updates.lua and data-final-fixes.lua loads in different orders). And the load order is important for the mods to function.
So you cant change the mod order for mod's.
1. Different parts of mods loads in different order.
2. The order of how the mods loads is important for them to work.
Re: Friday Facts #272 - Mod GUI
@Lubricus: Cadde talks about mods without necessary dependencies. His example did show that.
Greetings, Nova.
Factorio is one of the greatest games I ever played, with one of the best developers I ever heard of.
Factorio is one of the greatest games I ever played, with one of the best developers I ever heard of.
-
- Fast Inserter
- Posts: 120
- Joined: Sun May 14, 2017 12:01 pm
- Contact:
Re: Friday Facts #272 - Mod GUI
I would be careful about entering that domain. Multiplayer would require you to load not just the same mods, but in the same order. Providing such setup freedom could make multiplayer messy.
Another issue in this regard is that Factorio is actually working well. If we look at Rimworld, that game too can allow the user to load a bunch of mods. This provides a nearly unlimited amount of mod combinations. This means once in a while somebody discovers that loading say 5 mods in a certain order will cause a conflict, but loading those 5 mods in any other order will not cause a conflict. Even worse if that happens, most people will not realize what the problem is and the game will just feel broken.
Having a forced load order is good for testing. It leaves less room for people to end up in untested combos. Ensuring a certain list of mods is always loaded in the same order will make the game feel more stable.
Your idea isn't bad and the concept in itself is fine. It just needs the best of both approaches as in gaining control of the order without losing the benefits of a fixed order for a certain list of mods.
Proposal
Add a load order setting. Make it default to 0. Sort the list of mods by this setting meaning low (negative) numbers are loaded first and high numbers are loaded last. Mods with the same number will be sorted by the current code. This number will only be a request, not an order. This means dependency settings will have higher priority.
The result is that you can set your mod to say -2 if you want to load it first for performance reasons like you mentioned. If you want it to load first for other (possibly more important) reasons, set it to -100 or something. Likewise you can load the mod last. Set it to +5000 and then mod say all belts in memory. That way you can mod belts from other mods without explicitly mentioning those mods.
Re: Friday Facts #272 - Mod GUI
Been hearing about this new GUI for more than a year now and it has barely reached concept art yet.. I'm trying to keep my hopes up anyway for a sudden implementation within one month as promised.
Re: Friday Facts #272 - Mod GUI
Please read my post again.
There are mods that doesn't have dependencies that i really really want to load last of all.
Ah, multiplayer and deterministic simulation...Nightinggale wrote: βMon Dec 10, 2018 1:43 pmI would be careful about entering that domain. Multiplayer would require you to load not just the same mods, but in the same order. Providing such setup freedom could make multiplayer messy.
My suggestion for that would be that when you connect to a server and it finds a different load order than yours, it sends you it's load order and asks you to restart the game. Your previous load order is of course backed up as "pre join <somestupidserver>.bak"
I am a power user, give me control damnit!Nightinggale wrote: βMon Dec 10, 2018 1:43 pmAnother issue in this regard is that Factorio is actually working well. If we look at Rimworld, that game too can allow the user to load a bunch of mods. This provides a nearly unlimited amount of mod combinations. This means once in a while somebody discovers that loading say 5 mods in a certain order will cause a conflict, but loading those 5 mods in any other order will not cause a conflict. Even worse if that happens, most people will not realize what the problem is and the game will just feel broken.
Code: Select all
sudo mod-load-order -F
Besides, conflicts happen regardless of load order. Certain mods simply aren't compatible with each other without the authors specifically working around the conflicts.
Given, there's less combinations as you say, but allow power users to min-max their own game?
Stability is really down to what the author of a certain mod intended. If he's all about compatibility then he will ensure there's no chance of conflict with his own content.Nightinggale wrote: βMon Dec 10, 2018 1:43 pmHaving a forced load order is good for testing. It leaves less room for people to end up in untested combos. Ensuring a certain list of mods is always loaded in the same order will make the game feel more stable.
Instead of naming an item "copper-plate" he would name it "myname-copper-plate"... And then "ore-dict" that.
I like your proposal but that doesn't address any of the issues you mentioned, if i don't like the default load order of a certain mod i am going to alter it. As such, anyone i play multiplayer with would have to alter his as well.
And when i play any moddable multiplayer game, i am usually the one that decides what mods goes in the game. Because i am the power user whereas my friends are plebs. They really don't care.
-
- Manual Inserter
- Posts: 1
- Joined: Mon Dec 10, 2018 5:22 pm
- Contact:
Re: Friday Facts #272 - Mod GUI
As a fellow programmer, I'm curious about your experience with retrofitting a bunch of non-testable code with tests after adding the invariants for inventory items. Did you already have pretty good code coverage on that area?
Assert all the things!
Assert all the things!
Re: Friday Facts #272 - Mod GUI
I see the screen indicating dependencies (for SpaceX, in this case), but it's not clear if the game will prompt you to also download the dependencies ("Would you like to install dependencies x,y,z now?")
Regardless of the potential use for "mod packs", this would still be very convenient when setting up a new set of mods for new save.
Have I missed this being discussed elsewhere? Aside from the handful of mentions in the thread already, which doesn't really paint a clear picture of if it's been officially decided or not.
Regardless of the potential use for "mod packs", this would still be very convenient when setting up a new set of mods for new save.
Have I missed this being discussed elsewhere? Aside from the handful of mentions in the thread already, which doesn't really paint a clear picture of if it's been officially decided or not.
- bobingabout
- Smart Inserter
- Posts: 7352
- Joined: Fri May 09, 2014 1:01 pm
- Contact:
Re: Friday Facts #272 - Mod GUI
Re: Friday Facts #272 - Mod GUI
s/would be very nice/is totally essential for QOL/bobingabout wrote: βThu Dec 13, 2018 8:46 amdefinitely.
Re: Friday Facts #272 - Mod GUI
wat? at no point did I talk about instant loading of mods. I'm talking about keeping sets of mods separated so I don't have to swap out entire folders in windows if I want to play a self-contained modpack. just clicking a button, have the game reload and ready to go with whatever mod-set I'm looking to play seems far more convenient. especially if I don't have to update packs manually.Nightinggale wrote: βSun Dec 09, 2018 3:24 amI don't think loading mods without restarting will ever happen, or should I say I wouldn't want the modding restrictions it could result in. The thing is reading mods isn't incremental. Mods are loaded after dependencies, meaning you can't just reload an updated mod after having loading a mod depending on it. Another issue is mods can actually run lua code on load, which means there can be mods, which very heavily depends on the current way of mod loading (only at startup). It's unlikely that reloading in the main menu will be a time saver anyway because if you have to first discard the mods in memory and then run the entire load routine, you might as well restart the game. It would likely take around the same time.vaendryl wrote: βSat Dec 08, 2018 11:52 pmit'd be useful to be able to have a tab or something dedicated to a pack where the game doesn't automatically update the individual mods (as this might break the pack overall) but perhaps keep the ability to have the whole thing updated by the curator while keeping these files separate from the regular collection of individual mods.
However only having to restart once would be awesome, not once for updating and once for installing new mods, once for toggling an old mod off etc... with slow start time, this quickly becomes annoying.
Re: Friday Facts #272 - Mod GUI
Which is what sync save with mods actually help with. You donβt keep separate folders, all mods are in same folder. Sync enables/disables mods and downloads mods that are missing, it does not delete anything.vaendryl wrote: βSun Dec 16, 2018 6:41 amwat? at no point did I talk about instant loading of mods. I'm talking about keeping sets of mods separated so I don't have to swap out entire folders in windows if I want to play a self-contained modpack. just clicking a button, have the game reload and ready to go with whatever mod-set I'm looking to play seems far more convenient. especially if I don't have to update packs manually.Nightinggale wrote: βSun Dec 09, 2018 3:24 amI don't think loading mods without restarting will ever happen, or should I say I wouldn't want the modding restrictions it could result in. The thing is reading mods isn't incremental. Mods are loaded after dependencies, meaning you can't just reload an updated mod after having loading a mod depending on it. Another issue is mods can actually run lua code on load, which means there can be mods, which very heavily depends on the current way of mod loading (only at startup). It's unlikely that reloading in the main menu will be a time saver anyway because if you have to first discard the mods in memory and then run the entire load routine, you might as well restart the game. It would likely take around the same time.vaendryl wrote: βSat Dec 08, 2018 11:52 pmit'd be useful to be able to have a tab or something dedicated to a pack where the game doesn't automatically update the individual mods (as this might break the pack overall) but perhaps keep the ability to have the whole thing updated by the curator while keeping these files separate from the regular collection of individual mods.
However only having to restart once would be awesome, not once for updating and once for installing new mods, once for toggling an old mod off etc... with slow start time, this quickly becomes annoying.
Only issue you might have, if modpack you use requires specific outdated version of mod, game doesnβt allow 2 version of same mod and loadshightest version if multiple are present in mod folder