Search Unity

Visual Logic Editor WIP

Discussion in 'Made With Unity' started by rytis, Aug 28, 2009.

  1. psychicparrot

    psychicparrot

    Joined:
    Dec 10, 2007
    Posts:
    884
    Looks awesome! Unity pretending to be Virtools (shudder) ;)

    Oh, and I'm the 100th reply to the thread yay me XD
     
  2. eskovas

    eskovas

    Joined:
    Dec 2, 2009
    Posts:
    1,373
    hi,
    this is awesome
    its very similar to the Unreal Engine 3 Kismet
    it can really save time when constructing the levels
    very good work

    hope it becomes available as an update to unity

    keep up the good work :)
     
  3. Yann

    Yann

    Joined:
    Oct 20, 2007
    Posts:
    432
    Fridays might be for fun... but in that case, it's really serious fun ! :D
     
  4. Davaris

    Davaris

    Joined:
    Jan 27, 2010
    Posts:
    68
    This is very interesting. I was thinking about something similar myself, but lacked the ability to do it. So I am glad other more technically minded people are doing it. :)

    My idea was for a state machine that controls the overall logic of complicated games like RPGs.

    The state nodes would be places to add premade or custom scripts and the links would be 'if statements' that if true, would allow a link to be traversed to the next state.

    States can be drilled down into with a mouse click, showing either a script, or a state machine contained inside.

    Objects referred to in the scripts or state machine diagrams could be linked visually, to the objects in the multitude of maps in your game and so it would be possible to create a game that shows you visually where the errors are.

    As someone else suggested, being able to see where the game is up to in the state diagram, would be very helpful.


    Its a simple idea, but it would make a programmer's life so much easier. :D
     
  5. m50

    m50

    Joined:
    Jul 26, 2009
    Posts:
    20
    You know, for a game engine that prizes itself in the fact that its 'artist friendly' it is quite lacking in tools that engines such as Unreal Engine have mastered! But hey, with the communities amazing projects such as the BSP addon and the Visual Shader Programming addon, and now this, it can really step up to plate with the Unreal Engine! If you can complete this, and the 2 programmers working on BSP and VSP addons complete their projects, then Unity will be a bigger threat to the unreal engine and UDK! Can't wait! :D :D :D :D :D
     
  6. mift

    mift

    Joined:
    Apr 27, 2009
    Posts:
    17
    @rytis

    how did you draw those node splines?
     
  7. JohnyZuper

    JohnyZuper

    Joined:
    Jan 7, 2008
    Posts:
    174
    Here's another statement of support.
    Visual Programming is the single feature that's missing from Unity3D for me, after spending years in Quest3D where we could make things like The Endless Forest and The Path. Using Unity has limited us to making simpler projects so far (The Graveyard, Fatale, Vanitas). So you have our full support!

    I completely agree. Visual programming supersedes C++, like C++ superseded Assembly. Every level of abstraction allows for more sophisticated programming!

    That's nice to hear. I was just having trouble with this aspect of Unity the other day.

    I'm happy with this as a transition phase.

    But ultimately, I do think Visual Programming can replace scripting entirely (though not necessarily exclusively, since some people are comfortable with code). There's nothing wrong with making programming accessible to people who are not engineers. The essence of programming is logic. And logic can be expressed in many ways, by many different kinds of people. Limiting this expression to script-based code means limiting what can be done with computers by our species. Why would anyone want that?
     
  8. Regularry

    Regularry

    Joined:
    Aug 9, 2008
    Posts:
    161
    I would 100 times rather have something like this than any of the announced features of Unity 3.0. :?
     
  9. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    2 things.

    1- I'm creating a node editor for the visual storage of data, which is similar to what you are doing here. I have the same question as mift: how did you make the splines/curves connecting the nodes? I only have simple line connections through the use of handles, but is there a function in Unity for curved lines, or do you actually use a line poly and generate the curve in real time?

    2- Something like this seems great for simple game play stuff, like used in Unreal Editor, for things like doors and switches, but I'd still rather use normal scripting for game play features. For people who use Unreal Editor as an example, be aware that Unreal still REQUIRES that you use scripting to make your game; that simply isn't a good argument. Programming a whole game in a node editor like this simply isn't reasonable; it gets really messy really fast, and produces huge webs that are really hard to keep track of.
     
  10. the_motionblur

    the_motionblur

    Joined:
    Mar 4, 2008
    Posts:
    1,774
    That depends on what you expect the whole system to behave like.
    For example: What if you could just create code blocks like these (nodesystems) as an addable package?
    Of course you'd still have to program to create gameplay logic and such but from how I understand it that Node-Based system would only complement the existing one not replacing it completely.

    I can understnad that from a programmer's point of view it is a system prone to messyness. But if it just complements for non-programmers like me or people who *are* in fact able to keep track of a system like that. Why be negative before it's ready?

    I don't think that anyone from the Unity Team pretends that a system like that would ever REPLACE programming....


    All I'm saying is: why so negative ;)
     
  11. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    wow, this is an incredible feature; would be fine to have control of the programming visually the way it was possible in quest3D or in ShaderFX.

    really really nice addon.
     
  12. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    The problem with these comparision motionblur is that most other languages require complicated scripting to do simple stuff.

    Unity already makes it dead simple due to the editor driven referencing of objects and with a somewhere smart dev on the team such simple actions result in scripts that are 3-4 lines of code.

    like

    Code (csharp):
    1. var theDoor : Transform;
    2. function OnTriggerEnter( other ) {
    3.   Door.Open( theDoor );
    4. }
    At such a point of simplicity I really can't see much gain anymore from a node based scripting.
    Its something different if we would be talking about behavior trees / state machines that "programmatically" reflect real state nodes actually there it would make sense but Behave already exists ;)
     
  13. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    Agreed.
     
  14. kabab

    kabab

    Joined:
    Dec 27, 2007
    Posts:
    109
    Yeah but your a coder...
    I think it really depends on how your mind is wired... I'm for sure not a coder my background is 3d modelling/rendering using maya lots so graph editors make sense to me!

    That little code snippet to me believe it or not doesn't make much sense at all! But with visual systems in the past I've been able to code reasonably complex interactions...

    Visual systems are not about replacing code it's about empowering designers / artists...
     
  15. JohnyZuper

    JohnyZuper

    Joined:
    Jan 7, 2008
    Posts:
    174
    Indeed. Visual Programming is not about making programming easier. It's about making programming accessible for other types of people.

    I'm an artist. I have been using Quest3D for years. It's not an easy program at al! It took me months to learn how to make something with it. And then again months to learn how to do it properly. But when I finally mastered it, I was able to create really interesting work.

    Unlike with scripting which I've been doing for decades, and which I master more than any Visual Programming. But I have only created simplistic things through scripting. Because my mind just doesn't work like that.

    I prefer to spend 5 minutes on making a simple equation in a visual editor than type that equation out in 5 seconds in code. Because in the visual editor I understand what I'm doing, while in code, I might just as well be babbling magical formulas. And that understanding makes the crucial difference. Thanks to the visual representation of the programming logic, more visually oriented people can program.

    I have spoken about this with programmers before. In general they have a hard time understanding that there's different kinds of people who think in different ways. I think they would understand if all programming had been visual up till now and somebody came up with the idea to code in text. They'd probably be as enthusiastic about that as we are about visual programming.

    It's the same kind of programming, but for a different kind of person.
     
  16. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    If you can't code with a scripting language, you probably won't be able to code with this tool, either. Scripting in Unity is the same thought process as this tool, so is the problem with reading? It's just text, like from a book or magazine. "Door.Open()" is going to open the door, obviously. It makes perfect sense.
     
  17. JohnyZuper

    JohnyZuper

    Joined:
    Jan 7, 2008
    Posts:
    174
    I am the living proof of this being untrue. :)
    Have a look at The Path or The Endless Forest! Look mum no scripting! :)

    It is indeed about reading. And writing. To some people seeing a picture of door with an arrow painted on it is more clear than Earth.Country.City.House.Doors[3].Open(true); -though the difference is obviously a lot more evident when dealing with more complex algorithms.

    Please believe us when we say so. Feel free to think we're weird. But don't assume we're wrong just because your brain works in a different way. We're just as smart as you are. But we express ourselves better in a different language.

    I hope you don't feel threatened by all these visually-oriented people suddenly being able to do what used to be your exclusive domain. There's enough programs remaining to be created for all of us! :)
     
  18. kabab

    kabab

    Joined:
    Dec 27, 2007
    Posts:
    109
     
  19. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    I believe you but the problem is if that trivial code makes no sense you won't be able to do anything with a node base programming environment too as you don't do anything different there. If you put Door.Open there or drag an Action block where you have to select that as action, if you write var door : Transform there or drag it as an input signal and if you write function OnTriggerEnter there or have that as event firing condition does not really give you much.

    Signal is signal, event handler is event handler and object to operate on is object to operate on.
    The difference is just that the above thing can be expanded, a visual scripting system can't. its door will always work the same way it was written for the visual usage.

    Potentially you are hoping for such a thing to be on the level as some business industry visual programming environments though them I'm pretty sure that you could drop that vision unless we talk about several hundred USD seat licensing fees at least to develop such a high end solutions with hierarchical nodes and blocks, module expandability etc as designing and developing such things in an idiot proof way is a hella lot of work. The system has to generate arbitary complex code with arbitary complex signal - message paths and if the environment is extendable, then even for arbitary "broken" code blocks.

    I think we can safely assume that the majority here is talking about purpose specific visual scripting capabilities. Due to the purpose specific, there likely would primarily be a base framework for the visual scripting with the rest having to be developed by a programmer on your team (all the actions etc).

    That potentially would be an option and for the developer of the visual scripting, it would cut a lot of work and problems
     
  20. kabab

    kabab

    Joined:
    Dec 27, 2007
    Posts:
    109
    I still don't agree because my personal experience says otherwise...

    I'm a Virtool's / 3DVIA Studio user so my experience of visual programming comes from these products and so far I've been able to make quiet complex things purely visually...

    Wether or not its feasible for a comparable system to go into unity is not for me to say...

    Would such a system be useful I definitely think so!
     
  21. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Potentially they can
    But a technology that does not even offer prices on the website (nor does any of the resellers) is pretty clearly in a range far outside of what we are talking here or which 99.99% even would consider looking at.

    I'm not saying its impossible with Unity or that it is of no use.
    But I'm saying that on the degree you are used to it and expect it to work, it won't exist at any time likely, as we would be talking of ten thousands of men hours of work to get there.

    The system we have here is basically a visual scripting editor but to be of use, you still need programmers that create the nodes for you to work with.
    Unity is a full scale engine with indefinitely flexible usage basically, its impossible to offer a generally usable visual scripting for it without being stupidly useless complex (as you get thousands of nodes and if you can grasp them just programming in code will be ten fold easier)

    I don't know how they overcome the problem aside of potentially just not offering that a high degree of flexibility (undefined usage field as we have here) or they just have even more complex capabilities ie even more hours required.

    Whats clear though is that they have a good decade of development behind it so even at best, a flexible, stable, usable technology for visual scripting around unity would be a matter of years or a matter of "too expensive to sell"
     
  22. JohnyZuper

    JohnyZuper

    Joined:
    Jan 7, 2008
    Posts:
    174
    Unity is one of the best designed applications that I know. So if there's any team that I trust to develop a powerful visual programming interface, it would be this one.

    Even if this first step only serves as a way to visually structure scripted code, I'd be overjoyed.

    And when it comes to taking the next step, I will be more than happy to pay the extra hundreds of Dollars.
     
  23. kabab

    kabab

    Joined:
    Dec 27, 2007
    Posts:
    109
    Still would it not be better to get started on such a system now seeing as it is such an under taking and clearly a feature which is more and more being expected by potiential customers?

    fyi from what I have read studio will be afforable for the indie crowd.
     
  24. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    I'm not sure we talk about the same thing because users licensing game engines normally expect solid, flexible technology, not "non programmer gimmicks", cause non programmer gimmicks at the end still will cost them developers to debug the created functionality, yet they also cost development time for real features that serve a purpose for all, not just those who forcefully want to avoid to learn the basics of programming to write simple functionality on their own like the one above.

    Visual scripting is great for visualization and interactive "showcase environments" but for games, its not even remotely in that range, as you need to have a deeper understanding of various things if shall run optimally and if you have to fix bugs and crashes.
    The knowledge of how to click and drag together something will not get you anywhere.


    Thats what I meant with such a solution makes sense within a given environment and thats the environment where the programmers of your team have exposed functionality to the visual scripting so you can do scripts for environment interaction.
    But it is of little to totally no use if you wanted to use it for doing what you do primarily right now and thats developing a game. There it is primarily a problem and hurdle.
    Or do you see yourself in the position of fixing even trivials bugs you are meant to extract from Unity / iPhone crash reports? I doubt so and without the code you can also never fix them as you have no codelines and accesses etc that go wrong.
    And thats just taking the simple platforms. If something goes wrong on a console you would not have remotely any chance to do anything.

    Perhaps we also need some clear clarification: Unity has no scripting as you know it from other environments (guess 3DVIA has one too where all the visually developped stuff in as it supports consoles).
    The code is compiled to real binary code (ok CIL thats then going to real code in case of the desktop platforms) with all the benefits but also all the requirements.
    One could naturally make the visual code idiot proof by checking everything before accessing it, but thats not acceptable for an engine that intends to be performant.



    Thats why I see it as something that might be of interest for a 3rd party developer to create and sell such a framework which gives teams a visual scripting environment to fill with functionality for the designers and potentially come with some default behaviors that show how it works and to get them going.

    Thats where I see a field for it and where I think it would make sense if someone persuaded that path.
     
  25. JohnyZuper

    JohnyZuper

    Joined:
    Jan 7, 2008
    Posts:
    174
    So what would you call The Path or The Endless Forest or Audio Surf? (all made with visual programming through Quest3D)

    Or the Syberia series (all made with Virtools)?

    In my experience, Visual Programming dramatically reduces the number of bugs that you can create.
    (even though I admit that it can be equally hard to fix them)
     
  26. maxfax2009

    maxfax2009

    Joined:
    Feb 4, 2009
    Posts:
    410
    Hi

    Is this still be worked on?
     
  27. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    We never said it's impossible.
     
  28. naspino

    naspino

    Joined:
    Feb 14, 2010
    Posts:
    5
    Rytis,

    I like it. I just posted a blog entry on using SketchFlow to prototype Unity games.

    (http://naspino.wordpress.com/2010/04/08/unity3d-and-sketchflow/).

    This reminds me of that. The visual nature of it can help rapid prototype. If you are not familiar with SketchFlow I would encourage you to look at some of the training videos online. Keep up the good work.
     
  29. Darktz

    Darktz

    Joined:
    Apr 12, 2010
    Posts:
    6
    please!! give a release please!! if not, just let me to download the tool!! i really want it!! May i get this tool for unity??

    why unity doesn't release this visual logic "Kismet" like tool but UDK/Unreal does release this of their own engine!!

    Programming with writing code is too old way to make a games, but visual logic editor is the great modern and professional way to scripting well and fast!!

    just look at UDK, some of their games is made well in only four weeks within easy gameplay programming tool(Kismet)!!
     
  30. Darktz

    Darktz

    Joined:
    Apr 12, 2010
    Posts:
    6
    PLEASE!! give a release!! if not, just let me to download the tool!! i really want it!! May i get this tool for unity??

    why unity doesn't release this visual logic "Kismet" like tool but UDK/Unreal does release this of their own engine!!

    Programming with writing code is too old way to make a games, but visual logic editor is the great modern and professional way to scripting well and fast!!

    just look at UDK, some of their games is made well in only four weeks within easy gameplay programming tool(Kismet)!! :D :D :p :idea: :idea: :idea: 8)
     
  31. Monty

    Monty

    Joined:
    Sep 26, 2009
    Posts:
    30
    Not quite as easy as that. This is just one guy doing a bit of programming on his fun fridays - who knows if he is even still doing it. A whole team is needed full-time to make it work up to standard. Hopefully that is what they are planning for the future. Unity 4.0 maybe - fingers crossed.

    You can also make decent games in Unity within 4 weeks. Albeit more pleasent, Visual programming really isn't as fast as you think; it still takes alot of work to connect up all the nodes to do what you want it to do.
     
  32. Tysoe

    Tysoe

    Joined:
    Jul 6, 2009
    Posts:
    577
    I think there's lots of use for a visual logic editor, most of it would be high level. Most games have simple gameplay made of basic triggers or conditions that have to be met to activate a trigger.

    All that stuff can be done fairly easily in unity already in code, but it doesn't have to be.

    Things like timers, delay actions, on collide play sound, destroy object, instantiate particle or prefab, turn on lights etc. Can just as easily be done in a visual node based editor without having to learn the syntax of a programming language.

    You wouldn't want to create a entire game that way, but localized actions for gameplay objects that react to triggers initiated by the player can be done quickly and easily, and in some ways experimentally without too much thought.

    I know people like strict specs and coding, but sometimes having a strict code also holds back experimentation since it requires more planning and time to execute than stringing together a few nodes and seeing what interesting things happen on a whim that might lead to new and innovative ideas.
     
  33. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    Removed- wrong topic.
     
  34. Monty

    Monty

    Joined:
    Sep 26, 2009
    Posts:
    30


    Nor, it seems, did you take the time to even look at the title of the forum page. If you have questions just start a new topic.
     
  35. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    Sorry, replied to wrong topic. Moving...
     
  36. Regularry

    Regularry

    Joined:
    Aug 9, 2008
    Posts:
    161
    For those who would like to see something like this be sure to vote for it in the features poll if you haven't already:

    http://feedback.unity3d.com/forums/...s/196079-editor-visual-logic-editor?ref=title

    Interestingly, if you subtract the already started or planned entries, then three of the top eleven remaining features are for visual editors of some sort:

    #2 Visual GUI Editor
    #3 Visual Shader Editor
    #11 Visual Logic Editor
     
  37. rytis

    rytis

    Guest

    Joined:
    Jul 11, 2008
    Posts:
    138
    I cannot apologize enough for forgetting about this thread (stopped receiving email notifications some time ago).
    We are all very busy with 3.0 and... stuff. But this project is not dead. I will do my best to make it happen. Better sooner than later.
    Though since this is feature a lot of people would use it is why it needs to be good from the beginning.
    And making things good from the beginning takes damn lots of time!

    Anyway, thanks a lot for your support!
     
  38. rytis

    rytis

    Guest

    Joined:
    Jul 11, 2008
    Posts:
    138

    I did that with GL. Calculating bezier function.

    Code (csharp):
    1.  
    2. GL.Begin(GL.LINES);
    3. GL.Color(clr);
    4. GL.Vertex3(x, y, 0);
    5. ...
    6. GL.End();
    7.  
    But in 3.0 there will be DrawBezier function to make things easier.
     
  39. Darktz

    Darktz

    Joined:
    Apr 12, 2010
    Posts:
    6
    will it release?

    i need it!! it helps us to make better and faster gameplay!! i don't want to waste my time on learning scripting!! i have alot of work to do!!
    it is so much important to me!!

    please release it!! and i hope include in unity 3.0!!
     
  40. Darktz

    Darktz

    Joined:
    Apr 12, 2010
    Posts:
    6
    Most of peoples accept this feature!!
    so, why don't u fulfil our request??
     
  41. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    I think that this feature should come as part of unity3
     
  42. Darktz

    Darktz

    Joined:
    Apr 12, 2010
    Posts:
    6
    i just want to make sure!!
    is it a tool to create gameplay without knowlenge of programming?? it can do anything that script can do?

    if that so, 100% by me to request and rate this feature!!
    :D
     
  43. rytis

    rytis

    Guest

    Joined:
    Jul 11, 2008
    Posts:
    138
    It definitely will not be in 3.0. As I said there is no telling when or if this will be released.

    Darktz>
    If you want to make games, learning to program is not a waste of time.
    With such tool one can do quite a lot without programming, maybe some simple games could be done without programming at all, it depends on the node library. But no, it does not fully replace programming.
     
  44. Darktz

    Darktz

    Joined:
    Apr 12, 2010
    Posts:
    6
    so, i won't release? but most peoples agree with this tool!!! i don't know what to say, u still not accept our request!! we need it and we like it!! how many times should i say?

    i hope it get release soon and soon!!
     
  45. rytis

    rytis

    Guest

    Joined:
    Jul 11, 2008
    Posts:
    138
    You and other peoples wont release :)
    I want to release it more than you do. I just don't have a magic wand. It is far from done yet, it's not like I have it done and don't want to give you. Try doing some coding and you will quickly see that things are not as easy to do as they seem at first.
     
  46. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    "Visual programming" is not some savior to everyone who doesn't code. The games people reference above (The Path) aren't polished very much. I just bought The Path yesterday, which lacked interactivity, and was more of a "movie game", so it's a bad example. In addition, it's much harder to do optimizations on node graphs. "Visual programming" isn't really much programming, and the visual representation isn't that helpful, it just prevents syntax issues. A visual editor like this should be used strictly for level design, like switches, buttons, and moving objects with animation. If people plan to abuse this editor, I'd rather it not be released as part of the official Unity package.
     
  47. Regularry

    Regularry

    Joined:
    Aug 9, 2008
    Posts:
    161
    If visual scripting is good enough for CryEngine and Unreal I think it should be worthwhile for Unity too.
     
  48. Jedimace1

    Jedimace1

    Joined:
    Jan 2, 2010
    Posts:
    119
    They use it in the same way I say it should be used, pretty much level design only. Most of the code for UE3 is done in UnrealScript, no game play code is really done in Kismet (can't even create a weapon in Kismet). Kismet is mostly used for things level design things, like switches and doors.
     
  49. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    yupp. Stuff that you can hook up easily, "entity - action binding", or just general player - world interaction. But nothing thats related to the simulation
     
  50. DaveA

    DaveA

    Joined:
    Apr 15, 2009
    Posts:
    310
    No updates on this thread for a while, what's the status of this?

    Would love to see a general and/or scriptable and/or extensible thing like this, maybe be able to port Kismet or other in?

    AmigaVision! God I miss that machine.