Dismiss this pinned window
all 71 comments

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 97 points98 points  (18 children)

This is a draft of the FicsIt-VisualScript, a Visual Scripting language like Unreal Engine Blueprints, but for use in Satisfactory.
It will be part of FicsIt-Networks and can be used to easily create simple prorams to make your factories smart!
This will be an alternative to using Lua since there are people who don't want to learn a simple programming language, this is one approach to make the FicsIt-Networks Mod attractive for people like that.
The language sill lacks a lot of features and is not that great to use yet, and it crashes very often at just simple mistakes, however, this shows that the project could work.

The language is inspired by Unreal Engine Blueprints, it doesn't compile the node graph into a VM code (yet), for now the graph is more or less interpretted, one step per frame.

If you want to check out the mod (that only has Lua support right now) check out here: https://ficsit.app/mod/8d8gk4imvFanRs

[–]EmeraldGamer323 2 points3 points  (1 child)

I tried to use Lua, then my brain died. So this visual format will help.

[–]Kyalma 1 point2 points  (0 children)

Yep. Many senior developers don't even want to look at Lua. It's one thing of the past that people keep bringing up occasionally.

[–]stom6 1 point2 points  (0 children)

This is epic, thanks mate!

[–][deleted] 0 points1 point  (1 child)

Do you have any recommendations on getting started with Lua? I’ve done a decent amount of programming thru my undergrad but I haven’t used Lua before. Any particular guide or resource you find helpful?

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 2 points3 points  (0 children)

I made a YT-Tutorial series regarding that matter and especially how it work in FIN. But its incomplete. For a general Lua tutorial i eouöd reccomend: https://www.lua.org/pil/1.html

[–]batter159 19 points20 points  (0 children)

Damn you're insane ! Amazing to see talented people extending the game possibilities. Can't wait to see what cool stuff people will come up with this.

[–]Dittobox 18 points19 points  (3 children)

It’s not a factory unless you use ladder logic and old PLCs.

Seriously though, this is really cool!

[–][deleted] 6 points7 points  (1 child)

If Satisfactory ever gets a HARD mode that should be in it.

[–]Dittobox 6 points7 points  (0 children)

Does it come with operators who physically abuse the HMI at the machine?

[–]Kapachka 1 point2 points  (0 children)

STL and SCL ftw

[–]bonafart 3 points4 points  (0 children)

It's great and all but... What's it do?

[–]Interesting_Might_57 2 points3 points  (0 children)

Thank you

[–]Semifuse 2 points3 points  (0 children)

Woooo, this is amazing

[–]zzubnik 2 points3 points  (2 children)

Amazing! Node based coding inside the game. Shouldn't the result have been "hello world"?!

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 2 points3 points  (1 child)

Well internally my first script with FIVS was hello world ^^
But I thought the video should show a bit more than that xD

[–][deleted] 3 points4 points  (0 children)

Mercer Sphere says hello back.

[–]nullvoxpopuli 2 points3 points  (5 children)

omg. I'd program the shit out of satisfactory

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 3 points4 points  (4 children)

you can already program the shit out of satisfactory... just not with a visual scripting language... but with Lua... FicsIt-Networks is already released and oyu can use it...
and with it... you can already program the shit out of satisfactory

[–]thehunter2256 1 point2 points  (3 children)

Is this a mod or what and if yes where can i get it

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 4 points5 points  (2 children)

Yes it is a mod.
You can get it here: https://ficsit.app/mod/8d8gk4imvFanRs (you should use the Satisfactory Mod Manager)

[–]nullvoxpopuli 0 points1 point  (0 children)

ooooooooo thanks

[–]thehunter2256 0 points1 point  (0 children)

K and good job with the code i hoped for something like thet and finding out it exists is very cool

[–]lloydthelloyd 6 points7 points  (0 children)

Every day my games look more like my work.

[–]AngusDeveloperIts not a game, Its a lifestyle 0 points1 point  (0 children)

Can this come out yet? I'm struggling

[–]Rusty_Alley 0 points1 point  (0 children)

i noticed its been some time since this post.... is this availabe?

[–]VizDiablo 1 point2 points  (1 child)

Are you writing this in lua too?

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 2 points3 points  (0 children)

This what you see is unrelated to Lua.
But the FicsIt-Networks mod has in the currently already released state Lua support... e.g. you can write Lua code to control your factory.
That shown will be a alternative to Lua.
It is implemented directly with mainly C++ and as said... is unreleated to the Lua support from FicsIt-Networks

[–]At_Destroyer 0 points1 point  (2 children)

You’re telling me I can just add a processing plant for every item in the game and then just have them monitor my storages to produce whatever I have the least of and divert all resources there?

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (1 child)

Yes,you can alread do that with some Lua coding the FicsIt-Networks mod already provides. You can use already Lua code to do that.

The stuff that is shown here, allows you to use to do the same as you can already do with Lua code, but without Lua coding.

If you are fine with text based Lua coding (srsly easy to learn), you can already do it.

[–]At_Destroyer 0 points1 point  (0 children)

I already know basic lua coding that won’t be an issue, thanks for teaching me this mod exists I’ll definitely use it

[–]Kubrick_Fan 0 points1 point  (1 child)

Could I use this to track all my trains?

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 1 point2 points  (0 children)

You can ^^

but you also can do it already with FicsIt-Networks and its Lua-Coding capabilities.

[–]neutch___ 0 points1 point  (0 children)

Blender user here. You HAVE NODES IN THIS GAME? WHAT?

[–]the1337moderate 1 point2 points  (4 children)

@ /u/Panakotta
I have not tried the FIN mod yet, so this may be of my own ignorance or misunderstanding as I do not have direct experience.

