playMaker

Author Topic: A big bug from core  (Read 3391 times)

xunxun

  • Junior Playmaker
  • **
  • Posts: 53
    • View Profile
A big bug from core
« on: August 23, 2013, 04:49:37 AM »
I'm not the one who said something below, but I'm another one who wants to say exactly like this. Additionally, my project is on the last development progress and this thing happened.

Quote

Cool and handy, just not reliable enough nor suited for big projects
by Visionastral, 23 Aug 2013
Playmaker is awesome, so why do I give it 2 stars?
Because it's not 100% reliable.

I have been using Playmaker for 4 months now, and I was a HUGE fan of it in the begining.
However, there is a misterious bug wich corrupts global variables beyond repair even if you didn't save the project! ( I mean, you will have to make backups VERY often because this bug corrupts the global variables AND the state machine actions of your project PERMANENTLY )

In fact, Playmaker is really an awesome add-on for Unity, and I really think something like this should be included by default.

Playmaker has other flaws too, but they are related to the simplicity of it's use, so I can't blame it for that. However, some search and replace tools are really needed when you are actually making a game with it.

The problem here is the reliability of this add-on to make an actual game, and the fact is Playmaker IS NOT reliable RIGHT NOW.

If I had to start our project from scratch, I would not use Playmaker and would make it in plain C# instead.
At the begining I thought it would speed up the project, and in fact it did. But ONLY in the early begining, after that, Playmaker just gets in the way of your code. Because YES, you WILL have to code if you want to make an actual game.
I have spend many hours making custom actions for playmaker because some very basic things aren't implemented (like conditions with 2 variables or more...) and in the end I have realized I should have use this time to code my game directly, instead of coding actions for playmaker.

You must be wondering why I'm not just switching to plain C# instead of playmaker right now?
And that's one of the problems I see with playmaker:
The workflow of a state machine program is something REALLY diferent from a regular C# or JavaScript program, and so, porting an already advanced playmaker project back to C# is something REALLY tedious, because you will have to change ALL your project's workflow. Meaning you will have to just reprogram it from the begining.

Is Playmaker a bad product?
In it's essence, no. In practice, yes.
And that's a pity, because it has great potential.

If it weren't SO MUCH 5 star reviews here, I wouldn't give it 2 stars, but I think someone has to throw a little light here and talk about the not-so-pretty sides of this product.

I have to say the support has been very good and fast, with dedicated forums and gentle people answering for newbee questions.
And that's really cool.
But if you are selling a car that has tendency to explode without a particular reason, no gentle people in that company will make it worth to ride.

Don't take this as a rage post. I'm not in rage with playmaker, just plain frustrated. Instead of making it easier, as the project grows, it is making it more and more complicated and cumbersome to manage and expand.
To the point I'm REALLY thinking about starting over from scratch to get rid of it.

I do know Hutong games put a lot of efort and love in this product, and I apreciate it, so I'm really sorry to say it, but I just wish someone had told me this 4 months back.

the conclusion is: it's a good product for small and quick projects, but not for making an actual full sized game, I'm affraid.
And the mysterious global variables corruption can easily take hours and hours of your life JUST to clean the mess.
(and NO, it isn't fixed yet, and I don't expect it to be fixed because no one really knows what's making it.... )

If I were to start over, I would avoid Playmaker completely.


Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 3632
  • Official Playmaker Support
    • View Profile
    • LinkedIn
Re: A big bug from core
« Reply #1 on: August 23, 2013, 05:41:56 AM »
Sorry to hear that! We did recently find a bug that can cause corrupted FSMs:
http://hutonggames.com/playmakerforum/index.php?topic=4739.0

If this happened to your project, first my apologies, and hopefully the explanation can help you fix it. If you need me to look at the project, or if it sounds like a different problem, don't hesitate to PM me!


Lane

  • Administrator
  • Hero Member
  • *****
  • Posts: 2488
  • Yup.
    • View Profile
    • Cleverous
Re: A big bug from core
« Reply #2 on: August 23, 2013, 06:30:02 AM »
Sounds like he is overreacting quite a bit.

I've been using it for a very long time with minimal issues. The addon isn't without faults, but I've never had anything that severe happen.

Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 3632
  • Official Playmaker Support
    • View Profile
    • LinkedIn
Re: A big bug from core
« Reply #3 on: August 23, 2013, 06:43:07 AM »
I think it depends on your workflow. If you override action data in prefab instances and apply changes to the prefab a lot you will run into problems. I don't tend to work that way which meant it took me a while to repro the problem. But I can repro it now, and it will be fixed!!

xunxun

  • Junior Playmaker
  • **
  • Posts: 53
    • View Profile
Re: A big bug from core
« Reply #4 on: August 23, 2013, 06:59:18 AM »
Sounds like he is overreacting quite a bit.

I've been using it for a very long time with minimal issues. The addon isn't without faults, but I've never had anything that severe happen.

You're still lucky. In my case, I have been using Playmaker from its first-introduction (not just 4 months like the guy above). Playmaker completely owned my heart and I even forced my Programmers and Level designers to use Playmaker as the main tool. Cause, I did some small games for clients with no problems and Playmaker saved me a ton of time.

To prove that, I bought Playmaker twice, just want to support developers for an awesome work.

Then now, my dead line is coming, my team is still here overnight for looking the way how to deal with about hundreds Global Variables that are working unreliably. Especially, Bool variables work like something crazy.  :'(
« Last Edit: August 23, 2013, 07:07:20 AM by xunxun »

Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 3632
  • Official Playmaker Support
    • View Profile
    • LinkedIn
Re: A big bug from core
« Reply #5 on: August 23, 2013, 07:10:02 AM »
Are you using Get/Set Fsm Variable with bools? There is a bug fix in the beta related to this. I sent you an invite to the beta if you want to give it a try...

Red

  • Hero Member
  • *****
  • Posts: 563
    • View Profile
Re: A big bug from core
« Reply #6 on: August 23, 2013, 12:17:05 PM »
I dunno... I've been using it for the main game i've been working on and it's not a simplistic game (much to my chagrin, i'll admit... because all I wanted was to just make a game... I didn't realize how complex the systems I'd have to make would become.)

