playMaker

Author Topic: Why Playmaker and not Bolt  (Read 54391 times)

netlander

  • Playmaker Newbie
  • *
  • Posts: 13
Re: Why Playmaker and not Bolt
« Reply #15 on: July 29, 2018, 04:59:41 AM »
Very biased replies above.

After having used Playmaker for a while I moved to Bolt and never looked back, here are my reasons:
  • One to one mapping with Unity APIs (helps you understand the ins and outs of Unity without any weird abstractions).
  • Feels less cluncky and more responsive
  • Ease of nesting Units
  • Better performance
  • Looks much better than the outdated PM UI
  • Fewer bugs (in my experience)
  • Fast growing community
  • Could go on... May be later (in middle of breakfast right now).

Here's a comparison chart: https://support.ludiq.io/knowledge-bases/4/articles/222-compare-visual-scripting-tools-for-unity

Fat Pug Studio

  • Beta Group
  • Hero Member
  • *
  • Posts: 1294
    • Fat Pug Studio
Re: Why Playmaker and not Bolt
« Reply #16 on: July 29, 2018, 06:52:52 AM »
While we're at it, i could recommend one (actually two) solution that encompasses the best of both worlds, it's FlowCanvas + NodeCanvas. FlowCanvas is a typical visual scripting solution like Bolt (but i like it better, personal preference) fully integratable with NodeCanvas, which is a solution similar to Playmaker, state machines, actions, etc.

Never had the time to delve deeper though.
Available for Playmaker work

netlander

  • Playmaker Newbie
  • *
  • Posts: 13
Re: Why Playmaker and not Bolt
« Reply #17 on: July 29, 2018, 07:29:47 AM »
Yes I have looked at both (and the possibility of using them in tandem) but they just didn't have the kind of clear documentation that Bolt has at the moment (can't comment on anything else as I have not used them).

For me Bolt seem to have hit the sweet spot in terms of clear direction, ease to reason about, good visuals, responsiveness, flexibility, etc...
« Last Edit: July 29, 2018, 09:01:27 AM by netlander »

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: Why Playmaker and not Bolt
« Reply #18 on: July 30, 2018, 05:54:15 AM »
Very biased replies above.

After having used Playmaker for a while I moved to Bolt and never looked back, here are my reasons:
  • One to one mapping with Unity APIs (helps you understand the ins and outs of Unity without any weird abstractions).
  • Feels less cluncky and more responsive
  • Ease of nesting Units
  • Better performance
  • Looks much better than the outdated PM UI
  • Fewer bugs (in my experience)
  • Fast growing community
  • Could go on... May be later (in middle of breakfast right now).

Here's a comparison chart: https://support.ludiq.io/knowledge-bases/4/articles/222-compare-visual-scripting-tools-for-unity

Hi,

Yes, it's ok to prefer one tool over the other, that's the great thing about the Asset store.

 Do you have some benchmark for performances? I'd be interested in checking them out and possibly see where the performances differences are. What's important to understand with PlayMaker is that it doesn't use Reflection which is always impacting performances, but instead uses plain scripted actions, which means that de facto, performances are in theory better.

