Friday Facts #390 - Noise expressions 2.0
- FactorioBot
- Factorio Staff
- Posts: 409
- Joined: Tue May 12, 2015 1:48 pm
- GregoriusT
- Filter Inserter
- Posts: 307
- Joined: Wed Apr 10, 2019 6:42 pm
- Contact:
Re: Friday Facts #390 - Noise expressions 2.0
Love that new Wube Logo. It certainly says SOMETHING.
Don't underestimate Landmines!
Biters bite, Spitters spit, Spawners spawn and Worms... worm? - No, they throw their vomit! They even wind up to directly hurl it at you! friggin Hurlers...
Biters bite, Spitters spit, Spawners spawn and Worms... worm? - No, they throw their vomit! They even wind up to directly hurl it at you! friggin Hurlers...
Re: Friday Facts #390 - Noise expressions 2.0
Huh? Lol Iβm excited - this week I donβt understand why - but Iβm excited ha - hope the math people enjoy this week !
Re: Friday Facts #390 - Noise expressions 2.0
Could i get that "Something" as a wallpaper in 2560Γ1440 ?
And maybe a version with "Nothing", too? ( Nevermind about the Nothing version, since its your company logo, it should mean something. )
I know Factorio isn't about exploration, but those "crop circle pattern" could be an interesting random find.
I know Factorio isn't about exploration, but those "crop circle pattern" could be an interesting random find.
Re: Friday Facts #390 - Noise expressions 2.0
Complicated and quite technical! Still a good read even though a lot of it shoots straight over my head!
Merry Christmas.
Merry Christmas.
See the dailyβ’ struggles with my Factory! https://www.twitch.tv/repetitivebeats
Re: Friday Facts #390 - Noise expressions 2.0
Wube should sell science packs as Christmas decorations that you can put on your Christmas Tree
-
- Long Handed Inserter
- Posts: 99
- Joined: Fri Mar 02, 2018 2:55 pm
- Contact:
Re: Friday Facts #390 - Noise expressions 2.0
Hou-hou-hou!
We really need that snowy sprites and Christmas Tree in-game!
We really need that snowy sprites and Christmas Tree in-game!
Re: Friday Facts #390 - Noise expressions 2.0
Verry technical this time but still interesting.
Am I right in thinking that these changes mean that modders will have to rewrite the setting of their own resources, for example?
Merry Christmas.
Am I right in thinking that these changes mean that modders will have to rewrite the setting of their own resources, for example?
Merry Christmas.
My Mods: Picklocks Fusion Power | Picklocks Inserter | Picklocks Lithium Polymer Accumulator | Picklocks rocket silo stats | Picklocks Set Inventory Filters
Re: Friday Facts #390 - Noise expressions 2.0
As for tools for visualizing: are you aware of the existence of the Dear ImGui? If you are using it, that's great! If you are not β both you and all the modders could be interested!
As for noise expression - I am not quite sure I understand the need for the "noise expression engine" altogether, the post is a bit hard to understand and it's not very clear what it can do that simply writing functions itself wouldn't. For example description of implementing things like "constant folding" raise some red flags for me β this sounds too familiar to what compilers already do to optimize, so why does it have to be reinvented
And as for the AST and parser part β you might be also interested in Roslyn (C#) compiler and how they managed to make some good optimizations and design their compiler and syntax APIs β for example looking at the previous lua table syntax and "line_number=..." reminded me of some of the techniques they used to make their syntax trees more robust β using red-green trees for immutable trees (one, internal, constructed bottom-up, one, a facade, lazy evaluated with parent references and file offsets), using node-widths to compute file-offsets etc. They came up with some cool ideas, techniques and optimizations that you may find interesting.
As for the grammar part β recently a very nice tool came to my attention, that handles grammars, generating parsers etc, and people are generally very pleased with it: Tree-Sitter. It's grammars are supposedly very powerful and said to be working great, to the point that there is an open discussion whether VSCode should use tree-sitter grammars instead of what they use now. Although hand-written parser/lexers/tokenizers can be faster, they also may be a lot harder to maintain, test and fix.
As for noise expression - I am not quite sure I understand the need for the "noise expression engine" altogether, the post is a bit hard to understand and it's not very clear what it can do that simply writing functions itself wouldn't. For example description of implementing things like "constant folding" raise some red flags for me β this sounds too familiar to what compilers already do to optimize, so why does it have to be reinvented
And as for the AST and parser part β you might be also interested in Roslyn (C#) compiler and how they managed to make some good optimizations and design their compiler and syntax APIs β for example looking at the previous lua table syntax and "line_number=..." reminded me of some of the techniques they used to make their syntax trees more robust β using red-green trees for immutable trees (one, internal, constructed bottom-up, one, a facade, lazy evaluated with parent references and file offsets), using node-widths to compute file-offsets etc. They came up with some cool ideas, techniques and optimizations that you may find interesting.
As for the grammar part β recently a very nice tool came to my attention, that handles grammars, generating parsers etc, and people are generally very pleased with it: Tree-Sitter. It's grammars are supposedly very powerful and said to be working great, to the point that there is an open discussion whether VSCode should use tree-sitter grammars instead of what they use now. Although hand-written parser/lexers/tokenizers can be faster, they also may be a lot harder to maintain, test and fix.
Look mom, I made a mod ^^ Barrel Stages
Re: Friday Facts #390 - Noise expressions 2.0
Very technical! My head is spinning but a good read though!
Merry Christmas all!
Merry Christmas all!
Re: Friday Facts #390 - Noise expressions 2.0
This appears to be part of the simplification step (step 5 in 1.1), which has now been entirely removed. My understanding is there is no longer any constant folding.
Re: Friday Facts #390 - Noise expressions 2.0
Does this mean that mods will lose compatibility in 2.0? Again?So now all noise expressions are parsed from string, and the legacy format which uses Lua tables is removed for 2.0. Regarding the original issue this was all done for, noise expressions take 50% less time during prototype initialization and the prototypes now load 20% faster as a result.
Re: Friday Facts #390 - Noise expressions 2.0
I'm already sad not to be part of the Factorio team, but the 2.0 FFFs make it worse. This blog post (#390) almost tears my heart out. In particular, I'm very jealous of Earendel and Genhis for getting to develop this parser.
Mods: ingteb, ixuClock, ixuAutoSave, NoCheating, hardCrafting (Maintainer) and more
Desperately tried to implement redo
Desperately tried to implement redo
Re: Friday Facts #390 - Noise expressions 2.0
I assume that these snowy sprites are a sneak preview of the next planet and its particle effect covering all sprites with snow.Shadow_Man wrote: βFri Dec 22, 2023 12:45 pmHou-hou-hou!
We really need that snowy sprites and Christmas Tree in-game!
Re: Friday Facts #390 - Noise expressions 2.0
That is also what I think, really curious if that is the case. Weather effects and weather in general would be really cool.Hares wrote: βFri Dec 22, 2023 1:09 pmI assume that these snowy sprites are a sneak preview of the next planet and its particle effect covering all sprites with snow.Shadow_Man wrote: βFri Dec 22, 2023 12:45 pmHou-hou-hou!
We really need that snowy sprites and Christmas Tree in-game!
Pony/Furfag avatar? Opinion discarded.
Re: Friday Facts #390 - Noise expressions 2.0
Where is the x-mas mod like the Satisfactory FICSMAS?
Re: Friday Facts #390 - Noise expressions 2.0
Can we pretty please have a High res version of the christmas tree picture?
Re: Friday Facts #390 - Noise expressions 2.0
This FFF is unreadable : (
Edit: my bad. That's the underground belt cover's shadow.
Edit: my bad. That's the underground belt cover's shadow.
- Attachments
-
- fff-390-frozen-xmas.png (2.2 MiB) Viewed 8194 times
Last edited by Mooncat on Fri Dec 22, 2023 2:34 pm, edited 1 time in total.
Re: Friday Facts #390 - Noise expressions 2.0
I have a VERY bold suggestion.
Can we use an AST parser for Arithmetic Combinators?
It would be super-nice to write the whole expressions like this:
(where signal_EACH & signal_L use respective icons)
Can we use an AST parser for Arithmetic Combinators?
It would be super-nice to write the whole expressions like this:
Code: Select all
signal_EACH*2 - 3*signal_L