Timeline for Why isn't Java more widely used for game development?
Current License: CC BY-SA 2.5
22 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Aug 8, 2017 at 13:34 | comment | added | gouessej | @MillieSmith You can't measure the performance of Java just by judging Eclipse. | |
| Mar 24, 2014 at 2:51 | comment | added | Millie Smith | C++ is used because it's a middle ground. Java is too slow and assembly dev is too slow. Compilers are not better than humans... games in assembly are just too much effort. And java is slow. There would be faster programs if it was faster. Or maybe the eclipse devs just hate me and my cpu. | |
| Feb 20, 2013 at 22:56 | history | made wiki | Post Made Community Wiki by user82044 | ||
| Oct 11, 2012 at 17:26 | comment | added | Ramhound | Some of the statements are not 100% accurate.**"But Java can't possibly create games like Halo, Medal of Honor, Command & Conquer, and so forth and make it playable."** for instance is certainly not true. | |
| Mar 7, 2011 at 13:37 | comment | added | BBlake | Never heard of it. I will have to check it out. | |
| Mar 7, 2011 at 10:38 | comment | added | Jorge M | @BBlake There's a MMO written in java, it's named Wurm Online. I think its a nice example of the potential. | |
| Mar 6, 2011 at 15:38 | comment | added | Fattie | I think it was very admirable that EdS said "Then I bow to you sir because you have more experience in the area than I do". If only more people could show that sort of courtesy in internet discussions. Hat tip to EdS. | |
| Mar 6, 2011 at 15:38 | comment | added | Fattie | What? Uri said: "and now you see more and more Java there [bot traders]" ... state where? Where do you "see that"? What company? | |
| Mar 6, 2011 at 3:26 | comment | added | Uri | I used to hear the "Java not fast enough" argument from the algorithmic trading industry, which used to prepare C++, and now you see more and more Java there. Something tells me that speed is no longer the issue. | |
| Mar 6, 2011 at 1:49 | comment | added | JustinC | This is not 1985. We have more than 640k of memory, better than 50 mghz processors, and more than 1.44 mbs of removable storage. Game developers challenge today isn't the same as it was 25 years ago. Go ahead and find an example of hand crafted x86/or ia64 code for a modern game. Certain myths are just plain wrong. The challenge is portability, and down level clients using relatively ancient operating environments. Least common denominator vs compelling imersion. | |
| Mar 6, 2011 at 0:41 | comment | added | Ed Swangren | Then I bow to you sir because you have more experience in the area than I do. I am basically repeating what I have heard in regards to this from a few devs that I know, but I don't have a lot of first hand experience. | |
| Mar 6, 2011 at 0:31 | comment | added | bit-twiddler | @Ed S., I have written a ton of assembly language in the thirty-plus years that I have been in this industry. If one examines any large piece of code that has hard real-time constraints, one will find substantial chunks of assembly language. With all hard real-time applications, one reaches a point where one has to resort to cycle counting in order to ensure that events are not lost. | |
| Mar 5, 2011 at 23:29 | comment | added | Ed Swangren | @bit-twiddler: When you develop PC games you are not necessarily targeting one specific processor or architecture. In console games it is probably more common because you only have to target one platform and you can hand optimize your code, but if your game has to run across multiple platforms this becomes much more difficult. I'm not saying it doesn't happen, and you can certainly hand optimize bits of code to be more efficient on a given architecture, I am just saying that it's not as common as most people seem to think. | |
| Mar 5, 2011 at 22:25 | comment | added | Matthew Read | Don't forget memory usage. Memory use is probably more important than speed. Java's not designed for direct memory control like C++ and the garbage collector means memory use is always significantly higher than C++ for the same task. | |
| Mar 5, 2011 at 22:21 | comment | added | bit-twiddler | "Assembly isn't used as often as you may think in PC games because a good compiler will likely generate more efficient code than you will writing assembler." That's another generalization. I have yet to see a compiler than can generate better IA32 machine language than an experienced IA32 assembly language programmer. Compilers generate code for an abstract machine that is mapped onto a target machine. An assembly language programmer takes full advantage of the underlying processor, including machine idioms. | |
| Mar 5, 2011 at 20:10 | comment | added | BBlake | Someone really needs to create a better example of Java's capabilities than Minecraft. Until someone can create the equivalent of WoW or C&C or MOH or Starcraft in Java or C#, I will continue to hold to what I've said. | |
| Mar 5, 2011 at 20:05 | comment | added | BBlake | @Ed S. That is a good point. The majority of advanced games nowadays are built on existing toolsets and code, most of which are C++ based. So much of the problem is based in legacy as well. However, on speed, I have yet to see any app written in Java which ran faster with less CPU horsepower than an equivalent app written in C/C++. If you can point me to an example where this is not the case, I would certainly rethink that, but I have not found one. | |
| Mar 5, 2011 at 19:55 | comment | added | Ed Swangren | It's certainly possible to write a game in just about any language, the question is really one of practicality. | |
| Mar 5, 2011 at 19:52 | comment | added | Graeme Wicksted | It is possible to write games with Java. Jogl bindings and JMonkeyEngine game engine do exist (I'm sure there are others). Don't forget the ever popular Java-based game Minecraft. | |
| Mar 5, 2011 at 19:27 | comment | added | Ed Swangren | You leave out one of the most important points; the vast majority of the tools and API's one would use are written in C++ and rewriting them to work with Java or any other language would be a ton of work. Also, your generalization that "[Java is] far slower than using C++/Assembly" is too broad to be accurate. Assembly isn't used as often as you may think in PC games because a good compiler will likely generate more efficient code than you will writing assembler. Deterministic resource use and the ability to get right at the hardware is required however. | |
| Mar 5, 2011 at 19:26 | comment | added | user1249 | You are aware that Java bindings to OpenGL exists? | |
| Mar 5, 2011 at 19:10 | history | answered | BBlake | CC BY-SA 2.5 |