FSM, Finite state Machine in hype

09

2 Likes

Yes and no. For now I was thinking more along the lines of the existing triggers and their actions. These are currently all in panel tabs per item (sometimes even in a nested fashion) and only visible one at the time. Same reason I requested some screens I can’t make a exploration myself. Thank you for the visualization!

(I don’t have much to specifically add, but just wanted to say I’ve been following with interest)

Here are some ideas for a Trello like board showing all actions …

Legend

This idea is completely optional to an overview making command stacks savable and reusable.

Another nice idea would be to convert command stacks into a function (one way operation). This way one would see how a command stack actually is comprised when using the API to achieve it.

1 Like

This is an alternative to the plain trello board displaying the commands inline in the board overview instead of only the triggers (with an additional click to reveal the actual commands).

This view is inspired by Scratch command brackets. If each command as a block is to different from the regular display in the known panels on could just put the known panel into a bracket (as a whole).

A possible mock-up on the integration into the GUI of the Hype-App.

So to come back to flow based programming. As this „Trello board“ like concept is a bit different … one could even enable a flow connector mode on the Trello board to see how signals and commands flow. Scene commands and custom behavior sender/receiver can produce lines if one wants:

2 Likes

@MaxZieb nice job

I’m following the discussion with interest but I didn’t understand much.
This reminds me the Quartz Composer programming and some 3D max plugins for special effects. The visual approach is intuitive but I don’t understand what it give more than the logic of timelines.Did I miss something?

Yes, quartz composer is a flow based editor but this isn’t really (putting some flow lines on the panel is a total optional idea, but possible). It’s more of an aggregate overview of the actions and commands used in your project. It’s also not free flowing as flow based editors, as position means something here. Horizontal positioning is used to differentiate scenes, symbols etc. and vertical positioning is used to list stuff in one of these groupings (like elements).

To address the why: if a project becomes bigger you start attaching clicks handler and other stuff into nested structures. You are in a way creating interactions all over the place and it is easy to lose oversight. Specially when things start to get nested over multiple scenes. You’d have to remember every element that got code in it and click your way there and then click through to the corresponding panels to find the spot where the interactivity is setup up (handlers, listeners).

This is meant as an optional and progressive way to accomplish that. With progressive, I mean it’s like “Edit Head-HTML”, a button that opens this optionally and this view and doesn’t “overload” the interface from the get go. You can totally not use it in a simple project… but when your project gets big and complex, you have to review it for someone or haven’t opened it in a while it will be a marvelous way to see what’s going on in that file.

If I’d implement it I’d probably first make it an overview with backlinks to the corresponding panels. Further edit possibilities (some outlined in the drawings above, like in-place editing on that screen) would be added later if there would be a demand. The overview aspect of it and the backlinks are the core functionality to start with, from my perspective.

It’s interesting how quartz composer solved the wiring issue when wires cross a panel. Wires are always in the back and the panels are actually slightly transparent so you can see wires crossing panels in the background. As said wiring is not the main goal here but could be done with scene transition commands and custom behavior calls.

As seen in this screenshot panels are free form and arranging them is up to the user. That would be different in the “Trello board” like overview.

now I’m on the right track, thanks.
I think this would be a good alterantive to build a scene with the basics; but a complex project will always be too complex to understand even with the graphic structure.

but I agree that the graphic tree is useful, maybe faster than the timeline, but I wonder if the effort (you did some good examples) makes sense in Hype.
I remember some work in 3dStudio max for particle systems, it was a nightmare to connect the function to only some elements in large projects with a complex relationship between elements.

I think your still slightly over complicating the board. It actually lists the stuff you got on the panels anyways. Nothing more nothing less :wink:

It’s just a birds eye view of these settings. :bird:

Even if I outlined some future possibilities and the graphics of quartz composer certainly doesn’t help. I tried to bring it back in the last reply to the core idea of oversight.

1 Like

To the point that complex projects will always be complex projects. That is entirely true. But it can become “less” complex.

The other thing is that a complexity is one thing. Hidden complexity is an entirely different beast. If you actual aren’t aware of some function you attached to a element nested three groups deep you easily forget about it. #BringingItBackToOversight

So the first version with only listing the triggers (if they are set) and backlinks to the panels in the current UI would be the baseline.

1 Like

It is a very good idea and we are little clearer. we have to continue talking to clear for the most complex ways.

The only doubts I have .. These physics and animation and many more are within these modules ... and if a developed create a new script and where ?.

I would like you to do layout in Tumult hype as I do to understand much better than your lyrics ha ha ha.

I use it a lot with Playmaker is a unity FSM. It is very powerful and complete to do any interactive projects and videogames.

I can’t do it as I am on the road. But the idea for the overview doesn’t include fine grained conditional programming as it only surfaces current functionality … as the panels are plain call stacks in Hype (command stacks). You can find their functional depth in any current element panel or the document panel. More complex things are reserved for Hype functions. I suggested in a previous post in this thread that a function to convert a call stack to a function would be great to get started with programming for people on the verge of hitting the limits of plain call stacks

I can certainly say that having better overview modes for Hype like what you sketched out would benefit me the most :blush:.

I just watched a tutorial for this. It is interesting; I'm not sure Hype would go for this model but there are good ideas in regards to states that might apply.

2 Likes

Okay I’ll keep pushing for this :slight_smile:

2 Likes

me too, sure we’re going to get it hupiii

MaxZieb, Then I upload it hype you’ve done scratch sketch

I would like that Hype had something in the realms of this.

Like being able to see functions/ behaviours relationships

5 Likes

That would be a start*! The full document view would be even better! :wink:

*although putting it there still doesn’t solve nested hidden functionality

Update: but @MarkHunte sketch shows that this visual flowview/overview could be used on multiple locations once implemented. In an document overview but also with limited scope on individual scenes and on the panel command themselves (as sketched by mark). :+1:

1 Like

nice, we begin to see a logic in this

guys, this thing is becoming the summer’s hit! I’m thinking about it too

2 Likes