How to Reverse Engineer Level Design and Game Environment Art - Animator

Maya| Modelig | Animation | 2D & 3D | Adobe Photoshop

Link

Hot

Post Top Ad

Saturday 4 January 2014

How to Reverse Engineer Level Design and Game Environment Art

How to Reverse Engineer Level Design and Game Environment Art


There was an exercise I used to do when I was learning how to draw and paint, "copying from 
masters". I would choose an artist that I admired or wanted to learn from. I would find a drawing/
painting that contained certain elements I wanted to improve upon. I would then re-create the
 drawing
. I would break down the drawing or paintings into shapes, line quality, color or values. I would
 try to understand why the artist chose to add detail in certain areas, why the shadows were a 
certain color; where the light was coming from and where the vanishing points were. I would reverse
 engineer the artwork. Copying from masters forced me to dig deeper and find techniques of how to
 become a better artist.
Similar principles of reverse engineering can be applied in level design and game environment art. 
By looking at game environments or level designs, you can begin to break them down and work backwards
 from how the work was completed. You can reverse engineer individual elements and figure out how they 
were constructed. You can break down complex systems of level design and game environment art into 
basic step-by-step process.
In the following tutorial you will learn:
  • What is reverse engineering?
  • How does it apply to level design and game environment art
  • How to reverse engineer in UDK, CryEngine 3 SDK, Source, and other game engines or level editors
  • How to reverse engineer models, textures, material setups, scripting, optimization
  • How to learn and apply techniques from reverse engineering
  • My personal workflow and techniques of how I reverse engineer level designs and game environment
  •  art
Wikipedia's defines reverse engineering as "the process of discovering the technological principles of a
 device, object or system through analysis of its structure, function and operation. It often involves 
taking something apart and analyzing its workings in detail to be used in maintenance, or to try to
 make a new device or program that does the same thing without copying anything from the original."

Reverse Engineering level design is taking already completed map file or game environment model and
 breaking it down in how it was constructed.
Many game engines and level editors that you use, come with a set of example files or map files that you
 can begin to reverse engineer.
Lets cover some of these in more detail as it applies to specific game engines and game environment art
 creation workflow.

UDK/UNREAL ENGINE LEVEL EDITOR
In order to create a full functionable game environment using UDK (Unreal Development Kit, you can
 download UDK here) you have to know how to model assets, texture, optimize those assets, 
export/import, create material setups, generate and paint landscape, use kismet (scripting language in UDK)
 and optimize for best performance. These are just a few of the production pipeline processes. That is a
 lot to learn and do.
You could spend a considerable amount of time focusing on each process of the pipeline, reading and 
watching tutorials. But if you combine that with reverse engineering you can speed up the learning and
 implementation process.
In UDK you can reverse engineer kismet setups, modeling optimization, world properties of maps, 
gameplay and new map template set-ups to name a few.
UDK already comes with a handful example map files, models, textures and materials. You can open up
 any of these in UDK level editor.
You can find these examples in C:\ UDK\ UDK Version\ UDKGame\ Content\ Maps\ folder in UDK installation.

Lets use VCTF-Necropolis map as an example that comes bundled with UDK. You can find the map file in 
C:\ UDK\ UDK Version\ UDKGame\ Content\ Maps\ UT3.

Lets say you wanted to know how set up Vehicle Capture the Flag. Begin by looking at various actors 
within the map.

Where are the spawn points? Which actors define those spawn points? How are capture the flag areas
 defined in the map? Which actors are used near each base? What are the world properties in this map?

By going to World Properties --> World Info --> My Map Info. You can see where to enter min/max
 player count. Music for the map.

If you scroll down to Game Type and under Game Types Supported on This Map, you can take a look at
 what Epic used to set up VCTF gametype.

Another useful property to look at in UDK is Show Only Modified Properties. Here you can see only 
what Epic changed and modified. This can be used for any actor in UDK.

Lets say you want to insert a Dominant Directional Light (which acts as a sunlight in UDK). Instead of 
trying to figure out which values to modify in the properties, open up any of the example map files and 
take a look at Epic's modified properties for Dominant Directional Light.

You can see which values were modified so you know which values you need to focus on yourself for
 your map. You can do the same for fog actors, static mesh actors or sound actors.
By flying around the map, you can see how the map was constructed. How static meshes were used
 together and how the world was designed. You can select any static mesh or any actor within the map 
and by pressing F4, you can see the properties of each selected actor.
If you wanted to reverse engineer materials in UDK, you will need to open the material editor. Flowing 
water is a very complex material. You can reverse engineer how water was set up. Open up the Content
 Browser and search for water. Filter only by materials. Find a water material and double click on it.

Take a look at the material editor nodes that were used to create the water surface in UDK. You can
 start taking apart the water material set up and seeing how Epic did it.

Certain materials are documented a bit better and come with notes to help you.

Make sure you don't save over original map file when you exit UDK. If you want to tweak values and mess around with settings, save the original map file under a different name so you always have a back up.
You can do the same thing for Kismet setups and Matinee sequences. Access kismet setups by open up any example map file and hit the Kismet icon in the toolbar.

If you open up any of the example maps, you can look at the Kismet setups for that map file.
 You can also open up Matinee sequence that Epic created for that particular environment. 
There is a lot of information you can reverse engineer from just by looking at Kismet and Matinee setups.

By focusing on a specific aspect in the environment, you can begin to reverse engineer the set ups
 and processes Epic artists used.
In addition to UT3 style maps in UDK, you have 3 other folders with file examples.
As of March 2012 build there are Examples, Mobile, and Showcases folders. Each contains wealth of 
setups and examples that you can reverse engineer.
In Examples folder you will find:
  • ExampleMap.udk
  • PivotPainter_Examples.udk.
If you are using UDK for mobile development, take a look in Mobile folder where you will find 5 file 
examples. These will be the key files to getting started UDK for mobile game design. These files include:
  • EpicCitadel.udk
  • JazzMiniGame.udk
  • KismetTutorial_Final.udk
  • KismetTutorial_Start.udk
  • SimpleCourtyard.udk.
In Showcases folder you will find:
  • FoliageMap.udk
  • NightAndDayMap.udk
These 2 map files will help you with foliage and how to set up night and day cycle in UDK.
If you are using old school Unreal Tournament 3 level editor or Unreal Tournament 2004, Unreal Engine
 2.5 build, you will be happy to know that you have even more options of which map files are available.
 Using UT3, you can open any official map files that the game ships with as well as any custom created
 ones you download.

2 comments:

Post Top Ad