Granger wrote:loftar wrote:There are also other reasons for using Java, most importantly the ability to dynamically load code in a platform-independent manner. I'm not even sure how I'd replicate that on other platforms with less than either including a full copy of LLVM with the client or pre-compiling all dynamic code for all possible combinations of hardware and operating system that it might run on.
http://docs.godotengine.org/en/stable/g ... -resources
Correct me if I'm wrong, but it is my impression that godot-script is similar to CPython performance-wise, and yeah, of course the thought of embedding Jython or something for resource code has struck me previously, but there are several resources that contain code that is fairly performance-sensitive.
Also, as far as goes the Godot engine in its other aspects, the fact that they can't even present a "hello world" as one single and simple text-file, rather than as a whole tutorial that goes through eleventeen various levels of GUI for creating "projects" and whatnot rules it out for me right then and there. If that's the kind of stuff I wanted, I'd be using Visual Studio already.
shubla wrote:I guess that the launcher is faster on windows if it knows which program to open it with so its one click. (On linux I use command line so its not that fast or easy)
java -jar hafen-launcher.jar -- Not sure what's supposed to be less then optimally fast about that. Especially if you, like me, bind that to a shortcut through your window manager.
shubla wrote:There are many multi-platform games that don't seem to have any issues. Dynamically loading code? If you mean your res file system, one should not have used it in the first place.
Whyever not? I find it quite nice indeed to be able to easily push small updates for individual resources automatically, without needing users to even have to do so much as restart their clients. Especially so in the presence of custom clients.
shubla wrote:Maybe he means some more recent OpenGL version than 15+ year old one ¦]
To be fair, I've been looking at the hardware that our players are using (through the error reports), and there are very few meaningful upgrades to the required OpenGL version that I could do without seemingly excluding a pretty large part of them. The next step will be Vulkan, not a later version of OpenGL.
Potjeh wrote:You could use the same argument for building your own virtual machine instead of using Java.
That's true in and of itself, but I feel there's a rather big difference between a general-purpose language and very special-purpose library/framework. I do use other external resources as well, stuff like libz, gnutls, jorbis, &c&c, but they all have in common that they are written in a very general-purpose manner, and tend to only force the minimal required amount of structure on their users.
shubla wrote:I only found some discussion about C# and java differences.
If somebody says that java game is as fast (or faster!) than C and C++ he is wrong.
I'm guessing this is actually the crux of the issue. And in and of itself I'm not saying you're wrong, but I would strongly argue that the difference is very much small enough that it's not worth a rewrite from scratch (the current rewrite is only of the rendering system, mind you, not of the whole client). Hotspot is a very competent compiler, and I actually don't think the performance penalty from using Java is more than perhaps 10-20%. There are really more important reasons to choose C/C++ over Java than raw performance. Memory usage would be one of them.