Java or C++ for Game Programming?

I am a college student in my 3rd Year (Computer Science). Recently I have completed a course of Java Core Development and I am thinking about getting an Oracle certification for Java as well.

So I am a bit confused here. I really liked doing Java and find myself very comfortable with it. I was hoping to go more deeper into the language.

But my main objective has always been PC-Game development (NOT Mobile or Android). I have just been surfing the net and come across several people who simply disregard Java as a good language for game programming over C++. They say C++ is a lot faster and suitable for Game Programming.

I don't really mind doing C++, I simply find Java more comfortable(or maybe its because I find it easier?).

So here's my question, what do I do? (Please note that I am not talking about game programming as a hobby but instead of pursuing it seriously as a profession).

Should I just abandon Java and start over with C++? Or should I learn Java and maybe later switch to C++? Will it be easy to do so? And if I do, should I get my Java certifications from oracle in the meantime(just as an insurance to get a good job while I study C++). It would be a great help if someone could help me clear my doubts here. Thank You!

3 Answers

Relevance
  • Anonymous
    6 years ago
    Favorite Answer

    my answer won't post because I have too many links

    so I'll put my full response in pastebin

    http://pastebin.com/PZKaULTn

    but in summary, I think both an engine and C++ are a must

    Kerbal Space Program (a pc game)

    was written using Unity

    /watch?v=H9fvjKVuULQ

    https://www.youtube.com/watch?v=H9fvjKVuULQ

    Youtube thumbnail

    Blizzard job postings (looking for C++ programmers)

    http://us.blizzard.com/en-us/company/careers/posti...

    http://us.blizzard.com/en-us/company/careers/posti...

  • Fulano
    Lv 7
    6 years ago

    It depends on what part of game development you want to work in.

    Making game engines will mostly likely need C++, as it is slightly more native than Java and does run a little faster.

    Lots of games these days have the game engine support some sort of scripting languages, things like Lua, or Python, which are relatives of Java. So once they make the engine, they need people to go in and script the actual game mechanics.

    If you're going to work for a big game company then you will probably only have to specialize in what you are more interested in. If you plan to go the Indie game route then you'll need to learn a little of everything, but as the other guy said usually Indie game developers just use a game engine that is already out there.

    Also I think you should talk to some people that actually work in the game industry, people that work for the big companies and get advice from them.

    Internships are a great way to see what actual part of gave development you will be best at.

  • 6 years ago

    If you want to make pc games then your main concern would be the game engine. CryEngine, Unreal, Unity and others. What you shod learn is 3d modeling, 3d animating, texture creation, levwl design. Since the e most recent egines have a very "simple" interfaces you won't need java or C++.. What you want to learn is scripting. But first, you have to decide which engine you will be working on sjnce every engine has different scripting methods. Scripting basically will replace java or c++. Unless you want to make your own game engine, then c++ is required.

    Source(s): Personal experience
Still have questions? Get your answers by asking now.