Announcement

Collapse
No announcement yet.

UE4 Scripting Language

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #46
    However it's the popularity of the engine that may also be behind the idea of "making it easier", I came to Unreal specifically for it's strong C++ stance, I don't want to deal with C# around here honestly, C# is fine in a Winforms/WPF applications, just don't want to deal with it in what is suppose to be a high-caliber engine.

    Aren't other engines focusing more on developer comfort, I don't like one-for-all solutions, UE4 should take the HARDCORE path and focus and improve the capabilities of and all of that can be improved and polished on the developer usage side without making technical sacrifices.



    You have projects like Dolphin-emu that go strong on doing everything in C++ and it's not the end of the world, it all works out, you don't need Qt's XML or UI files, no need for the Qt Creator, only a base Qt build libraries and runtimes for a total of 120MB is required that you don't even need to install externally, it's downloaded as a git repo submodule, it all works out of the box. Yes it's not as convenient in development where you can visually build the GUI, but it's not a big deal, some people and I like it that way, this is what some people forget that the convenience is a tradeoff, you may get some convenience here and lose it somwehere else, not to mention technicalities.

    I once wanted to join a C# open source project once, it was an absolute nightmare dealing with nugets and dependencies that the whole VS2017 would just **** out, maybe I wasn't skilled enough to figure it out, despite so many attempts, a clean reinstall, clean nuget cache, following all the steps, nothing would work. Sure it may have not been the project's fault it self, but the project OPENED IT SELF TO THAT RISK BY WANTING CONVENIENCE OF FASTER PROGRESS by using so much external code that it would be hard to keep track of everything when maintaining, things could clash, etc.



    People should make the convenience opinions clear, if something in C++ takes 5 minutes and it could take 3 minutes in MAH-ULTIMATE-MIDDILE-LANG then it's mosts likely a very cheap argument/reason and those people need to EXPLAIN themselfs if their reasons are strong enough, if something that should take 5 minutes takes 30 minutes in C++ then that's more of a valid reason and they should explain it in detail so that they are understood correctly.

    EPIC has to be cautious at IMO invalid or at least very low-effort reasons such as "oh I'm used to C# in my 1st grade student class and I want it in UE4 too" well no, Unreal Engine should not be your class mentour or your babysitter either. Unreal Engine should strive for HIGH-END and not appease to every newbie student out there, please. When people get in something new thay have lots of ideas and some of the solutions for their problems may exist they simply having discovered the whole environment yet, it happened to me many times where I wanted some feature only to be told another feature would do that more efficiently/differently and it already existed.

    It's all a viewpoint and balancing too, having something in the middle to maintain takes the resources away from improving the top, making it a "self-fullfilling-prophecy" sort of (proper term?), to solve it all you'd have to do is to wait until it matures or the developer's skills mature, so it may be all down to unwillingness to learn, and this has to be developed with that in mind that the middle-language needs to solve GENUINE inefficiencies in the C++ and/or BPs without it being solely a convenience reason.

    This is not about some kind of bad will against developer convenience or newbies, it's about protecting UE4 image and honor and ultimately the brand it self. When you put that epic logo on the trailer or a brand new tech demo you want that "POWERED BY UNREAL" sound masterful and professional, ultimately it's representing the great professional community of architectural design, film industry, automotive industry, you want it sound bad-***.
    You don't want it to sound like "POWERED BY PHP-4-KIDS", right!?
    There is enoguh of the industry professionals and I do not believe EPIC has to hunt down every random student who are ALWAYS biased toward WEB stuff encouraged by the universities/courses.

    Let me quote one professional you most likely all know about, John Carmack once said that "the magic that runs the web is scarry scarry stuff" commenting on how inefficient and broken the WEB infrastructure is, it's not anything a skilled programmer focusing on performance would do want things. (paraphrasing as close as possible, he said it in one of the quakecon keynotes, it think in the WEBGL segment, John Carmack on WebGL, JavaScript and the Web platform at QuakeCon 2012 )

    But the WEB has lower skilled target audience, it may be that that's all there is to it, the audience is okay with the bugs and inefficiencies, they aren't striving for anything better so that's what allows the developers to be cheap. They want things faster and broken, they seem to be fine with it, but we shoild want things GREAT and WHEN IT'S DONE in UE4 and we shouldn't let this couch-potato lazyness phenomena seep into UE4.
    THEY SHOULD LEARN TO OUR STANDARDS!!!

    It makes sense right: The LOGO and the MOTTO has to represent the DEV community, not the target end-user audience, it's about who made it, and if those tech demos and big game releases are made with C++ with some ASM cherries on top and 200 professionals then they most likely used all the advanced features in the editor and did not rely on all the shortcuts and compromises, so the image should correctly and justifiably have the bad-*** professional feeling to it as it has to represent that high-grade work and effort that was behind it.




    I just would agree with something that would make sense for UE4 and that it would be specific to UE4, but not so alien, but it should be thought out and I really don't want it to resemble anything from the world of WEB, it needs to have all it's UE4 high-caliber terminology that makes good technical sense without any gimmickry that someone pulled out on a raining sunday, the namings of some open source projects are horrible sometimes but then it sticks and when a project is big everyone's forced to use the established terminology and scared to chance it, UE4 shouldn't have those restrictions "oh the devs are used to that" while it's clearly wrong, however, the main point is also that it works well with the engine that it doesn't put any additional concern or steps for the people who wouldn't need or refused to use it.

    I would also hope that it distances it self from the WEB, because the last thing I want to see in UE4 is some kind of JavaScript or some lookalike (similar syntax), it's like taking a Ferrari and splashing pigeon droppings on it, I'm sorry but that's how it feels, the WEB has it's own place, as if it's not big enough already, they don't need to take over UE4 as well, we just need our HARDCORE corner where I can relax without having to look at gimmickry.

    There could be a rule for this middle language, that it must not hamper the engine's capabilities in any way, and also that it doesn't take over the whole development process, it should be some kind of a helper when it comes to repeating a ton of similar code, repetitions, something that would solve those specific things very good, cause they you have yet another way of making almost everything in then most people would start with the easiest way and have all the tutorials and focus on that, then more people would start asking "how do you do this in C++" and "how do you do this in blueprints" which makes those people somewhat forced to also jump on the middle-bandwagon and it does not promote diversity, as the most popular side is going to pull things in like a magnet, newcomers come and guess what, if most tutorials and most people are talking the middle language, then they would skip to it and out of convenience again never find much of a reason to progress.

    If everyone had some kind of inherent tendency to always improve it would be different, the key problem is they DON'T move up, they keep themself's inside that convenience bubble, which is a magic circle again, their lack of interest to learn C++ reinforces their opinion about how they find it hard to do something in C++, and that goes for everything else, but I'm using C++ as an obvious example in this case.

    All those skill-based reasons for convenience need to be filtered out and not taken as seriously as the genuine inefficiencies in harder languages/systems, that's one of the TLDRs

    Comment


      #47
      Hi, guys, has there been any news on the IL at GDC? I was hoping that Unreal would make some sort of announcement but I wasn't able to find any. IL,

      I think it is the last missing link in Unreal Engine. I really hate to see ~90% of the Marketplace Assets are written in BP and they seems to proud that it's 100% BP. BP makes sense for procedural stuff but not for the logic. People cannot help but abusing it too much, to make an appeal to non-programmers. And even the well designed BP is unreadable, let alone maintainable in my opinion. Epic should act fast to save us from the BP hell.

      Thanks.

      Comment


        #48
        Blueprint have given me the opportunity to have two games in steam.
        I do not think I could finish the games using the archaic linear programming full of stupid grammar rules but I guess not everyone is smart enough to handle the logic behind that party of lines and boxes.

        Comment


          #49
          I' m mostly an artist who likes to script. As I love node based systems like Fusion, Houdini and so on, Blueprints are perfect for me. I probabely would never touch anything else. But I still would like to see C# integrated for the following reason. I had contact with lots of companies who are now starting to get into the realtime business. Mostly for product, automotive and architectural visualisation. Most of them go with Unity for the simple reason it uses C#. I recently got a comment like. "Well yeah we only use Unreal if we really need the best graphical quality. For everything else we use Unity because of C#". It 's simple, there are lots of people out there who are more into programming than I am that don' t like node based systems but also think C++ is a bit of an overkill. With C# beeing added to Unreal Unity would probabely seize to exist

          Comment


            #50
            I keep reading "C# is simple, and C++ is overkill". The truth is you rarely even write in pure C++ in Unreal. The standard language is wrapped in so many Unreal structures, data types, etc... Scripting gameplay in Unreal C++ isn't harder than in Unity C# if you'd take into account you have full source code here.
            Obviously, UE4 is still missing fully working "live recompilation" - will see if LiveCoding++ coming 4.22 in experimental state is solution for this.

            And you need think get some practice in using 2 languages/IDE: C++ and blueprints. And know people wants to add C#. It actually would complicate most of stuff in project. Adding C# would duplicate C++ with advantage of little simpler syntax only...

            Programming language is just a tool. There's no huge difference for professional programmer between Unity C# and Unreal C++. Just get Visual Assist plug-in to Visual Studio to work efficiently with huge C++ codebase.

            And I'm saying this as technical designer, guy who switched from scripting languages and Blueprints to C++.
            Last edited by Doctor Ergot; 03-25-2019, 02:32 PM.

            Comment

            Working...
            X