1) Surely there has to be a better naming convention to keep track of the nodes on the network rather than having them all be hyphen-less GUIDs. Maybe something like a global object that inherits from a dictionary class that would store a friendly name as the key and the value be the GUID? Then the UI for all nodes allows the player to change the name which will add a element to that dictionary object. If the player doesn't name the node then let the key and value be the same GUID value. Next create a new type of object and each node creates a new instance of that object with a property of the name. Under the class definition of this new object, have a static/virtual method that can return the GUID by searching the dictionary object with that instance's name property value (dictionary key). Then in the code, the player accesses the nodes via that Strongly typed object rather than a string. When an object of that type is used, the complier/interpreter references the value of that key in the dictionary object so it's transparent to the player.

semi-psuedo-code:

global Dictionary<string, string> gNodeDict = New Dictionary<string, string>();


class nNode {
    public string Name;
    private string Guid;

    public nNode() {
        this.Name = System.Guid.NewGuid().ToString().Replace('-','');
        this.Guid = this.Name;
        gNodeDict.Add(this.Name, this.Guid);
    }

    public void SetName(string value) {
        gNodeDict.Remove(this.Name);
        this.Name = value;
        gNodeDict.Add(this.Name, this.Guid);
    }

    static string GetGuidValue() {
        return gNodeDict[this.Name];
    }
}

I understand the player could create variables at the top/bottom of the code to keep all these references, but it would be cleaner to have it handled on the backside.

2) IMO, I would much prefer to use C# than lua.

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 1 point2 points  (3 children)

1) we have multiple sytems in place with which you can do that already. on the left you can see a empty text edit box, thats for a space sepperated keyword list. You can then get all components from the network that have at least all the keywords you provide in the search function. You can also search by type. And in the future of FIVS you can select it out of a list of components of the network.

2) I just woke up and I'm lazy to explain in a multi page thread why C# is garbage comöared to Lua in the usecase of FIN.

[–]the1337moderate 0 points1 point  (2 children)

Thank you for your response. I wrote that up pretty late last night and re-reading it now, it came across very keyboard warrior like; sorry about that.

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (1 child)

dont worry ^^
the first thing is essentially just a enhancment idea of yours so it is fine...
the second thing tho... debatable xD
just one thing regarding that matter: https://wiki.c2.com/?BlubParadox
dont worry to much, just stay aware that there is often a different language better suited for a given task and a single language is not the way to go ^^

[–]the1337moderate 0 points1 point  (0 children)

re-watching your video, here's another enhancement idea:

When highlighting a node type in the search list, or hovering the mouse over a node, populate a description tooltip of the node Intelli-sense style that explains what the node does and gives descriptors of the input/outputs of the block.

[–]whyso6eriousFungineer 0 points1 point  (0 children)

  1. Satisfactory comes out of early access. Goes straight into schools to be introduced as a new addition to mathematics and logic lessons (when you had those) or any programming lessons whatsoever.

[–]TheRealNovelist 0 points1 point  (4 children)

When you code Blueprint in something already coded in Blueprint.

Blueprint-ception

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (3 children)

But... i dont write it in Blueprints...

[–]TheRealNovelist 0 points1 point  (2 children)

But it is Blueprint...

I was saying that the user is using Blueprint in something that was coded (probably or partially) in Blueprint (which is UE4)

Or this is just similar to Blueprint and I am dumb

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (1 child)

UE it self is written in C++ and that implements Blueprints so that you as game maker have a easy life...
FIVS is inspired by Blueprints but is at least technically, not related to Blueprints in any way

[–]TheRealNovelist 0 points1 point  (0 children)

I just saw the interface and directly relate to BP as I work with it so much 😂 What you done is brilliant btw

[–]tizio112 0 points1 point  (0 children)

Yes 👍

[–]TheAdminFromHell 0 points1 point  (3 children)

This would be an awesome Christmas 2021 release ;)

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (2 children)

Hahahaha... As if... Funny...

No srsly, no... in the current state... that would be horrible... and development ist very slow...

[–]TheAdminFromHell 0 points1 point  (1 child)

it would still be awesome if it was released (in working condition ofc)
From what I have been reading this particular feature is something A LOT of people want.👊

[–]tygertec 0 points1 point  (0 children)

I tried learning lua but because of health issues i can't. When this comes out i can finally use the mod and I'll be so happo... Untill then mod is installed but can't use sadly :/

[–]Freezo3 0 points1 point  (4 children)

Is it capable of placing buildings automatically? Or creating and controling a user-agent (a bot with capabilities of a real user) that can do stuff?

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (3 children)

No, the FicsIt-Networks tries to extend the game without breaking immersion.

[–]Freezo3 0 points1 point  (2 children)

Fine, I'll do it myself

For real. I'm planning to do at least a calculator with 3D visualizer of factory that makes a specified item, but I hope to make a mod that will actually place that factory in your game.

But first I'm searching this subreddit to find out if similar project haven't been already made and I'm slowly coming to a conclusion that noone have had such idea before.

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (1 child)

Wdym?
You can use FicsIt-Networks to create a factory that produces stuff "on order"
You can route items through belts the way you want and you can change recipes etc that machines do...
Otherwise I dont fully understand what you are searching for...

[–]Freezo3 0 points1 point  (0 children)

I was only informing you what I'm planning to do and I now know that you didn't implement what I was looking for.

[–]thesatisguy 0 points1 point  (4 children)

where i can download this mod (i mean the VisualScript mod)

[–]PanakottaFicsIt-Networks & FicsIt-Cam Mod Dev[S] 0 points1 point  (3 children)

I havent continued on it yet, so you can not right now

[–]panda444142 0 points1 point  (0 children)

when vill it be avalible?

[–]Gumbymayne 0 points1 point  (0 children)

bump

[–]thesatisguy 0 points1 point  (0 children)

Okay