Friday Facts #279 - Train GUI & Modern Spitter
-
- Manual Inserter
- Posts: 2
- Joined: Tue Jan 30, 2018 8:01 pm
- Contact:
Re: Friday Facts #279 - Train GUI & Modern Spitter
I have to agree with everyone above being confused by the logic parsing.
Although I am all for the indentation proposal I do wonder if there is reinventing the wheel a bit here, after all there is already a logic/combinatorial system in Factorio:
Circuit Network
But actually using this in a train (as to how I have no idea, maybe like Factorissimo you could have a defined space "inside" the locomotive to lay out the circuits) rather than just at the signalling level would mean:
1) Circuits would naturally be introduced to the player starting with simple logic (i.e. when iron ore > 3k)
2) Perhaps speakers could be triggered from within a moving train (i.e. I ran out of fuel in the middle of nowhere. COME FIND ME)
3) There would be no ambiguity over precedence (other than whatever confusion Circuit Networks cause)
4) Other artifical signals could be introduced over time (or by mods) like train speed, fuel status, other station occupancy, etc
5) EDIT: It'd also introduce a cost for complex orders (which becomes trivial when you get endgame) - more comparators, wires, etc
I'm not actually a mad fan of the Circuit Network in Factorio (Despite an Electrical Engineering degree!) partially due to the way signals combine however it seems daft to have two separate logic systems, one of which is never really introduced to the player
Just my Β£0.02
Although I am all for the indentation proposal I do wonder if there is reinventing the wheel a bit here, after all there is already a logic/combinatorial system in Factorio:
Circuit Network
But actually using this in a train (as to how I have no idea, maybe like Factorissimo you could have a defined space "inside" the locomotive to lay out the circuits) rather than just at the signalling level would mean:
1) Circuits would naturally be introduced to the player starting with simple logic (i.e. when iron ore > 3k)
2) Perhaps speakers could be triggered from within a moving train (i.e. I ran out of fuel in the middle of nowhere. COME FIND ME)
3) There would be no ambiguity over precedence (other than whatever confusion Circuit Networks cause)
4) Other artifical signals could be introduced over time (or by mods) like train speed, fuel status, other station occupancy, etc
5) EDIT: It'd also introduce a cost for complex orders (which becomes trivial when you get endgame) - more comparators, wires, etc
I'm not actually a mad fan of the Circuit Network in Factorio (Despite an Electrical Engineering degree!) partially due to the way signals combine however it seems daft to have two separate logic systems, one of which is never really introduced to the player
Just my Β£0.02
- Scherazade
- Burner Inserter
- Posts: 8
- Joined: Fri Jun 08, 2018 10:06 am
- Contact:
Re: Friday Facts #279 - Train GUI & Modern Spitter
It is great that this awesome game is still being developed and not only with a few changes that can be implemented easily but groundbreaking improvements and well-wrought balancing. BUT while I read so many posts about new stuff I ask myself the question WHEN will it be implemented? I am not playing right now and definitely will not start a new base before 0.17 changes everything (especially science).
Re: Friday Facts #279 - Train GUI & Modern Spitter
We'll likely be playing new content within a month based on what we've seen thus far. This is just a guestimate, but given a previous rough timeline by the developer, and how far they're liable to stray from that, it's a reasonable guess.Scherazade wrote: βTue Jan 29, 2019 7:54 pmIt is great that this awesome game is still being developed and not only with a few changes that can be implemented easily but groundbreaking improvements and well-wrought balancing. BUT while I read so many posts about new stuff I ask myself the question WHEN will it be implemented? I am not playing right now and definitely will not start a new base before 0.17 changes everything (especially science).
I feel you, no intention of starting a new game till 0.17. Even then, it's always tempting to wait for bobs mods
-
- Filter Inserter
- Posts: 947
- Joined: Wed Nov 25, 2015 11:44 am
- Contact:
Re: Friday Facts #279 - Train GUI & Modern Spitter
I am a programmer and have a decent background in logic and math. The current interface to me is so ambiguous that I just don't both using different operators. In programming, I never rely on precedence and use brackets whenever I mix operators*, if nothing else to make intent clear to readers and 'future me' - and this is what I advise my students. So, in factorio I do only all ANDs or all ORs. I'm sure I could try it out and learn how the system works, but I haven't and I won't.Hannu wrote: βTue Jan 29, 2019 2:14 pmI have needed (A | B) & (C | D). I can use distributive law and get A&C | A&D | B&C | B&D, but it is annoying to feed with current UI.
Also, at least I think that complex schedules are too annoying to use and do not even think how I could use them. It is easier to put more trains, rails and stations even nice logic would certainly be more elegant solution.
So, I really really think they should allow some form of bracketing, be it using indentation, actual brackets, some sort of text-based advanced mode (json exportable train routes, anyone?), or whatever. But for me the current system is, as the meme goes, literally unplayable.
[Or at least metaphorically unplayable ]
*) I'm talking about mathematical / boolean operators here, I don't write x = (2 + 2) because I'm afraid it might be parsed as (x = 2) + 2...
Re: Friday Facts #279 - Train GUI & Modern Spitter
Infidellic wrote: βTue Jan 29, 2019 5:16 pmI have to agree with everyone above being confused by the logic parsing.
vanatteveldt wrote: βTue Jan 29, 2019 11:10 pmBut for me the current system is, as the meme goes, literally unplayable.
You guys are aware of LTN - Logistic Train Network right? It turns trains stops into requestor/provider chests and trains into logistics bots. My last map was a 1RPM base running about 32 trains carrying ~20 types of goods including fluids to/from around 96 stops. I looked at train schedules maybe 10-15 times in the entire playthrough - once per each train -> "Send to Depot" and a couple of times to see what was going on.
Remember when you first got Requestor/Provider chests and logistics robots? Did you look back and remember wistfully the simpler times before logistics robots? Requestor/Provider train stops and logistics bot trains are the same feeling - you will never look back.
That earlier claim about ~20 types of goods was a lie - that's only bulk goods, I actually had a kitchen sink stop which would send pretty much any finished good out on a train so another ~50 different things in that one stop. Building a new outpost? Slap down a requestor train stop and have rail, belt, ammo, turrets, walls, turrets, flamethrowers, barrelled light oil, various inserters, miners, chests, concrete and whatever roll up in a train.
I required barely any rail - I sometimes envy those with dual and quad rail per direction as well as huge train stackers - they look so cool. Because LTN only dispatches trains as needed my 1RPM base has only basic 1 line per direction rail and it runs smoothly. Optera claims a 70% reduction in rolling stock - that's also a reduction in the rail and the stackers needed to carry those trains. You do need big train depots - but that turns out to be a convenient refuelling stop.
LTN has its own sub-forum and Optera is active and helpful:
Board < index < Contributions < Mods < Logistic Train Network
check it out. There are also YouTube tutorials on how to use it. Yes it is difficult to get started and yes you will need circuit driven smart stations (Optera has samples) but the investment pays off. Get over the (a bit steep) learning curve and never set a train schedule again.
Edit: Originally wrote 10 trains and 30 stops. Went back and actually looked at the map. It's actually 32 trains and 96 stops. Oops.
Last edited by AndrewIRL on Mon Feb 04, 2019 2:56 pm, edited 4 times in total.
- SuperSandro2000
- Filter Inserter
- Posts: 742
- Joined: Sun Jan 12, 2014 3:54 am
- Contact:
Re: Friday Facts #279 - Train GUI & Modern Spitter
I don't know how big is your base but I assume tinier than my starter base.<NO_NAME> wrote: βSat Jan 26, 2019 9:30 amCliffs are great! They are basically walls that cannot be destroyed by enemy. I love incorporating them into my factory's defense.SuperSandro2000 wrote: βSat Jan 26, 2019 8:38 amI like the new biters.
Still cliffs are useless piece of shit that only annoy you.
Cliffs are basically a useless entity in that game whose sole purpose it is to annoy me until I get blue science and can blow them all up. They don't provide any useful defense cause biters will just walk around them or shoot over.
Then my base is not a giant clusterfuck like I imagine yours.
Please call me simply Sandro.
My Main Mods: Sandro's fixes, Expanded Rocket Payloads Touched by an AngelBob and more can be found here
My Main Mods: Sandro's fixes, Expanded Rocket Payloads Touched by an AngelBob and more can be found here
Re: Friday Facts #279 - Train GUI & Modern Spitter
Ewwww, that train GUI is awful. NO Thanks!
Re: Friday Facts #279 - Train GUI & Modern Spitter
Yeah I am, I used it quite a lot in the last build I did, I just think it would be nice to have something like that in vanilla so that it could be a bit easier to set up and a bit more tightly integrated with the scheduling system. Optera has done a really nice job of the mod but it's still got a "bolted on" feeling.AndrewIRL wrote: βWed Jan 30, 2019 2:54 amInfidellic wrote: βTue Jan 29, 2019 5:16 pmI have to agree with everyone above being confused by the logic parsing.vanatteveldt wrote: βTue Jan 29, 2019 11:10 pmBut for me the current system is, as the meme goes, literally unplayable.
You guys are aware of LTN - Logistic Train Network right? It turns trains stops into requestor/provider chests and trains into logistics bots. My last map was a 1RPM base running about 10 trains carrying ~20 types of goods including fluids to/from around 30 stops. I looked at train schedules maybe 10-15 times in the entire playthrough - once per each train -> "Send to Depot" and a couple of times to see what was going on.
-
- Fast Inserter
- Posts: 207
- Joined: Thu Jun 04, 2015 12:20 am
- Contact:
Re: Friday Facts #279 - Train GUI & Modern Spitter
For those of us that have computer science degrees, we can do the math and reduce anything to the sums of products form. But for those of use that don't (and don't want to do math during a game), it would be great to have brackets in-game.kovarex wrote: βSat Jan 26, 2019 9:56 amIt is, your condition can be decomposed to:Reika wrote: βFri Jan 25, 2019 8:32 pmThis FFF hints at, but does not really explicitly confirm or deny, a thing I have wanted for a long time:
Condition combination control; that is, currently with AND and OR, your ability to control is somewhat limited if you want them combined in complex ways. For example, there is no way to achieve condition (A & (B | C) & D) | (E & F) | G.
Will that ever be a feature, with 0.17 or ever?
A & B & D | A & C & D | E & F | G.
No need for brackets. (I know it is not perfect, but considering how much of an edge case this is, it is good enough.
Re: Friday Facts #279 - Train GUI & Modern Spitter
Since everything can already be done with the current and/or system, I feel dev time is much better spent on other things. Brackets would only needlessly complicate the system.
My mods: Red Alert Harvesters - Clean Pipes - Filtered Splitters
Re: Friday Facts #279 - Train GUI & Modern Spitter
I just made something up. But lets see:Bauer wrote: βTue Jan 29, 2019 10:15 amI'm with Factorio for a while now.
I used trains and circuits heavily.
I used train delivered blueprints for recursive blueprints (delivering one piece of another good to identify the blueprint at the station).
I made a rail network with all stations having the same name and all trains having the same schedule (no turnouts, though).
I never ever had a case in my entire Factorio life in which something like this was even remotely needed:
(A & (B | C) & D) | (E & F) | G
Please, impress me. What the hell would you need this for?
A train that goes to the weapons factory and gets some mix of turrets that can be used to put up a defense:
(flame-turret >= 10 & (heavy-oil-barrel >= 10 | light-oil-barrel >= 10) & assembler >= 10) | (turret >= 10 & ammo-clip >= 40) | laser-turrets >= 10
Re: Friday Facts #279 - Train GUI & Modern Spitter
At a minimum the current AND/OR elements in the GUI should have different indentation to show the current precedence.
Re: Friday Facts #279 - Train GUI & Modern Spitter
Save game or it didn't happenmrvn wrote: βWed Jan 30, 2019 9:33 pmI just made something up. But lets see:Bauer wrote: βTue Jan 29, 2019 10:15 amI'm with Factorio for a while now.
I used trains and circuits heavily.
I used train delivered blueprints for recursive blueprints (delivering one piece of another good to identify the blueprint at the station).
I made a rail network with all stations having the same name and all trains having the same schedule (no turnouts, though).
I never ever had a case in my entire Factorio life in which something like this was even remotely needed:
(A & (B | C) & D) | (E & F) | G
Please, impress me. What the hell would you need this for?
A train that goes to the weapons factory and gets some mix of turrets that can be used to put up a defense:
(flame-turret >= 10 & (heavy-oil-barrel >= 10 | light-oil-barrel >= 10) & assembler >= 10) | (turret >= 10 & ammo-clip >= 40) | laser-turrets >= 10
Re: Friday Facts #279 - Train GUI & Modern Spitter
I'm not going to normalize that and enter it in the train GUI. Do you know how long that term becomes?Bauer wrote: βThu Jan 31, 2019 10:07 amSave game or it didn't happenmrvn wrote: βWed Jan 30, 2019 9:33 pmI just made something up. But lets see:Bauer wrote: βTue Jan 29, 2019 10:15 amI'm with Factorio for a while now.
I used trains and circuits heavily.
I used train delivered blueprints for recursive blueprints (delivering one piece of another good to identify the blueprint at the station).
I made a rail network with all stations having the same name and all trains having the same schedule (no turnouts, though).
I never ever had a case in my entire Factorio life in which something like this was even remotely needed:
(A & (B | C) & D) | (E & F) | G
Please, impress me. What the hell would you need this for?
A train that goes to the weapons factory and gets some mix of turrets that can be used to put up a defense:
(flame-turret >= 10 & (heavy-oil-barrel >= 10 | light-oil-barrel >= 10) & assembler >= 10) | (turret >= 10 & ammo-clip >= 40) | laser-turrets >= 10
Re: Friday Facts #279 - Train GUI & Modern Spitter
Not much longer, you just have to repeat the flame-turrent and the assembler condition:
flame-turret >= 10 & heavy-oil-barrel >= 10 & assembler >= 10 | flame-turret >= 10 & light-oil-barrel >= 10 & assembler >= 10 | turret >= 10 & ammo-clip >= 40 | laser-turrets >= 10
flame-turret >= 10 & heavy-oil-barrel >= 10 & assembler >= 10 | flame-turret >= 10 & light-oil-barrel >= 10 & assembler >= 10 | turret >= 10 & ammo-clip >= 40 | laser-turrets >= 10
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.
Re: Friday Facts #279 - Train GUI & Modern Spitter
Here are my suggestions about new GUI. It looks nice, but text looks too small compared to the size of buttons. Especially a vertical size. Yes, if you increase font size, some long strings will not fit to their controls. Maybe some dynamic font size switching? Or mayme a vertical size of buttons should be simply decreased? Also, the current station indicator is almost invisible. As for me, it definitly should be much brighter. Also, it should be usefull to manually switch off stations from a train schedule. Without deleting them completely and without any logical circuits. Also, as some people already mentioned, it should be some visual grouping in a complex train conditions to indicate operator precedence.
Re: Friday Facts #279 - Train GUI & Modern Spitter
No, very easy: "Anything > 10" will do.mrvn wrote: βThu Jan 31, 2019 10:37 amI'm not going to normalize that and enter it in the train GUI. Do you know how long that term becomes?Bauer wrote: βThu Jan 31, 2019 10:07 amSave game or it didn't happenmrvn wrote: βWed Jan 30, 2019 9:33 pmI just made something up. But lets see:Bauer wrote: βTue Jan 29, 2019 10:15 amI'm with Factorio for a while now.
I used trains and circuits heavily.
I used train delivered blueprints for recursive blueprints (delivering one piece of another good to identify the blueprint at the station).
I made a rail network with all stations having the same name and all trains having the same schedule (no turnouts, though).
I never ever had a case in my entire Factorio life in which something like this was even remotely needed:
(A & (B | C) & D) | (E & F) | G
Please, impress me. What the hell would you need this for?
A train that goes to the weapons factory and gets some mix of turrets that can be used to put up a defense:
(flame-turret >= 10 & (heavy-oil-barrel >= 10 | light-oil-barrel >= 10) & assembler >= 10) | (turret >= 10 & ammo-clip >= 40) | laser-turrets >= 10
BTW, thanks for proving that "(A & (B | C) & D) | (E & F) | G" has absolutely no use-case.
Re: Friday Facts #279 - Train GUI & Modern Spitter
The train already holds 100 transport belts, 50 underground belts, 200 iron plates, ... It will never stay at the weapons station with "Anything > 10".Bauer wrote: βThu Jan 31, 2019 12:18 pmNo, very easy: "Anything > 10" will do.mrvn wrote: βThu Jan 31, 2019 10:37 amI'm not going to normalize that and enter it in the train GUI. Do you know how long that term becomes?Bauer wrote: βThu Jan 31, 2019 10:07 amSave game or it didn't happenmrvn wrote: βWed Jan 30, 2019 9:33 pmI just made something up. But lets see:Bauer wrote: βTue Jan 29, 2019 10:15 amI'm with Factorio for a while now.
I used trains and circuits heavily.
I used train delivered blueprints for recursive blueprints (delivering one piece of another good to identify the blueprint at the station).
I made a rail network with all stations having the same name and all trains having the same schedule (no turnouts, though).
I never ever had a case in my entire Factorio life in which something like this was even remotely needed:
(A & (B | C) & D) | (E & F) | G
Please, impress me. What the hell would you need this for?
A train that goes to the weapons factory and gets some mix of turrets that can be used to put up a defense:
(flame-turret >= 10 & (heavy-oil-barrel >= 10 | light-oil-barrel >= 10) & assembler >= 10) | (turret >= 10 & ammo-clip >= 40) | laser-turrets >= 10
BTW, thanks for proving that "(A & (B | C) & D) | (E & F) | G" has absolutely no use-case.
Re: Friday Facts #279 - Train GUI & Modern Spitter
Are brackets/indents actually hard? Like, is it more than a couple of hours work to do? If it's easy, then I'd like to see it. If it's a pain in the ass, I can live without it.
Re: Friday Facts #279 - Train GUI & Modern Spitter
With the rework of the train UI, there is a major addition I'd love to see: "skip conditions". The exact same setup as the wait conditions, but determines whether the station should be visited or the train should skip it and go to the next station in the schedule instead.
As a simple theoretical example, let's pretend we also have the train's remaining fuel exposed as a condition option and make a train with the following schedule:
1) Outpost: Wait until full
2) Base: Wait until empty
3) Refuel: Skip if FUEL > 10. Wait until FUEL>90
The train would load up at the outpost, drop off at the base, and then if it is low on fuel will go to the refueling station, otherwise if it has enough fuel it will completely skip going to the refuel station and only go between the outpost and the base.
Bam. Fairly small change (most of the work already done for wait conditions) that suddenly enables a lot of smart behavior, including the oft wanted smart refueling.
As a simple theoretical example, let's pretend we also have the train's remaining fuel exposed as a condition option and make a train with the following schedule:
1) Outpost: Wait until full
2) Base: Wait until empty
3) Refuel: Skip if FUEL > 10. Wait until FUEL>90
The train would load up at the outpost, drop off at the base, and then if it is low on fuel will go to the refueling station, otherwise if it has enough fuel it will completely skip going to the refuel station and only go between the outpost and the base.
Bam. Fairly small change (most of the work already done for wait conditions) that suddenly enables a lot of smart behavior, including the oft wanted smart refueling.