Unreal shook the indie game developer world up recently when they announced they made Unreal Engine 4, with complete source code, available for $19/month as well as a 5% royalty. I assume some of you are wondering what your 20 bucks a month gets you. Well this post is intended as an overview of what is included in Unreal to help you decide if you will take the plunge. By no means is it intended as a review, although I will make a few comments about quality where applicable. Alright, lets jump right in!
Welcome to the Unreal Portal/Getting Started
Once you’ve signed up, entered and confirmed your credit card information, you will now be able to access the Unreal Engine portal. This is where you can go about downloading Unreal Engine and access the community, wiki, source code and documentation, more on that later.
Click the download link to the right to download the downloader. This initital download is quite small but that’s only just the beginning. Now the proper download begins.
The initial download is about 7GB, the first patch was 4GB. Fortunately download speeds are great, even on day 1 I got enough bandwidth to max on out 50MB connection.
Each time you launch UE4, you will be prompted for credentials. ( Haven’t used Offline mode yet, so you shouldn’t require an online connection like CryEngine ).
Then once again back to the launcher. This is a combination of news, community portal, marketplace and quick launch.
Coincidentally, in Windows 8.1, for some reason none of the news links actually work for me. You can see down the left hand side there are a number of projects listed under My Content. Most of these are actually freely available templates you can get from the marketplace. Each of these is a one level game demonstrating a different concept, be it 2D, 3D, Blueprints, C++ coding, etc. They range in size between 20MB and 800MB. They are found in the marketplace:
There’s tons of high quality starter content here and right now almost the entire thing is free. However, you can see the beginnings of a Unity style marketplace is planned if you look under the coming soon section, you can see a gun based asset pack that is going to be for sale:
Hopefully this is opened up to the community and becomes a viable competitor to Unity’s Asset Store. Now let’s fire up the main editor. See that big yellow LAUNCH button, yeah, that’s how. I’ll open it up with the Strategy Game template, on of the more complex samples.
The Main Editor
This is where the magic happens and in a word, it’s polished.
Perhaps most impressive, notice the Play button in the top toolbar. at any time you can actually hit this and run your game directly in the editor instantly.
One word of warning here. You level is basically running as a game in your engine at all times. For most people this isn’t going to be a big deal, but to people like myself who develop on the go using a laptop it can be crippling if you arent near a plug. The Unreal Engine is an absolute battery killer. On my Windows laptop I can generally run Unity for 3 or 4 hours on battery, a bit longer if I try to stretch it out. Unreal Engine on the other hand…
Ouch. My 2013 Macbook Air faired even worse. It went from fully charged to dead in just over 30 minutes.
That leads to an interesting question… how is performance, what kind of system do you need to use Unreal Engine?
Well the good news is you don’t need a ton of power, the tools actually ran on the Macbook Air, a 2013 Intel HD4000 GPU powered machine. That said the experience certainly wasn’t ideal. In all honesty, if that was my primary machine I would look elsewhere for an engine. However on my primary Windows box, a Razer Razerblade 14” laptop ( i7, 8GB, nVidia 765m ) the performance is great, except of course the battery drain that is.
The editor itself is mostly for content placement, but there is a ton of power packed away. Most tasks open up a dedicated editor of their own. It keeps things uncluttered, but isn’t very alt + tab friendly for some reason.
Placing content is mostly a matter of drag and drop from the content browser to the scene. Speaking of Content Browser, here it is:
Makes it easy to logically organize all your various game assets.
On the right hand side of the editor is the context sensitive details panel as well as a searchable scene graph.
For level editing, UnrealEd has it’s roots as a CSG ( Constructive Solid Geometry ) editor and that functionality is still there. Basically CSG modeling works by creating complex shapes by adding and subtracting simple shapes, here for example is a box cut from another box in the editor:
These days however, CSG modeling is rarely used, but can be used to quickly prototype a level.
Of course there is a height mapped landscape editor built in:
You can push/pull the landscape to manipulate it, use brushes to quickly instance geometry and texture the landscape. OF course you can still drag/drop from the Content Browser to a landscape you’ve generated.
This of course only scratches the surface of what the Editor can do. You can also define lighting, environmental effects, Nav mesh volumes, etc.
The Editor itself could no doubt fill a book, or perhaps many, but Unreal have done a very good job of compartmentalizing the details. Until you need something, it’s mostly out of your way, and if you’ve worked in Unity or any 3D applications, it should become pretty quickly intuitive to you. One thing I really don’t like however is the hold control to do model. So for example, if you want to paint the geometry, you need to hold down the Ctrl button while left clicking. It is counterintuitive to me.
Remember how I said earlier that the editor is composed of a number of different windows. One such window is for editing Blueprints. Let’s take a look at that next.
So, what exactly are blueprints? Well if you’ve used prior Unreal engines, it is the replacement for Kismet. If you are completely new to Unreal, think of Blueprints like a visual programming language. It works a lot like the graphing functionality in most 3D applications. Don’t dismiss Blueprints early either, they are surprisingly capable. Many of the sample games you can download are implemented entirely in Blueprints.
Blueprints can be accessed with the Blueprints button in the main interface:
Each level can have a Blueprint that responds to a variety of events or you can create Class Blueprints, which are basically exactly like C++ classes, except they are implemented as Blueprints.
Blueprints open as a completely separate window, like so:
Blueprints can be complex beasts. Here for example is the Blueprint for controlling the character from the blueprint example:
One annoyance I have is the lack of zoom granularity control. Zooming to fit just what you want on the screen can be a chore as you under/over-zoom due to the lack of granularity.
Think of Blueprints like massive flow charts that control, well, just about everything in your game. Most classes and their properties in the game are exposed as Blueprints and you have a large library of functionality available to you.
This post is starting to get a bit long so I am going to split it into two parts. In Part Two we look at the C++ programming side of the fence, explore the documentation available, take a look at the source and the community available.