Introduction to Game Development with Unreal 4 and C++ – Part 1

Welcome to the first post in the series I’ve called “Introduction to Game Development in Unreal 4”.

The posts will not be very long in the beginning, just bite-sized chunks of newly acquired wisdom.

You can start a new instance of the Unreal Engine through the Epic Launcher that gets installed when downloading UE from www.unrealengine.com.

First, off course you have to download and install the engine itself. This should be self-explanatory.

So, when you first fire up the Unreal 4 Engine, you’re presented with various options for creating a project from different templates. You can choose a “Blueprint” project or a C++ project, and you can enable or disable the option of including the “Starter Content”.

The choice of project type is not too important, as you’re free to create “Blueprints” in a C++ projects and vice versa. Content can also be imported into your project after its initial creation, so don’t worry too much about choosing the “correct” option early on.

First off, let’s spend some time (this first post) on describing a little bit about the difference between a Blueprint and a C++ project. What is a Blueprint?

The answer to this will depend on who you ask, and how competent this person is with Unreal Engine.

First of all, Blueprints are not necessarily a “beginners” way of creating a game in UE.

Basically one can say that Blueprints is a way to visually develop game logic using nodes and to configure the connections between these nodes with wires.

That’s not an overly technical definition, but I think you get the point.

blue_0

While it is easier to understand Blueprints initially, and most newcomers will indeed prefer to create their games this way, I’d say that if you try to create a fairly complex game using only Blueprints, you’re in for some serious headache. It WILL get complex and unwieldy pretty fast.

Rather, the way I see the most potential in Blueprints is in the prototyping stage of a level and for trying out different options in a game to present to a client or a friend, then, when you’ve settled on a prototype, you’ll start coding it in C++. This is a much more viable path to follow when creating a computer game.

It will be far easier to edit a class in an editor, than to drag wires along a path of hundreds or thousands of nodes in a Blueprint.

Here’s an example starting to get slightly out of control:

blue

This certainly doesn’t look like my idea of something simple to work with.

But for basic prototyping, Blueprints are a great tool to enhance productivity and development speed, especially in the early phases.

Blueprints can certainly be used for many purposes, but in essence it works best as a tool to extend a core C++ system. As mentioned, C++ can be used to call into a Blueprint and a Blueprint can call C++ code, so the synergy of the two is most often the ideal.

It exists similar tools as add-on’s to the Unity Engine as well, all though probably not as streamlined as the integrated Blueprints in Unreal.

Blueprints should be one of the areas you plan on learning when using Unreal 4, because many people are using them and it is important to be able to understand the concepts if you want to be able to transfer the logic behind a Blueprint graph into C++ code and to be able to send messages between the two.

Whether you choose to focus on learning Blueprints first or the C++ API’s first is a matter of preference.
You don’t have to know Blueprints to program a game in Unreal with C++.

I don’t think I’ll talk very much about Blueprints in this series, but instead focus on the basic interaction between the engine and the development environment, which in my case is Visual Studio 2015 at the time of this writing.

You can certainly use Unreal 4 on both Linux and Mac OSX as well and I’ve tried both.

In both cases you can choose to use the Qt Creator IDE, which is also available to use on Windows.

Qt Creator is a multi-platform, very nice IDE that’s a good alternative to Visual Studio, and can be used to create a wealth of different types of applications including GUI applications that runs on all supported platforms unchanged.

For some tips on using Qt Creator on Windows:

https://wiki.unrealengine.com/Using_QtCreator_With_UnrealEngine4

For more information on setting up the engine to work with Qt Creator on Mac OSX and Linux, refer to the Unreal Documentation and do some Google searching!

If you’re just starting out and have access to a computer running Windows, you’d probably want to use this setup, as it is the most widely tested configuration to run Unreal Engine 4 in and generally will give you the least problems early on.

This is a moving target though, and many people have started using Unreal 4 on both Linux and Mac machines, so expect this to be a truth with room for modification.

To keep this as simple as possible, I’ll use only Windows and Unreal 4 in this series, but may create some posts using Linux as well, because this is my favorite operating system in many ways.

I guess that’s all for this time!

I’ll be back.

Advertisements