STL Game Dev Co-Op Presents Intro to Unreal Engine 4
October 5th, 2016
Some of the biggest modern games are developed in Unreal Engine. Gears of War 4, Street Fighter V, and Epic Games’ own Paragon are just a few of the AAA titles releasing this year to use the most recent version of the engine, UE4. Even Square-Enix is moving to UE4 for the upcoming Final Fantasy VII remake. But did you know that UE4 is also available and accessible as a tool for small, independent developers?
On October 3, 2016, NVIDIA’s Amanda Bott and Terry Mosier demonstrated a number of features of Unreal Engine 4 that can make life easier for an indie team at an event hosted by Riot Games in St. Louis.
First, Amanda showed off UE4’s Blueprint visual scripting system. The broadly-expanded successor of UDK’s Kismet, blueprints allow developers to use a wide range of tools that are generally only available to programmers, especially in an engine based on C++.
Each level, player, and object has its own “blueprint”, a visual representation of how it will act, respond to player input, and react to other objects. Developers fill these blueprints with “nodes”–references to objects, variables, and a robust set of functions built into the engine. But even if the function you want isn’t available by default, you can create it yourself. Either collapse a series of nodes into a new function, or (if you are comfortable) write your own C++ code to set up gameplay classes that can be modified within the blueprint system.
To demonstrate the ease and versatility of the blueprint system, Amanda created a lamp that would activate or deactivate when the player walked into an area surrounding the lamp. She created an actor (an object that can be placed into a level) that contained a static mesh representing a floor-mounted lamp, a point light that illuminated the environment, and a bounding box around the static mesh. In the blueprint for the actor, she created a script that would activate or deactivate the visibility of the point light when the player entered the bounding box.
In the second portion of the presentation, Terry Mosier gave a walkthrough of the UE4 material system. Materials are assets that developers assign to a 3d mesh to control its appearance. At the simplest level, materials can be thought of as textures applied to a 3d model. But in UE4, materials can offer far more than just a texture and control an incredible level of detail for the mesh. Materials can emit light, move, and even respond to other objects in the level, changing their own properties based on outside variables.
Terry created several materials, showing off the “metallic”, “roughness”, and “emissive” properties, as well as the engine’s built-in sphere reflection capture. To follow this up, Terry used the visual landscaping functions of UE4 to create a field dotted with rocky hills. The viewport editor allowed him to sculpt and texture this environment in real time.
He also demonstrated that materials weren’t the only assets you could use to paint the landscape. Simple meshes–like clumps of grass or piles of bricks–can also be added to the environment en masse using the foliage tool. This feature not only allows developers to control the size and density of environmental features, but also reduces overhead by rendering multiple instances of the same mesh in the same draw call.
On the surface, Unreal Engine 4 can seem intimidating–especially for someone with little-to-no experience in 3d modeling or game engines. But as the Intro to UE4 presentation demonstrated, it also features a robust set of features that can actually simplify certain parts of development. The blueprint system presents scripting in a visual, modular fashion that could appeal to a developer with no coding experience. And the materials and landscape systems provide quite a bit of help for developers without a deep art background.
Unreal Engine 4 is free to download at https://www.unrealengine.com/ and comes with a handful of starter content assets–including textures, materials and meshes–for beginners, as well as the full C++ source code for advanced users. For commercial products, the cost of UE4 is 5% royalty on gross product revenue after the first $3,000 per game per calendar quarter.
The next STL Game Dev Co-op event is the annual PixelPop festival, October 8-9 at the St. Louis Science Center. For more information and tickets, check out http://pixelpopfestival.com/.