Friday Facts #391 - 2023 recap

Regular reports on Factorio development.
User avatar
raiguard
Factorio Staff
Factorio Staff
Posts: 579
Joined: Wed Dec 13, 2017 8:29 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by raiguard »

Svip wrote: ↑Sat Dec 30, 2023 7:39 am As someone who maintains a large Go codebase, the lack of sum types isn't as big of a deal, once you've learnt to "program around them". Sum types are - at least in imperative languages - a relatively new feature. Honestly, I didn't find the lack of generics frustrating either, but now they are there. If Go adds sum types, it would also be a welcome addition. But it is getting harder to keep the Go 1 compatibility promise in such cases. Though their loop iteration backwards compatibility solution could bode well for potentially breaking changes in the future, so who knows. But I love that Go - as a language - is relatively small; it's possible to keep the entire grammar in your head.
Call me spoiled, but sum types are the best, especially when it comes to static analysis. I really miss Rust's tagged union enums with exhaustivity checking when working on my Go projects. Working around the lack of sum types is possible, yes, but it is not as safe nor as ergonomic as simply having them.

It's worth noting that I mostly end up wanting them when interfacing with code that relies on them, such as LSP. I'm writing a Lua language server in Go and the protocol is full of this-or-this-or-that, which is tedious to work with without tagged unions.

I completely agree in regards to Go's simplicity - it's one of the primary reasons I love the language so much.
Don't forget, you're here forever.
Svip
Fast Inserter
Fast Inserter
Posts: 102
Joined: Sun Apr 29, 2018 6:19 am
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Svip »

raiguard wrote: ↑Sat Dec 30, 2023 7:46 am Call me spoiled, but sum types are the best, especially when it comes to static analysis. I really miss Rust's tagged union enums with exhaustivity checking when working on my Go projects. Working around the lack of sum types is possible, yes, but it is not as safe nor as ergonomic as simply having them.

It's worth noting that I mostly end up wanting them when interfacing with code that relies on them, such as LSP. I'm writing a Lua language server in Go and the protocol is full of this-or-this-or-that, which is tedious to work with without tagged unions.

I completely agree in regards to Go's simplicity - it's one of the primary reasons I love the language so much.
Between generics and sum types, the latter was higher on my wish list (and remains there). A lack of generics is not a "safety hazard" as a lack of sum types is, just inconvenience. And indeed, when we do do enums in Go, we need to write a bit of boilerplate to ensure the variables didn't stray from its defined values.

Though, between Python and Go for an API server, I think - today at least - it's an easy choice.
Gemma
Inserter
Inserter
Posts: 30
Joined: Sat Aug 10, 2019 5:11 am
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Gemma »

I would like it if the magnifying glass weren't hiding away in the corner.
MBkufel
Manual Inserter
Manual Inserter
Posts: 3
Joined: Fri Dec 01, 2023 2:32 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by MBkufel »

I hope that a functionality for easy mass uninstalling will be implemented as well
darios77
Manual Inserter
Manual Inserter
Posts: 2
Joined: Mon Feb 24, 2014 8:54 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by darios77 »

continue2021 wrote: ↑Fri Dec 29, 2023 2:10 pm
Batmates wrote: ↑Fri Dec 29, 2023 1:46 pm Please add mod grouping to the mod explorer. For example, when I want to play Space Exploration, I have to browse through the huge list of mods which I have installed and one by one select the ones I use for my SE map. It would be nice and easy to have a SE group, to which I would put all the SE mods, K2 group and then group containing the two named K2SE so I can turn the mod lists all at once.
In the same way, I would also like to see the custom grouping feature added to the mod management interface
I think (hope? dream?) would be great if mods were SAVE based, not GAME based. So when I start new save - I select mods. And every time I load save, it loads mods connected to this save (of course with option to add/remove mods before loading).
Now is a chore - when I play with friend is one set of mods, when I play alone - different set. And I need to manually modify every time I want to switch. Sometimes I just don't want to click. And play something else :)
Amarula
Filter Inserter
Filter Inserter
Posts: 543
Joined: Fri Apr 27, 2018 1:29 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Amarula »

