Announcement

Collapse
No announcement yet.

Xenko 3.0 Game Engine Released, Now Open-Source

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

  • #11
    Originally posted by BeardedGNUFreak View Post
    Absolute garbage.

    And LOL at actually using C# in 2018...
    A lot of game engines use c# for scripting. Godot and Cryengine in last couple of years added c# of course both have c++ too.

    Comment


    • #12
      C# is a very nice language, actually. To be honest I’m not sure which options we get to control GC in C#, haven’t played with it yet, but I think avoiding allocating/deallocating tons of RAM during the game should help. I don’t want the hassle of manual memory management anymore.

      Edit: about Xenko, it seems nice, but at the moment there’s basically no Linux support…

      Comment


      • #13
        Originally posted by shmerl View Post
        Why C#? Garbage collected languages are a strange choice for game engines, especially focused on VR which has realtime requirements.
        Yeah, that's a common attitude towards garbage collected languages. However, more and more games/game engines are relying onto those, especially as computing power grows. It mostly depends onto the developers.

        Originally posted by stqn View Post
        C# is a very nice language, actually. To be honest I’m not sure which options we get to control GC in C#, haven’t played with it yet, but I think avoiding allocating/deallocating tons of RAM during the game should help. I don’t want the hassle of manual memory management anymore.

        Edit: about Xenko, it seems nice, but at the moment there’s basically no Linux support…
        Exactly. Many people are sick of manual memory management and the errors it implies. It's like having to rewrite boilerplate code everytime you start something new.
        With things like object pooling (https://en.wikipedia.org/wiki/Object_pool_pattern) and other techniques you can avoid common issues with GC like stuttering etc.
        So it's mainly a question of smart development.

        Cheers
        Last edited by Ignatiamus; 04 August 2018, 03:05 AM. Reason: Fixed typo

        Comment


        • #14
          GC has its uses. But the programmer should be the one to decide where and when to use it not the language.

          Years ago I had the joy to work on a C# project where we ended up spending a lot of time on "smart development" working around the GC. Since then I am not a big fan of restrictive languages that force specific idioms.

          Comment


          • #15
            Originally posted by BeardedGNUFreak View Post
            Absolute garbage.

            And LOL at actually using C# in 2018...
            C# is a great language. Very nice to work with. Great syntax, great features.

            Originally posted by PackRat View Post
            A lot of game engines use c# for scripting. Godot and Cryengine in last couple of years added c# of course both have c++ too.
            Yes, the Unity engine also.

            Comment


            • #16
              At first I assumed it had a C# scripting layer just for the less technically able developers. Then I looked through the github and realized that the entire thing is written in C# (Unlike i.e Unity and Godot where the core engine itself is C++).

              I don't think I am convinced that it will be able to compete with other engines in terms of speed. I also very much doubt the portability aspect. When Microsoft drops Desktop .NET, I think there will have to be major refactorings / rewrites of the editor.

              Why waste their time? Why not use the correct language for the job. In the case of game engines, that is C++. Actually, I don't even care about the language; anything other than compiling directly to native code for a game engine is... incorrect.
              Last edited by kpedersen; 04 August 2018, 06:02 AM.

              Comment


              • #17
                Monogame is not even a game engine and has had indie games like Bastion sell 1.7 million copies across all platforms. Roguelike rpg's are not very demanding c# is fine for those types of games.

                Comment


                • #18
                  Originally posted by Ignatiamus View Post
                  Exactly. Many people are sick of manual memory management and the errors it implies.
                  And many users are sick of poorly performing crap-optimized games which today is more than ever. It's a rare feat to still encounter a super optimized game these days. Back in the day we had golden hacks to squeeze out every last drop of performance, these days you have garbage that won't even run above 60FPS despite it looking cartoonish and as if it was made 10 years ago.

                  We get Vulkan and D3D12, both steps in the right direction by having less overhead even at the cost of being harder to use, because the end product is what matters.

                  And then you have people who shit on all that effort because they decide their inability and incompetence to do proper manual memory management (because that's what it is, let's face it) is more important than the end product's quality and user's experience.

                  That said, at least C# is better than Java and other crap out there. People who compiler with maximum optimizations should know how many resources it takes to compile something (especially with LTO), it is absurd to think the same happens on managed code at launch, only a subset.

                  Comment


                  • #19
                    Originally posted by Weasel View Post
                    And then you have people who shit on all that effort because they decide their inability and incompetence to do proper manual memory management (because that's what it is, let's face it) is more important than the end product's quality and user's experience.
                    Well, why not just code your games in assembler, it's faster anyway, and you have control over every single bit, right? Problem is, you don't get anywhere with that.
                    The "inability and incompetence to do proper manual memory management" seems to be very common as we still have crashing programs due to memory overflows/issues/whatever, in 2018! I get 1-2 crashes per day with applications like Mousepad and Gedit when doing basic things lile Regexp searches.

                    That said, at least C# is better than Java and other crap out there.
                    Are we still in 2000 where Java was young and unoptimized? Have you (and all the other "Java haters") ever heard of the JVM Hotspot? Java can be even faster due to run-time optimizations than languages like C/C++ with their static binaries.

                    Cheers

                    Comment


                    • #20
                      Originally posted by Ignatiamus View Post
                      Well, why not just code your games in assembler, it's faster anyway, and you have control over every single bit, right?
                      That would be a great and real advancement, I agree. Hardware advances (albeit very slowly and approaching its limits), it's high time for software to advance forward as well, not backwards.

                      Originally posted by Ignatiamus View Post
                      The "inability and incompetence to do proper manual memory management" seems to be very common as we still have crashing programs due to memory overflows/issues/whatever, in 2018!
                      So? Time for them to go back to school then. (just for those who don't see it obvious: an expression, not literally)

                      I don't know why you say "in 2018". We have worse "programmers" than ever today, statistically speaking. lol, especially those outsourced from cheap countries. It's funny how the blame for those languages happens now because of their incompetence. The real incompetence shows when you blame your tools instead of yourself given that it is the fact here for most of those cheap programmers.

                      I mean, it's not like you need an unique engine for every game out there. Make ONE superior engine, coded in assembly. Make it open source. And everyone will use it.

                      Concentrate the fucking effort into just one, but perfect, thing, instead of having 500 shitty products all written in some crapware.

                      Originally posted by Ignatiamus View Post
                      Are we still in 2000 where Java was young and unoptimized? Have you (and all the other "Java haters") ever heard of the JVM Hotspot? Java can be even faster due to run-time optimizations than languages like C/C++ with their static binaries.
                      I never said Java is less optimized than C#, it's just way worse overall, not performance (they're both managed, so they both suck equally from that viewpoint).

                      Compiling a large project with max optimizations uses 8GB of RAM and plenty of CPU time (also takes a long time) and that's just for the LTO stage.

                      Tell me again how Java is faster when it will launch in 5 minutes due to a slow compilation.

                      Comment

                      Working...
                      X