Announcement

Collapse
No announcement yet.

I want Feedback from Epic about Mono for Unreal Engine

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

    #61
    Originally posted by MaxiHori View Post
    I like the blueprints system, I currenty use it. I did some C++ years ago and im perfectly fine with it and im not a bit against it.

    Let's make it easier: if there were 2 choices for scripting (just scripting, not programming) and those choices were blueprints and C#, and you don't know either of them, what you would go for?
    I think that everyone would choose C# for the reasons states above (takes the same time to learn both blueprints and C# if we use it only for scripting, blueprints knowledge is useless outside of UE4, C# is far more productive).

    Once again, I'm NOT suggesting to remove C++, im suggesting to replace blueprints with C#
    I understand your point, I would also like to see more scripting languages added, but as Dissonancient noted it should be done through the built in scripting support. This way we can choose between languages and not force C# on those who are against it.

    There is no need to remove blueprints, they allow everyone to create gameplay. Text based languages as easy as they may seem to you and me are not going to be used by the vast majority of artists and level designers. Beyond that they are extremely useful when used together with code (as mentioned previously), and save a lot of time for prototyping. I (and almost everyone else here) would be extremely upset if they were replaced with a text based language, it is a step backwards to do so. I would fight to the bitter end to keep them if it was ever to come to that, thankfully it won't.

    Also:
    Nobody had any problem with unity C# and that's a really old version of it, so you can't say that designers are scared of it.
    Read through any thread on mono here on the forums, you will find plenty who had major problems with it.
    Last edited by DotCam; 01-16-2015, 12:53 PM.
    Free Community Ocean & Sky Project || Join us on Discord! || Trello Roadmap

    Comment


      #62
      Originally posted by mxnko View Post
      Hey, forgot to mention, Visual Assist X (plugin for Visual Studio) makes C++ almost as smooth as C# when it comes to intellisense and auto completion. I've used it with Cocos2d, it completely changes the game for the better.
      Could you give a quick overview on how it helps with coding c++ within UE4? I'm thinking of purchasing it.



      Also, while I would love to have C# support, I also like the idea of learning more of the C++ side of coding. I don't find the language a barrier (although it is hard for me), I find the API a nightmare. Trying to find what classes do what, which macros are needed where etc. It can be learned with a lot of time and patience I suppose.

      I do find blueprints quite hard to work out... And that is for exactly the same reason... The API is quite hard to figure out, but like I said, time,

      Now.. If there was a way to avoid header file (lol) and also streamline the C++ workflow then I would just go all-in with C++. Things like having to reload the editor when adding classes etc disrupts the flow you get when focussed intensely on a programming problem. Hopefully that will get better as the new versions come out,

      I have been paying for UE4 for around 6 months and I wouldn't have it any other way, it's worth it just for the tutorials from Zak!
      Last edited by polomint; 01-16-2015, 04:44 PM.

      Comment


        #63
        Originally posted by polomint View Post
        Could you give a quick overview on how it helps with coding c++ within UE4? I'm thinking of purchasing it.
        I think you should try it your self
        there is a one month trail version

        Comment


          #64
          Originally posted by ZraXesZ View Post
          I think you should try it your self
          there is a one month trail version
          Ah, excellent, thank you,

          Comment


            #65
            Originally posted by MaxiHori View Post
            I just can't see the point of blueprints, it is exactly the same thing as writing code, with less feature and more confusion. You declare variable, use get/set, call functions/events, pass parameters, where is the difference?
            if you simply add some "decoration" to your code, like changing font and add some background color you will get the same thing! The only difference is that there is no point in learning it.

            btw I choosed C# for the benefits I posted earlier, of course javascript/python/java or whatever language you want would be better than blueprints.

            Nobody had any problem with unity C# and that's a really old version of it, so you can't say that designers are scared of it. Infact they won't move from unity cause they don't know either C++ or blueprints.
            And you can't say that "you can quickly test with blueprints" cause even the Xamarin plugin for UE4 showed that you can have near-istant build.

            it is not about "favorite language" but the best language for your goals, and not every languages have same the same features. @Awdogsgo2heaven since you are a .NET developer wouldn't you like to be able to use LINQ and Tasks?
            You really starting to sound like C# fanboy Maybe this video will help you understand sense of blueprint:

            =========
            My Tutorials:
            Basic knowledge about Classes and UObject environment and stuff like that

            Comment


              #66
              Why do C++ <removed> always think that C++ is the only suitable language for game programming...

              I started as a C++ programmer back in the days when I started to learn OpenGL and game programming.

              At this time it was common to assume that C++ was the best language because it offers the best performances and a lot of control, which was needed to run bleeding edge games on consoles...

              I was kinda proud of knowing a language that was also considered to be hard to master, and that's how I slowly started to become a C++ <removed>...

              I was simply ignoring other languages because they do not deliver as much performance as C++.

              In my work I do a lot of prototyping, and one day I grew tired of maintaining my old C++ code, each new modification, refactoring would simply consume too much time, I was always spending more time working around instead of actually code the things I simply wanted to code...

              So I decided to give a try to Unity and C#, and from this day on I realized that performance was not the only factor in my coding, and that productivity is also essential.

              Although Epic added a lot of syntactic sugar it remains C++ and you still have to live with the constraints that are bound to the language.

              Furthermore, except for bleeding edge AAA titles, performances with .NET are not that bad and still allows to develop a lot a successful titles, after all Unity3D has now became the game development tool n°1 in the world...

              C++ would always remain the best option for code programming of the engine and everybody would understanding why, however for developing the game logic I don't really understand why I should be limited by the constraints of C++ when much more comfortable languages also exist...

              I love Unity and I hate it at the same time, it is simple to use but because of stupid marketing decision the performances of the engine are rather disappointing.

              I am embracing Epic's values much more than Unity because they care much more about there consumers, and when I saw that Mono for Unreal Engine came out I thought: Great ! Finally I would be able to have good looking graphics AND to use the most comfortable coding languages I know...and I think it is a shame that Epic is not supporting this project.

              Please don't hate us for loving C#, we just want to get some work done, the problem with C++ is not learning it (I did learn it and used it for years), the real problem is simply using it ... Even with an advanced knowledge it would still not be as productive as coding with .NET and my experience is speaking.

              tl;dr If would want to DEVELOP a engine do it in C++, if you want to USE an engine... don't... there is simply no advantage in my humble opinion, only drawbacks.
              Last edited by DotCam; 01-18-2015, 11:49 AM. Reason: removed derogatory comments

              Comment


                #67
                No, Blueprints are a visual interface. There are certain solutions/problems that are just trivial in a visual workflow. You will always need BP. Has nothing to do with languages. Just the next obvious step in creating something on a computer.

                Any C# support would come at cost of BPs. All the effort required to support C# would probably be enough to push BPs forward enough that a lot less folks would need to use UE C++ at all and UE C++ would have been improved too.

                Any improvement to BPs helps all users of UE be more productive all the time.
                Any improvement to UE C++ helps all users of UE be more productive all the time.

                C#? No. Need basic UE C++ to debug/research on your own terms. The C# user still needs BPs for what they bring to table.

                Comment


                  #68
                  Lets not get off topic guys. Its really not about which language is better. It is always situational. C++ and Blueprints bring their own keys to the table. The question should be what does C# add to UE?

                  To me adding support for C# either directly or indirectly by Epic is about a couple of improvements
                  1. Adding support for the language of one of your direct competitors opens the gates to be able to win over some of their market. To many Unity is the first preference because they find C# to be their preferred language. For what ever reason. Having C# as an option now gives people a second choice, they'll take a harder look at Unreal and being in that same boat i can say the working environment and epics values are far more appealing that Unity. So not having that potentially key aspect that is holding people back would be good.
                  2. The overall usability and productivity provided by c# tools like Visual Studio/Resharper is very appealing to many developers. For many its about how picking the right language and tools will make their every day lives easier. C# excels in this.
                  3. Reducing the amount to learn to get started developing games is a good thing. The programming language used it key to getting any game functioning. There is already a huge amount of things you need to learn that do not include a programming language and api's. Being able to focus on the apis/editor/methodologies in an environment your familiar with is beneficial.

                  Comment


                    #69
                    Agreed.

                    Even if you are a C++ fanatic, you must to realize that some other languages are far more productive than C++ itself, and supporting just one of them would be very valuable for UE4.

                    Although the solution is not to simply replace C++ by C#, this would be a mistake in my opinion.

                    Each language (C++, C#, Blueprints) have their own advantages and they could perfectly coexists in one single environment.

                    C++ should be use to develop either on the Engine's side, to develop plugins, or to simply develop game logic functionality that are very demanding in terms of performances, theses functions could then be exposed to Blueprints and C#afterwards.

                    C#/.NET should be used by average lambda-coders that simply wish to develop the game logic without having to worry about the limitations of C++. This is mostly about getting things done quickly with far much more performance and comfort than with the Blueprints. Should anyone encounter limitations in terms of performances, then simply develop the critical module in C++ and expose it to C# / Blueprints.

                    One could argue that any other scripting languages would fit for this job, however C# with the .NET syntactic sugar would be the most efficient for me in terms of productivity (just try using System.LINQ once in your life and you will understand what productivity means). One could also employ one of the numerous .NET third-party libraries available out there. Python would also be a good contender in my opinion, however I would opt for C# simply because it should perform faster than Python.

                    Finally, Blueprints should only be used by people who are not comfortable with text-based coding (designers, artists) and still wish to develop games nevertheless. However, anyone with good coding skills would understand why it is not the best solution for them to code in Blueprints...no need to really argue about this.

                    Now what Mono for Unreal suggests is to have all those three languages coexisting with each other in UE4, in the exact same workflow as described above.

                    Also what the plugin essentially does is searching in UE4´s C++ code all the functions that have been exposed to Blueprints and exposes it to C# too. This means that there is not need to get rid of Blueprints at all, simply maintaining it would also indirectly maintain the C# exposed functions.

                    The only task which is left is maintaining the plugin with new iterations of the Engine and also maintaining the Documentation.

                    Unity´s decision to have 3 different scripting languages (C#, Js, Boo) is rather silly because there is not clear advantage of choosing one language instead of another. However with the combo C++/C#/Blueprints UE4 would have the potential to reach absolutely every type of person that are willing to make games, and that would clearly be a benefit for both users and also Epic.
                    Last edited by matmuze; 01-18-2015, 01:07 PM. Reason: removed derogatory comments

                    Comment


                      #70
                      Stop complaining and create C# bindings then. Noone is stopping you.

                      We just don't want resources to being diverted from flag ship features (C++ and Blueprints), to something that most people don't care (C# and other languages bindings).

                      If you really can't create gameplay code using C++ in unreal versions, I don't think you will have any big success creating gameplay code using any other language.
                      https://github.com/iniside/ActionRPGGame - Action RPG Starter kit. Work in Progress. You can use it in whatever way you wish.

                      Comment


                        #71
                        Originally posted by matmuze View Post
                        However with the combo C++/C#/Blueprints UE4 would have the potential to reach absolutely every type of person that are willing to make games
                        Except it wouldn't.

                        What about the people who loves to Lua?
                        What about the people who loves to use Python?
                        What about all the web-dev people who primarily know JavaScript?

                        Are they not 'people willing to make games'?

                        Comment


                          #72
                          Originally posted by iniside View Post
                          Stop complaining and create C# bindings then. Noone is stopping you.

                          We just don't want resources to being diverted from flag ship features (C++ and Blueprints), to something that most people don't care (C# and other languages bindings).

                          If you really can't create gameplay code using C++ in unreal versions, I don't think you will have any big success creating gameplay code using any other language.
                          No thank you I already have a job, which keeps me pretty busy

                          I am perfectly able to create a game with C++, I could also probably make one in assembly code, I just don't want to because I know my productivity would suffer in the end.

                          C++ should be only used when needed, and when coding simple game logic it is totally not needed, sorry to break your C++ fanatic dreams...

                          I see that you are concerned about Epic wasting resources for the so called "Flag ship" features... Let me explain you a basic mathematical principle that can also be applied to marketing:

                          C# will bring more users, more users = more $$$ = more money to invest on your dear "Flag ship" features...

                          You see it is not so hard to understand, maybe if you were not too busy learning C++ you would have had time to realize that.
                          Last edited by matmuze; 01-18-2015, 01:07 PM. Reason: removed derogatory comment

                          Comment


                            #73
                            C# is a turtle compared with blueprints. The programers of my work use unity and I in my house use unreal and i spend minus time in similar tasks. Btw one day i did make a game with unity and i used java because you dont need write void.
                            Write code is a complety Medioval thing. Blueprints is amazing jump in gamedevelop.

                            Comment


                              #74
                              This kind of thread again ...

                              Instead of losing time doing threads like this guys better learn a bit of C++.. UE4 C++ implementation is super. If you all claim that you know so good C#, C++ isn't hard to learn then. Seriously, are you guys real programmers or what?

                              Comment


                                #75
                                One professional and big company uses Unreal 4 may bring more reputation, money and everything than 100.000 standart users.
                                https://canerozdemirportfolio.wordpress.com

                                Comment

                                Working...
                                X