Great work making mod management easier! I love playing multiplayer with my grand-daughter, and she loves mods. Every time we play she is trying out lots of new mods. So when I join her game, I get prompted to sync mods - very convenient, and it automatically tries to connect me to the game once the mods are in sync. And then I wait for it to timeout 'unable to establish connection with server." Back to the multiplayer menu, select her game, and enter the password to connect.

Another convenient tweak would be to have the game remember that a password is needed, and go straight to enter the password again before attempting to reconnect to her game.
My own personal Factorio super-power - running out of power.
User avatar
Hares
Filter Inserter
Filter Inserter
Posts: 339
Joined: Sat Oct 22, 2022 8:05 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Hares »

darios77 wrote: ↑Sat Dec 30, 2023 11:29 am
continue2021 wrote: ↑Fri Dec 29, 2023 2:10 pm
Batmates wrote: ↑Fri Dec 29, 2023 1:46 pm Please add mod grouping to the mod explorer. For example, when I want to play Space Exploration, I have to browse through the huge list of mods which I have installed and one by one select the ones I use for my SE map. It would be nice and easy to have a SE group, to which I would put all the SE mods, K2 group and then group containing the two named K2SE so I can turn the mod lists all at once.
In the same way, I would also like to see the custom grouping feature added to the mod management interface
I think (hope? dream?) would be great if mods were SAVE based, not GAME based. So when I start new save - I select mods. And every time I load save, it loads mods connected to this save (of course with option to add/remove mods before loading).
Now is a chore - when I play with friend is one set of mods, when I play alone - different set. And I need to manually modify every time I want to switch. Sometimes I just don't want to click. And play something else :)
You can already do something like this -- there's a button "Sync mods with save"
MBkufel wrote: ↑Sat Dec 30, 2023 10:44 am I hope that a functionality for easy mass uninstalling will be implemented as well
Shift+Del or "rm -rvf"
Splitframe
Long Handed Inserter
Long Handed Inserter
Posts: 73
Joined: Thu Aug 28, 2014 4:44 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Splitframe »

FFF wrote: As always, send POST requests with your feedback to the usual places.

Code: Select all

POST /schedule HTTP/1.1
Host: factorio.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 23

filter=base;addons;news
User avatar
Dial-up
Inserter
Inserter
Posts: 28
Joined: Sun Nov 12, 2023 2:02 am
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Dial-up »