... and most times when something goes wrong, 99% of the time it's because of a PEBCAK error (Problem Exists Between Cranium And Keyboard) or an RTFM error (Read The Freaking Manual.)

So, Though I'm not saying that they are incorrect in their review, suggesting that PM is unsuitable for complex projects is a bit unfair (especially if they've only been using it for four months... I have been using this for close to three years and I still am learning new things about this system.)

EDIT: HAHAHAA!!! This is my 420th post! sorry, just found that to be highly entertaining (if you know what that means, cool... if not, i'm not sure this is the venue to talk about it in detail.)

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 14593
  • Official Playmaker Support
    • View Profile
Re: A big bug from core
« Reply #7 on: August 24, 2013, 05:41:06 AM »
Hi,

 I have to say that personnaly, I am using PlayMaker for Serious Games development, and I never had to complain and/or never got that bug!

 This asset store comment and the way it's laid out is problematic. PlayMaker IS perfectly suitable for huge scaled projects. That bug would happen on a very small project too ( correct me if I am wrong here). So linking the two together is a shortcut that should be avoided for this comment to be objective. On top of that, I faced far worse issues with just Unity on its own to begin with and lost precise work and actually lost clients because I could not deliver on time because of Unity bugs and version upgrade clashes.... And not mention starting having several big frameworks to work together without clashing and corrupting each other. This is itself should not be seen as a motive to give bad public reviews, but instead work closely with the team to solve the issue at hand.

Bye,

Jean

A3DStudio

  • Playmaker Newbie
  • *
  • Posts: 43
    • View Profile
    • A3DStudio
Re: A big bug from core
« Reply #8 on: August 24, 2013, 09:26:20 AM »
I have same problem in my last project. After creating and renaming of global variables, 5 of 30 global variables are corrupted. (Not more used in fsm or empty)

Alex Chouls

  • Administrator
  • Hero Member
  • *****
  • Posts: 3632
  • Official Playmaker Support
    • View Profile
    • LinkedIn
Re: A big bug from core
« Reply #9 on: August 24, 2013, 09:40:07 AM »
In the next update the Error Checker will highlight missing globals so you can jump right to them.

The problem is renaming the global variable only renames references in the currently loaded FSMs. So any FSMs in other scenes that use that global will lose their reference. Then when loading those variables it would fail silently, just setting the reference to none. So there's a couple of bad things happening there!

The next update will address the second part, highlighting the missing variable reference instead of failing silently. This is good for projects broken by the old behavior.

The first problem is trickier. In the short term (next update) we can add a warning, or we can disallow renaming of global variables (to rename a global you would have to make a new one and replace references with that).

In the longer term, I want to be able to loop through scenes to make these kind of changes and/or add a GUID to global variables.

But I think the main thing that made this really frustrating was failing silently. Your project would break but you'd have no errors...

terri

  • Sr. Member
  • ****
  • Posts: 373
    • View Profile
    • terrivellmann.tumblr.com
Re: A big bug from core
« Reply #10 on: August 30, 2013, 07:38:28 AM »
I've had huge problems after renaming global variables, I'm kind of relieved to understand why after reading this thread.

I definitely agree that locking the global variables so you can't rename them is a good idea until things are working smoothly.

Jake

  • Junior Playmaker
  • **
  • Posts: 61
    • View Profile
    • Fluffy Underware
Re: A big bug from core
« Reply #11 on: August 31, 2013, 03:00:02 AM »
I mainly use PlayMaker for it's intentional core purpose: State Machines!

Being a coder I've never tried to create a whole game with PlayMaker and I never will! Solving real problems (you know, the whole math and algorithmic stuff) with PlayMaker is a big time killer (at least for me), as I can write that down in a few lines of code much faster than creating states and actions.

So, everything that can be coded straight forward will be coded straight forward.

But PlayMaker comes into play for the parts that gets ugly quite fast when coding it: State Machines and global logics, chains of Coroutines etc...that's a hell to write and debug, so I draw this things with PlayMaker and it's awesome to visually see what's going on.

Jake