Mythruna

General Category => General Discussion => Topic started by: badi91 on May 19, 2012, 06:00:42 AM



Title: Why ?
Post by: badi91 on May 19, 2012, 06:00:42 AM
Why Mythruna is being created with Java ? Why Java again for game like this ? It is a huge mistake, huge pain for players, it will have some performance issues, maybe huge issues.


Title: Re: Why ?
Post by: pspeed on May 19, 2012, 07:06:30 AM
Because Java runs just as well and because C++ development takes a minimum of four times longer.

The 2 million+ Minecraft users I think have safely shown that a Java game can succeed.  And if I wasn't writing it in Java then I wouldn't be writing it.  I don't have time for the pain and hassle of C++ development.


Title: Re: Why ?
Post by: Moonkey on May 20, 2012, 01:55:52 PM
Any engine will have problems. ANY. Not just java. JUST because Minecraft has java doesn't mean it's terrible. Just to remind you that Millions of invented software USE JAVA. There will be no HUGE ISSUES at all, if you know how to code it. Just bugs along with other games that have bugs. I feel angered now. Time to take this out on someone >xD.

Edit: And no performance issues. There are engines for Java, Ex: JMonkey Engine which he is using right now.

Edit edit: Performance issues for bad laptops/computers/macs/etc... though.


Title: Re: Why ?
Post by: pspeed on May 20, 2012, 03:21:25 PM
Edit edit: Performance issues for bad laptops/computers/macs/etc... though.

But that's not because of Java.  C++ would have performance issues, also.


Title: Re: Why ?
Post by: randomprofile on May 20, 2012, 04:19:15 PM
Hey out of curiosity do do you actually program in C++ or java? because Paul is right... java might be "weird" but C++ takes way longer...


Title: Re: Why ?
Post by: badi91 on May 21, 2012, 08:08:46 AM
Java is interpreted language, which is not good for big applications, especially games... And it consumes a lot of memory. To give you example, Mythruna with 128M clipping, and default shading quality (high) runs on my computer with max 20 fps when looking straight forward, it is worse result than CoD:MW3 (on lowest details)... After changing shading quality and reducing clipping distance, it runs good though. But it takes more memory and CPU than World of Warcraft...


Title: Re: Why ?
Post by: pspeed on May 21, 2012, 09:20:25 AM
Java is interpreted language, which is not good for big applications, especially games... And it consumes a lot of memory. To give you example, Mythruna with 128M clipping, and default shading quality (high) runs on my computer with max 20 fps when looking straight forward, it is worse result than CoD:MW3 (on lowest details)... After changing shading quality and reducing clipping distance, it runs good though. But it takes more memory and CPU than World of Warcraft...

First, Java is not an interpreted language.  You are working from 15 year old myths.  Java compiles to native code on the fly for the platform that it is being run on and then recompiles the often run sections (hotspot) to improve performance.  Theoretically, this means that Java can run faster on some platforms than C++ if the C++ app was not specifically compiled for that platform.  In fact, back when CPU usage really mattered, games tried to get around this issue by compiling their games multiple ways and dynamically loading the best version for the platform.

Second, the speed is almost entirely down to the power of your graphics card.  I get over 200 FPS on most of the world because I have a nice card.  (Note: on the public server around spawn town things are really overbuilt so even I only get 40 FPS these days until I walk a ways off.)

Third, the nature of a block world game means that it is going to take more memory than those other games that are optimized to specific geometry.  The game has to keep the block representation of the nearby world as a giant 3D array of data and then it also has to keep around the "mesh" that is rendered.  I believe that Mythruna's memory requirements are similar to that of Minecraft's at this point.  At least more similar than the other games you mentioned.  To be honest, I haven't run Minecraft in a long time but it is a better example of a comparable game.  You can actually run Mythruna limited to 256 meg (by running it with a special command line option) but you have to limit the clip to 64 meg or you will get frequent pauses.

Mythruna is doing more work than CoD or WoW because at any time you can start removing the world.  And in fact when you are standing still looking at the horizon the CPU isn't doing much work at all.  Look up at the sky and watch your framerate shoot up.  This is because all of the real work is being done by the graphics card and now there isn't as much for it to do.

If you press F11 you can turn on full stats and see the number of triangles I'm pumping to the graphics card.  The count is quite high when looking around... until you look directly up or directly down.  Then those counts should go way down and your frame rate should shoot way up.

Mythruna's graphics engine really isn't that optimized yet.  I will improve things for slower platforms once I reach alpha.  I've talked about why in other posts.