Announcement

Collapse
No announcement yet.

Unity Game Engine Planning For Many Improvements In 2021

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

  • Unity Game Engine Planning For Many Improvements In 2021

    Phoronix: Unity Game Engine Planning For Many Improvements In 2021

    The popular, cross-platform Unity game engine is planning for a very exciting 2021...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Will be interesting to see what next gen support of Unity looks like compared to UE5. I am excited to watch that unfold considering the direction UE5 is going.

    Comment


    • #3
      Well, now I would like to see ARM support for Linux builds too. After all latest Adreno and Mali is powerful enough to run most of Unity-based games, and Samsung is working on ARM SoC with integrated Radeon graphics (Vega? RDNA? Who knows...)

      Comment


      • #4
        Shout out Godot3D (open source and linux-native!)

        Comment


        • #5
          Originally posted by RussianNeuroMancer View Post
          Well, now I would like to see ARM support for Linux builds too.
          Unity is a just too oriented for prosumers. So a fairly small selection of proprietary operating systems. The Linux support is basically just Ubuntu.

          I remember a while back Unity was so damn slow to keep up with new trends like Emscripten (The mono platform is actually fairly non-portable so it was ~3 years behind UE4) so in the end I wrote an API clone called Mutiny (https://github.com/osen/mutiny) that would allow us to get our LEGO games on a number of additional devices via WASM (actually ASM.js at the time). Mutiny was pretty successful, had many benefits such as working with proper build systems and CI platforms.

          Fun times, I would never recommend Unity to anyone. Same with other kiddie things like Flash I suppose.
          Last edited by kpedersen; 13 August 2020, 07:15 PM.

          Comment


          • #6
            Fun times, I would never recommend Unity to anyone. Same with other kiddie things like Flash I suppose.
            As far as i agree with you that Flash, AIR, some game makers,XNA etc.. or even Unity are problematic tools, where is some alternative?
            Because outside of proprietary big companies engines there are only Unreal and Cry engine.. and both are both low level C++ old hardcore stuff. I thing that most of other engines are trying for years to make something more creativity friendly and failing.

            I thing we simply need some big not C++ engine, which would probably use C# because is much more friendly to use language and Java for games always failed and Javascript is not robust enough and Python is the slimmer.
            I could be wrong but i doubt that Crytech or Unreal are now mature / robust enough to abstract core C++ engine as black box and use it with visual scripting or some high level scripting language? Crytech is using Lua (Games friendly, but i guess slow and not too much robust)

            Im quite sure that still using old C++ / ASM is crippling whole game design, because for it you need just some low level guys which are so deep into some machine stuff that they care about whole game stuff, what it really about etc.. they are just some coding unit / tool.
            This is connected with other issue that games are now graphically so advanced that majority of team members are just graphic artist and animations (i ignore QA and some IT engineers stuff, because they are not main creative units) - and they care naturally mostly about graphics.. So they care about nice CGI like trailers and wow effects etc, not about real good core gameplay, atmosphere .. which is made by small group of designers.. which struggle to communicate with coders and artists unit. Usually some artist made some fancy asset and design and trailer around it.. not as it should be.. create asset around design.

            I would say that is main reason why we now game technically amazing games, but also very similar games (just different assets set) with design same or inferior to game from 20,30 years ago. I know that they are other reasons like that is not easy to present gameplay, good design, because it cant be presented just by nice screenshot.. also they are sort of players which really resigned on anything else that nice assets and standard gameplay feature set.

            I personally wanted to make games as very young to i started to mess with C, when i was 13 years old, but never liked it and later i realized that design is much more fun and creative for me.
            Im still able to use some visual programming tool or scripting language or C# for small tools creation, i similar way as im able to use some 2D painting program for some concepts drawing and some assets placeholders.. But when i would have to use C++ i know that it leads me too far from original vision to some low level technical awfull stuff which is very time consuming.. I re-read some C++ book not long time ago, only to confirm that it is too low level hell for me.

            You can argue that some things could be written high level, but later optimized by low level guy and converted to C++, its possible but there is its not silver bullet, they is problem continual iterations.. and redoing the stuff.. Right design which part of code would be implemented in core in C++ engine and how to make it able to easily call from some high level scripts or visual tools is one of most important part of whole technical design.. and its design is often really bad one.
            Last edited by ruthan; 14 August 2020, 11:05 AM.

            Comment


            • #7
              Originally posted by ruthan View Post

              Im quite sure that still using old C++ / ASM is crippling whole game design, because for it you need just some low level guys which are so deep into some machine stuff that they care about whole game stuff, what it really about etc.. they are just some coding unit / tool.
              I agree with you. "Old C++" is the problem but is still a fairly superficial issue. Modern C++ is a high level language, same as Java and Rust. The problem is that many people do not know that. They are still under the impression that it involves manual memory management with new and delete (which is wrong). It is almost as daft as thinking C# compilers *must* be used with the /unsafe flag and using raw pointers for everything.

              It stems from how it is taught in schools. C++ is put up too high on a pedestal. "Hey kids, we are gonna teach Python because C++ is *whew*... way up there with the pros! You will never be good enough!"

              I also agree that some people making games just want to have a bit of fun. In that case we do have "visual tools" like Blueprint in UE4 (not open-source but source available so lifespan better guaranteed) and Godot and the DSL scripting. For me, it is a tradoff between "fun to make" and lifespan. These prosumer tools just rack up so much technical debt that they simply cannot be maintained.

              For me it got to the point, rather than learn hundreds of different languages for each companies stupid products and be tied down to their bizarre money based decisions, just learn C++ (and then later C when I got into the lower level stuff). I still highly recommend this route if you want to make a career. I also cannot see this changing for the next 50 years.

              (ASM developers can charge too much money so indie studios (the types using Unity) probably cannot afford them anyway. At the same time x86 ASM is no longer the defacto "low-level" language because we have a lot of different architectures to deal with now compared to the "DOS" days)
              Last edited by kpedersen; 15 August 2020, 08:22 AM.

              Comment


              • #8
                Originally posted by kpedersen View Post

                I agree with you. "Old C++" is the problem but is still a fairly superficial issue. Modern C++ is a high level language, same as Java and Rust. )
                Its first time when i heard this new / old C++ argument. Pleas try define where is borderline. Im not expert, but i used lots of language and C++ seems to be too low level from its design and its hard to image some much more friendly and different can derived from it.

                For example, its possible to get rid of on user size - pointers / templates / chars arrays (strings are just fine), signed types, incosistent results because of target OS and its basic type definition, all ugly compiler directives, hard to understand error codes and messages ? To make it on same level as C# and if yes, how, when to start etc?

                I saw quite couple games sources, i checked couple of emulators as RPCS3 C++ source codes and from my view, codes is big mess, its more like some mathematical expression that human readable code.

                Godot, Shiva3D, even Unigine etc and similar engines, there main problem.. you cant really for sure say that they are great, good, good enough until someone make great big game with it. Even Unity has not AAA big technologically on edge game.. They have only some tech demos, which are more some animated film than game. So even this engine would now great, i would believe in such claims, not sooner than 2,3 years, after release of games which would using it.

                For example there was for very long time, great hype around Crytech, but when some local developer selected it for something different than basic FPS - RPG - which become Kingdom Come: Deliverence, they find out that lots of things are not really ready for not FPS usage and Crytech has to change quite and lot. So far i would say that Unreal 4 is proven, because Unreal 3 on PS3 was problematic too.. because with Unreal 4 is possible make FPS, 3rd person games, even some Tekken was made with it, so its universal enough.. I think that is now running on everything, what developer would want except PS Vita (we actually though about its usage there).

                I understand that there are some people which are really like to optimalize the code, its often different king of people, which are excelling in that, but there are not creative from bigger picture point of view and i dont mind to have such men in team, if they able to work together with rest of team.

                Back to C++, i really thing that todays hardware is soo fast, that its low level features are not more needed for most of code and it make things too complicated. It would be really best to really make creative games and just pay for engine which has these things done inside and they can be used as blackboxes with expected results. Back in time, i loved QuakeC script, it was 10x times slower than native C, but it was good enough for mods on HW, which is now 25+ years old. Unreal 3, had some script too and some good pipelines and tools, but it was i thing also very FPS / 3rd person small level aimed.


                Comment


                • #9
                  Originally posted by ruthan View Post
                  Its first time when i heard this new / old C++ argument.
                  You are possibly going to need to learn the language a little better before you can understand the difference. My advice is read a recent book.

                  I can only give you some hints: if you see "new", "delete" and "*", you are probably using "old" C++ and that is the reason you are finding it hard.

                  C++ in AAA isn't just about optimising code. Much of it is about portability. Did you know that UE4 C++ uses a garbage collector? Not exactly the most performant solution, but as you correctly said, performance isn't everything. Microsoft .NET on the other hand is fairly unportable. I think Mono only supports Intel and ARM at this point. Same with the stripped down dotnetcore :/
                  Last edited by kpedersen; 16 August 2020, 09:57 AM.

                  Comment


                  • #10
                    Old new C/ C++:
                    Well i expected better / real arguments, this response is general bla, bla, almost facts empty. Im not saying that new books can be better, and i know that old memory allocation ways sucks, but i expected a lot more - some description, main difference list of that supposed to be new shiny modern CC. New C has to be better, just because of time, but unless flaw are on whole design, but i need to be much, much better.

                    Some names of that new magic books? What about IDE, its Visual Studio fine with this modern way, or i need something else?

                    Im not stupid, so if it would be technical and lots new things, i can google it, or ask.

                    Portability - i dont really thing that for games you need more that x86 + ARM, maybe PowerPC, but it seems to be already dead platform for games (today i read that they maybe, maybe will have some basic Wine things working.. just for few Raptor users - i dont see big future here) and end users and probably only IBM cares for business stuff.
                    Because of Xbox 360 has PowerPC based, i guess that MS had to have at least some C# XNA for PowerPC in the past.

                    Did you know that UE4 C++ uses a garbage collector?
                    No, i always though that its main flaw of modern high level languages, because of higher memory consummation and additional time / performance needed for processing . Its used for Blueprint stuff or why? Its the way how to make even some classic C++ code faster in some corner cases?
                    There is probably some way how to make high level languages good enough to run games, because Android is using some Java base and quite some games are running there (few big ones ports are tight to Nvidia Shield TV and its running quite good - Digital foundry did some comparision with big consoles).. but it took Google lots of time and probably also resources.. and will probably never be implemented back to whole Java package.

                    As far i know there very few big games written in Java, only Minecraft but it has very basic visuals and was know to be have performance problem and i thing that MS rewritten it with C. I read lots of text that if you have big skill you can optimize Java to be good enough, but i never saw any proof.. Unity3D game have lots of performance problems, have lets visual details, but in general they are running.. and afaik you cant say same about any Java based game.
                    Last edited by ruthan; 18 August 2020, 06:23 PM.

                    Comment

                    Working...
                    X