Friday Facts #279 - Train GUI & Modern Spitter

Regular reports on Factorio development.
Jap2.0
Smart Inserter
Posts: 2338
Joined: Tue Jun 20, 2017 12:02 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Pure awesomeness.

Now onto me wanting more. I'll make this brief.

Conditional station skipping.
Logical operator precedence in some sort of order that I can actually remember and is intuitive to new players.

Oh wow. I click submit, only to see the "At least one new post has been made to this topic. You may wish to review your post in light of this." message, and SIX new posts.
There are 10 types of people: those who get this joke and those who don't.

<NO_NAME>
Filter Inserter
Posts: 282
Joined: Tue Aug 02, 2016 9:52 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Nova wrote:
Fri Jan 25, 2019 8:42 pm
Reika wrote:
Fri Jan 25, 2019 8:32 pm
For example, there is no way to achieve condition (A & (B | C) & D) | (E & F) | G.
There is, you just have to repeat some statements.

A & B & D | A & C & D | E & F | G

To be precise, this way of combining statements is complete - you can make any logical statement just with combinations of AND and OR.
I think A & B & D | A & C & D | E & F | G will be parsed by the game as (((((A & B & D) | A) & C & D) | E) & F) | G .
I am a translator. And what did you do for Factorio?
Check out my mod "Realistic Ores" and my other mods!

porcupine
Long Handed Inserter
Posts: 66
Joined: Sat Oct 15, 2016 4:58 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Regarding the new combat changes/graphics/etc., the fight looks great, but the graphics look awkward from my vantage point.

I agree with the post saying the worms look a little bit too smooth. The GFX really fall apart though when they die and flop over, it just looks like they were awkwardly overlaid onto the rest of the game. Everything else fades (in color/brightness/etc.) into the background when dead, but the worms do not, they really stand out as a result, and not in a good way.

