Perhaps it’s best to start with a little history of the company that created the legendary series of Unreal Engine platforms: Epic Games.
Epic Games was founded in 1991 by Tim Sweeney in the city of Rockville, Maryland. The company was originally named Potomac Computer systems. Later that year, the company released its first game, ZZT. Later, the company changed its name to Epic MegaGames and released a number of shareware games. At the same time, Epic was partnering with other developers to make and sell games, including Safari Software, Xland (of Robbo, Heartlight, and Electro Man fame), and Renaissance (Zone 66). In 1997, Epic purchased Safari Software. They would later sell a number of Safari Software games under the Epic Classics brand. In 1993, Epic released a popular platformer called Xargon, created by Allen Pilgrim.
In 1998, Epic MegaGames released Unreal, a three-dimension first-person shooter. This game would later spawn an entire series of first-person shooters. At the same time, the company began to sell licenses for the Unreal Engine, allowing other developers to use the engine to create their own games.
In 1999, the company changed its name to Epic Games and moved to North Carolina.
In 2006, the company launched the best-selling Xbox 360 and PC shooter Gears of War. In the fall of 2007, Epic Games completed work on Unreal Tournament 3 for PC, PS3, and Xbox 360.
My first experience with the Unreal game engine was back in my childhood. When I was young, my brother had a Sega Dreamcast console. I fell in love with a number of games for that console, including legendary titles like Quake 3 Arena, Half-Life, and of course, Unreal. These shooter games attracted me like no other game had done before.
Ever since, different versions of the Unreal Engine have been used in more than a hundred games and other projects. After launching in 1998, the Unreal Engine 1 was one of the first game engines to embrace versatility. The engine combined a graphics and physics engine with artificial intelligence, file and network management systems, and a user-friendly development environment called UnrealEd.
The original Unreal Engine revolutionized the industry in so many different ways. The engine introduced something called dynamic scene graph, for example, which allows you to apply a number of effects onto a surface. The Unreal Engine was also one of the first engines with halo effects around lights that gradually faded, overlapping wall edges during player movement, lava textures, puddles that splashed when drops fell, dynamic use of shaders, procedural textures, and photorealistic animated skies.
The second version of the Unreal Engine was released in 2002 at the same time as Unreal Tournament 2003, America’s Army: Operations, and Unreal Championship. The new engine came with a core that was almost completely rewritten. It also had a new rendering engine and a new (third) version of the UnrealEd editor. I didn’t encounter the second version of the Unreal Engine until a year later, when Unreal Tournament 2004 was released. The FPS attracted me with its gameplay, including its diverse range of modes, maps, and equipment. Starting with UT2004, I gradually began to dive into game development, learning how to use UnrealEd and making small programs.
The third version of the Unreal Engine was released at the same time as Gears of War (the only game in the series that was released on PC). Understandably, it was much more advanced than previous engines. Many games released around this time used this version of the engine.
Unreal Engine 3 was designed to take full advantage of the PC’s advanced rendering systems. It would later be used to develop games for the PlayStation 3 and Xbox 360. Later, Epic Games released a free version of UE3 called UDK (Unreal Development Kit). Although this free version was limited, it allowed indie developers to create their own full-fledged game.
Like many other indie developers, I tried to do something unique using UDK. But around this same time, Crytek released their own game engine called CryEngine 3. This engine also catered towards indie developers. However, game logic in CryEngine 3 was not written in scripting language: you could write it in C++. Therefore, I started using mostly CryEngine 3 to develop my projects.
And then came the 2012 GDC (Game Developers Conference). Epic Games showed off their Unreal Engine 4. The graphics were phenomenal. I remember looking at the engine with similar awe as when I was a child looking at the original Unreal Engine: the lighting, reflection, physical rendering. It was all in-game, but it looked like stuff we had only previously been able to see in pre-rendered footage. Now we could have it in real time. Two years later, in 2014, Epic Games released Unreal Engine 4 to the public. As soon as it was available for download, I put it on my hard drive.
UE4 is written in C++. That’s important because it lets you use the engine to build games for the majority of operating systems and platforms, including Microsoft Windows, Linux, Mac OS, and Mac OS X, as well as consoles like the Xbox, Xbox 360, Xbox One, PlayStation 2/3/4, PSP, PS Vita, Wii, Dreamcast, GameCube, etc. You could also build games for mobile devices, including Apple devices (iPad, iPhone) and Android platforms.
In 2015, Epic Games announced that its flagship game engine, Unreal Engine 4, was available to developers completely free of charge. Epic Games announced that it would only charge a commission of 5% on sales of games developed using the engine – and it would only charge that commission on games that earned more than $3,000 each quarter.
Free users have full access to all features and functions in Unreal Engine 4, including the Engine source code in C++ as well as all platforms supported by the system. Epic Games is clearly making a concerted effort to develop the engine’s community. They’ve also created numerous video tutorials, articles, grants and projects. Epic Games also actively participates in discussions on the development forum.
The Little Engine
This is the main editor window in Unreal Editor. I’ll go over some of its most interesting parts.
The engine can write game logic in C++. It also uses a visual programming system called Blueprint that looks like this:
Blueprint is a visual scripting language that lets you write game logic without actually using programming languages. No matter how complex or simple it may seem, this is a very powerful tool. You can use it to create almost anything – including everything from basic characters to procedural level generation. Using this feature, programmers (even novice programmers) can make their own creations while learning a lot of new things along the way – like the development of logic.
Working with materials, objects, and textures is the same process. However, there are no logical sequences – just math.
With the help of mathematical operators and textures, you’re building material which will subsequently be applied to any object in your scene. This is very useful when creating custom or even generated materials.
Let’s take a simple example: think about color and smoothness. You have a texture that shows the different parts of the object. The texture is beautifully-designed and pleasing to the eye. But when you put that texture on a model, it looks like there’s something missing. That’s right: the object should be smooth and reflect the surrounding world. But by default, it does the opposite: it’s matte with no reflections. Here’s where math comes in handy: you can use math to generate the texture of your black-and-white map, where white means opaque parts and black means smooth parts.
Despite the fact that Unreal Engine 4 is an engine for creating video games, it can be used for all different purposes.
Have you ever wanted to design your own home? Create a movie? Or just build a beautiful – or bleak –environment in which you can throw your pent-up emotions? If so, then Unreal Engine 4 may be useful to you. Hopefully in the future, the engine will inspire the next generation of game developers to create their own masterpieces.
Remember – you should not approach UE4 as a program with a set of buttons you can press to make an awesome game. The tools are powerful and have impressive functionality – but you still need to put in a lot of work. With the right patience and motivation, you’ll be a UE4 expert before long.