Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

[RELEASED] Nottorus - Unlimited Visual programming plugin

Discussion in 'Assets and Asset Store' started by Stridemann, Apr 4, 2016.

  1. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    I'm fine waiting, I'm just more concerned that there was such a huge difference between what I parsed in and what was parsed out.

    Were you able to test my original code, parse it to nodes and then get a working script out of that?

    Thanks Stridemann!!

    -Steven
     
  2. Stridemann

    Stridemann

    Joined:
    Oct 12, 2013
    Posts:
    251
    I see the only one difference: the text in "AddComponentMenu" attribute. The parsing of attribute values is not released yet. Honestly I forget about them:oops:, and I get to fix this.
    Code (CSharp):
    1. //MD5Hash:7a21e7258eaf17e23ff211c78d16a29f;
    2. using UnityEngine;
    3. using System;
    4.  
    5.  
    6. [AddComponentMenu("")]
    7. public class SimpleSmoothMouseLook : UnityEngine.MonoBehaviour
    8. {
    9.     public UnityEngine.Vector2 _mouseAbsolute;
    10.     public UnityEngine.Vector2 _smoothMouse;
    11.     public UnityEngine.GameObject characterBody = null;
    12.     public UnityEngine.Vector2 clampInDegrees = new UnityEngine.Vector2(360f, 180f);
    13.     public bool lockCursor = false;
    14.     public UnityEngine.Vector2 sensitivity = new UnityEngine.Vector2(2f, 2f);
    15.     public UnityEngine.Vector2 smoothing = new UnityEngine.Vector2(3f, 3f);
    16.     public UnityEngine.Vector2 targetDirection;
    17.     public UnityEngine.Vector2 targetCharacterDirection;
    18.  
    19.  
    20.     void Start()
    21.     {
    22.         targetDirection = transform.localRotation.eulerAngles;
    23.         if (characterBody)
    24.         {
    25.             targetCharacterDirection = characterBody.transform.localRotation.eulerAngles;
    26.         }
    27.  
    28.     }
    29.     void Update()
    30.     {
    31.         UnityEngine.Screen.lockCursor = lockCursor;
    32.         var targetOrientation = UnityEngine.Quaternion.Euler(targetDirection);
    33.         var targetCharacterOrientation = UnityEngine.Quaternion.Euler(targetCharacterDirection);
    34.         var mouseDelta = new UnityEngine.Vector2(UnityEngine.Input.GetAxisRaw("Mouse X"), UnityEngine.Input.GetAxisRaw("Mouse Y"));
    35.         mouseDelta = UnityEngine.Vector2.Scale(mouseDelta, new UnityEngine.Vector2((sensitivity.x * smoothing.x), (sensitivity.y * smoothing.y)));
    36.         _smoothMouse.x = UnityEngine.Mathf.Lerp(_smoothMouse.x, mouseDelta.x, (1f / smoothing.x));
    37.         _smoothMouse.y = UnityEngine.Mathf.Lerp(_smoothMouse.y, mouseDelta.y, (1f / smoothing.y));
    38.         _mouseAbsolute += _smoothMouse;
    39.         if ((clampInDegrees.x < 360f))
    40.         {
    41.             _mouseAbsolute.x = UnityEngine.Mathf.Clamp(_mouseAbsolute.x, (-(clampInDegrees.x) * 0.5f), (clampInDegrees.x * 0.5f));
    42.         }
    43.  
    44.         var xRotation = UnityEngine.Quaternion.AngleAxis(-(_mouseAbsolute.y), (targetOrientation * UnityEngine.Vector3.right));
    45.         transform.localRotation = xRotation;
    46.         if ((clampInDegrees.y < 360f))
    47.         {
    48.             _mouseAbsolute.y = UnityEngine.Mathf.Clamp(_mouseAbsolute.y, (-(clampInDegrees.y) * 0.5f), (clampInDegrees.y * 0.5f));
    49.         }
    50.  
    51.         transform.localRotation *= targetOrientation;
    52.         if (characterBody)
    53.         {
    54.             var yRotation = UnityEngine.Quaternion.AngleAxis(_mouseAbsolute.x, characterBody.transform.up);
    55.             characterBody.transform.localRotation = yRotation;
    56.             characterBody.transform.localRotation *= targetCharacterOrientation;
    57.         }
    58.         else
    59.         {
    60.             var yRotation = UnityEngine.Quaternion.AngleAxis(_mouseAbsolute.x, transform.InverseTransformDirection(UnityEngine.Vector3.up));
    61.             transform.localRotation *= yRotation;
    62.         }
    63.  
    64.     }
    65. }

    UPD. The attribute values parsing is released. Will be available in v1.06.
     
    Last edited: May 20, 2016
    SwiftIllusion likes this.
  3. SirAstral

    SirAstral

    Joined:
    Apr 7, 2014
    Posts:
    67
    OMG!!! This is just bitching dood! Very awesome work @Stridemann! To the rest of you, it is very awesome to see all y'all guys taking this thing all over the place and I am over here playing stupid video games! I have also been busy with my work life but coming back and seeing how far this tool has come in just a few weeks is really great!!!

    I will definitely be interested in seeing where this asset would go with VS integration. I have an MSDN account and could test with multiple versions too.
     
  4. code-blep

    code-blep

    Joined:
    Oct 1, 2010
    Posts:
    308
    @Stridemann Do you have a GUI guide for skinning the interface? The filename / folder structure is good, but its still difficult trying to guess exactly what part of the GUI the file is for. Loving the recent updates by the way!
     
  5. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
  6. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    @Stridemann Impressive updates :).

    A few quick questions,

    Does the plugin work on Unity 5.4?

    Is it possible to save the position of the nodes, modify the script in VS/MD and then reparse so that new nodes are randomly placed, but previous ones keep their locations? The reason I am asking is that the plugin is expensive so for a team of 2 to 3 developers it becomes expensive to purchase multiple licenses.

    Thanks.
     
  7. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    I haven't tested it yet on 5.4 since I can't upgrade because of another current project.

    But I see no reason why it shouldn't work.

    About the ReParsing.

    If you Re-Parse, the Nodes will again be reorganized automatically.

    I don't know how License should apply in the case of multiple people working on the same project.

    But My general suggestion is, if One script is going to be programmed with Nodes, it should keep being modified only by nodes... you can still have access to other scripts made by code, so it shouldn't be a big problem for some scripts use Nodes and other Code.

    Still don't know how License should apply in Mixed Teams.
     
    Last edited: May 22, 2016
  8. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    @daville Thanks for the reply.

    We have typically purchased multiple licenses for Playmaker and FlowCanvas which we are currently using in our project. The number of licenses usually depends on the number of people on the team, similar to the answer here - http://forum.unity3d.com/threads/explain-to-me-how-licenses-seats-for-the-asset-store.370713/.

    This is why we have not yet purchased Nottorus as we have to budget how we are going to use it. We were planning on doing it as you suggested but the problem is we will not be putting the Nottorus part on the repository as it cannot be shared without multiple licenses so we would have to come up with some system that tells us which scripts are based on it and which are not, which becomes cumbersome in a large project.

    Anyways, I am happy with the developers commitment to the project based on the way he has incorporated your feedback consistently. So we may purchase multiple licenses in the end :).
     
    daville likes this.
  9. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    @iamsam
    I know in my case, I'm only me, so yes the license is kinda expensive, but totally worth it, It's about the same Amount that one would pay for 1 month of Unity Pro Subscription (with full packages)

    Well, not speaking if it is permited or not, but only on a technical point:

    If you delete or don't commit the Plug in, all scripts work just fine, they're after all, just C# scripts.
    you could identify them either by the name (when I worked with uScript I used to call all my scripts uSomething, and now with Nottorus at the begining I started calling them nSomething) or each Nottorus Script has some Numbers at the top, in a comment... I guess those numbers are used by the Tool to do something... you could use that also to identify the scripts created with Nottorus.

    Again I don't know if thats allowed.
     
  10. RD

    RD

    Joined:
    Jan 3, 2013
    Posts:
    65
    I think Nottorus will work very well with your multi-programmer situation. With Nottorus, it's not an 'all or nothing' tool choice. It allows easy C# in and C# out, so it works with your other programmers textual C# workflows. You can get one copy of Nottorus for the programmer that would benefit the most. As you see the value or get the funding, you can buy more copies as needed.

    The multi-programmer 'cumbersomeness' of version controlling "visual node programming systems" is why Nottorus' parser is so vital and sets Nottorus apart from all other tools. Nottorus allows version controlling textual C# code and re-parsing the text files to REBUILD all visual nodes. The parser fixes a huge problem in visual scripting version control. You can use version controlled C# to make granular changes without the fear of 'breaking' some un-version controllable visual map of nodes.

    One thing that may be possible is to have a CRC or hash of the C# text that is linked to a prior "hand placed visual node layout". That way, Nottorus can use the prior node layout if the C# text hasn't changed. Nottorus can know from the hash of the C# text that no changes to the code have occurred since the visual node layout was customized by the programmer.

    The Nottorus "function value time-machine debugger" makes a great automated test possible. You can run your automated tests and confirm exactly what values changed from prior runs. In refactoring, where there should NEVER be a change in the behavior or results of the system, the debug time-machine would powerfully confirm a good refactoring. The "function value time-machine debugger" fixes a huge problem in quickly and reliably refactoring reactive multithreaded and networked systems. This is hugely helpful for reactive deterministic agent based systems.

    Quickly explaining C# text or seeing what someone else's code is doing has been a huge pain. Nottorus' parser fixes this pain for my type of projects where I MUST have version controlled code shared by many programmers and code reviewers. The "function value time-machine debugger" is a huge help for code reviews and learning what someone else's code is doing. (I often look at MY code a week later and wonder what I was thinking when I wrote it. The parser and debugger make it possible for me to quickly get back up to speed on MY OWN code!)

    I think after you have one programmer using Nottorus, you'll quickly see how much it's worth to your company and how much time it will save your team compared to any other tools.
     
  11. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It is still too expensive for the majority of Unity users.
    Some of the best Unity plugins like ShaderForge or ProBuilder don't exceed 90$ what is better geared towards all Unity users that are mainly indies.
    And they are some great alternatives like Uscript or more cheaper like FlowCanvas for example,when you just need Visual Scripting. Because some advanced features of Nottorus are not necesseraly needed.
     
    Last edited: May 22, 2016
    Rixtter likes this.
  12. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    As an aside, if you really wanted to try 5.4 it is not hard to have multiple different versions of unity installed on the same system. On windows you just choose a different install path during installation, on OS X I rename the folder of the existing version before installing a new one.
     
    daville likes this.
  13. Der_Kevin

    Der_Kevin

    Joined:
    Jan 2, 2013
    Posts:
    517
    did somebody already made n new skin for this tool? i mean, i like it but i have to admit that the ui looks too much like unreal and not unity anymore....
     
  14. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    UE4 Blueprints have a clear and good UI, i don't see any issue Nottorus looking as good.
     
  15. Der_Kevin

    Der_Kevin

    Joined:
    Jan 2, 2013
    Posts:
    517
    but if doesn't feel included in unity at all
     
  16. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    When does some tool colors will make you more productive ?
    Anyway you can change the theme as you like.
     
  17. Rixtter

    Rixtter

    Joined:
    Mar 31, 2014
    Posts:
    242
    Agreed. I was interested early on, since then I've reconsidered. The developer has targeted teams, not indie's. The price took care of that.

    You have to know exactly how to code, it wasn't designed for shortcuts or helpers. So you have to learn to node as you would code. I can type C# pretty bloody quickly, noding would be a step backward.

    Teams who need to share code and utilise all of the advanced coding constructs will no doubt benefit IF they can get used to huge graphs, but I'm not interested in advanced coding when I am in complete control of my own code. Beginner/intermediate is likely where most indie's are comfortable... and we can get the job done quicker with the tools you mentioned.

    For me, FlowCanvas remains King. There is also Blox3 which is cheaper again & the dev is working on producing C#

    I bid you all good luck, this Indie is out...
     
  18. RD

    RD

    Joined:
    Jan 3, 2013
    Posts:
    65
    I feel that a single indie programmer is very likely to need C# code from several asset store assets to quickly build a game. Nottorus' parser, visual nodes, and visual time-machine debugger can be a huge help in learning, integrating, customizing and updating C# code from several vendors. When documentation is poor in an asset, Nottorus really shows its value. Teams can spread their programmers across all of their asset store assets. A single indie programmer has to handle ALL the assets in the game by themselves. I see how Nottorus will save teams many hours a week. I happen to be a lone programmer that works with MANY assets from the asset store and with other company teams and their projects. Nottorus is a HUGE time saver for me BECAUSE I'm a solo programmer with huge amounts of code to quickly learn, integrate, and debug. I would hate to go back to my pre-Nottorus programming life style. Your milage may vary...
     
  19. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    I agree i like a lot FlowCanvas and the author will fix a memory issue, FC allows to import our own nodes with ease, FC is fast enought without needing C# generation.I don't know about Blox product and the ability to produce C# but this could be interesting.
    Visual tools target beginners and non coders, or experimented coder needing a visual representation of their code, i agree about the price that should suite these users instead.
    Playmaker ahs a huge success but it is miles behind FlowCanvas or Uscript in terms of visual representation and esyness of use.

    You can learn as much using FlowCanvas that is really cheaper. Nottorus is not the only one visual tool :rolleyes:, and the price will have a huge importance for the majority of indies users.
     
  20. RD

    RD

    Joined:
    Jan 3, 2013
    Posts:
    65
    That's why I love the asset store and the Unity ecosystem! It allows many specialty tools and niche customer solutions at different price points. Also, the Unity forum lets potential buyers get excellent pre-purchase information. Reviews don't begin to match the forums for learning about assets and their developers. There really are some amazing tools for developing in Unity and Nottorus is only one example among many.
     
  21. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    Just a random Quick Tip, Something you can do with nodes, and can't do with code.

    You can re use stuff easily that sometimes could become redundant in code.

    Let's say you want to limit the position of something... you would write something like this:

    Code (csharp):
    1.  
    2. float rightLimit = 50;
    3. void Update()
    4. {
    5. if(transform.position.x > rightLimit)
    6. {
    7. transform.position = new Vector3(rightLimit, transform.position.y, transform.position.z);
    8. }
    9. }
    10.  
    you have to write 4 times transform.position

    if you explicity translate that to nodes you will also have to use 4 times that, like this



    or you could also... make this crazy thing, re using stuff, and only using once the transform.position to assign it and to read it, and to reasign its own value for y,z


    upload_2016-5-22_14-10-59.png

    yes it gets messy but it's possible... both examples output exactly the same lines of code.
     
    Last edited: May 22, 2016
  22. Rixtter

    Rixtter

    Joined:
    Mar 31, 2014
    Posts:
    242
    You should really check out FC, calling 3rd party scripts is extremely easy. Functions are added as single nodes with relevant input/output of required parameters. I asked if Nottorus handles similarly but got no response.

    @SteveB you had also wanted an answer to this. Now that you've bought, figured it out yet?

    I'm not suggesting you switch, but certainly consider using both assets.
     
  23. Rixtter

    Rixtter

    Joined:
    Mar 31, 2014
    Posts:
    242
    Pic2.png
    It does look messy, and that's just a few lines of C#. Did you node or code that? I can't see it being easy to node. In comparison here is the FC equivalent. FC is easier but obviously Nottorus produces C# whereas FC will be packaged with dlls.

    Pic2.png

    Are you guys honestly noding or coding? If noding, how has your productivity been?
     
    Last edited: May 23, 2016
    SteveB and daville like this.
  24. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    When Using Nottorus I'm Noding (never heard that term before), I Only used the parser while learning as a reference when I didn't had Idea on how to do something, I would code a simple example and see what nodes the parser generated.

    At work I use Code all week, but on Weekends I'm Making a game all with Nodes... I have been working on it for about 3 months, and last week I decided to Re-Node Everything... I didn't used the parser, I placed the nodes by hand, I just "Copied" my previous logic, I'm doing that to get used to Nottorus... took me about 2 days to Node about 70% of what I did in 3 months so a bunch of scripts to manage the Game, the Menu, the Save System, the Player, the Enemies AI, and the UI.

    I have many years of experience coding, and just a couple weeks using Nottorus, so I'm considerably slower with nodes... but I find it really entretaining, I could say it kinda Renew my joy for programming... I've been coding all day as a Job for the past 6 years or so, and at this point I really find it some kind of boring or monotonus, but somehow using nodes made it fun again.


    I must have missed that question before, but I can Answer, Yes Nottorus generates nodes for all reflected functions... you don't need to "make your own nodes" or something like that... if you use a plugin or have another script or something, you just search for the function using the nottorus search, and there you will see a node generated.

    Also another Plus for Nodes Vs Code, It's really easy to setup long functions with Nodes, and very understandable what each parameter does.

    For example, let's say I have a plug in or another C# script with a very complex function I want to call with nodes, but I'm not going to Renode all that script... could be something like this

    upload_2016-5-22_20-2-31.png

    So that's the plug in you're not going to moddify, if you want to use that function in code you would do this:

    upload_2016-5-22_20-5-56.png

    that is already very hard to read, you will see some true,true,false and unless you know the parameters order of that function you wouldn't understand what those are for easily.

    in Nottorus I would do this, without need to do something special, I just start typing and searching all related to that.

    upload_2016-5-22_20-10-37.png

    The generated code for that is very long, basically the same as before, just adding the namespace before each parameter.

    upload_2016-5-22_20-12-34.png

    But reading that in Nodes is really easy, and reading that long line of code is confusing.
     
    Rixtter and RD like this.
  25. RD

    RD

    Joined:
    Jan 3, 2013
    Posts:
    65
    Thanks for giving such a perfect example! C# functions with "true, false, true..." make it REALLY hard to reliably or quickly understand what a function call is doing. I don't know of any tool that helps as much as combining the "debug time-machine" view with the clearly understandable visual node of your example function.

    It's strange that you use the parser to understand how to build nodes from the code and I use the parser to understand the code from the nodes.

    Stridemann has really improved the parser since version 1.0. There are still some edge cases that can confuse it. Here's a tip that may be obvious to everyone but me. When you hit C# source code that chokes the Nottorus parser, use Unity to compile the C# source code and use Nottorus' reflection to build the visual nodes. Then you can "debug time-machine" the results. I was so fixated on wanting to use Nottorus to parse every bit of the C# source code that, I didn't think of letting the Unity parser compile the C# and then reflecting the compiled code in Nottorus. (I guess I spent way too many years in asm and C to think about using this new fangled reflection thingy.)
     
    daville likes this.
  26. Rixtter

    Rixtter

    Joined:
    Mar 31, 2014
    Posts:
    242
    Updating because you showed an interest. To quote the dev from the Blox3 forum:

    "I might look into a script-gen again in the future but can't promise anything."

    That was 2 weeks ago, today he has released 3.0.3
    Blox3 now compiles to C# :D
    42 Euro

    Nottorus is more advanced, but Blox3 is more than capable too. Check out the YouTube videos to see what it can do:

    https://www.youtube.com/playlist?list=PLuaBtUXEKcdLEhNpwuBnUQxfKYJHS6PcK
     
    SteveB and zenGarden like this.
  27. Rixtter

    Rixtter

    Joined:
    Mar 31, 2014
    Posts:
    242
    Then I claim it as my invented term :D

    I totally agree with RD here, your reply is a showcase for Nottorus :cool:

    Thanks for taking the time to write that up.

    Rix
     
    daville likes this.
  28. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    That is my impression, i have more fun using a visual scriprting tool than directly coding C#.

    I still prefer Flow Canvas personnaly than Blox, anyway does Blox supports reflection and it is easy to create our own Blox based on our own C# class ?
     
    SteveB likes this.
  29. Rixtter

    Rixtter

    Joined:
    Mar 31, 2014
    Posts:
    242
    Blox handles reflection equally as well as FC, also allows namespaces (which I'm sure FC will implement shortly). Calling your own functions again is a breeze.

    Definitely a different way to think because you are not working with input/output pins. For example, if you call a function with a return type, you need to create a variable first, then drop the function on top of it. Kinda like a jigsaw, all pieces snap together.

    Oh, one quote that will figure in opinion, the dev there states "but Blox does not support everything you can do in code, like delegates or almost all generic members".

    I still prefer the nodes of Nottorus & FC but given the C# I may find myself working with each.

    Right, seriously. I'm riding the fine line of spamming here, so I should probably back off.

    I do hope Nottorus has tremendous success. Maybe someday I'll stop being so stubborn/grumpy and just cough out the cash.
     
  30. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    Yeah :D

    Vr 1.06 with Time Machine is Out.
     
  31. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    Has anyone had any luck with templates? (not to stop the current conversation but I have nothing to add, as I'd simply be agreeing with everyone lol)

    ...and yea I prefer noding as it is 'fun' to do, though I get great satisfaction typing away on my clickity clackity Cherry MX Blue keyboard :D
     
  32. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Wait for sales, there is no hurry and there are great alternatives like Uscript and FlowCanvas.
     
    Rixtter likes this.
  33. koblavi

    koblavi

    Joined:
    Oct 1, 2010
    Posts:
    52
    Wait for sale, I agree!
    There are alternatives? well I have both uscript and flow canvas, but I wouldn't quite call them alternatives. They don't quite match up to Nottorus in terms of functionality offered out of the box.
     
    daville likes this.
  34. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    Only if you really need more.
     
  35. willrsnds

    willrsnds

    Joined:
    Jul 29, 2012
    Posts:
    13
    I have been keeping an eye on this forum and may have to take the plunge soon. I also own uScript and Playmaker. However, uScript support will be ending with Unity 5. See the following from Detox Studios:

    http://www.uscript.net/forum/viewtopic.php?f=2&p=22944&sid=0c6ead73af6a2e3b0db06c4fd22a44d8#p22944

    I hope the integration with other assets continues. I would recommend a location either on the Nottorus website or here about what assets the developer has integrated by working with other asset developers. I see great things in Nottorus's future! :)
     
  36. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    The thing with Nottorus is, that "it doesn't have to be integrated to work with other assets", it already is compatible with any asset compatible with C#... unless some Asset use some obscure methodology of C# not currently supported, then Nottorus will have to include that, but not because of the Asset, but because it was a missing C# feature, that will work with any other C#.

    It's sad to hear that from uScript.... I supported them back in the day, there must be a nice review from me on each of their 3 versions of uScript.

    I know Unity will implement eventually their own node system, the UI took years since first promised, and as I remember they teamed up with the developer of nGUI to make the uGUI, but they had some differences eventually and split... but Still nGUI is selling (it's actually now on sale), because it is more efficient than unity's uGUI... I already own many Assets that Unity provides a free out of the box version, but I use the third party Asset because it's better.

    So I don't know what will happen in the future, perhaps they team up with stridemann and actually integrate Nottorus to Unity, perhaps they continue their own way, perhaps their solution is better, perhaps it's not.... the only thing for sure, for me is that Unity's Node System is not yet available and Nottorus is in my hands :D so I already have a clear winner here.
     
    Last edited: May 24, 2016
  37. RD

    RD

    Joined:
    Jan 3, 2013
    Posts:
    65
    I'm really sorry to hear uScript support is being dropped and will not support Unity 6. That may leave a lot of uScript customers in a very bad position. I wonder if Nottorus would allow parsing or reflecting the uScript output into Nottorus nodes. THAT might save a lot of uScript customers from having to do a complete rewrite of their apps. Nottorus has features that uScript programmers would love.

    To me, it's a question of proven ability, motivation, and focus. Unity will find some people who can build a visual programming system. Unity will staff the visual programming project with salaried programmers. It will be one of MANY projects at Unity. It will be easier and faster for Unity to build upon their own services, which will tend to lock users to the Unity platform. The visual programming system won't be mission critical to Unity sales. It will be yet another feature that helps make Unity a great game programming platform. It will likely be targeted at making Unity VERY easy for new users, which will mean LESS powerful for experienced users.

    Stridemann has proven he's EXTREMELY capable at building and delivering a stunningly powerful round-trip tool. It's such a broadly useful programming tool that I can't call it 'just' a visual scripting system. He wasn't hired by some company to build Nottorus for a salary. He has huge motivation to make Nottorus a compelling product because better sales go directly to Stridemann's bank account. Nottorus is HIS 'baby'. The speed and quality of Stridemann's updates to Nottorus have been amazing. He clearly wants this baby to pay off in a way no salaried worker ever would. Stridemann has MASSIVE focus on Nottorus by nature of being his ONLY asset store product. Nottorus isn't yet another service Stridemann offers. Nottorus is THE product that Stridemann invested more than a year of his life and money into. Nottorus selling well is mission critical to Stridemann. If it doesn't make great money, Stridemann doesn't make great money. Finally, Nottorus is targeted at skilled programmers and has EXTREMELY powerful features. Powerful as it is, Nottorus is a tool that would help new programmers learn to program.

    That's why I feel Nottorus will be a better tool for ME at least.

    All of this is why I love the Asset Store ecosystem. It's a place where skilled creative people with amazing products can focus on their strengths and let Unity handle all the distracting and time consuming aspects of hosting, selling, downloading, support, etc... I doubt we would have Nottorus, if the Asset Store didn't exist.
     
    Stridemann and daville like this.
  38. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It could take years or never happen ( look at the default terrain system ) :rolleyes:
     
    daville likes this.
  39. iamsam

    iamsam

    Joined:
    Dec 22, 2013
    Posts:
    233
    @daville and @RD Thanks for taking the time and responding to the queries. I believe the strength of Nottorus is evident in its sales as it is in the top 5 grossing list in visual scripting category which is a great accomplishment for stridemann.
    Looking forward to purchasing it for my next project :).
     
  40. willrsnds

    willrsnds

    Joined:
    Jul 29, 2012
    Posts:
    13
    You bring up a good point. Reflection of C# code would make it "compatible" with other assets but I think there could be more to gain (in my opinion). If other asset developers (and Nottorus) can provide potential and existing customers/users with insight on how they are ensuring that functionality between assets is being maintained, I think that will provide confidence to those customers. For example, many assets mention that they work with Playmaker (a popular asset). Now I am not saying Playmaker is better of worse than Nottorous (or any other tool). Just that the dialog and interconnection of asset developers provides that reassurance. They can also incorporate features that provide a more streamlined interaction. Again, just my thoughts :)

    All that being said, you are correct that this asset could be (and is already) a powerful tool!
     
  41. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    I have a Lot of Other Assets, I'm already working on some Tutorials showing how to use those Assets with Nottorus...
    But this week I'm really busy at work so I will take time to upload.
     
  42. RD

    RD

    Joined:
    Jan 3, 2013
    Posts:
    65
    Nottorus and Playmaker specialize in VERY different needs for programmers. Playmaker is a state machine specialist. I'm planning to always use Nottorus and Playmaker together for all of my future projects. Their combined power fits how I like to do rapid low detail prototyping followed by tight fast source code.

    Playmaker hides the details of HOW things get done. When I start sketching out WHAT a program needs to do, I tend to lose myself in the low level details of HOW code will do it. Playmaker allows me to lay out broad level nodes that are more like an animatable flow chart. I don't have to have any of the underlying functionality. I can have a state called 'User Attempts To Login' that has three state events: 'User Logs In Properly', 'User Fails Login', and 'Connection Lost During Login'. I can just lay out my flowchart of states and transition events WITHOUT ANY of the underlying code of HOW these states will be done. I leave the details for later. I don't have an ocean of connections and nodes to look at. I can quickly adapt the design and even simulate the program flow. I can quickly build User Acceptance Tests (UATs) in Playmaker with customers WITHOUT the underlying code being written yet!

    Playmaker is kind of like having a debuggable animatable high level flowchart. It's a powerful design document for a code review, discussions, and 'I have no memory of this code' reviews. It's a powerful UAT builder that allows you to code WHAT needs to happen while sitting with the users and later code the HOW to make it happen of the UATs.

    Another power of using Playmaker with Nottorus is that Playmaker can be used for 'testing AI' and user interaction simulation. In the Login example, Playmaker state machines can send Login events to Nottorus Login nodes. That way, Playmaker can test that the Nottorus nodes can satisfy all the overview design captured by the Playmaker state machines.

    Once I have the broad strokes of the design captured in Playmaker, I see how I'll be able to quickly implement the needed low level functionality in Nottorus visual nodes or parse C# source code into nodes. Then I'll be able to use Nottorus' 'time-machine debugger' to get the kinks out. Then I can render Nottorus out to tight version controllable and code reviewable C# source code. I'll have to keep the Playmaker parts out of version control. (If Playmaker senses that it is being version controlled it becomes totally paranoid about destroying the digital universe... It starts babbling about future state / prior state paradoxes involving global events.) Seriously, Playmaker HATES version control!

    I see Nottorus and Playmaker as a stunningly powerful programming work flow. Your Milage May Vary...
     
    SteveB likes this.
  43. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    NodeCanvas do as well as Playmaker in a better way visually and performance is better than Playmaker.
    Anyway i seen lot of games made with Playmaker by non coders people so it is a good tool indeed for many users , and there is lot of plugins supported.
     
  44. Rixtter

    Rixtter

    Joined:
    Mar 31, 2014
    Posts:
    242
    Always sad to see a big player have to concede :( I hope they move to more asset development, clearly a talented team the community could benefit from.

    They didn't get the sales required to support their wages... I actually wonder about this... they came out of beta a few months ago, decided to go from 100 to 200 Euro (or whatever). I would imagine that if the increase didn't work, they would move back to 100. Since they didn't, I am wondering if sales were poor @ 100 and they tried to hold on by increasing the price, assumed slower sales but an increase could keep them in the black. Since it didn't work, they figure price didn't matter for uScript... would slashing to 50 have helped, a last ditch attempt?

    Seems to me there is more than meets the eye here. Market saturation? Competition too great? Maybe we already have king of each category with the others struggling.

    Nottorus is king of class for C# generation, advanced coders. FlowCanvas for speed, intermediates (Blox3 making a comeback). Playmaker for beginners.
     
  45. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    In general you'll find very few, if any, developers who claim to be making a living from Unity Asset sales alone. Sometimes when people give up its because they didn't know this going in, their expectations were much higher and the reality couldn't live up to it. Or the amount of time spent on support ate into the profits too much.
     
  46. zenGarden

    zenGarden

    Joined:
    Mar 30, 2013
    Posts:
    4,538
    It resumes well, perhaps U script doesn't deserve to be mentionned as support will not continue ?
    I liked Uscript.
     
  47. willrsnds

    willrsnds

    Joined:
    Jul 29, 2012
    Posts:
    13
    The developers said they would continue to support it thru Unity 5. However, as many have mentioned, it may be better to stick with a product or solution that have long term support. I liked the interface and ideas around uScript. But the documentation and training/tutorials were seriously lacking. A real shame :(
     
  48. willrsnds

    willrsnds

    Joined:
    Jul 29, 2012
    Posts:
    13
    Completely understandable. Would love to hear your insights (both good and bad) as your progress.
    Thanks!
     
    daville likes this.
  49. Stridemann

    Stridemann

    Joined:
    Oct 12, 2013
    Posts:
    251
    For last few days I lost in Stellaris, but for now I'm fine :) And I want to show a new tool that I promised to make.
    It re-place all nodes in the nodes graph by some selected theme. I think it can be really usefull after the parsing.
    So I group the nodes by 'main' connector nodes (green box) and move this groups to the correct position.
    I use very simple algorithm and I will improve it in future.

    And one little thing I got after recording the video- I don't need to move the connector nodes when fitting is targeted on a single node (fit selected node).
    This is a preview:
     
    Last edited: May 25, 2016
  50. SteveB

    SteveB

    Joined:
    Jan 17, 2009
    Posts:
    1,451
    Very cool!