So, why would java not be a great language to use? It is cross compatible on platforms! If I were making games for a living, I would not want to code in several languages. I would use java, and distribute! I know there is the whole argument on consoles not running java, but I have never heard why consoles shouldn't run java!

There are a large variety of reasons. But here are some of my thoughts

A lot of AAA games require every ounce of performance. And while Java in many cases is up to par for most things. There are still a few areas that writing in C or C++ is useful. (Though nowadays you can easily mix the two for the 'intensive' or specific areas.While most mid size and smaller companies often need plenty of performance, may not need to be on the 'cutting edge' of technology.

A lot of frameworks/libraries and tools were once written in C++, so simply because of a chicken/egg type problem. Just because they've been using it. is why they still keep using it.

Why do they need multi platform? Many of the big AAA titles, until very recently, would have said no one plays games on Mac or Linux.Blizzard and Steam/Valve are one of the few who sought to release on other platforms.However, this is changing!

Up until Java 1.4 or 1.5 or 1.6? There was major performance issues in a few key areas, especially on Mac's because they used to 'spin their own JVM/JRE

Java still has a 'bad rep' to some people, however its improving.Some games do use java, but they hide it/bury it, so you simply don't know it.

If a game is designed and released properly, the users should have no idea what language it was written in, be it C, Java, Lua, python

Despite all of this. more and more game companies are starting to use C#/mono/java and other languages non C/C++

The issues I believe have changed. It used to be about pure raw performance(back when computers were slower). And now you can get pretty good performance on most things.

The issue is now starting to be more about development times. They are starting to need to improve production lifecycle time. So that they can produce things of higher quality in shorter amount of time, and even forego a little performance in some cases.

However, most of these people have simply accepted this view based upon others, based upon others, passed down from a time long ago, with no real reason or proof. (The let's hate java bandwagon)

Also, many of these people don't realize that many major enterprise applications/servers/banks/corporations foundations all run on Java.

With that point in mind, Java used to be and still is more for application enterprise development and less for gaming/app purposes. Look up most jobs related to Java revolve around J2EE (Enterprise Edition)However with improved tools, api's, LWJGL! and several other things more oppurtunities are opening up all of the time. While I can't speak on behalf of Sun/Oracle/The Java people, but I think for a long time, they considered Java Gaming to be a niche(>1% trivial) and something they didn't care much about. Even though there is still a lot of 'games' and gaming nowadays. Most of the time enterprise and corporation level stuff is where all the focus and money is going too. Just 10-15 years ago Gaming wasn't mainstream, it wasn't this multi-billion dollar industry that it is now. Things are changing, slowly. But it just takes time

As he said, Java wasn't built for games, and it's still not. Besides that, it's much more common for AAA companies to use DirectX over openL, which isn't friendly with Java.

The only advantage to Java is the cross-platform capabilities, but that market barely exists. There is no "heaven" when it comes to game development in Java. The tools and libraries built in C/C++ have been reworked and refined for a long time, so they are the much better choice for big projects. Even considering DirectX and OpenGL. DirectX was built for making games. OpenGL is just a graphics rendering library. Not to say that there is no comparison, but again DirectX is built specifically for gaming and thus provides many tools that speed up the development process. Not to mention it's proprietary to Windows, which has the most of the gaming market.

If Java were to ever become a popular choice for game development, we won't see that for a while outside of mobile games.

General unavailability of Java anywhere beyond the desktop. Android changing the situation slightly.

Huge industry inertia in skillsets and invested technology. All the libraries game developers use are in C++ or C, and all the experienced programmers use C++ or C and I expect most of them will live for another 20 years at least.

Cross-platform is largely irrelevant noise in AAA game development. C/C++ runs everywhere by virtue of having compilers for every platform. The experienced cross-platform hackers know which small shims are needed to get a game compiled and running between different platforms.

There are indeed still performance issues with Java code but these are only showstoppers at the very bleeding edge of tech, and there are in fact very few companies on the bleeding edge making high-performance engines (for example id software). Even then they're not so much showstoppers as just show-runs-at-about-half-the-speeders.

Programming is a small fraction of the budget of a AAA game. There are better ways to spend an AAA budget than retraining all your existing C++ staff in Java or attempting to retrain Java developers in game development.

Most Java developers have cottoned on that the game industry sucks and has low pay, and sensibly move to places where they get rich, working for banks who want high performance reliable code which is where Java excels versus C++.

As he said, Java wasn't built for games, and it's still not. Besides that, it's much more common for AAA companies to use DirectX over openL, which isn't friendly with Java.

The only advantage to Java is the cross-platform capabilities, but that market barely exists. There is no "heaven" when it comes to game development in Java. The tools and libraries built in C/C++ have been reworked and refined for a long time, so they are the much better choice for big projects. Even considering DirectX and OpenGL. DirectX was built for making games. OpenGL is just a graphics rendering library. Not to say that there is no comparison, but again DirectX is built specifically for gaming and thus provides many tools that speed up the development process. Not to mention it's proprietary to Windows, which has the most of the gaming market.

If Java were to ever become a popular choice for game development, we won't see that for a while outside of mobile games.

On the pc (probably but debatable) but on consoles, opengl lords it over dx/d3d.

However, I would like to point out. At least in my opinion, language is becoming less and less of an issue and slowly but becoming more of a personal preference.

There is ever growing support for more platform capabilities.Even more so then that, there is growing interest and programs that can convert 1 language source code (uncompiled) to other language source codes.

The progress is slow. But its still happening.

I think one day in the (possibly far) future, it could even be developed enough that there could be multiple programmers on 1 project writing in different languages, all producing a similar pseudocode/bytecode/source code interchangeably. (e.g. you could see C++, I could see Java, someone else could see Python) all for the same source code uncompiled version, and it could be compiled to anything. (This will also be far more possibly, if all of a sudden graphene or some other material starts producing super computers that require 1 wattage of electricity and we can carry it around. Because the 'overhead' of converting 'poor conversions'/emulation and everything would become a non issue)

As he said, Java wasn't built for games, and it's still not. Besides that, it's much more common for AAA companies to use DirectX over openL, which isn't friendly with Java.

The only advantage to Java is the cross-platform capabilities, but that market barely exists. There is no "heaven" when it comes to game development in Java. The tools and libraries built in C/C++ have been reworked and refined for a long time, so they are the much better choice for big projects. Even considering DirectX and OpenGL. DirectX was built for making games. OpenGL is just a graphics rendering library. Not to say that there is no comparison, but again DirectX is built specifically for gaming and thus provides many tools that speed up the development process. Not to mention it's proprietary to Windows, which has the most of the gaming market.

If Java were to ever become a popular choice for game development, we won't see that for a while outside of mobile games.

On the pc (probably but debatable) but on consoles, opengl lords it over dx/d3d.

C++ as cross-platform as they come.

Well first, lets not compare OpenGl to DirectX. OpenGL is a graphics layer, DirectX is a lot more than just a graphics layer. DirectX handles networking, audio, graphics, input etc.

The DirectXBox 360 and DirectXBox one (as I call them) are making DirectX relevant on game consoles as well - it has always been bigger on the desktop. DirectX vs. OpenGl (and accompanying 3rd party libraries that would make it comparable to DirectX) is big motivator for Microsoft stepping into the game development industry and the mobile market.

The real money of the AAA is the console business, Steam is popular, but many games still dont even come out for PC, for a good reason.Also Valve hates MS and tries whatever it can, like slowly introducing Linux Steam and their own box.And with 0 popularity of microsoft consoles in Japan and the latest anti MS wave, its not looking good there either.

DirectX isnt even remotely better than OpenGL.Also OpenGL officially won after the mobile revolution... everything that isnt microsoft is OpenGL

- Everything that isn't Microsoft is OpenGl because Microsoft doesn't license DirectX to anyone else. Which isn't that big of a deal since most gamers are using Windows and not linux/mac/etc. It is a big deal in the console market - but as you can see Microsoft is doing pretty good with the Xbox.

There is a reason most gamers use Windows, and that's because Microsoft has been after gamers for a while - Linux and Mac were never big on games.

- It isn't fair to compare OpenGl to DirectX because, like I said, DirectX performs way more functions than OpenGL (which strictly acts as a graphics layer and nothing else.)

- Understandably, Japan isn't big on the Xbox One - simply because their culture demands a different sort of game genre. Microsoft is trying to capture this market with Killer Instinct etc.

Thanks, that cleared up the major questions. But can you elaborate on what 'rep' that java has and how it is improving?

This is ancient history, back to the 20th century, but Java was originally intended as a browser language. Applets were going to rule the Web. Java was going to be what Javascript is today.

Unfortunately, Java needed Swing and was a megabyte download--at a time when most people had dial-up. HTML worked much better. You couldn't write programs in HTML, but the bosses didn't care, they only knew that HTML was fast and Java was ssslllooowwwww. So Java became a laughing stock, and this persists in a lot of (older?) minds today.

I did work briefly on an Applet web app in the late 90's. It's still going strong without maintenance 15 years later. People who choose HTML have bounced around from Active X to Silverlight to Flash to immense Javascript atrocities at great expense, but Java is still a joke (to the older crowd) except to those in the back rooms who have been using it. Its rep's been improving lately; it's 5 times better than anything else (except maybe C++ for high frame-rate games), and it's getting hard for people to overlook that.[/list]

You really don't want to read too much into the difference between OpenGL and DirectX these days; they're functionally virtually identical, and only a very small part of the code and therefore team really need to know much about it.

You really don't want to read too much into the difference between OpenGL and DirectX these days; they're functionally virtually identical, and only a very small part of the code and therefore team really need to know much about it.

Cas

The difference is in politics and support. DirectX has more of a user / code base. There are more game engines supporting DirectX. There's also mighty Vole pushing it.

DirectX isnt even remotely better than OpenGL.Also OpenGL officially won after the mobile revolution... everything that isnt microsoft is OpenGL

- Everything that isn't Microsoft is OpenGl because Microsoft doesn't license DirectX to anyone else. Which isn't that big of a deal since most gamers are using Windows and not linux/mac/etc. It is a big deal in the console market - but as you can see Microsoft is doing pretty good with the Xbox.

There is a reason most gamers use Windows, and that's because Microsoft has been after gamers for a while - Linux and Mac were never big on games.

- It isn't fair to compare OpenGl to DirectX because, like I said, DirectX performs way more functions than OpenGL (which strictly acts as a graphics layer and nothing else.)

IMO The PS4 was incredibly disappointing to me.

Directx was a bane to computing because it wasn't needed at the time of its inception. Dx was oop which means it was hard to port on more platforms back then.

DirectX isnt even remotely better than OpenGL.Also OpenGL officially won after the mobile revolution... everything that isnt microsoft is OpenGL

- Everything that isn't Microsoft is OpenGl because Microsoft doesn't license DirectX to anyone else. Which isn't that big of a deal since most gamers are using Windows and not linux/mac/etc. It is a big deal in the console market - but as you can see Microsoft is doing pretty good with the Xbox.

There is a reason most gamers use Windows, and that's because Microsoft has been after gamers for a while - Linux and Mac were never big on games.

- It isn't fair to compare OpenGl to DirectX because, like I said, DirectX performs way more functions than OpenGL (which strictly acts as a graphics layer and nothing else.)

IMO The PS4 was incredibly disappointing to me.

Directx was a bane to computing because it wasn't needed at the time of its inception. Dx was oop which means it was hard to port on more platforms back then.

Opengl and d3d are virtually similar in all aspects gfx-wise.

How could you be disappointed in something you haven't tried yet?

While I am sure we could find some way to argue your first two points, they don't contradict anything I said in my post.

I am disappointed in PS4 (And Sony in general) with their incompetence and poor business ethics that they've displayed recently. Microsoft isn't perfect in that respect but their par-taking in the console war has been much more mature.

I was lead to this conclusion after Sony's PS4 PRs essentially consisted of 50% bashing MS (calling them out implicitly at gamescon for the DRM policies and 'inconsistency' on a unreleased and unofficial product.) And after Sony couldn't even figure out how to properly preload GTA4 content safely (or maybe it was their inability to promptly notify users when their personal data was ripped out of the PS+ databases). The other 20% was them riding the irrational internet rage regarding the Xbox One.

Finally, all I see in the PS4 is better hardware. The thing is, when it comes to developing gaming consoles, hardware literally means nothing! Game consoles are designed to run cheaper hardware at an over-specification clock rate with optimized games - i.e, arguing hardware is pointless it just tells us who managed to achieve what more optimally (who has the crappier hardware with competitive performance)

I think one day in the (possibly far) future, it could even be developed enough that there could be multiple programmers on 1 project writing in different languages, all producing a similar pseudocode/bytecode/source code interchangeably. (e.g. you could see C++, I could see Java, someone else could see Python) all for the same source code uncompiled version, and it could be compiled to anything.

That sounds like an absolute nightmare for revision control and documentation.

I was lead to this conclusion after Sony's PS4 PRs essentially consisted of 50% bashing MS (calling them out implicitly at gamescon for the DRM policies and 'inconsistency' on a unreleased and unofficial product.)

They didn't say anything untrue, if this offended anyone then they are clearly biased and most likely a fanboy. Being upset about that is irrational, a company stating what's advantageous about their product over the competition is how advertising works.

Yeah because playing COD on NES is the same as playing COD on PS4/XBOX360!!!

That's such a silly statement, I don't even feel like replying how silly it is.

Your statements are very subjective to what you like/want/feel, there's no point in arguing further if you are going to argue subjectively and act like it's objective.

My statement isn't silly, you completely missed the point of it. Not only that, but you clearly have no concept of why game consoles exist.

The point is this: The games need to be competitive, it doesn't MATTER how they achieve that level of competitiveness. What matters is that they OPTIMIZE the price with performance and software tuning. It is a very common and ignorant misconception of gaming consoles that hardware is significant - it is the product of hardware power, software performance and architecture tuning that is important TOGETHER. Not as individual components. If via one of those three you can achieve a degree a competitiveness you have the remainder of the three are less significant.

It is not subjective unless you want to over-engineer a console and lose millions of dollars on it (wait, didn't Sony do that for PS3?)

Don't call my statement silly, it makes complete sense and it has been a concept behind developing game consoles for a very long time. It is the entire purpose of a game console and it is what sets them apart from your desktop computer. Game consoles are _CHEAP_, _OPTIMAL_ and _PREDICTABLE_. They shouldn't need THE BEST hardware to be competitive.

Calling my statements subjective doesn't make them so. I laugh at the ignorant fools who purchase a console based on hardware specification like they're out shopping for a desktop computer.

Finally, these game consoles have unique architectures that were designed in different ways. I am blown away by the ignorance of people picking at random hardware components in either console, deriving an abstract idea of their function and applying them as "her durr x is better than y" when really they have no idea in the world. Not even the engineers at Microsoft or Sony have a full idea - the hardware is benchmarked, reduced, benchmarked, reduced until it reaches the predefined performance objectives with MINIMAL and CHEAP hardware and clever architecture and software tuning tricks because it is way cheaper to distribute software optimizations than it is to distribute expensive hardware. It is a constant cycle.

Even in that regard, it's completely false to say that the PS4 is nothing but upgraded hardware. If that were the case, it would be just as fair to say the XBox One is the exact same thing.

Games make the console, and the PS4 definitely has a lot of games that make it tempting. To that end though, it's completely opinion. If I cared about the games the XBox One had, I'd be more interested in it. This isn't a point that can really be argued, though.

Even in that regard, it's completely false to say that the PS4 is nothing but upgraded hardware. If that were the case, it would be just as fair to say the XBox One is the exact same thing.

Games make the console, and the PS4 definitely has a lot of games that make it tempting. To that end though, it's completely opinion. If I cared about the games the XBox One had, I'd be more interested in it. This isn't a point that can really be argued, though.

I didn't say the PS4 is nothing but upgraded hardware. I said all I see is a PS3 with upgraded hardware. Like you said, on that respect, it is entirely subjective.

Adding to the point about tools being in C++, from my perspective it seems that many AAA developers reduce costs by resorting to third-party engines, like the Unreal Engine, and as long as those keep using the same technology, users of said engines are somewhat locked in place.

I'm also of the opinion that a negative for Java in the eyes of developers might be the relative ease by which it can be decompiled.

I, personally, am acquiring a sort of "bias" against Java based on the fear that Oracle might end up screwing Java devs up for the sake of monetizing the language. Let's hope I'm wrong on that one!

Let's not forget that Java's performance comes after JIT, which not only needs warmup, you've also got the memory footprint and CPU overhead of running an optimizing compiler at runtime. Hope you're into load times. Sure, there's AOT compilation, but now where's the value proposition over C++ again?

There is Java the language and then there is HotSpot the Java Runtime Environment. There is no reason why you couldn't save the HotSpot state and cross compile it to a new platform. (Ignoring the obstacle of huge hardware differences.) Runtime recompilation is an option, not a necessity.

Most companies also make games for consoles, and the JVM will be a burden on a consoleThe industry is hooked to C++ right now, only indies can take the risk to use javaEven if Android has java, it's easier to use C++ to port from ios

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org