Originally posted by BeardedGNUFreak
View Post
Announcement
Collapse
No announcement yet.
Xenko 3.0 Game Engine Released, Now Open-Source
Collapse
X
-
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…
- Likes 3
Comment
-
Originally posted by shmerl View PostWhy C#? Garbage collected languages are a strange choice for game engines, especially focused on VR which has realtime requirements.
Originally posted by stqn View PostC# 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…
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
- Likes 3
Comment
-
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
-
Originally posted by BeardedGNUFreak View PostAbsolute garbage.
And LOL at actually using C# in 2018...
Originally posted by PackRat View PostA 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
-
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.
- Likes 2
Comment
-
Originally posted by Ignatiamus View PostExactly. Many people are sick of manual memory management and the errors it implies.
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.
- Likes 1
Comment
-
Originally posted by Weasel View PostAnd 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.
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.
Cheers
Comment
-
Originally posted by Ignatiamus View PostWell, why not just code your games in assembler, it's faster anyway, and you have control over every single bit, right?
Originally posted by Ignatiamus View PostThe "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 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 PostAre 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.
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
Comment