Google+

Blueprints of Life

Leave a comment

November 4, 2014 by jonmillymiles


BlueprintA major difference with Unreal Engine 4 and the Unreal Development Kit is that nearly everything within UE4 can be placed within a Blueprint: these are essentially objects (meshes, lights, actors, etc.) and code in a single reusable entity. This means that it is possible for entire interactive objects to be created and manipulated and then reused several times within the game.

As my methodology for this module is based on creating a modular system Blueprints are essential – and they will allow for a rapid development pipeline once created. However, their generation, coding and debugging take more time than a standard construction with bespoke meshes for each room/area. Therefore to create a Blueprinted modular system is to embark on a front loaded workflow where seemingly little actual development occurs with the level, but once complete the blueprints can be used to great effect to rapidly build the environment.

The first, most self-evident benefit of working with modular art is that it’s reusable.  Reusing art helps us mitigate the huge scope of our games.  There’s a massive amount of world-building to be done in Skyrim, and not having to specifically create and export every fence post and doorway becomes very important to us.  We try to be smart about where we spend our time and attention, reusing art where it makes sense, and investing time where we want something more unique.” Joel Burgess, 2013

There is however a downside to a modular approach and that is that there is little variation, unless details are added and adjusted manually. Blueprints offer an automated solution to this: the construction script. When the Blueprint is placed this code us automatically run and is used to generate or alter various aspects of the Blueprint. It can be used to change the colour of a chair, the size of a box or the location of an air vent.

On looking closer at the construction script for the ContentExamples level for Unreal Engine 4 the demonstration rooms are a single Blueprint. When selected they have several public variables available for the level designer to alter in order to specify the size, colour and many of the features of the rooms. The two rooms shown below are generated with the same Blueprint with variables changed.

Demo Room SmallDemo Room Large

The programming required in the construction blueprint for these assets is extremely complicated (see image below), however by spending the time to generate assets of this nature the team have allowed others to spend less time creating an environment and more time on generating the content that they wish to showcase.

Some of the Blueprint scripts required to generate a single DemoRoom item.

Some of the Blueprint scripts required to generate a single DemoRoom item.

Therefore by using the construction script it is possible to create procedurally generated scenery, with variables that allow the designer to influence just how the scenery is created and the style that it adopts. This combined with a modular design ethos allows for greater efficiency of workflow and enables a small team to work on projects that would normally be beyond their capacity.

References:

Burgess J, 2013, Skyrim’s Modular Approach to Level Design, Games Developer Conference, San Francisco Transcript available here: http://blog.joelburgess.com/2013/04/skyrims-modular-level-design-gdc-2013.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog Stats

  • 9,998 hits

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 580 other followers

Archive

%d bloggers like this: