Jump to content
reepblue

Improvement in Flowgraph editor

Recommended Posts

After seeing how popular my status was about the removed/broken argument feature, I decided to make a topic discussing the matter.

 

1) Use of Arguments

 

The Flowgraph editor is a simple, and visual way to connect entities logic to another which is pretty much straight forward as Entity1out -> Entity2in. (It kind of reminded me of Source's I/O system). The issue with the argument as a newer user to Leadwerks is although I got the "Point A to Point B" concept, the argument feature made me scratched my head, and I never got it working correctly. So I didn't use it.

 

A few months later, after learning more and more about the engine, I decided to take a wack at it as I really wanted to use it to make my scripts more reusable. However, when I went to do so, I noticed that the feature was gone.

 

So YES, the argument feature although useful, was not as clear as the simple connections. I think a linear path to add values onto an input function would be better Such as:

 

Entity1out(OutValue) -> Entity2in(InValue)

 

What I had in mind is a another argument for component:CallOutputs().

 

Script.Value=0 --float "Value"
function Script:OutValue()
self.component:CallOutputs("Add", self.Value)
end

 

Then in Entity2:

 

function Script:AddValue(newval)--in
if val ~= nil then
currentval=currentval+newval
end
end

 

If the input does not take any arguments, but one is outputted, it would get ignored. and the simple CallOutputs function should still work,

 

2) Zooming

 

It is very easy to get lost in the editor. While using it, I keep thinking I can zoom in and out like I can in the 2D viewports so I can see more of my nodes working, or zoom in the ones I'm working on.

 

And finally..

 

3) A Button

 

As I said before, I feel the Flowgraph editor is not in your face as the other features of the editor. It's tucked away under the menu bar, and with the current issues above, it feels like a tack on then a feature/tool.

 

As I don't think that this should turn into a UE4 Blueprint clone, but with a few tweaks here and there, the Flowgraph editor can be more of a staple in level creation for Leadwerks. I think I speak for everyone when I say that we appreciate the hard work you're doing, and we're happy to see new features/tools added. But if there comes a time to revisit an older feature for refinement, I think it should be Flowgraph editor next time.

Share this post


Link to post

Your first point breaks existing functionality or at least adds a secondary method of doing things, which I am fundamentally opposed to. Good design is generally having one correct well-documented way of doing things.

 

The second point will probably come in time, but is pretty minor.

 

There's already a toolbar button for this.

 

So while I get your general sense of wanting this feature to do more, I don't think you have a very strong idea of what you want in this case. I take this to mean we can expand on this feature in the future, but it's probably going to be up to me to design something new and useful.

Share this post


Link to post

I just wrote this up real quick to get ideas out so no, what I said will most likely not work/be logical. I just wanted to get some ideas out whether they are helpful or not. Do what you need to do to make it better, I'll be patiently waiting for the improvement.

 

Also, I looked in the editor again, and I don't see a Flowgraph button. The only way I see to access it is the Tools->Flowgraph, unless that's what you're talking about.

Share this post


Link to post

There is no need to revolutionise the Flowgraph. The concept is good as it is (and proven by numerous people using it). We just need a few small tweaks to turn it into a well polished tool for LE. I have already stated these before:

  1. Zooming: mouse wheel and keyboard shortcuts
  2. Scrollbars: can't stress enough how bad it gets after adding more than a dozen of entities.
  3. Scrolling with cursor keys
  4. Virtual entities: adding a script without the need for a visual place-holder
  5. Comments: if virtual entities are implemented then comments can be easily added
  6. Toolbar button
  7. Keeping connections when entities are updated
  8. Double clicking on a script in flowgraph should open the script editor with the source code

And that's about it. If this is added then the current concept will come full circle and become usable in a project where you have more than 2 door switches.

 

[Edit] Given the above can be implemented in less than an hour (maybe apart from 4 & 5) I'm willing to donate 50$ for an hour of your dev time biggrin.png

Share this post


Link to post

I dont use it as much as I should, the suggestions would be good especially zooming.

Share this post


Link to post

I agree with adding to the functionality of the flowgraph...

A toolbar button...

Scrolling and zooming...

Drag blocks around event with comment...

 

These would be a great start...

Plus, since the engine belongs to Josh, whatever ideas he has would be great...

Share this post


Link to post

We're getting away from it in our game because things are just getting to be too much and we can't organize it without features that promote organization. Connections are breaking when we update prefabs and it's just becoming too painful to deal with. I'm a big fan of flowgraphs but I'm of the mindset that if you're going to have one then go all the way with it. Sort of half committing to it is almost worse than not having it for anyone who has a decent sized game. Currently for small examples or demos it's fine but that's it.

 

The "connection" between node and entity should be a soft connection. Yes, this can bring run-time errors if an entity is removed but still referenced in a node but at least you don't force manual reconnections when things are updated. That's the biggest pain of them all. During game development entities get update constantly.

Share this post


Link to post

We're getting away from it in our game because things are just getting to be too much and we can't organize it without features that promote organization. Connections are breaking when we update prefabs and it's just becoming too painful to deal with.

That sucks. sad.png

 

I guess I'm paranoid and have had bad experiences so I use the Editor mostly as a file converter/adjuster. Almost all of the work is done in Visual Studio.

 

Makes me wonder if Hayden is using the Flowgraph at all.

Share this post


Link to post

Also, just looked at the Flowgraph and remembered another thing that would make it more streamlined: Double clicking on a script in flowgraph should open the script editor with the source code.

Share this post


Link to post

I found that the Flowgraph was really useful for setting up interactions between entities but it was almost impossible to organize everything after a certain point.

 

Makes me wonder if Hayden is using the Flowgraph at all.

 

I used the Flowgraph extensively in a game I made called the Biodome. I haven't used it in any other of my games though.

It was really useful because I remember I tried dragging and dropping entities into other entities script tabs before hand but once I had over 200 entities to scroll through it started to take a long time. The Flowgraph on the other hand was much more simple in this regard; until I loaded up the Flowgraph editor.

Here is a video of what my Flowgraph in The Biodome looks like -

 

It got pretty messy. I have mixed feelings about the Flowgraph editor; it makes script logic quite simple at first but the more you use it the harder it is to use.

Share this post


Link to post

Here is a video of what my Flowgraph in The Biodome looks like -

 

Jeez, so I have to ask, what's your alternative solution after dealing with that?

Share this post


Link to post

Well honestly the Flowgraph became so integrated into my game design that I just had to deal with the mess. The only real solution I have come up with is to separate my map into multiple maps so things won't get to cluttered.

Share this post


Link to post

In my opinion alot of the cluttered flow graphs can be solved with flow graph only script and and call outputs that can pass optional variables. You wouldn't need to use as many argument nodes, and if you pass the right data you can make certain nodes route data like a router.

Share this post


Link to post

I found that the Flowgraph was really useful for setting up interactions between entities but it was almost impossible to organize everything after a certain point.

 

 

 

I used the Flowgraph extensively in a game I made called the Biodome. I haven't used it in any other of my games though.

It was really useful because I remember I tried dragging and dropping entities into other entities script tabs before hand but once I had over 200 entities to scroll through it started to take a long time. The Flowgraph on the other hand was much more simple in this regard; until I loaded up the Flowgraph editor.

Here is a video of what my Flowgraph in The Biodome looks like -

 

It got pretty messy. I have mixed feelings about the Flowgraph editor; it makes script logic quite simple at first but the more you use it the harder it is to use.

Okay, so the underlying concern here is scalability. That's a lot better of a starting point than random small requests.

 

The additional arguments idea is an interesting one. I will have to experiment to see what works best, but I could see that being easier than dragging argument nodes around.

Share this post


Link to post

I used to use a flow graph that was pretty good with organizing the clutter. They called them portals. Just a different name for a call script function. Cleans up things pretty well. And as for the arguments. I would make it so that when you click on the argument node a dialog box would pop up for that one argument. In the dialog box you could set true or false, check variables or files, and call script. Maybe if you double clicked on the argument it would zoom you to the associated scripts with that argument.

post-570-0-78698300-1430523197_thumb.jpg

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...