Hares wrote: ↑Fri Dec 29, 2023 2:38 pm
Dial-up wrote: ↑Fri Dec 29, 2023 1:28 pm
The solution was simple: In 2.0, I added a new Manage mods button that allows full access to the mod manager GUI, including all mod portal functionality. You can see it in the screenshot above.
can I ask the same thing but for mod settings?
This one is a bit trickier because mod settings rely on mods being fully loaded past the settings stage (because not only mods can define their settings, they can modify other mods' settings), and fast-reloading is not an option there.
> because not only mods can define their settings, they can modify other mods' settings
from my modding experience on the settings stage only the "structure" of the settings is determined, there are no values, but on the prototype stage the settings can only be read (I spent a couple of hours to understand this trying to reset my own mod settings), therefore if there is a mistake on the prototype stage or later, working with the settings is not a problem
stengineer
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun Dec 31, 2023 7:32 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by stengineer »

So any hope for mods on the switch version ??
dustyvilla
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sun Dec 03, 2023 6:10 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by dustyvilla »

stengineer wrote: ↑Sun Dec 31, 2023 7:35 pm So any hope for mods on the switch version ??
honestly, i wouldn't hold out much hope for proper mod support on the switch version

i don't know what the developer side of nintendo is like, but from what i've seen from the consumer side i find it doubtful that nintendo would allow the ability to run arbitrary community code on the switch (even with heavy sandboxing and auditing i don't think it'd be an easy task to convince nintendo that its limited enough in ability as to not be exploitable)

i think the only realistic way we could see mods on the switch is if wube took a collection of popular mods and published them as a semi-official 'community content' DLC, but even that i wouldn't hold too much hope for (as doing so would involve taking on some support burden for community code that wube understandably may not want)
coderpatsy
Long Handed Inserter
Long Handed Inserter
Posts: 69
Joined: Tue Apr 17, 2018 11:45 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by coderpatsy »

stengineer wrote: ↑Sun Dec 31, 2023 7:35 pm So any hope for mods on the switch version ??
In the original announcement of the switch version it explicitly said no mod support. Besides all the issues dustyvilla raised, the switch hardware is not very powerful and would not be able to handle many big mods well.
FuryoftheStars
Smart Inserter
Smart Inserter
Posts: 2768
Joined: Tue Apr 25, 2017 2:01 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by FuryoftheStars »

stengineer wrote: ↑Sun Dec 31, 2023 7:35 pm So any hope for mods on the switch version ??
I don't mean to pile on, but to expand on the hardware limitation mentioned, the Switch only has something like 4 GB of RAM. Considering Factorio is designed to run from out of the RAM, it doesn't take long to eat that up and reach a hard limit on the size map it can support. Couple that with the fact that 2.0 (not even the expansion) is going to be increasing RAM usage just on the tile IDs alone, I don't see mods ever coming to the switch, even if Nintendo allowed it. And you can't take the route of "oh, well, that's just something people will have to be aware of", because people won't and will leave bad reviews and move on, or "just limit it to 'small' mods", because even with small mods you can easily break it (I do not use major mods like SE, Angels, etc, and yet during game load my RAM usage exceeds 4 GB on Factorio itself... that alone would prevent me from playing on the switch).
My Mods: Classic Factorio Basic Oil Processing | Sulfur Production from Oils | Wood to Oil Processing | Infinite Resources - Normal Yield | Tree Saplings (Redux) | Alien Biomes Tweaked | Restrictions on Artificial Tiles | New Gear Girl & HR Graphics
GalaxyX
Manual Inserter
Manual Inserter
Posts: 3
Joined: Tue Nov 30, 2021 7:05 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by GalaxyX »

Pockets wrote: ↑Fri Dec 29, 2023 9:20 pm It would be nice if, when you open Factorio, instead of start loading the game, there is a small window with a list of "mod configurations", so you can add entries to this list and each would be a different mod combination. Then you select one and the game starts with it.
It'd probably be a bit annoying being prompted for that every time you start up the game, might be good to have a default pick unless you tell it otherwise?
Image
Henry Loenwind
Long Handed Inserter
Long Handed Inserter
Posts: 58
Joined: Fri Mar 09, 2018 7:33 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Henry Loenwind »

I have two wishlist items:

1.) On the "explore" tab, a category "mods that have a dependency on any of your active mods and mods your active mods have an optional dependency on". This would automagically list mods that are related to what one currently has, as well as mods that harmonise with them.

2.) A way to mark an active mod as "!important". The effect would be that the game would not let you deactivate that mod's dependencies, warn you if you deactivate an optional dependency, and won't let you activate mods that conflict with the "important" mod or its dependencies.

This just annoyed me recently; I switched from a Seablock mod setup to Space Exploration, but in doing so, I had to deactivate ALL mods, enable SE, and then enable those mods I wanted on top of that. And on the next startup, I had conflicts. It took me multiple tries to finally get it running, and 10 hours into my playthrough, I noticed I was missing one of my extras. At least it was one of those you can add in the middle of a run.

3.) (the Spanish Inquisition item) I'd like to have a simple text edit field for notes for each installed mod. Just to keep track of such details as "Which of these two alternatives and why?" or a note about cross-mod issues.

PS: And while we're talking about mods; why do we have Informatron and Tips&Tricks? On the surface, they look like they are doing the exact same thing. My guess as a programmer is that Tips&Tricks has some shortcomings, so:

4.) (among my wishes are) Fix the Tips&Tricks shortcomings that made modders make a copy of that system.
Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Qon »

Henry Loenwind wrote: ↑Tue Jan 02, 2024 7:10 pm 2.) A way to mark an active mod as "!important". The effect would be that the game would not let you deactivate that mod's dependencies, warn you if you deactivate an optional dependency, and won't let you activate mods that conflict with the "important" mod or its dependencies.
Bad!
If I want to deactivate a mod then being prevented from doing so would be infuriating. I should be able to deactivate mods without manually hunting around for mods that depend on it so that I remove them in dependency order.
If two mods depend on each other with !important then wouldn't I just be permanently stuck with those mods with no way to disable them from within the game?

