Search Unity

Playmaker worth it for experienced programmers?

Discussion in 'General Discussion' started by pateras, Feb 13, 2013.

  1. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    I honestly don't think you're understanding what you're reading. I for one am utterly unsure of what you're thanking me for.
     
  2. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    4,369
    I'm saying that all your replies are just a lengthy explanation of what I've already said in my initial post that's why I don't understand what are you trying to prove... :rolleyes:
     
  3. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    If you say so...
     
  4. yourHost

    yourHost

    Joined:
    Nov 25, 2013
    Posts:
    38
    I bought Playmaker awhile back when it was on sale. I have to say that I've only used it a couple times, just to see what the fuss was all about. I've never used it or a complete project. I get how Playmaker can be helpful for somebody who has no, or very little coding knowledge, but for me with just over 2 years using Coding/Unity experience, and a little over a year of Objective-C, I find that I don't really have a use for it. I just find that it's easier to just code something.I don't know Playmaker that well, though and would love to delve into it some more, and might but at this stage, Playmaker is just gathering dust.

    I talk about this a little bit more on the latest Unity news podcast: http://bit.ly/1kcGaee

    Hope that helps!
     
  5. WizardGameDev

    WizardGameDev

    Joined:
    Jul 25, 2012
    Posts:
    62
    I do like this thread and I'm right now working to integrate strengths of both behavior trees and FSM's with C# design patterns. I built up NeuroMage (you can youtube the trailer) and was able to get it into a stable alpha/beta state all with hand coded C# state systems for cameras, spells, minions, the neuro interface to learning spells, animations, etc. There is a lot that is in fact easier to do through C# and specifically the observer, factory, and strategy patterns. However there is the other side too that with C# you can make things work and without discipline you can end up with tightly coupled designs that are every bit as tedious as FSM's can get.

    I'm a big believer in there are upsides to behavior trees and they have been proven to be valuable... Halo 2's AI for example was built around behavior trees that were all prototyped and conceptualized visually before they integrated them into code. So as I started working more with minions and wanting a lot of advanced behaviors I could see the value in using something like NodeCanvas or Behavior Designer. Going back down the path of that research had me looking a bit more at how Playmaker could fit in as leaf notes in a behavior tree. Again I don't want to get out of C# but I'm wanting to know how it all fits together front to back so I can put the best tools to use.

    That brings me to a great find for both programmers and advanced Playmaker users or anyone who is doing visual scripting.



    This is a great video on how you can structure Playmaker FSM's to create an extremely modular framework that could theoretically integrate well with scripts. By breaking the FSM's up smart components each FSM does its task well and actually mirrors how you would write a great FSM in C# code. It's also basically using the same observer pattern that you would hand code in C#.

    What I'm getting at is that if you can't do it visually and conceptually then you probably will struggle to do it well in code and most likely it goes the other way a bit as well. Some things should certainly be written in C# code rather than doing that particular routine inside and FSM. But I think the video here shows the value of working through the design in a visual FSM even if later you decide to code from scratch.
     
    TeagansDad, theANMATOR2b and LaneFox like this.
  6. jerotas

    jerotas

    Joined:
    Sep 4, 2011
    Posts:
    5,572
    I only use Playmaker for cut scenes. I'll probably use Behavior Designer for the AI. It seems to execute faster.

    I hear that uScript and Universe are far far better than Playmaker. But people don't talk about those products nearly as much for some reason.
     
    DGart.work likes this.
  7. gallenwolf

    gallenwolf

    Joined:
    Mar 11, 2012
    Posts:
    118
    Haven't used PM in a while, ever since I got into how the engine in Unity works I've just coded what I need on my own.

    On a similar note, I recently removed several assets I bought off the asset store from my game, because custom coding a solution to my needs worked better. Definitely not as slick, but my code integrates much better. In addition, my compile times went down *alot*, which helps alot!

    Been awhile since I used PM, so can't say how PM affects my compile times...
     
  8. DGart.work

    DGart.work

    Joined:
    Mar 27, 2015
    Posts:
    199
    I'm an artist but I know c# a little
    I think playmaker really really makes things more complicated , for example when you need to declare a single variable in code , you would need to declare 3 variables in playmaker . it's OK for simple tasks , they are done in playmaker quicker . merely because you don't have to make a c# file and give it a name and open IDE

    the other good point about playmaker is that it works as a reminder for unity api

    but I'm wondering what would be the worst thing , I think it can potentially ruin your project if your project completely depends on it

    a state machine is not an IDE , you can't compare its debugging capabilities to visual studio or mono develop
     
    Last edited: Jul 16, 2015
    NotaNaN, Ryiah and jerotas like this.
  9. DGart.work

    DGart.work

    Joined:
    Mar 27, 2015
    Posts:
    199
  10. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    I feel like it is a matter of Blox being only one or two steps away from an actual text-based language. If you're already using most of the concepts found in a text-based language, including directly working with the API as Blox appears to based on screenshots, then you may as well be using a text-based language.

    PlayMaker from my brief attempts to learn it appears to do far more in the background by comparison. It doesn't help any either that PlayMaker is often brought up in these sorts of discussions.
     
    Last edited: Jul 16, 2015
  11. DGart.work

    DGart.work

    Joined:
    Mar 27, 2015
    Posts:
    199
    yes blox actually may help only experienced programmers but don't forget this topic is also about experienced programmers point of view

    playmaker is a great tool for simple task such as playing a sound etc , but for more complex things it just makes it more complex and messy
     
    Last edited: Jul 16, 2015
  12. Master-Frog

    Master-Frog

    Joined:
    Jun 22, 2015
    Posts:
    2,302
    Seems to add complexity to the process.

    I watched a guy interact with several gui interface menus to switch something on and off.

    Not being able to write code is a handicap in making games. Playmaker looks like a crutch for those people. Is a crutch helpful for an able bodied person? I guess it depends.

    I guess if you wanted to collaborate with people who weren't coders to get something done faster, that it might be beneficial. But solo, I don't see the real benefit of an additional layer of complexity... maybe I'm just unenlightened.
     
    NotaNaN, Ryiah and DGart.work like this.
  13. DGart.work

    DGart.work

    Joined:
    Mar 27, 2015
    Posts:
    199
    I'm not sure if it does really matter for its users or not , but security also means nothing in playmaker , you would have to declare public static variables called global variables in playmaker all the time to make playmaker components interact with each other

    also it greatly impact on performance at least 5 fps compared to script

    beware of global variable , you can't export package containing global variable , you would have to copy your project completely otherwise they will get lost , that is you can't export a character with global variable

    so you should never use global variable , instead write script and link playmaker components to each other with script

    please read this if you've used playmaker in your project
    http://squarebite.proboards.com/thread/9/playmaker-warnings-tips

    and this if you haven't
    http://va.lent.in/should-you-use-playmaker-in-production/
     
    Last edited: Jul 17, 2015
  14. rockysam888

    rockysam888

    Joined:
    Jul 28, 2009
    Posts:
    650
    (bookmarked)
     
  15. musolo

    musolo

    Joined:
    Sep 12, 2014
    Posts:
    238
    Very useful thread indeed.
    For someone who wants to investigate all pros and cons before sticking to PM this is the best place to be in for sure.
    Thing is that many nonprogramners like myself will still have to use it when there is no other option for them to move on when making the project.
    Being disabled codewise, not able to easily grasp sintax in traditional way i saw few interesting opinions here.
    1. That using PM will teach you sintax eventually.- That's great thing to know:)
    For someone who is hoping to get things done to be able to learn as byproduct that`s a bonus!
    2 There is clearly a list of commandments to be set in stone when using PM to avoid its major downfalls.
    Hope you guys could share your experience and suggest best practices with PM.
    It would be savior to see theese guidelines from you guys.
    Main issue for someone willing to make things happen withought any other option rahter tam PM is safety. Even if certain PM patterns will take more steps and will take more time it is still faster than no progress at all!
    After all who will be more compitent in this matter than experienced programmers!
    So share your safest ways of using PlayMaker!
    Cheers!!!
     
    Last edited: Feb 17, 2017