Not that PlayMaker do offer some Reflection when you are using SetProperty, GetProperty, or CallMethod, and it's not recommanded to use them unless you have no other options and you don't know how to code ( you can alwasy ping me if you need a custom action, I'll happily provide)

For example, one could try as an exercice to reverse engineer in Bolt the 2d platformer demo that I reversed engineered in PlayMaker, and then we would have a very good base for benchmark. I did extensive testing for that project and the footprint in memory is 1Mb ( size of the PlayMaker FSM dll) and 1 to 3/4 fps in the worse  scenarios ( webgl) compared to the original scripted version.

you can see all the results of the benchmark below:

https://github.com/jeanfabre/PlayMaker--UnityLearn--2dPlatformer

 Bye,

 Jean

« Last Edit: July 30, 2018, 06:17:51 AM by jeanfabre »

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 7614
    • jinxtergames
Re: Why Playmaker and not Bolt
« Reply #19 on: July 30, 2018, 06:45:21 AM »
Hi.
I would also like to see a version from the Unity 2D Platformer Demo, as i don't think  that the performance will be worse than any of the other 'State Machine' visual scripting tools.

Also that comparison chart does not come from a independent party.
Which means that it is not reliable.

miguelfanclub

  • Full Member
  • ***
  • Posts: 165
Re: Why Playmaker and not Bolt
« Reply #20 on: August 08, 2018, 06:53:54 AM »
Performance is the reason I just downloaded bolt yesterday.
Playmaker is really slow, no matter computer. Timmings to just press play and wait until it finish is ridiculous on a mid size project.

Just having playmaker editor window on, is slowing down unity (slecting obejcts in hierachy etc)

On later versions just sleceting and fsm need like 2 seconds to show the nodes.

Im not talking about performance after you build (that is really good) but while editing your project.

« Last Edit: August 08, 2018, 06:58:17 AM by miguelfanclub »

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 7614
    • jinxtergames
Re: Why Playmaker and not Bolt
« Reply #21 on: August 08, 2018, 09:48:30 PM »
Hi.
@miguelfanclub
There are several prefferences that you can turn on/off to improve the performance

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 770
Re: Why Playmaker and not Bolt
« Reply #22 on: August 09, 2018, 05:43:52 AM »
Hi,

User Friendly is difficult to assess if you haven't actually used the assets. PlayMaker is going to get the job done far quicker than any other visual scripting for a very good reason, it is not a visual scripting tool ! ... :)

There is a huge misunderstanding with this, PlayMaker is first and foremost a Finite State Machine, and the thinking process is totally different than scripting ( visual or not), so with PlayMaker you never take a line of code and turn it visual as such, you need to understand what it does and think about how to do it from a finite State Machine point of view, it's a paradigm shift in design patterns.

The visual aspect comes from wiring together the states and Finite State Machines components on each GameObjects. That's all.

Also, PlayMaker actions are not just wrappers for each Unity Api function, or property, it provides a lot more and as such makes production a lot faster as a result, typically, to move an object, you are presented with a lot of options, all combined intuitively in one action.

It all comes down to testing them solution for real, Unfortunatly it means purchasing it, hopefully one day, PlayMaker will be offering a trial version.

Bolt will likely resonnate big in Unity Community, it is indeed very well executed, they currently are both the top grossing asset, which tells a lot about the need for Visual Scripting inside the Unity community. So here it will really be a question of feeling, I think both are totally viable solution, but as Kurt mentionned, PlayMaker is battle tested and has been around for 6 years now, HutongGames is also aggressivly investing back your money into support to make sure you are not left on your own for learning. Basically, PlayMaker is here to stay, new tools come and go, some make it, some simply fade off after a year or two. It doesn't look like bolt is going that way tho, proper effort seem to go for this tool and it's good.

The other thing to be aware of is that Unity is likely going to come up one way or the other with its own visual scripting, and I know why they haven't committed yet, because they are facing a very difficult choice:

either you use an all around solution like Bolt and Kismet ( visual scripting for unReal Engine), but you rely on either code reflection which is bad for perfs or generated code, which sucks and also has perfs impact and limitations, or you go the PlayMaker way, where each api is wrapped around a regular script, and you leave the visual aspect for handling the high level communication between these actions. The downside is that you need to constantly support new api and new features for non coders ( PlayMaker has reflection in some actions to let you access new stuff, but it;'s generally not recommended, ask us for a custom action instead).

Remember that PlayMaker visual scripting tools is not just for non coders. I can do everything by code, yet I use PlayMaker for 100% of my personal project and client's project, because I am faster with it then with pure scripting, I verify this everyday... It's quicker to write a custom action and reuse it over and over in various projects than writing the same lines of code many times and end up with duplicates of the same features in every projects of yours... PlayMaker helps with this tremendously.

Bottom Line, there is a chance Unity will come up with its own solution and its likely to look more like Bolt than Unity, because it's less risky for the market and a direct competitor for Kismet. PlayMaker is on a league of its own.

PlayMaker helps both world, you are non coder, fine, you are a code fine... with bolt, I don't see any coder getting into this because it's a one to one relation with regular scripting. PlayMaker brings on the table far more. I was at Unite last month, and the remarkable feedback that we got was that many developers would just stop by and thank PlayMaker for having helped us make it in the industry, they started without coding experience, then slowly started getting into scripting because it's not that hard and you start by writing simple custom actions, and after a while, you end up using PlayMaker and scripting combined and you litteraly reach the sweat spot, being totally empowered to do anything you want with Unity: fast and fun.

There is also the Ecosystem browser, which is a convenient In Editor browser for custom actions hosted online on various github repositories, giving you access to thousands of custom actions, samples and packages.

Bye,

Jean

Hi!
That's a hot topic I had with some friends and workers. Playmaker is an insanely good tool. It's a god send.
Now, in my opinion, Playmaker is definitely unique but to me it still is a VST. Just one of a kind, a cleverly disguised one.
We talked about that a lot and even I had to read many versus threads to get the hang out of PM before going into it.

A Playmaker dev uses actions that can be dragged into the graph view and they behave like function blocks. However the trick is that the block is in fact a state, yes, and can host more actions, contrary to a VST's block which will not.
Depending on one's needs for clarity, one may add more or less actions within a single state. However, a VST can easily emulate the finite state machine idea by grouping such blocks, which mimics the way PM works.
PM's actions are fairly rich and save time by avoiding having to build "methods" one block at a time, although this would logically be solved in a VST by providing plenty of templates for, say, translation, rotation, zoom, typing strings, collision tests, etc., alongside the initial list of function blocks.
In PM, states really are easily handled groups within which a user doesn't have to do the circuiting.
Although a VST tends to natively have an autoconvert ability, one that was only added recently in Playmaker (1.9).

A VST will also make vars easily read straight from the graph, while in PM it requires going in the graph view inspector, which is slower, or expand the FSM component on the game object, which thanks to Unity's way of collapsing and expanding components, really becomes a chore.
I suppose that something like expandable floating windows inside the graph view, ontop the states' visual layer on Z but next to them on X and Y, would partially remedy this. It may need to be independent of the debug option too...

The inputs and outputs of FsmVars are not visually represented by links that enter and exit states in PM; one doesn't need to link input and output nodes. It is both a strength and a weakness of PM. It's faster somehow but adds a layer of occultism (lol).
Also, a VST "script" is a more complicated "circuit board" than in Playmaker because PM allows only one path at a time within a FSM whereas a VST will allow multiples flows within a single graph. This adds lots of clarity if one cares about state vision but it also means one has to create multiple FSMs on a single object running in parallel, which makes the reading of the whole thing quite complicated if these FSMs have to exchange values and keep an eye on each other and, for example, wait for another FSM to do X before continuing.
And Unity isn't really designed and built to have multiple copies of the same type of component on a single object so PM somehow has to circumvent that and creating one game object, child or not, per FSM isn't exactly the most elegant thing to do either; nor does it solve the problem of lack of clarity of communication between FSMs.

I wonder if another new window function that would be more VST-ish should be introduced to Playmaker, maybe. One that would precisely allow the user to monitor several FSMs at once and by simple sight alone, if not all of them; that would be some kind of meta-FSM which would add a veneer of VST clarity and fluidify.
Because PM already acts like a meta-VST in the way states act like groups, but oddly enough fails short of offering a clean way to monitor multiple flows at once between several FSMs that are inter-dependent.

As for the topic per se, Bolt has a cute and coloured interface. It's pretty and full of shiny lights, very well detailed and rather robust for what it does, but it's way too young atm to provide a strong alternative to PM. Although with the advertising it gets from Unity, I'm sure it won't take more than two years for the most important publishing add-ons to flock to Bolt too (iOS, Android, Switch, VR, AR, major advertising SDKs, etc.).
There's more backing behind Bolt than there was behind uScript (which was promising) or that even more obscure Antares tool. Unity has also matured a lot in their PR so this will help too.

One thing that needs to be compared too is the final weight of the build. PM is a bit fat on that side of things, I don't know how much space Bolt takes inside a build, where it still matters on mobiles where the market can only expand in low tier economical countries now, places with cheap and midrange devices relying on not so advanced GSM networks, where sometimes even owning a credit card isn't a given.

It's also totally true that PM really encourages you to give a look at simple coding first; it lowers the fear effect of entering it but you can still bypass the coding entirely as Ecosystem gets bigger and bigger and the community content is quite huge now. It's really that cool and yes, whilst coders will just scoff at VS, they tend to be easily tempted to integrate PM into some projects.

Talking about MONEY ------ I wouldn't mind if for the next very big and clean update, like Playmaker 2, said update would be paid (at a reduced price for owners of PM).
You provide all your updates for free and that's great but it's also a bit worrying when wondering if this business model solely based on the initial paywall works on the long term.

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 770
Re: Why Playmaker and not Bolt
« Reply #23 on: August 09, 2018, 05:51:44 AM »
4-In bolt , there is this thing called "super Unit" which essentially mimics a function call, which you can assign input/output to . it substancially helps you not to repeat your code , which unfortunately playmaker cant do .

Sounds like Run FSM.
Although Run FSM still feels really rough. I think a lot of improvements for future PM versions would need to focus on making FSM templates easier and clearer to use, especially on reading what happens inside an instantiated FSM at runtime; including its own vars (I haven't moved to 1.9 tho so perhaps there's been improvement on that side?).

Quote
5-In bolt , there is saved variables , which makes process of saving very easy.

Is it a form of serialization?

Quote
8- i never understood what they mean by "Native Feel " !?

Don't they use Unity's own graph view system, the one introduced with Mecanim?

Quote
9- In Bolt , there is a window for variables , one for input/output.where the hell should i dock all that ?!

I think that as a supplementary functionality (if it is), it's a good thing.
As for the docking, some devs work with very large screens or two of them so they move the kind of non-visual windows to the side or the second screen.

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 770
Re: Why Playmaker and not Bolt
« Reply #24 on: August 09, 2018, 06:05:08 AM »
Hi.
@miguelfanclub
There are several prefferences that you can turn on/off to improve the performance

On that, I can confirm. A lot of the error checking and debugging really makes PM slow so if you're more in the WYSIWYG phase of your project, just deactivate all the stuff.

OH, IDEA!

Why not also create a function to save and load such setups instead of having to do it manually every time? It would also come with a list of three or four typical "modes" too, on top of which the user could create new modes.
A bit like the Layout Settings menu, see?

Fat Pug Studio

  • Beta Group
  • Hero Member
  • *
  • Posts: 1294
    • Fat Pug Studio
Re: Why Playmaker and not Bolt
« Reply #25 on: August 09, 2018, 08:34:33 AM »
Great posts, Broken Stylus. Nice idea for setups, or at least one button to toggle all debugging/error checking would be neat :)

I have few more cents to add.

I tried Bolt, and while i personally don't like it, i believe you can work pretty fast in it (probably as fast as in PM) when you set up some macros and units. But the thing is, community is still so small that there is going to take years to surpass Playmaker in terms of what you get out of the box.

But the main difference between these two solutions remains, Bolt is visual scripting tool, and Playmaker is...well, Playmaker.

While there should be no competition between these two because they're completely different tools, it does exist and that is a good thing. I must admit that i had a feeling like PM devs were a bit (deservingly) resting on laurels until Bolt appeared and got shoved in our faces. Now i can clearly see the future of it and some exciting new things like native tweening and pooling are happening, paving the path for a complete game-making solution without any flaws.
Available for Playmaker work

Broken Stylus

  • Beta Group
  • Hero Member
  • *
  • Posts: 770
Re: Why Playmaker and not Bolt
« Reply #26 on: August 09, 2018, 11:47:06 AM »
I suppose that if one were to introduce a var browser, alongside a search function, a replace tool would be extremely useful.
It would let you do the search in the current state, the current FSM, current gameObject (if it has multiple FSMs), the current scene or all scenes.
You could target normal gameObjects or prefabs/instances too for the search.

As for vars, it would allow swapping all uses of a given var with another var of the same type.
Cherry on top: you could replace references to gameObjects with dynamic fields where you're invited to select a var instead.
For example, you have plenty of actions that refer to a specific gameObject in your scene, but after a change of mind you want those references to actually use a FsmGameObject var instead.

The replace tool would allow you to parse all fields and vars one by one or replace all refs or vars at once.

robmuzz

  • Playmaker Newbie
  • *
  • Posts: 18
Re: Why Playmaker and not Bolt
« Reply #27 on: August 31, 2018, 08:48:57 PM »
As a complete non-scripter who was looking to make something with Unity, I got Playmaker and loved the way (eventually,) make objects move and even strung together 1000s of "Test" scenes.

I found getting help quite hard because I would ask something really simple and people roll their eyes (in text form.)

I got Bolt as a last resort and have totally fallen in love.

An example:

I wanted to do something REALLY simple. Put "Hello World!" on screen.
In playmaker you need prefabs and proxies and stuff.

In Bolt you just use the Unity uGui as it is.

Sorry Playmaker, I'll be back if you ever get a system that isn't to fragmented and hard (for stupid people like me,) to understand.
« Last Edit: August 31, 2018, 08:50:38 PM by robmuzz »

djaydino

  • Administrator
  • Hero Member
  • *****
  • Posts: 7614
    • jinxtergames
Re: Why Playmaker and not Bolt
« Reply #28 on: August 31, 2018, 11:22:05 PM »
Hi.
@robmuzz

Quote
I found getting help quite hard because I would ask something really simple and people roll their eyes (in text form.)
I check your history if we might have missed your questions or someone 'rolled their eyes'
But from what i see on the forum i can see that almost all your questions where answered (without any eyes rolling)
The only one i could find is "1.8 beta array basic questions."

Quote
In playmaker you need prefabs and proxies and stuff.
Since PlayMaker 1.8.5 (i believe it was on that version) ui actions where included in the standard actions.

I am not saying that bold is better or not.
But it is unfair to say that getting help quite hard is, as we always do our best to answer question to everyone (without 'rolling our eyes')

Fat Pug Studio

  • Beta Group
  • Hero Member
  • *
  • Posts: 1294
    • Fat Pug Studio
Re: Why Playmaker and not Bolt
« Reply #29 on: September 01, 2018, 06:32:17 AM »
Yeah, if anyone helped and had understanding with all my stupid questions, it was this forum, which i'm paying back by patiently answering to everything i know, no matter how simple or ridiculous the problem may be, and most of the other members do the same.

To be honest, most of your questions were of a very broad scope and generally it seems to me that you think Playmaker is some sort of magic box that will do everything for you without Unity and OOP knowledge, which is not the case. Playmaker is just a toolbox, if you don't know how to do something you imagined with all those youtube tutorials, scripting API's, previous forum questions, you can't really expect someone to hold your hand and guide from beginning to start.

That said, Bolt is a true visual scripting tool which demands of you a thorough knowledge of scripting and Unity API, you just don't need to write code, so i don't get how do you find it better.
Available for Playmaker work