Friday Facts #272 - Mod GUI

Regular reports on Factorio development.
User avatar
Mike5000
Fast Inserter
Fast Inserter
Posts: 133
Joined: Sun Mar 25, 2018 3:57 am
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Mike5000 »

Someone would add in new logic or just forget and not send the changed event.
If I needed such guarantees I'd create a minimal public interface which maintained invariants and sent events, and not allow random code to mess with the private implementation details.

In languages which support such mechanisms, clean hard internal interfaces are a good way to modularize code so that it is still maintainable when one returns to it years later.
Avezo
Filter Inserter
Filter Inserter
Posts: 454
Joined: Fri Apr 01, 2016 3:53 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Avezo »

One thing I'd like from new mod screen is separate button 'reload the game'. It's very annoying changing mod settings and having game unexpectedly reload when pressing 'back' or something. Especially on my crappy laptop where reloading takes a long while lol...
mrvn
Smart Inserter
Smart Inserter
Posts: 5895
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Friday Facts #272 - Mod GUI

Post by mrvn »

Klonan wrote: ↑Fri Dec 07, 2018 1:23 pm
tinocasino wrote: ↑Fri Dec 07, 2018 12:55 pm How about download automatically the required mods from a gameserver to join easy and dont search all the mods manually?
is it planned or already implemented in 0.17?


sorry 4 this english, german is still my motherlanguage :o
Yes, it is done,
As long as that mod is on the mod portal, you will automatically sync with the server
That's bad. The mods should be fetched from the server otherwise any locally patched mods will get checksum mismatches. Custom mods will not be found at all and so on and so on. Also the local server in a lan is much faster.
nosports
Filter Inserter
Filter Inserter
Posts: 274
Joined: Fri Jan 19, 2018 5:44 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by nosports »

I hope that you will tie the mod also to the saves.....

I ply currently with some mods, but when i want to do the Lazy-Bastard-mod i need to start a clean game without any mods (which is just fine)
But when i want to switch back to my 'usual' save-game i need to remember all the used mod and toggle them back again.

That could be better solved when loading the save to let the player choose to switch on all the used mods and then automatically toggle them.
StrangePan
Factorio Staff
Factorio Staff
Posts: 131
Joined: Fri Dec 07, 2018 3:41 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by StrangePan »

Ekevoo wrote: ↑Fri Dec 07, 2018 1:26 pm The invariants discussion feels truncated. What case it did vary?
I agree, I’m dying to learn how invariants were implemented successfully!
IronCartographer
Filter Inserter
Filter Inserter
Posts: 464
Joined: Tue Jun 28, 2016 2:07 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by IronCartographer »

nosports wrote: ↑Fri Dec 07, 2018 3:32 pm I hope that you will tie the mod also to the saves.....

I ply currently with some mods, but when i want to do the Lazy-Bastard-mod i need to start a clean game without any mods (which is just fine)
But when i want to switch back to my 'usual' save-game i need to remember all the used mod and toggle them back again.

That could be better solved when loading the save to let the player choose to switch on all the used mods and then automatically toggle them.
There is already a "Sync mods with save" button when loading a game in 0.16 actually. Still requires a reload of the game, but it's fairly few clicks.
fendy3002
Burner Inserter
Burner Inserter
Posts: 18
Joined: Fri Jul 13, 2018 3:19 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by fendy3002 »

glex wrote: ↑Fri Dec 07, 2018 1:58 pm
fishycat wrote: ↑Fri Dec 07, 2018 1:28 pm Small typo...

fff-272-mod-gui-update.png

I like the new gui a lot, can't wait until january. Also the update only selected is a great feature.
Hopefully some pics from GDS next fff?
Solved. The images uploaded weren't the last version by mistake (humans). Now it's up to date.
By how much your team blame human for their mistakes, I'm starting to wonder whether you're developing ai to replace human work right now. Maybe it'll available after 1.0?
Zaflis
Filter Inserter
Filter Inserter
Posts: 514
Joined: Sun Apr 24, 2016 12:51 am
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Zaflis »

Counting on my app based factorio launcher i have 17 different modpacks, each with unique set of mods for varying versions of Factorio. I know i could trim that down to just 4 maybe, but anyway main Factorio doesn't have a quick way to swap a large set of mods with a single click of a button. One of the "modpacks" is of course a set which doesn't have any mods at all, the "vanilla pack".
SIGILL
Manual Inserter
Manual Inserter
Posts: 2
Joined: Wed Jun 20, 2018 1:42 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by SIGILL »

The issue kept recurring and was incredibly hard to test for because you can't write a test for some logic which doesn't exist yet: you can't test something is correct until you've written it and if you forgot to sent the changed event you can forget to write a test that checks you didn't forget it.
Unless I misunderstand your point, Test Driven Development (TDD) seems to disagree. It says that first you should write the test, THAN write the logic. That way the tests aren't only a test, but also a way of specifying the code's intended behaviour.
User avatar
Cooldude2606
Fast Inserter
Fast Inserter
Posts: 103
Joined: Sat Sep 16, 2017 9:04 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Cooldude2606 »