My real issue though is the shooting behavior. The biter being shot by bullets animation, they all land in the exact same spot (albeit in moving biters, it looks like it randomizes it a bit because they've moved by the time the shots land I guess?), I could have sworn there was a FFF noting changes to randomize this (maybe specific to lasers)?

Same with the grenades, that explosion graphic (in the same identical spot with every biter/every hit/etc.), entirely decoupled from the grenades own explosion animation sequence, visually doesn't make any sense.

Then at the end, none of the biters/bases/etc. have suffered any visible wounds before death, they die in an eruption of purple blood with a full collapse from a visual of full health throughout the fight (and the worms having to wait till the right spot in their animation sequence to die). The dying animation would make a lot more sense if there was some feeling of damage accumulating on the enemy (beyond a health bar), even if it wasn't persistent (IE: occasional randomized splatters of organic material from bullets impacting, or temporary bleeding/cuts/blacking/lesions/scorching/etc. that fade quickly enough to make it workable from a development perspective, etc.).

Anyway, that's just my \$0.02. Functional changes look fantastic, but the bullet/damage/impact aesthetic/etc. IMHO are far below the grade of the rest of the game (which is difficult, since the bar has been set so high with everything else obviously).

thecatlover1996
Long Handed Inserter
Posts: 57
Joined: Sun Sep 18, 2016 12:50 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

The changes look awesome to me! I'm sure that the final logic details can be fixed during the experimental phase

Something completely different: did anyone else notice how the train GUI uses the same map as the roll-up created for PAX East in FFF #236?

weaknespase
Long Handed Inserter
Posts: 59
Joined: Sat Mar 24, 2018 8:19 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

<NO_NAME> wrote:
Fri Jan 25, 2019 6:14 pm
I love the new train GUI and I hate it.
It looks much better and the drag & drop and visual progress indicator will both be super useful.
However, the "and" and "or" operations are confusing as ever. I think they are supposed to be parsed from top to bottom without any precedence rules but even knowing that doesn't really help to parse it mentally. Wasn't the new train GUI supposed to introduce some kind of braces?

I won't write much about train skipping conditions because anyone who is interested already knows that this is one of the most popular requests.
Train conditions follow some weird-o rehash on RPN, which looks and feels horrendous. I think even biters could do better and implement normal-looking compound conditions interface.

For example — full-featured RPN would look less confusing at least for some (engineering/scientific) audience.
Another way to implement — make it look like infix notation that spreads across multiple lines, although it's not nearly as powerful without grouping operator.

On the side note - nice work, as always, interface might need some small changes still, but, nonetheless, it looks way better than before. Love changes to biters, looking forward to meeting them in 0.17!

RPN style exapmle — Isn't it beautiful?

slaved34ler
Burner Inserter
Posts: 10
Joined: Fri Jan 25, 2019 9:11 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

The "Add waiting condition" should be smaller in size and be darkened or somehow stand out from the main options.
Last edited by slaved34ler on Fri Jan 25, 2019 9:23 pm, edited 1 time in total.

astroshak
Filter Inserter
Posts: 520
Joined: Thu May 10, 2018 9:59 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

I have an idea.

In the FFF for scheduling you show trains getting filled up, and the green “progress bar” filling in towards the right to indicate how close they are to being done.

Then, for the emptying, you have the green bar again, filling in towards the right.

Why not have that emptying bar drain to the left?

That would signify the train being filled (the bar fills in to the right) and then being emptied (drains to the left). This makes a lot more sense to me than to having the bars both fill in. Filling in makes sense when you are filling the train; emptying the bar makes more sense to me when emptying the train.

weaknespase
Long Handed Inserter
Posts: 59
Joined: Sat Mar 24, 2018 8:19 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Counterargument — green bar represents condition fulfillment and it usually helps to have same GUI elements to behave consistently across application.

Nemoricus
Fast Inserter
Posts: 172
Joined: Mon Jan 19, 2015 7:48 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Looking good. I'm still hoping that we'll get a way to select their next station based on some criteria (IE, an iron ore train goes to stations that need iron ore), though.

invisus
Filter Inserter
Posts: 284
Joined: Fri Sep 21, 2018 5:33 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

weaknespase wrote:
Fri Jan 25, 2019 9:20 pm

Counterargument — green bar represents condition fulfillment and it usually helps to have same GUI elements to behave consistently across application.
Agreed. When deleting files, the progress bar still progresses right to left to show "progress toward completing current action."

Jap2.0
Smart Inserter
Posts: 2338
Joined: Tue Jun 20, 2017 12:02 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

invisus wrote:
Fri Jan 25, 2019 9:27 pm
weaknespase wrote:
Fri Jan 25, 2019 9:20 pm

Counterargument — green bar represents condition fulfillment and it usually helps to have same GUI elements to behave consistently across application.
Agreed. When deleting files, the progress bar still progresses right to left to show "progress toward completing current action."
Yeah, definitely to the right.
There are 10 types of people: those who get this joke and those who don't.

porcupine
Long Handed Inserter
Posts: 66
Joined: Sat Oct 15, 2016 4:58 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Nemoricus wrote:
Fri Jan 25, 2019 9:21 pm
Looking good. I'm still hoping that we'll get a way to select their next station based on some criteria (IE, an iron ore train goes to stations that need iron ore), though.
I had actually written a blueprint/method of doing this with the circuit network (IE: common name for all iron ore mines, common drop off point, and to dispatch trains to the mines individually from a holding area as their stockpiles built high enough to fill a car (then unload, and back to the waiting area). All mines were named the same thing, so setting up a mine literally required no work (just slapping down a blueprint and naming it "Iron" for example).

It was detailed in this thread:

viewtopic.php?f=18&t=18666

Hopefully that helps tick some of your boxes. It was nearly 2 years ago, but it was fun to write (I had near zero experience with logic gates), and I had tweaked it to the point it was pretty darn reliable (IIRC, only tight round-abouts screwed it up, because trains could end up changing destination mid-path [IE: if another train beat 'em to the closest station, they'd flip over to the next one requiring pick-up, etc.]). There were various blueprint directions and updates in that thread.

Hope it still works, as I want to play with it in .17 when it comes out

deepdriller
Fast Inserter
Posts: 182
Joined: Sat Apr 11, 2015 7:52 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Here's an idea: If the condition is set to Item Count = X, and current count is greater than X, have the entire bar be green, but overlayed on top of that is a yellow bar that fills in from the side. The width thereof could be (currentCount - X / X) or something like that. If currentCount is more than twice X, another red bar could be displayed.
Either that, or the progress bar has a marker in the middle, and if currentCount = X, the green bar reaches exactly to the marker.

AlexAegis
Inserter
Posts: 41
Joined: Sat Jun 04, 2016 10:25 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Hey, would be a nice touch to copy and paste train station conditions. It wouldn't even need extra buttons, I would be happy to be able just hover over a scheduled stop and press ctrl-c then ctrl-v to a blank area to create a copy then I can just change the station, or hover over another existing one and overwrite the conditions on that entry.

bobucles
Smart Inserter
Posts: 1657
Joined: Wed Jun 10, 2015 10:37 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

Is there any chance to add more glowy bits to the UI? The existing pictures show that things can get pretty intense in a dense rail network, and it can be easy to get lost in that maze. But if you do things such as highlight the stop and the "ideal" rail path (assuming no obstacles) then it can be much easier to visualize what's going on or at least what the rail system thinks should happen. After all once a player assigns a train path the game can know right then and there what the path can be and if it actually exists. It may be more important now that trains can be hijacked at any time so players may be confused if A can path to D yet B can not.
Attachments
rail stuff.jpg (214.83 KiB) Viewed 3440 times
Last edited by bobucles on Fri Jan 25, 2019 10:14 pm, edited 3 times in total.

PacifyerGrey
Smart Inserter
Posts: 1058
Joined: Wed Jun 29, 2016 10:02 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

No station skipping conditions? I am truly disappointed...
Was a perfect opportunity but you just missed it...
Last edited by PacifyerGrey on Fri Jan 25, 2019 10:11 pm, edited 1 time in total.

Nova
Filter Inserter
Posts: 944
Joined: Mon Mar 04, 2013 12:13 am
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

<NO_NAME> wrote:
Fri Jan 25, 2019 8:50 pm
I think A & B & D | A & C & D | E & F | G will be parsed by the game as (((((A & B & D) | A) & C & D) | E) & F) | G .
No, the game parses first all ANDs, and then all ORs.

A | B & C | D = A | (B & C) | D
Greetings, Nova.
Factorio is one of the greatest games I ever played, with one of the best developers I ever heard of.

AlexAegis
Inserter
Posts: 41
Joined: Sat Jun 04, 2016 10:25 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

factoriouzr wrote:
Fri Jan 25, 2019 8:14 pm
This is all great. Can't wait for 0.17 (I hope it won't be delayed yet again).

The train gui looks good and I love the feature to send a train to any track on the map and any stop, however this feature is still missing some key improvements/polish:
+it would be great to designate any train as a personal train (eg. via a checkbox in it's GUI that's player based. Ie. in a multiplayer game, each player can mark as many trains as they want as their own personal trains). See next point on how this will be useful.
+the ability (with a button click in the GUI (say at the top left)) to call a personal train to the closest track or stop to where the player is currently standing (ie. the game finds the closest track to where the player is)

Thanks
Fear not my friend, as I have the perfect solution! My PAX System! Completely modular (but you have to connect the stations with green wire) And if configured well, it can work as a metro, always running from station to station, or just stop where it is. It comes to you if you are triggering the gates (and stays there) etc etc, more detail in the blueprint page (and also a video)

Also I'm a bit salty because I've literally worked on this many hours and then they add this new feature But I'm still gonna use this personal metro system as it's really easy to use.

AlexAegis
Inserter
Posts: 41
Joined: Sat Jun 04, 2016 10:25 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

PacifyerGrey wrote:
Fri Jan 25, 2019 10:10 pm
No station skipping conditions? I am truly disappointed...
Was a perfect opportunity but you just missed it...
Yes, this! For station skipping, a perfect use case is refueling stations! Or trains with multiple mine locations with the same name skip the stations if the wagons are already full (and an extra circuitry would disable the mining outpost if it's low on ore buffer to balance things a little, and an extra one to disable every other except itself if its full, my mind is full with ideas!)

deef0000dragon1
Long Handed Inserter
Posts: 65
Joined: Fri Jan 02, 2015 11:46 pm
Contact:

Re: Friday Facts #279 - Train GUI & Modern Spitter

<NO_NAME> wrote:
Fri Jan 25, 2019 8:50 pm
Nova wrote:
Fri Jan 25, 2019 8:42 pm
Reika wrote:
Fri Jan 25, 2019 8:32 pm
For example, there is no way to achieve condition (A & (B | C) & D) | (E & F) | G.
There is, you just have to repeat some statements.

A & B & D | A & C & D | E & F | G

To be precise, this way of combining statements is complete - you can make any logical statement just with combinations of AND and OR.
I think A & B & D | A & C & D | E & F | G will be parsed by the game as (((((A & B & D) | A) & C & D) | E) & F) | G .
And this is the important bit right here. There is a complete lack of clarity on what the ordering actually is. its fine for simple situations, but for ANYTHING that combines & and |, it becomes a complete mess to try to understand. I personally dont know which one is accurate either, but the fact that it is questions brings to the forefront the entire reason that you are doing a UI redesign to begin with. Information obfuscation. Its there, its workable technically, but it is a pain and unintuitive at best.

knowing the devs, im sure that it is already under construction, but a conformation/explination would go a long way.

on a separate note, new spitters look good, and I like the bile, but the worms dont look right compared to the carapaces of the rest of the bugs. also, the bases interaction with the ground does not look as good as the worms.