I am planning on making a 3D software game for at least Windows that would be connected to other users online similar to an MMO. I have been planning on developing in Java, but was wondering if anyone thought C++ would be better for this or Java, and why. Any comments and opinions appreciated, thanks.
"Better" is such a relative term. How much money, time, expertise, etc do you have? The "better" argument then follows based on the context you have. Now, if it were me - I would go with Java. I left the C++ world about 6 years ago and have never felt any anguish because of it. The added benefit with Java is that you can more easily go cross-platform, but like you said - that does not seem to be a top priority. Look for some open source MMO environments in Java - I am sure they exist. That would kick start your development!
if you're planning to develop a game and performance is a strong consideration, then i strongly suggest c++. java has it's overall advantages but where performance is concerned, it is still no where no c++.
Hey if you are going for game development ..... i think you should use C++ because naturally for game programming u will need to integrate with OpenGL or DirectX. So u can do it in C++. Java provides easy API for communication, but then it will be difficult for you to implement graphics... C++ can provide both graphics and communication ...so C++ is better
I would my vote to the C++ supporters. Games require good performance and, occasionally, lower level tweaking to ensure they work quickly on less powerful machines. C++ has evolved over a few decades of use to be able to handle these problems and there is a rich library of solutions -- some of which are not terribly expensive and blend well into proprietary projects. Java may be cross platform, but java programs never perform as well on my computer -- a dual Athlon 2.8 with 4 gigs of RAM -- as C++ programs.
The performance difference between Java and C++ is not as big as it used to be. If you are developing under the .NET framework there is no difference at all. Bottom line, you should develop in the language you feel most comfortable with and more knowledgeable about.
I just felt this incredible urge to offend every java fanatic out there and add another C++ vote. Can't believe anyone would ever want to develop a game in java. Unless of course you are talking 3D Tetris...........
A lot of the PopCap games were coded in Java, but I think they've gone over to ActiveX (C++). I was working on a large scientific visualization project (molecular modeler with 3D visualization component), and we had this very discussion, since we were about to re-architect the system. We had several Java advocates, and we polled several companies/organizations that had done this sort of thing in Java. Turned out many of them were canning the Java implementation and rewriting in C++, precisely because of scalability and performance issues. So, we stuck with C++ (and a cross-platform GUI kit, since it had to work on Windows and Unix.) That was five years ago. Today, things might be different. Java has gone through a lot of improvements, machines are faster, and the UI component of Eclipse (SWT?) looks much more streamlined and robust than Swing. So, you'll have to research this. Do some test/proof of concept apps. Most of your 3D kit will probably be written in C++, anyway, so maybe all the Java is doing is providing windowing and control functionality, in which case it might work reasonably well. OTOH, if you have to get down and do lower level graphics, you might be penalized in Java. rickb
i heard there's one java 3d game, but since i never played it i don't know what the performance would be. from my past experience with java, i'd say it's simply not fast enough for any 3d game
when it comes to games, 3D graphics development all the integration between openGl, DirectX.. etc.. and you have only two choices c++ or java. Then better go for C++.