How hard is it to move from Java into c++ game development?


So I wasn’t quite sure where to post this however my question is that I have experience in Java , now how hard would it be to start game development in C++ , so basically what im asking is how similar are the how similar are the two languages?


Hello wfisom!

First off, if you are familiar with OOP, and C++ syntax and how it works, it should be quite seamless from Java to C++.

If you are not familar with C++, I would recommend learning some bare bones C++ (especially OOP, pointers, structs, enums, etc.). Understanding base C++, OOP, and Data structures, it helps in the long run with making the projects bigger and more organized.

Also it comes to understanding the Unreal API as well. Thank heavens for Blueprints, it’s quite easy to give a few tutorials a try to get the hang of how the API works when jumping in for the first time. If you go from Blueprints to C++, the accessors and mutators names will look very familiar. Also understanding the actual structure of the API will make sense(example: the big tree of inheritance from UObject… UObject->Actor->etc etc).

It’s not much, but I hope this helps

I would say that language syntax won’t be very difficult at all.

What you’ll want to focus more of your time on is probably learning how Unreal Engine works and how everything comes together. Some really basic goals I would start with are:

What is an Actor?
What is a Component?
What is a GameMode?
What is a PlayerController?

I’m a C++ programmer and by studying the Unreal Engine for some months I can tell you there is not a lot of C++.
I was expecting more, but the Engine really makes everything easier to achieve (sometimes it won’t).

As a C++ programmer the most difficult thing in Unreal Engine is figuring out how it works (Game Framework) and not the C++ language itself.

Let’s say, C++ is a very difficult to learn and master programming language, full of traps around the code mostly due to pointers and memory leaks.
When it’s about games (hence, huge applications) it might become really difficult not to fall into the shaft, and here Unreal Engine helps you a bit; it most likely avoids to put you in hard situations.

Many times a C++ programmer doesn’t face so many difficulties switching to Java, but the inverse could not be true.
So, when speaking about Unreal Engine, you really don’t want to get into the C++ details.

Just learn the basics.

Nice to say, but how practical is that advice in reality?

You can’t really get through the full-life-cycle of project in UE4 without needing to know something about C++ or fighting the language’s overbearing-syntax: pointers, headers, macros, virtual-funcs, mem-management, weird compiler probs etc… What if you have to tweak the engine source before finally shipping a product? Is it really practical and realistic to think you’ll get by with just Java knowledge? I don’t believe that it is… Plus, Tim S seems to confirm this here:

At the time I got certified there were house-moms, retirees and art-students in the class. That’s Java for you! … But this is C++, and its an unwieldy beast even in UE4…

I would do lots of reading on this topic @wfisom. There are many related ongoing threads including this one right now…
If you’re new to game dev, there is a huge amount of information to soak up. So better to not underestimate the challenge.
Since Unrealscript and Java are quite close you might find this short migration guide interesting: UE3 to UE4 Transition Guide

Ok thanks for all the helpful replies @CHADALAK1 [MENTION=1362]Solid Snake[/MENTION] @gradual , @franktech , there is more of a significant difference than I expected but I’m sure I can cope.

Learning C++ is not as hard as understanding the Unreal API (which class to use to achieve xxxx)