In the refrence there is a note about a developer-only β€œInstall mods list”; I would see many uses for this for players as we would be able to share mod packs, in the form of the mods list, and have all the mods be installed automatically. If you are going to have the code writen then I see no reason why giving us access to it would be a bad idea.
It is not mentioned weather you will be able to switch between the install and update tabs while there are downloads in progress. You have said that the confirm button will be disabled, and so can not exit the gui, but will we still be able to switch to the other tabs and for example start updating mods and then look for some new mods while the others update.
Apart from the two above points this new gui looks great and is a huge improvement on what we have currently, looking forward to it.
--- Developer for Explosive Gaming and Clusterio. Please contact me via our Discord. ---
jean_doe
Burner Inserter
Burner Inserter
Posts: 7
Joined: Mon Jun 27, 2016 6:35 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by jean_doe »

Will there be a way to have multiple versions of a mod?
When playing on two different servers they often use a different version of the same mod or update at different times up to weeks apart.
User avatar
Lubricus
Filter Inserter
Filter Inserter
Posts: 298
Joined: Sun Jun 04, 2017 12:13 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Lubricus »

Klonan wrote: ↑Fri Dec 07, 2018 1:23 pm
tinocasino wrote: ↑Fri Dec 07, 2018 12:55 pm How about download automatically the required mods from a gameserver to join easy and dont search all the mods manually?
is it planned or already implemented in 0.17?


sorry 4 this english, german is still my motherlanguage :o
Yes, it is done,
As long as that mod is on the mod portal, you will automatically sync with the server
can't wait :-)
pleegwat
Filter Inserter
Filter Inserter
Posts: 278
Joined: Fri May 19, 2017 7:31 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by pleegwat »

mrvn wrote: ↑Fri Dec 07, 2018 3:28 pm
Klonan wrote: ↑Fri Dec 07, 2018 1:23 pm
tinocasino wrote: ↑Fri Dec 07, 2018 12:55 pm How about download automatically the required mods from a gameserver to join easy and dont search all the mods manually?
is it planned or already implemented in 0.17?


sorry 4 this english, german is still my motherlanguage :o
Yes, it is done,
As long as that mod is on the mod portal, you will automatically sync with the server
That's bad. The mods should be fetched from the server otherwise any locally patched mods will get checksum mismatches. Custom mods will not be found at all and so on and so on. Also the local server in a lan is much faster.
It would be even better if it could do both - fetch from the mod portal if the mod is available on the portal (and checksum matches), fetch from the server otherwise.
Nightinggale
Fast Inserter
Fast Inserter
Posts: 120
Joined: Sun May 14, 2017 12:01 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Nightinggale »

mrvn wrote: ↑Fri Dec 07, 2018 3:28 pmThat's bad. The mods should be fetched from the server otherwise any locally patched mods will get checksum mismatches. Custom mods will not be found at all and so on and so on. Also the local server in a lan is much faster.
I fully agree with you, but I also see some potential issues with not using the portal.

1
Say I use version 1.2 of a mod from the portal. I download 1.3 from some server. The portal later updates to 1.3, but the two versions of 1.3 aren't the same. We need at least some tool to keep track of what is from the mod portal and what isn't in order to prevent this problem.

2
If somebody can make a mod and the only way to get it is to join some server, then I fear fragmentation of the modding community. One of the good things about the mod portal is that it keeps all mods in one location and grant everybody access to all mods. If we look at say Rimworld, some mods (not all) are in steam workshop, but not all versions of RW are steam versions, locking some players out. Some are on GitHub, some are hosted elsewhere. Some mods are hosted in multiple locations (often steam and GitHub). There is no single location with a complete or semi complete list of released mods. Keeping mods up to date can be a serious issue as some, but not all can be automatically checked.

Factorio is awesome in the sense that mod hunting isn't much of an issue. Just look at the mod portal. Please don't do something, which can make modders not update or use the mod portal.
Avezo wrote: ↑Fri Dec 07, 2018 2:57 pm One thing I'd like from new mod screen is separate button 'reload the game'. It's very annoying changing mod settings and having game unexpectedly reload when pressing 'back' or something. Especially on my crappy laptop where reloading takes a long while lol...
Loading mods is slow on all computers if you add enough mods. Sure the threshold of "waiting long enough to be annoying" depends on the computer, but it's present for all computers. I don't mind adding mods as long as I keep getting 60 UPS and it turns out that approach can give some rather long loading times.

And yes it would be really nice to be able to switch between updating mods, downloading mods, enable/disable mods etc without being forced to restart.
Sander_Bouwhuis
Filter Inserter
Filter Inserter
Posts: 292
Joined: Mon Dec 07, 2015 10:45 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Sander_Bouwhuis »

nosports wrote: ↑Fri Dec 07, 2018 3:32 pm I hope that you will tie the mod also to the saves.....

I ply currently with some mods, but when i want to do the Lazy-Bastard-mod i need to start a clean game without any mods (which is just fine)
But when i want to switch back to my 'usual' save-game i need to remember all the used mod and toggle them back again.

