Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

Comparing Bolt to Uscript

Discussion in 'Scripting' started by Volker2, Aug 12, 2019.

  1. Volker2

    Volker2

    Joined:
    Aug 12, 2019
    Posts:
    6
    Hi,

    As a beginner and non coder I decided to use playmaker for my first game. but I was also checking out Bolt and Uscript
    What I dont understand is, why there is no comparison between both anywhere? They seem to work very similar
    And second: uscript has much less popularity even though it seems to me a more powerfull tool, because you can use it in a more flexible way.
    I like the idea if this, especially because I am not afraid of code logic.

    Bolt seems nice and easy but also very limited to what is outside the box. Am I wrong?

    Am I missing something? Could someone compare them?
    Thanks a lot!
     
  2. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    3,915
    It's hard to compare languages and/or environments when both are marketed as "does it all." What is difficult to master by one person is easy by another. How do you rate that?

    You could just learn C# and become a coder... :)

    As far as support for those specific middleware products, there may be better places dedicated to that middleware but I am not sure. Good luck!
     
    Joe-Censored, lordofduct and Ryiah like this.
  3. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    14,277
    If I had to make a guess it's a case of everyone that wants a comparison between them is unwilling to make it themselves, and thus it's simply never made. Everyone else likely just asks (or searches for existing) opinions on them, reads reviews, chooses based on price, etc.

    Plus it's not like the language itself is the hard part when it comes to programming. If you can pick up a visual scripting system and achieve results then there is very little reason why you couldn't achieve the same results with C#.
     
    Last edited: Aug 13, 2019 at 12:17 AM
  4. Kurt-Dekker

    Kurt-Dekker

    Joined:
    Mar 16, 2013
    Posts:
    3,915
    Correct. With any visual scripting solution you still have to reason about the problem.
     
  5. csofranz

    csofranz

    Joined:
    Apr 29, 2017
    Posts:
    676
    I firmly believe that anyone who can successfuly solve a Problem in Bolt / Playmaker or any similar product would be able to solve the same Problem in C# in much less time. What PlayMaker et all bring to the table is (IMHO) mostly psychologic: they allow people who think of themselves as artistically minded to overcome their fear of abstract reasoning. Placing and connecting shapes feels more comfortable to them, and they never understand that they are using exactly the same faculty they deluded themselves into believing they do not have.

    Guys: when you can use PlayMaker to write your game, you can code. Any meaningful (i.e. non-trivial) game you design with PlayMaker is more convoluted and difficult to understand than if you wrote it in straight c#. I encourage you to try it. Use PlayMaker to get into the coder's mind frame of beaking down a problem into smaller blocks until you can manage them. Then marvel at how suddenly writing code is even simpler :)
     
  6. Volker2

    Volker2

    Joined:
    Aug 12, 2019
    Posts:
    6
    I am concept thinker. I dont like to get too much into detail unless its Design or Marketing related stuff. So yeah visual coding is very appealing to me.
    I tried to code. And I am very sure I dont want to be a pro in coding. I cant think with my eyes when I'm coding. I need to get too much into abstract logic which simply is very exhausting for me. Thats why I dont want to learn it even though I am smart enough for.
    I just dont feel good doing it.
     
    Last edited: Aug 13, 2019 at 4:03 PM
    Lars-Steenhoff likes this.
  7. Volker2

    Volker2

    Joined:
    Aug 12, 2019
    Posts:
    6
    My question is still out there and I have to say for me its still unresponded.
    Both seem to be able to do a lot. Both are visual. But whats the key difference between both?
     
    Last edited: Aug 13, 2019 at 4:38 PM
  8. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    1,422
    Why not just buy them both, and use each one for a few months until you really learn them? Then you'll see for yourself. If that doesn't sound appealing, then you can understand why no one else has done it either. :)

    When I'm seriously considering buying some piece of software, I find that the best thing to do is read the manual and all of the documentation. Usually you can freely find these online without actually having to buy the product. The manual will give you the best idea of what the product can do, and how. Also what the product doesn't do, which is also important.

    Also, see if either of these products has their own support forum, or a thread on the Assets forum here. You can get a better idea what sort of customer support is like and what sort of problems or limitations that people complain about.
     
    Ryiah and Kurt-Dekker like this.
  9. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    5,959
    Your question depends on someone experienced with both, which is probably not a lot of people seeing that Uscript is relatively obscure.

    Also it sounds like your intention for visual scripting is not the typical use case. Typically you write the vast majority of your game in C#, but implement a few systems which make sense in visual scripting. Like AI behaviors, things like that. But it sounds like you instead intend to write the entire game with visual scripting, which would mean you will have different requirements than the typical visual scripting user.
     
    lordofduct and Volker2 like this.
  10. Boz0r

    Boz0r

    Joined:
    Feb 27, 2014
    Posts:
    333
    I think most people draw out their solutions on a piece of paper before implementing it if it's something you have to think hard about.

    I haven't used either, but I quickly checked out the detail of the different elements in Bolt, and I get the impression, that if you want to do something more complicated than their examples, you're going to end up with hundreds of little boxes, and that's probably going to confuse you even more.

    Also, I don't know if Bolt gets compiled, or if it's just a S***load of objects, maybe someone familiar with it can weigh in here, but if it's not compiled it will probably end up being slow as hell.

    I get that it seems intimidating to learn programming, but I found that it's a very useful skill instead of learning a single product.
     
    Kurt-Dekker likes this.
  11. csofranz

    csofranz

    Joined:
    Apr 29, 2017
    Posts:
    676
    Not to put too fine a point on this: you sound a lot like you - a big, "concept" thinker - feel disdain for those who busy themseleves with the grubby little things involved in coding; this small-minded thinking, it seems, is exhaustive for a big mind like yours.

    You seem to think that using visual coding allows you to skip the details, and concentrate on the important stuff. It really doesn't. Visual coding isn't implementatorial pixie dust, it's just cheap, thick lipstick on the pig called development. Worse, most non-trivial visual implementations must work around the severe limitations of the visual development metaphor (e.g. any time you need to define a global in PM, Bolt or BD) and for that reason you are routinely forced to unneccessarily micro-manage some minute details - instead of, for example, using a better, purpose-designed data structure.

    Well, you said it right there: you don't want to learn. That's ok, but please spare us the "Big Picture" BS justification.
     
    Last edited: Aug 14, 2019 at 8:59 AM
    NotYes likes this.
  12. Volker2

    Volker2

    Joined:
    Aug 12, 2019
    Posts:
    6
    Why do you assume things that you dont know? I could assume also some things now about you but I'll leave it to avoid discussion.
    Please stop assuming. I am a conceptual thinker and thats how I am. Whats wrong with that? who says I dont want to learn?
    I just put my focus on other things. Who says I want to make a whole game alone?
    Just wanted an answer thats all...
     
  13. Volker2

    Volker2

    Joined:
    Aug 12, 2019
    Posts:
    6
    Thanks!

    I am aware that I cant write a whole game with it. I want to make prototypes as good as possible to convince people of my ideas. E.G. an coder at my university.
    Still thank you for giving me an insight!
     
    Joe-Censored likes this.
  14. Volker2

    Volker2

    Joined:
    Aug 12, 2019
    Posts:
    6
    Yeah it seems to be a little bit slow sometimes because it uses reflection. In Bolt 2 there will be an option to generate c# code from the graph so it will be much faster.

    Thanks!

    I dont want to learn to code because it takes a lot of time and my strenghts lie in economical aspects. And thats what I want to do mainly in my life. But I need a prototype to show my idea and I have no coder who could help me. So Bolt or uscript seem good to me.
    Also I heard that because you can see the code in both of them you at least learn to read the code. And that way you often start to try writing easy code for yourself because you get an understanding for it.
    So who knows l. Maybe I will learn it some day.
     
  15. csofranz

    csofranz

    Joined:
    Apr 29, 2017
    Posts:
    676
    You did. I didn't assume anything. To Quote:

    "Thats why I dont want to learn it even though I am smart enough for."

    Don't worry, it's OK.

    [As an aside: conceptual thinkers revel in abstraction. You explicitly state that "abstract logic [...] is very exhausting for me". Go figure.]
     
    Last edited: Aug 14, 2019 at 11:57 AM
    NotYes likes this.
  16. csofranz

    csofranz

    Joined:
    Apr 29, 2017
    Posts:
    676
    For what it's worth:
    • The nodes in Bolt (and that includes nodes that you write yourself) are compiled C# code.
    • The graph that you create by connecting nodes is not compiled because it can't convert the graph into C#. This is interpreted by the Bolt framework, adding some overhead.
    Due to the nature of Bolt, I expect it to heavily utilize introspection and reflection when walking the graph and handling non-core scripts, which may contribute a performance toll.

    That being said, the average performance hit incurred by Bolt or it's brethren isn't going to be a show stop (I personally have experience with PlayMaker, Behaviour Designer and Node Canvas). Bigger problem arrise when it's time to performance tune - you can't easily change the way e.g. Bolt (or other) iterates your collections. In a case like that, when Tuning is mandatory you are pretty much screwed.
     
    Last edited: Aug 14, 2019 at 2:37 PM