Search Unity

Playmaker, Vizio Universe, Strumpy shader editor, WTF?

Discussion in 'General Discussion' started by nikko, Apr 3, 2011.

  1. nikko

    nikko

    Joined:
    Mar 20, 2009
    Posts:
    436
    Am I the only one to think that coding with my hand "a+=1;" is faster than:
    1- drag and drop a variable container in the main windows.
    2- name it A
    3- drag and drop a + math action in the main windows
    4- connect the box A to the box +
    etc...
    ???
    ...
     
  2. Frank Oz

    Frank Oz

    Joined:
    Oct 13, 2010
    Posts:
    1,561
    Guess what? You don't have to use them if you don't want. :) But those who want to, have that choice. So you know, let em? :) Not everyone finds the same things as easy as you, just like you won't find other things so easy as scripting by hand.
     
  3. nikko

    nikko

    Joined:
    Mar 20, 2009
    Posts:
    436
    But the marketing argument of these tools is that they speed up the prototyping etc... I am a old fashioned hard core coder, I programmed in various assembler etc... so coding for me is having the control over the code, as close as possible to the machine.
    Now when you use these tools, can you really do a AAA game with that?
    I think no. A big game is something like 100,000 line of code, so how this does translate visually in these tools?
    And if you have a bug, how can you find in a big project where it is?
    If you want to rename a bunch of things, move one piece of code into another, etc...
    And if there is a bug in the tool itself, how to you know it is the tool and not your code that is the problem?

    I think these tools are good for small demos, but are not suitable for doing a whole project. There is no magic wand :(
     
  4. Frank Oz

    Frank Oz

    Joined:
    Oct 13, 2010
    Posts:
    1,561
    To you they might be slower, but to someone without years of coding experience, they're a life saver.

    I dunno, lets ask Epic and Crytek if these visual editors they both champion, prevent them from making AAA games..
     
  5. Frank Oz

    Frank Oz

    Joined:
    Oct 13, 2010
    Posts:
    1,561
    Damn you meh! You gazzumped me with the Unreal argument! :p
     
  6. Frank Oz

    Frank Oz

    Joined:
    Oct 13, 2010
    Posts:
    1,561
    All joking aside, I personally like having the choice. Some things make more sense to me as scripts, others make more sense to me in playMaker. Same applies to shaders.
     
  7. WolfoX

    WolfoX

    Guest

    I have years of coding experience and these tools still ARE life savers.
    Could I do it by hand? Yes. Do I want to do it? God... NO!.

    I do know what is to code a big game. No fun.
    Don't worry, little wannabes won't get your coder job because of these tools. Life goes on.
     
  8. MitchStan

    MitchStan

    Joined:
    Feb 26, 2007
    Posts:
    516
    I'm a casual programmer - I can program but not like some of the big boys around here.

    I've been looking at VIZIO and PLAYMAKER and trying to decide if these tools are better for me than scripting. I think PLAYMAKER is, but when I look at some of the VIZIO graphs - what a headache. But maybe it will be better for me once I try it. Who knows. Very good debate though.
     
  9. dissidently

    dissidently

    Joined:
    Dec 8, 2010
    Posts:
    286
    time for a "MMORPG" button comment? no? too late.
     
  10. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,603
    I think VIZIO and PlayMaker are very powerfull, when used correctly.
    Offering trivial nodes for me does not count as such but the possibility to expose custom, complex node is a capability that enables programmers to create complex stuff that designers can use with 3 nodes and create all kind of functionality without you as coder holding their hands.

    For me as coder its naturally not as interesting to use but interesting to be aware of and know how to work with it as you always work with designers that would love to toy something and when you join a team and can show a list with a host of complex nodes you bring onto the project, thats NEVER a bad thing :)
     
  11. 2dfxman1

    2dfxman1

    Joined:
    Oct 6, 2010
    Posts:
    1,065
    I know jack about shader programming in unity and neither do I want to learn it. SSE is a saver here.
     
  12. pinkhair

    pinkhair

    Joined:
    Dec 17, 2010
    Posts:
    129
    When I started with making 3d models in Aegis on the Amiga you designed your model on graph paper and typed in the vertex positions and polygons by hand. In Lightwave or AutoCAD, I could still do the same thing right now, if I wanted to.

    Nobody is forcing you to use visual logic/shader editors.
     
  13. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    820
    No offense, but you just are just plain not the target demographic for those tools in the way you seem to think.

    You, as a seasoned programmer, are the target demographic in the sense that you can easily expand a visual-node system for your specific project allowing you to empower your level designers to do incredibly complex and specific tasks with absolutely zero intervention from you after the nodes are created.

    On small teams especially, one of the most important jobs you have as the sole (or one of a very few) programmer is empowering the other members of your team to get work done. Some of the most interesting and, in my opinion impressive, things I've done for Unity were writing tools for the designer on my team to use to develop the game.

    -----------------------

    I've really not used visual scripting much at all. However, right after Unreal III was released the very first thing I did was check it out from a designer perspective. I implemented a fully working tic-tac-toe board that rewarded the winning team with quad damage and a rocket launcher (it was a small level where the rocket launcher was otherwise unavailable, but the level was set up to take heavy advantage of it).

    Is tic-tac-toe a hugely complicated game? No, of course it isn't. But I still managed to implement it with all the expected features (team-based turn rotation, eventually timing out someones turn and allowing the other team to choose for them so that someone anticipating a loss couldn't simply stop playing to prevent the inevitable winner from winning...) in an afternoon entirely through Kismet. Could I have done it in less time just programming it in UnrealScript? Yea, definitely - but the entire point of the project was to evaluate Kismet from a designer perspective so I could better understand how to leverage it in a team situation.

    Don't think about how it benefits you directly as a programmer, think about how it benefits other people on your team - and how you can leverage it to make your own job easier/more efficient.
     
  14. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,358
    And it's very easy to debug anything in visual environment. At least in my Universe ;)
    This is not advertising, just experience.
     
  15. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,358
    It's just opinion. You can pack your code in custom blocks and continue using it in visual environment.
    But, sure, I not say, what it is the Absolute. It's just a toolset.
     
  16. KHopcraft

    KHopcraft

    Joined:
    Jun 6, 2009
    Posts:
    3,246
    You kiddin? Its awesome fun.
     
  17. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,358
    Well, I know it's possible to create a huge game completely in visual environment (especialy using custom-created blocks). This is just a question of choose. I think, the future is open for visual systems because humans are visuals creatures.
    And yes, it's just my opinion. ;)
     
    Last edited: Apr 4, 2011
  18. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,803
    What I personally find interesting about nodes is not when you have a couple of lines of code, but when you have big code logics, because for me it's easier to find things in a node map than in a long scroll of code.
     
  19. Filto

    Filto

    Joined:
    Mar 15, 2009
    Posts:
    697
    Well if all nodes where just a replacement of a single statement but one node can bundle up a bunch of code. And for people that is not confident with programming it is an absolute lifesaver.
     
  20. Tim-C

    Tim-C

    Unity Technologies

    Joined:
    Feb 6, 2010
    Posts:
    2,093
    I think that writing a += 1 is faster then rigging up a graph in a node editor, but I also think that you are being very disingenuous with your example.

    I am going to start this by saying that node based editors are not for programmers. They are for content creation and are tools that push content into the hands of the artists and designers, and are about empowering the work flow of a team. Every engine I have worked with professionally has had simple scripting tools for levels and events, some have been node based, other have been more adhoc. In all situations they were implemented so that programmers could spend time implementing systems and important game code rather then configuring the scripting in a level.

    This being said though there are performance and other associated risks that come from using a system that is data driven by content. To start with that system needs to be maintained by the team, it needs to be robust, it needs to be debuggable and it needs to be easily and simple extensible by programmers (What I'm saying is that it needs to be well designed). There are some major design decisions that come from implementing a node system for scripting, and for me personally this line lies at a level just slightly lower then level scripting. I firmly believe that some visual scripting tools get the level of abstraction wrong, they try to do everything and manage a massive state machine, where as I think this is much better suited to a custom system which can be controlled by a visual scripting level (i.e event driven). It should be possible for a level artist to be able to create a mock battle using a visual editor without requiring a programmer, even if it is just for prototyping and needing some code optimization pass to be done at a later stage. The trick is to select the right level to insert the visual scripting. You want to to be powerful enough to achieve your goals, yet restrictive enough that the scripting is not the game itself. I like to think of it as a game code providing a generic set of game flow, where specific events can be delegated to the designers / artists via the visual scripting system.

    In a massively data driven and content pipeline (and with the state of AAA games there really isn't any other), programmers are required to maintain, fix and extend these systems in support of the content creators. Look at Unreal engine, look at Crytek, and look at Unity. Every one of those engine's strength's lie in the tools they provide to the content creators and the asset pipeline. Not relying on a programmer is liberating from a content perspective and allows for rapid design, prototyping, and experimentation.

    You strongly miss what these tools offer a game pipeline, a person like yourself is not meant to use these tools you are meant to develop and extend them. If you think a big game is 100,000 lines of code then you have not worked on a big game. The biggest cost in games these days is content, and code is there to facilitate that vision.

    As for shader editors, I have to say I disagree with you also ;) I have seen things that would be far more confusing in written shader code then in a shader graph, and I have also seen things that I believe would be impossible but that's neither here nor there. As a programmer I feel that my role when it comes to shaders is to help the artists as best as possible realize their artistic vision. I write a pipeline and a framework for how things are rendered (In Unity this is the Surface Shader model that Aras and co wrote), but then I provide hooks into this system for artistically minded people to exploit. Does an artist need to know how to reconstruct a light value from a screen space lighting buffer? No! Do I need to know exactly how a materials albedo color will be calculated? No!

    It's about providing flexibility and functionality at a level where people who make and maintain content can work faster, and more efficiently. As always there will be times when non-optimal content will be created, but that is why peer review and having constant metrics for how your game is performing is essential.

    As a programmer in the current generation of games development my job is to facilitate the flow of content / data and make those pipelines as clean and easy to use as possible (as well as perform amazingly fast).
     
    Last edited: Apr 4, 2011
  21. PAX

    PAX

    Joined:
    Oct 12, 2010
    Posts:
    54
    Useless topic for conversation.
    There are people who love to program by hands. Others can not accept the classical programming, but perfectly oriented graphical way.

    Ask yourself: why in the modern three-dimensional modeling packages have both nodes editors for materials/particles etc. and scripting languages?
     
    Last edited: Apr 4, 2011
  22. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,603
    Because graphical aspects (material, particle systems, replicators and instantiation to take houdini in here too) can be well represented in graphs normally but exporters, complex math and modifers and other "non artist stuff" can't thus the scripting language? ;)
     
  23. PAX

    PAX

    Joined:
    Oct 12, 2010
    Posts:
    54
    Last edited: Apr 4, 2011
  24. Redbeer

    Redbeer

    Joined:
    Nov 1, 2009
    Posts:
    402
    Different tools for different types of thinkers. It's really that simple.
    In the end, you can do pretty much anything with either method.
    Engineers and scientists have been using nodal logic software for decades, I'd be hard pressed to say they can't write code.
    In fact I don't know a single ME or EE that can't write good code in almost any language, myself included, but still they understand
    the usefulness of nodal logic systems, particularly when it comes to visualizing how things are CONNECTED and how they relate to the larger system.
     
  25. PAX

    PAX

    Joined:
    Oct 12, 2010
    Posts:
    54
    Another thought: why teach programming with flowcharts?
     
  26. tatoforever

    tatoforever

    Joined:
    Apr 16, 2009
    Posts:
    3,859
    Stramit is right,
    The problem isn't being 100% visual nodes or 100% text code, but rather how can we speed and optimize our workflow together (prorgammers, artists and designers). And the answer is, by dispatching similar amount of tasks.Example:
    I'm a programmer, I'll create few states nodes (walking, running, firing, takecover, etc) for an AI agent, but i won't use them, I'll rather let my designers connect those nodes based on their own ideas/mechanics without knowing the complex code behid. There's two great things happening here:
    - I'm not coding complex states flows (rather designers are conecting them), wich is literally faster in a visual way.
    - And designers don't need to care about the code/logic behind those nodes.

    I'm now free to create others node and designers are busy connecting them together.

    Same goes for artists. Programmers must provide tools and designers/artists must use them.
     
    Last edited: Apr 4, 2011
  27. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,803
    I think the real 'programming' is inside our heads, kind of like binary for the computer, we have our own native language in our brains: logic.
     
  28. Frank Oz

    Frank Oz

    Joined:
    Oct 13, 2010
    Posts:
    1,561
    Mine needs debugging.
     
  29. galent

    galent

    Joined:
    Jan 7, 2008
    Posts:
    1,070
    Visual editors speed development, like higher level languages. Does it create the fastest/most optomized/elegant/whatever code? No. Unity itself is too generic and too IDE based to achieve the level of control your describing. Heck, you can hand code the .Net byte code to be far more optomized than Mono (or MS .Net for that matter) compiliers are capible of ... but why stop there? If you know assembler, you know how much trash is pushed out by compiliers in the first place. Garbage Collection??!?? are you kidding? what's the old phrase "Vi or die" hehe, but then hexedit will also work :)

    Now personally, while I've despised nearly every version of visual studio ever devised, is it faster to get things done in the languages it supports.. yes. I think the tools you named are another productivity enhancement in the hands of those that know how to use them. Like any tool, in the wrong hands you may well end up with Windows ME... :D

    As KyleStaves said, if you want that kind of control, these products were not intended for you. What confuses me is your objection to them generally? From that perspective almost every platform that Unity targets for deployment is like a tribute to offending anyone who knows the power and control of coding directly to the hardware... I don't see any Intel or IBM engineers in here (or anywhere else :) ) arguing that MacOSX and Windows are useless ... although... in a more social setting I do recall some comments to that effect :D

    Cheers,

    Galen
     
  30. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,803
    Mine too, lol! But that sort of debugging can only be done by ourselves, no software can help us with that!
     
  31. 2dfxman1

    2dfxman1

    Joined:
    Oct 6, 2010
    Posts:
    1,065
    *waits until 2050*
    Nope
     
  32. Frank Oz

    Frank Oz

    Joined:
    Oct 13, 2010
    Posts:
    1,561
    I tried debugging mine with Wall v1.0, but corrupted my hard drive, how I fix!???
     
  33. galent

    galent

    Joined:
    Jan 7, 2008
    Posts:
    1,070
    rm -rf /
     
  34. PAX

    PAX

    Joined:
    Oct 12, 2010
    Posts:
    54
    War. War never changes… (с) Fallout
    ;)
     
  35. 2dfxman1

    2dfxman1

    Joined:
    Oct 6, 2010
    Posts:
    1,065
    Eye for an eye leaves the whole world blind (c) Call of Duty ( lolno )
     
  36. KHopcraft

    KHopcraft

    Joined:
    Jun 6, 2009
    Posts:
    3,246
    Lol, if you were to mean that I would come down on your ass soo fast it isn't even funny!
     
  37. 2dfxman1

    2dfxman1

    Joined:
    Oct 6, 2010
    Posts:
    1,065
    Come at me bro!
     
  38. nikko

    nikko

    Joined:
    Mar 20, 2009
    Posts:
    436
    Ok, Ok, when someone will finish a game (not a tic tac toe please) using these tools call me back.
    I use Synthedit and I was using the Creamware sound card SDK for development back in 2000, so I know about visual tools. They can be very useful for some things, but when the project gets really big, the time you get at the beginning is lost because you cannot debug it properly, and if for some reason the tool is not working anymore (lack of support from the developer, no upgrade with a new Unity version, you are f.cked).

    Sorry folks but you seems to avoid some real issues!

    Imagine you make a game with Playmaker, and 5 years after you need to modify it for 3DO or a new platform. The tool is no more supported by the author because a new Unity version is out and a bunch of changes need to be done, and the guy is now making a visual tool for UDK...
    You .... are....fuc.......ked!

    Also each time Unity make an update (every month or so) you will have to wait the update from the Author to benefit of the new features???
    And not counting that you will have to pay for upgrades, because no one is working for nothing, and following Unity development speed is a bit of work, no one will do updates for free forever.
    You become slave of the tool.
     
    Last edited: Apr 4, 2011
  39. galent

    galent

    Joined:
    Jan 7, 2008
    Posts:
    1,070
    That's kind of unavoidable unless you purchase the source for any tool you use. If Unity get's bought up, the founders go on a Charlie Sheen style binge and lose the company in Vagas, or heck just keep releasing new versions and "mis-place' the one you used, you'd be in far more trouble with a code base tied to Unity than a visual editing tool for Unity (which produces code anyway).

    Cheers,

    Galen
     
  40. 2dfxman1

    2dfxman1

    Joined:
    Oct 6, 2010
    Posts:
    1,065
    This can be said about any app that has plugin support.
     
  41. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    820
    I think you are still just missing the most powerful use of visual scripting tools.

    It's not building an entire game using them, but building advanced level interaction without programmer intervention that is so powerful and compelling.

    Is Tic-Tac-Toe an advanced game? No, of course it isn't. Is it something that, without Kismet, would have taken programmer intervention to add as a totally new gameplay element to a level? Why yes, yes it is.

    Thinking about how you can leverage them, as a programmer, to build an entire game is silly. The far better question is how you can use them to empower your level designer(s) to make interesting gameplay mechanics without requiring programming time to change simple variables and conditions.

    As for waiting for the author to update after ever Unity update, well that's just plain erroneous. Even if a Unity update breaks something (which certainly won't happen every minor version update), you are a programmer - it'll almost certainly be something small that you can fix yourself to keep your team churning.

    Think of visual scripting tools as tools designed to implement and even develop level mechanics, not game mechanics. You seem to think that using a visual scripting tool is an all or nothing endeavor, but it isn't. A visual scripting tool is simply another tool to add to your very large tool belt.

    If you really want to see how well they can be used, pick up Unreal III if you don't have it already (it's all of what, $10 on Steam now?) - open up the level editor and load one of the levels the game ships with. Look at how they used Kismet within the levels. Did they develop Unreal Tournament III using Kismet? No, of course not - it's way to complex to warrant building it within a VSE. However, the levels themselves all have interesting and varied events and mechanics taking place - developed through the power of Kismet.

    Asking someone to make an entire game with a VSE is just asking someone to use a tool incorrectly. If you have the programming knowledge to script things out in C# or UnityScript (or Boo for that matter) then yes, the vast majority of your gameplay logic should be scripted. It'll be faster, easier to debug, and easier to maintain. Asking a level designer to implement interesting trigger mechanics without your help is a far more appropriate request.

    edit:
    Personally I have no immediate plans to purchase or use any visual scripting environment in Unity. Not because I don't think they are powerful and valuable tools, but because they just aren't applicable to any of the projects I work on. I tend to be the sole programmer and implementer of level mechanics, or the main programmer working with a designer who is also a very capable programmer. We don't have a need for them. If we end up working with a larger team on a project that has room for interesting level mechanics then it's definitely something we would evaluate as a potential time saver.
     
    Last edited: Apr 4, 2011
  42. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,603
    No you can't fix it, not if the output of the intermediate tool is compiled by something you have no code access (like it is the case for Antares Universe - if they don't update a breaking unity change, you can't go to that version - but Neodrop has so far updated all his things and Antares Universe is the first thats non free, just to give you an idea). I guess thats what he was after.
     
  43. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    820
    Ahh, I haven't actually used any of the VS tools for Unity - all the plugins I use come as C# or JS source code so I was thinking along that mindset. Having them only available as compiled code would definitely make me more hesitant to adopt one for future use. If I was on a project large enough to warrant the purchase of one, I'd likely (attempt to) negotiate a source code license.

    So yea, that's certainly a valid concern. I'd have to hope that in the event one of the VS tool project dies they would release the full source code to customers, but obviously there would be no guarantees there.

    Still, that doesn't detract from the fact that - all things working properly - they can be very valuable tools when used in the correct setting.
     
  44. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,358
    Virtools or Quest3D users has no problems with it. Also, in Virtools are created many good AAA titles (not shooters, but a good games)

    And, we can create a full updates of Antares Universe (VIZIO) in 10 minutes after new one Unity minor build. ;)
    And we did it already.

    About major updates (upcoming 4.0) well, I'm a beta-tester. There are no problems too.
     
    Last edited: Apr 4, 2011
  45. KHopcraft

    KHopcraft

    Joined:
    Jun 6, 2009
    Posts:
    3,246
    Why? You didn't mean it!
     
  46. giyomu

    giyomu

    Joined:
    Oct 6, 2008
    Posts:
    1,090
    ah the old fight between pro visual and pro code ^^

    as tateforver said, node and such is great help when it come to work within team, i don't care if i am doing a game on my own
    but when you start to work within team and designer you do not want them ping you every 5mn because they get stuck at design, or implementing something, so all you do is make tool for them, and solution like Universe or playmaker already give you an environment to work in for that matter.

    worse when your client ask you to cut what you are doing for some couple rush demo XD...in that case too, simple visual tool can make you escape from this passing this task to designer team

    so i do not see visual coding as replacement for coding, but it certainly help when you need to work with a team

    from my short experience most of my time coding is to build tool for other to use, believe in some case you don't want mess with gameplay logic, and prefer have designer guys handle that :)
     
  47. PAX

    PAX

    Joined:
    Oct 12, 2010
    Posts:
    54
    Ahh Syberia... as I wait for the third part!
     
  48. nikko

    nikko

    Joined:
    Mar 20, 2009
    Posts:
    436
  49. holyjewsus

    holyjewsus

    Joined:
    Mar 7, 2011
    Posts:
    624
    also, has anyone here used grasshopper3d? A plugin, basically visual scripting for rhinoceros.
     
  50. SimonAlkemade

    SimonAlkemade

    Joined:
    Feb 4, 2009
    Posts:
    432
    @ redmacmanz wow rhinoceros does it still exist haven't touch that for years. Maybe I should check it out again