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. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

About visual scripting

Discussion in 'General Discussion' started by yaapelsinko, May 17, 2014.

  1. yoonitee

    yoonitee

    Joined:
    Jun 27, 2013
    Posts:
    2,363
    I think the main problem with visual scripting systems is that our eyes don't know where to look.

    For example in textual scripting our eyes can just scan down the page like reading a book.

    But in visual scripting, to find something it's like playing a game of "Where's Wally/Waldo?". Apparently autistic people have no trouble with that game but for us with more usual brains we find that very complicated!

    Unless there's a way to make visual scripting more 1 Dimensional rather than 2 Dimensional our eyes will always have trouble with it!


    Warning: Crazy idea follows: :eek:

    One idea I had recently was to create not a 2D visual scripting language but a multi-dimensional scripting language.

    It would have all the 3 main dimensions of space plus 1 representing time (like a timeline) plus more dimensions such as the level/screen dimension, or a player number dimension, or a score dimension, or a menu hierarchy dimension, etc. You would be able to choose which dimensions were mapped to screen coordinates at any one time.

    Therefore code and your 3D world (and all the different levels, and all animations and transitions in time) would inhabit the same multi-dimensional space.

    Maybe that sounds crazy but I bet it could work. For example a node that says "If THIS is clicked..." could be positioned with it's space coordinates over a particular object. However if we are choosing not to map space coordinates to screen coordinates this node would be positioned just like it would be in a BluePrint.

    There would be the options to hide certain sections of the space, for example if we wanted to only look at the slice of space where the level coordinate equals 3 or the time coordinate equals 0. But also we might not want to hide them to compare two levels. The possibilities are endless!

    In effect your game would be represented as a multi-dimensional manifold. And where you are at each point in the game would be a coordinate in this manifold. It might not work for everything but for some things it could speed things up.
     
    Last edited: May 20, 2014
  2. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,763
    ...Visual scripting is preposterously easy for people to follow and debug. That's one of its core selling points.
     
  3. JasonBricco

    JasonBricco

    Joined:
    Jul 15, 2013
    Posts:
    956
    Because of all the arrows pointing around? I feel like at some point the arrows would get overwhelming. Like some huge, tangled mess of arrows. And it would be nearly impossible to figure out which way arrows are going.

    Okay, I'm sure there are plenty of design options to prevent this from happening as I imagine it. Still, it comes to mind.
     
  4. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    First you demanded 'published and become profitable', when you failed with that obviously not being aware of what kind of games are popular now and what of a kind games was before, you ran to 'advanced'.

    Shame on you.
     
  5. sandboxgod

    sandboxgod

    Joined:
    Sep 27, 2013
    Posts:
    366
    Yes that can occur if the designer does not use macros, functions, etc. These options are available like in Blueprints to prevent that issue but it is up to the user to implement. But remember, any language can end up a mess. Remember GOTO statements? Jumps? *shudders*
     
  6. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    Well I wouldn't bound game quality to one's programming experience. Being programmer doesn't mean you are good at creating games. As for game logic complexity, this is still plays well. I wonder what of complexity could game logic be running on a Zilog 80 CPU.
     
  7. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,148
    As a programmer one of the biggest aspects I look at for a new tool is how does it improve debugging. Faster compiling can be nice but compiling C++ code for Unreal was pretty zippy. Especially after the first compile.

    What I liked about Blueprint was how it animated the wires and nodes to show the flow of execution. This particular aspect though comes down to personal preference. I found compiler debuggers a bit confusing at first but eventually got used to how they indicate problems.

    Beyond that, as I stated in my first post, it allows other members of your team who may not be programmers to add small snippets of functionality, especially snippets that are non-gameplay related, thus freeing the programmer(s) so they can focus on the more important code.
     
    Last edited: May 21, 2014
  8. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,516
    Yeah, but "premature optimisation" isn't what most people think it is. People abuse that quote to justify saying things like this... ;)
    ... because that in turn justifies not designing and planning for performance in the first place.

    Avoiding "premature optimisation" doesn't mean letting things go to crap before thinking about it. It means things like not optimising at the low level (where it commonly makes things more complex and harder to read and change and maintain) before you've optimised at all possible higher levels first.
     
  9. Dameon_

    Dameon_

    Joined:
    Apr 11, 2014
    Posts:
    542
    I'm not sure where I flip-flopped, as you seem to be implying. Is there a flappy bird clone that has proven profitable? Or are you implying that Flappy Birds itself was made with visual scripting? Honestly, I wouldn't know without asking the programmers. Could you maybe ask for me?
     
  10. kshaja

    kshaja

    Joined:
    Sep 22, 2010
    Posts:
    148
    Think about this:
    "Language that you use defines what you can think and imagine"

    If you have in your vocabulary 50 words for snow, you are probably living in Alaska.
    If you have just 1 word for snow you are probably livings on same nice Tropical Island.

    Somebody mention about Pascal and OOP. It is very hard to imagine OOP in Pascal terms.
    Yes you can make programs in Pascal too, but you can’t imagine HTML5 semantic with it.

    Visual Programing plugins are made with pure code. So don’t argue which one is better.
    Code is the base for Visual Programming.
    Visual Programing is an extension of the coding.
    Just as C (C , C#...) is an extension of Assembler that is an extension of 0 and 1.

    So why somebody thinks that Visual Programing is the better tool.

    1. It resembles the Algorithm!
    In school they made us learn first to make an Algorithm and then to make program code out of it.
    If you are just coding without even making some sketch about your program flow, hey lucky you!

    2. It gives you a great visual debugging feature!
    Check the videos bellow. They are made from recording two applications with Photon network solution in Antares Universe Vizio ( AU ). It will show you how to understand and debug better network application in real time.

    3. It can give you visual information about your programing logic.
    If your graph looks like spider web, you are probably doing something wrong.
    If they are nice and clean, you got it right. See the picture bellow. Green squares are clean. Pink squares are messy due to last day changes in the "code" - patching some new customer’s idea that wasn’t there before.

    4. Easy jumping into the project 3 years old and not even your code.
    You don’t need to list code. Just play the app and look your visual debugging tool, to see the flow.
    And tell me honestly, if you need to jump in somebody’s code would you rather prefer to browse 10 000 lines of code, or to look the working algorithm of it.
    For me it is like If need to get an exam tomorrow to answer question about War and Peace - Tolstoy, and i didn’t read the book. Would you prefer to try to read it or to watch 6 hours movie...

    For me, for mine mindset, visual programming is the tool that I enjoy.

    $VS1.png



     

    Attached Files:

    • $VS.png
      $VS.png
      File size:
      102.5 KB
      Views:
      913
  11. Woodlauncher

    Woodlauncher

    Joined:
    Nov 23, 2012
    Posts:
    173
    That's not true at all.
     
  12. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,763
    Sure it is!

    If your monitor's refresh rate is only 60hz. But if you have a 12hz monitor WOW it's really glaring.
     
  13. Hikiko66

    Hikiko66

    Joined:
    May 5, 2013
    Posts:
    1,302
    That's not the human eye, that's the monitor.
     
  14. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,763
    Mind telling me what you look at the monitor with?
     
  15. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    The eyes don't only see at 60hz, that's complete BS though perhaps the worthwhileness of extra frames over that is not a big deal (Though in some situations it is, like VR)
     
  16. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,887
    What's the point of this thread? Just to give more support to visual scripting? Unity has many visual scripting solutions, with Antares Universe (VIZIO) (free version works with Unity free) being almost exactly the same as Blueprint, and it has a node to write a formula.



    It would be nice if Unity implemented VS themselves for stability reasons, but we have heard nothing from them.
     
    Last edited: May 21, 2014
  17. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    Well, there is also visual shader editors, and many more things you probably wanna have built in the Unity out of the box rather that buying it on the Asset Store.
     
  18. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,148
    Depends on the individual. I know some people who used CRTs at 60Hz and were just fine. But I could see a 75Hz monitor refreshing and as a result anything 75 or below was both distracting and headache-inducing.
     
  19. NoPiece

    NoPiece

    Joined:
    Jan 5, 2014
    Posts:
    26
    In the Valve dev days presentation on VR, they talked about targeting 95hz to get rid of flicker when using low persistence displays.

    http://media.steampowered.com/apps/abrashblog/Abrash%20Dev%20Days%202014.pdf
     
  20. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
  21. Teo

    Teo

    Joined:
    Oct 31, 2009
    Posts:
    564
    That tool is not even 5% close with what UE4 Blueprints can do. You did not even bother to see introductory videos about Blueprints I think.
     
  22. peterdeghaim

    peterdeghaim

    Joined:
    Apr 10, 2014
    Posts:
    154
    Unity really should try their best to keep up with Unreal. If Unity keeps going the way they're going now, in no time Unreal will take over considering the whole $20 for the full version thing.
     
  23. Stardog

    Stardog

    Joined:
    Jun 28, 2010
    Posts:
    1,887
    List them then. You're talking about prefabs/construction scripts or something?
     
  24. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    Those that claim their eyes notice high frequency frames are full of it because it's the brain that throws out extra frames with redundant information even when you are outside looking at the real world with an FPS at the speed of light and far more differences in information than between two games in a silly game. If what was being claimed by some gamers were true they'd be unable to watch television or go to the movies without being driven to distraction by the glacial frame rates.
     
  25. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    20,148
    Without some factual data to back up your claims your word is equally worthless.
     
    Last edited: May 22, 2014
  26. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    Factual claims? I never claimed those things, I was taught those things. It's all elementary school subject matter for decades now.

    You see that's what scientific education is: a basis for exchange information about the world without resorting to juvenile attempts to divide and conquer. So that every time, anything is said in public you don't have to restating a library full of axioms and use inductance to prove general theorems decades and centuries old now. Education: get some. The same attitude that juveniles use to invent new slang to exclude those not in their niche, 'gamers' are using to make claims that fly in the face of repeatable and measurable scientific data.

    I guess it's the 'body and brain of these superior gaming specimens' that allow their bodies and brains to ignore the laws of physics. LMOA. Oddly, many of these games and now decades long gamers claim to wear shoe sizes bigger the size US 12. And they have trouble getting off the couch. They're like Texas, bigger and better in every way.

    Or not.

    For those that weren't educated in elementary school, you should of paid attention in class.

    Now how fast is the speed of light? How long for those electrons to travel from point a to point b?

    And let's see you must have FPS of what or you will whine all day?

    Complaining about underpowered CPUs, GPUs, poor game engine, and poor game engine art work aren't proof of your 'superior brain and body' compared to the non-complaining general populace. What a joke.
     
  27. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    Why should you have to learn a new way? Give me a text editor. I can write code pretty fast once I determine logic flow. VS may be fine for simple setups but I can look at a few of my procedural IK scripts and VS would be a spaghetti mess of nodes and arrows all over the place if i tried to do that functionality and take me way longer to set up. I can read my code and see what it does in my head like I can a storybook.
     
  28. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793

    Good lord..That is a mess to follow.
     
  29. wccrawford

    wccrawford

    Joined:
    Sep 30, 2011
    Posts:
    2,039
    There's some irony, there. If you're going to insult someone by telling them to pay better attention in school, you *really* should make sure your grammar is impeccable.

    Even if you were taught in elementary school that your eyes throw out redundant frames, that doesn't mean it's true. That's the thing about books and teachers. Just because they say something doesn't mean it's correct.

    The fact that gamers can point out which video games are running at frame rates higher than 60hz can only mean that they can see rates higher than that. If they can tell the difference, then it matters.
     
  30. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    I worked in international commodity brokering. None of the Chinese, Vietnamese, Japanese contracts were in pictograms. They were in english and precision was the point. Your argument falls flat on its face. Pictograms and visual language do not offer precision, only conceptuality.
     
  31. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    I tried and stopped using PlayMaker due to lack of functionality, bloated compiled file size and performance.
     
  32. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    I will give you that VS would work well for shaders with each node showing the state of the shader surface output up to that point. For programming complex non visual logic..not my cup of tea.
     
  33. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    pffft.
     
  34. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    I can see the frames go by at the movies. Especially tripping:) TV..ouch..that 60 hz framerate is built purposely to drop you into alpha in less than 30 seconds in the US.. The reason it can pull of a continuous motion fakery is through motion blur from film and in 3D renders. If there is no motion blur in the 3D I can see each frame.
     
  35. sandboxgod

    sandboxgod

    Joined:
    Sep 27, 2013
    Posts:
    366
    Good read for you :D

    I don't know about the other visual scripting languages but if this happened to you in a blueprint you're probably doing it wrong
     
  36. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    Good enough.. Looks a bit better than I thought.. I am still a roll yer own kinda guy. The killshot with Unreal for me is no GUI and having to roll that. Every project I do has massive gui with many screens. I do alot of interactive video walls, tunnels, caves. When Unreal sports a GUI with this I will look into. Schedule is out the ying yang and I have no time to sandbox about unfortunately. I rarely play any games either as I cannot justify that over educating myself by actually putting into practice for real world projects. At this point Unreal is simply that..another game I cannot plaay because the time devoted to it will empty my fridge.
     
  37. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    Obviously someone's brains are working faster, than others'.
    Always nice to meet people who can't even see how they actually see.

    You probably don't know that eyes and brain are working continuously.

    I wonder what makes you think someone will be 'unable' to watch something. Are you unable to watch slideshow at 5-10 frames per second? What are you seeing then? Black hole?

    Don't answer. This is a rhetoric question.
     
  38. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    Never seen a state machine, eh?
     
  39. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    Yeah any arguments always falls flat to ignorance.
     
  40. yaapelsinko

    yaapelsinko

    Joined:
    Nov 16, 2013
    Posts:
    102
    That's just unbelievable to see such claims, frankly. Someone can't figure out how algorithms could be organized other than in text, but it isn't their flaw, it is definitely a fundamental flaw of the flowcharts, blueprints and of any other things those ones couldn't understand.

    Ignorance is ignorant.
     
  41. NoPiece

    NoPiece

    Joined:
    Jan 5, 2014
    Posts:
    26
    When you say Unreal has no GUI you mean it doesn't have something like UnityGUI to script out GUI controls?
     
  42. Daydreamer66

    Daydreamer66

    Joined:
    Nov 14, 2009
    Posts:
    218
    This is one glaring deficiency over there right now; it has Slate built in, which works natively on all platforms, but C++ tinkering is required. Other options are available as well, like Coherent UI, but they all require some level of C++ proficiency.

    The tools team is currently working on Unreal Motion Graphics, which is a WYSIWYG GUI visual editor that extends Slate and will be completely accessible through Blueprints, but it's a still a few months out. The community there is hoping for a working release candidate sometime soon.
     
  43. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    I used UnityGUI on the 2.x cycle. I have used EZGUI through the end of the 3.x cycle and all through the 4.x cycle so far. I am trying out uGUI as a beta list subscriber on a GUI heavy game project.It's getting there is all I can sat about it really. GUI's are such an important part of any game practically speaking and absolutely important in the other projects I handle like interactive kiosks and video walls, non game apps for iDevices and the lot and nobody is gonna pay me to learn C++ so it is a no brainer to stick with what works for me. YMMV.
     
  44. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    They might get me then..but the other big issue with me is my game projects use a ton of trig functions based on axis rotations. In my 3D world Y is up/down, Z is forward/back and X is left/right. It makes absolute sense to me why this is so. A Z-depth buffer for example is looking forward into the scene. It ain't a Y-Depth buffer so this paradigm is inherent in the 3D paradigm. My understanding is this is not so in UE4. That right there is a time killer for me and a hassle I have no desire to put the brain power to to defeat..or nest every single game object in a null to achieve a system that functions with my learned brain muscle and code chops.
     
  45. sandboxgod

    sandboxgod

    Joined:
    Sep 27, 2013
    Posts:
    366
    Isn't ue4 the same (Y-UP)? I don't have my ue4 project infront of me right now. But I am pretty sure gravity is along the Y-axis so you would be fine in that case (because that would make it Y-UP)
     
  46. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    But is Z forward? I do not know but someone mentioned it somewhere in all these threads and I was like..there goes my hard learned trig and my asset pipeline. I assumed UE4 were using the .3ds/.max paradigm which has annoyed me to no end over the years coming from a Cinema 4D perspective. If I import a Max character into C4D he is running into the ground, not along it and the animations are near impossible to edit.
     
  47. minionnz

    minionnz

    Joined:
    Jan 29, 2013
    Posts:
    391
    Can someone tell me, in a Unity workflow what would a Blueprint look like?
    1 - Create GameObject, Add Components to GO, create and apply BluePrintA (Must create components on object first)
    2 - Create GO, Add components to BluePrint, Apply BluePrint (BP instantiates components for you)
    3 - Create Blueprint, add components, add Blueprint to scene (like a prefab)
     
  48. sandboxgod

    sandboxgod

    Joined:
    Sep 27, 2013
    Posts:
    366
    @ippdev, These are the ue4 C++ math functions most users will be invoking from blueprints. It appears I was incorrect, UE4 is Z-UP.

    Code (csharp):
    1.  
    2. FVector AActor::GetActorForwardVector() const
    3. {
    4.     return GetTransform().GetUnitAxis(EAxis::X);
    5. }
    6.  
    7. FVector AActor::GetActorUpVector() const
    8. {
    9.     return GetTransform().GetUnitAxis(EAxis::Z);
    10. }
    11.  
    12. FVector AActor::GetActorRightVector() const
    13. {
    14.     return GetTransform().GetUnitAxis(EAxis::Y);
    15. }
    16.  
    I didn't notice previously since I just invoke those functions above to get the desired direction I need to move in, etc

    Below is the blueprint being invoked from a PlayerController on the target pawn

    $blueprint.png
     
    Last edited: May 24, 2014
  49. sandboxgod

    sandboxgod

    Joined:
    Sep 27, 2013
    Posts:
    366
    @minionz, Here you go. This blueprint spawns an actor and atatchs a 'pawn noise emitter component'. UE4 isn't quite like Unity though. The rough equivalent of a GameObject would be an Actor.

    $blueprint2.png
     
  50. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,793
    Thanks for checking. Rotation axes are tricky enough doing dot and cross product to find normals of surfaces to align feet or paws to terrain or translating pitch, yaw and roll to drive dial pointers. The C++ syntax looks like I could actually wrap my head around it so that ain't too scary. The one game I have that could use the grfx whoop it up uses hoverboard/rider and lays out nodes based on icosahedron surface poly normals and vertices normals. I remember a few years back going through hell in handbasket to get them instantiated in the correct position and rotation. Entering and exiting nodes was based on plus or minus the local position of the triggers Z and X axis. It looks like I would have to do a whole rewrite just to get that game beginning to have the same functionality in UE4. I will be awaiting Unity 5 and see what the new PhysX brings and Enlighten to add more dynamicism to the lighting.

    Looked at CryEngine last night..could not find any info on subscription and it does not seem to have an OS X iteration..So..no go there either..If I ever get time to spare over the coming winter I may dig around and invent something new in UE4 just to get C++ under my mitts. The only way I understood programming initially was using Flash to move my art around with. If i can see what it does then I can get a grip on what it is doing. Server code and any non-visual code use was a black box to me back then. I would open CodeWarrior and go WTF is going on here and close it puzzled an hour later having clicked every menu item and any available buttons popped up.

    When I bought Flash to get vector grfx going for website work back in 98-99 I thought..let me write an interactive table of chemical elements using this ActionScript 1 stuff. Three days later I had the ToCE console working dandy then wrote a Phonetics Key console and was off to the races. Most of the Flash work for 10 years then on was RAD, large xml based catalogues that could selectively display tile suggestions for designers based on color choices, map navigation and placement apps, 2D games and such. Someone at a coffee shop told me about Unity in 2009 when I bitched about Flash sucking due to the overwhelming amount of script kiddies filling email boxes for jobs they were not qualified for making getting work tough as I had to beat them to the punch to even get read and that I could rock and roll procedural animation in 3D but was stuck in a military corporate town with no desire to be anywhere near Hollywood. They told me to download Unity..a game engine.. I told them I don't have a few hundred K USD lying about heh..They said it was free. I thought.. This will probably suck if it is free. I was mightily surprised and within hours had started building up a library of physics and animation helper scripts and a navigatable world. I tossed Flash the next morning never to return.

    It seems though Unity is suffering the same script kiddie plague messing it for those actually over-qualified for contract work in the engine. I gave up seeking work through the forums here not being taken seriously or taken advantage of by feature creepers holding me financial hostage knocking contract pay from 30 to sometime less than 10 an hour when they started saying they need this, that and the other and then threw in everything and the kitchen sink and refusing to pay for it. I have a Top Unity Dev badge at oDesk but most of that is build my endless runner game for 150 bucks. Or fixing a C# framework someone made and bailed because they painted themselves into a corner, looking at it and knowing it needed a rewrite from scratch but the potential client not budging because they paid for all that work already..heh.. Now..I can use Visual Screipting when I have to like Mecanim State Machines but still, after a certain level of complexity it gets whacked... $StancesMecanim.png
     
    Last edited: May 24, 2014