What we actually want is
  1. In dependency list, don't just show child dependencies and optional child dependencies (mods this mod depend on). Also have sections for parent dependencies and parent optional dependencies (mods that depend on this mod). Maybe also show the full list of what grand child dependencies and grand parent dependencies.
  2. When disabling a mod with parent dependencies, also disable the parent automatically. (1) will already show you if something depends on this mod so it is obvious other mods will be disabled when you disable it. No warning needed.
Henry Loenwind wrote: ↑Tue Jan 02, 2024 7:10 pm PS: And while we're talking about mods; why do we have Informatron and Tips&Tricks? On the surface, they look like they are doing the exact same thing. My guess as a programmer is that Tips&Tricks has some shortcomings, so:

4.) (among my wishes are) Fix the Tips&Tricks shortcomings that made modders make a copy of that system.
Informatron was made to exist because Tips&Tricks didn't. Then Wube updated Factorio. A story as old as time (since Factorio modding started)
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
Svip
Fast Inserter
Fast Inserter
Posts: 102
Joined: Sun Apr 29, 2018 6:19 am
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Svip »

Qon wrote: ↑Tue Jan 02, 2024 9:10 pm
Henry Loenwind wrote: ↑Tue Jan 02, 2024 7:10 pm 2.) A way to mark an active mod as "!important". The effect would be that the game would not let you deactivate that mod's dependencies, warn you if you deactivate an optional dependency, and won't let you activate mods that conflict with the "important" mod or its dependencies.
Bad!
If I want to deactivate a mod then being prevented from doing so would be infuriating. I should be able to deactivate mods without manually hunting around for mods that depend on it so that I remove them in dependency order.
If two mods depend on each other with !important then wouldn't I just be permanently stuck with those mods with no way to disable them from within the game?
I think what Henry Loenwind meant to emphasis was that it was a personal list of important mods, i.e. the client defines their own list of important mods, that they can alter whenever they see fit. It's not mods that get to mark themselves as important nor their dependencies as important.
Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Qon »

Svip wrote: ↑Wed Jan 03, 2024 7:26 am
Qon wrote: ↑Tue Jan 02, 2024 9:10 pm
Henry Loenwind wrote: ↑Tue Jan 02, 2024 7:10 pm 2.) A way to mark an active mod as "!important". The effect would be that the game would not let you deactivate that mod's dependencies, warn you if you deactivate an optional dependency, and won't let you activate mods that conflict with the "important" mod or its dependencies.
Bad!
If I want to deactivate a mod then being prevented from doing so would be infuriating. I should be able to deactivate mods without manually hunting around for mods that depend on it so that I remove them in dependency order.
If two mods depend on each other with !important then wouldn't I just be permanently stuck with those mods with no way to disable them from within the game?
I think what Henry Loenwind meant to emphasis was that it was a personal list of important mods, i.e. the client defines their own list of important mods, that they can alter whenever they see fit. It's not mods that get to mark themselves as important nor their dependencies as important.
I think you are correct, now that I'm reading his post again. The wording "A way to mark an active mod" doesn't make as much sense if it was the mod maker doing it.
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
pleegwat
Filter Inserter
Filter Inserter
Posts: 278
Joined: Fri May 19, 2017 7:31 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by pleegwat »

Henry Loenwind wrote: ↑Tue Jan 02, 2024 7:10 pm 1.) On the "explore" tab, a category "mods that have a dependency on any of your active mods and mods your active mods have an optional dependency on". This would automagically list mods that are related to what one currently has, as well as mods that harmonise with them.
Perhaps a separate where mods can specify 'recommended' companion mods.
User avatar
Breizh
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sun Apr 04, 2021 4:13 pm
Contact:

Re: Friday Facts #391 - 2023 recap

Post by Breizh »

I never use mods, so I was curious about the message I’ll get on the personal recap.
And so did you! With only one mod downloaded in 2023 so far, there's probably more to discover for you here.
Oh, yeah, it was this time I joined a map of someone that used a mod to have an easier placement of inserters. So much mods. :mrgreen:
Post Reply

Return to β€œNews”