That could be better solved when loading the save to let the player choose to switch on all the used mods and then automatically toggle them.
100% THIS!

Using different mods for different saves is HELL. Why can't we have something like this:
You have a mods directory, and every time you create a new world the mods are taken into the save. If ever any mods get updated or added, you can ask upon loading a save game which mods to add and/or update.
That way, you can have any combination of mods with as many save games as you want.

Also, the SERVER should push the mods even if the version / checksum is different. You are playing with the SERVER's mods, not your own mods. When you switch to another server you can access that other server's mods. When you switch to a local save game you get access to your own mods.
User avatar
mexmer
Filter Inserter
Filter Inserter
Posts: 870
Joined: Wed Aug 03, 2016 2:00 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by mexmer »

Sander_Bouwhuis wrote: ↑Fri Dec 07, 2018 7:23 pm
nosports wrote: ↑Fri Dec 07, 2018 3:32 pm I hope that you will tie the mod also to the saves.....

I ply currently with some mods, but when i want to do the Lazy-Bastard-mod i need to start a clean game without any mods (which is just fine)
But when i want to switch back to my 'usual' save-game i need to remember all the used mod and toggle them back again.

That could be better solved when loading the save to let the player choose to switch on all the used mods and then automatically toggle them.
100% THIS!

Using different mods for different saves is HELL. Why can't we have something like this:
You have a mods directory, and every time you create a new world the mods are taken into the save. If ever any mods get updated or added, you can ask upon loading a save game which mods to add and/or update.
That way, you can have any combination of mods with as many save games as you want.

Also, the SERVER should push the mods even if the version / checksum is different. You are playing with the SERVER's mods, not your own mods. When you switch to another server you can access that other server's mods. When you switch to a local save game you get access to your own mods.
for local game, this is already implemented, it's called sync mod with saves.

when you load game, there is button for exactly this purpose.
Jap2.0
Smart Inserter
Smart Inserter
Posts: 2379
Joined: Tue Jun 20, 2017 12:02 am
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Jap2.0 »

fendy3002 wrote: ↑Fri Dec 07, 2018 3:54 pm
glex wrote: ↑Fri Dec 07, 2018 1:58 pm
fishycat wrote: ↑Fri Dec 07, 2018 1:28 pm Small typo...

fff-272-mod-gui-update.png

I like the new gui a lot, can't wait until january. Also the update only selected is a great feature.
Hopefully some pics from GDS next fff?
Solved. The images uploaded weren't the last version by mistake (humans). Now it's up to date.
By how much your team blame human for their mistakes, I'm starting to wonder whether you're developing ai to replace human work right now. Maybe it'll available after 1.0?
Nah, I think they'll just use invariants in the FFFs.
There are 10 types of people: those who get this joke and those who don't.
User avatar
Wakaba-chan
Long Handed Inserter
Long Handed Inserter
Posts: 96
Joined: Mon May 30, 2016 6:39 am
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Wakaba-chan »

If mods would have bigger text field for description - it would be very cool! It is too small at the moment.
On_fire
Burner Inserter
Burner Inserter
Posts: 6
Joined: Wed Mar 30, 2016 4:34 am
Contact:

Re: Friday Facts #272 - Mod GUI

Post by On_fire »

I definitely agree with not having interactive features like comments in the (in game) mod management, though I would like to suggest that there be a button to go to the mod portal page for that so you don't have to look it up manually if you do want to read/post a comment.

More importantly though, I strongly disagree with hiding incompatible mods. This is something that bothers me in every game that does it. Consider the following scenario:

I hear about this awesome mod that I want to try, so I try to find it in the mod manager and can't find it. Why?
Is it because I remembered the name wrong?
Is it because I misspelled the name in a search?
Is it because the mod isn't published publicly?
Or is it because the mod is simply incompatible?
This last case is BY FAR the most likely and yet also, the most annoying case, as the user was actually correct. Once the user has determined that it is most likely incompatible, then it also brings up 3 more questions without an easy way to answer them:
Is the mod out of date?
Is my game out of date?
What version of the game should I be running if I consider playing this mod more important then keeping my current game version?

I propose that incompatible mods should be greyed out and sorted to the bottom of the list, and that their description should explain if it is too old or too new, and what the compatible versions are. This way the user can understand why they can't install a mod, and has the info they need should they want to remedy the issue.
Last edited by On_fire on Fri Dec 07, 2018 10:03 pm, edited 2 times in total.
Zaka
Inserter
Inserter
Posts: 36
Joined: Mon Jun 27, 2016 5:23 pm
Contact:

Re: Friday Facts #272 - Mod GUI

Post by Zaka »

On_fire wrote: ↑Fri Dec 07, 2018 9:22 pm
I propose that incompatible mods should be greyed out and sorted to the bottom of the list, and that their description should explain if it is too old or too new, and what the compatible versions are. This way the user can understand why they can't install a mod, and has the info they need should they want to remedy the issue.
This ^^
Post Reply

Return to β€œNews”