Create Playable levels with UDK
Learn how to create playable levels with UDK using 3dtotal's comprehensive tutorial ebook. Check out the first chapter here...
Hello, my name is Andrew Finch and I'm an experienced environment artist working in the UK games industry, currently producing my sixth title. I've always been interested in watching tutorials and observing how other people produce their art, to see the flow of their work and what went on behind the scenes of the finished image. I have found this helps to share knowledge and processes that can help to better your work. I also enjoy creating and writing such tutorials myself, so that I can hopefully inspire and help others to produce professional artwork and break into the games industry.
This tutorial will guide you through the creation of a submarine pen using UDK as the game engine. It is a more intermediate-level tutorial as I am assuming you already have some knowledge of the engine, such as building BSP geometry, building objects and placing lights. I will guide you through each step and make sure it is easy to follow. If you're just starting out and are looking for something that's a bit more of a beginner's guide, then I'd recommend checking out my previous tutorial: The Italian Courtyard (http://shop.3dtotal.com/italian-courtyard-ebook.html), which goes into more depth in terms of the tools and layout of the software. But if you're feeling adventurous, then give the submarine pen a try!
At the end of this tutorial you will be able to export textures from Photoshop and 3D assets (static meshes) from 3ds Max, and import them into the UDK game engine. You will also be able to set up a level in a way that will allow you to create a standalone program of your level and distribute it in your portfolio to future employers or even just to your friends. I will also cover lighting and post effects to really add polish to your environment, and make it stand out and look professional. This tutorial is much more about creating an overall environment than creating a polished, detailed object. I will be focusing on the bigger picture of creating a good composition, as well as demonstrating my process from start to finish on a project.
We will also be using 3ds Max, Photoshop and Crazy Bump to produce our artwork, and UDK to create and view the completed level. You can download UDK for free from here
When I create environments I use various techniques to achieve the visual effects I want. Some people like to create everything from static meshes and not use BSP brushes at all. I tend to use a mixture of the two methods to create the final composition. However to start with I use only BSP brushes because it's so easy to change the size of our environment in no time at all.
I have a rough idea of what I want to achieve in this project so let's start by creating what we call a white box level in UDK. This is just a very basic blocked-out version of the environment. No detailed textures are applied; it's just simple boxed geometry. This provides us with a sense of the space and tells us quickly if it works or not as a scene. We can also make very quick changes if we need to so we can get the perfect space to work with. But the white box will not be the final version of the environment – it will change throughout the whole process as we think of new ideas. This means we can adjust the geometry to suit our needs.
Using the box builder brush, create two cubes to form the platforms. They don't have to be perfect at this stage; a rough estimate in size will do. The depth doesn't really matter as the gap between the two platforms will be filled with water and we will eventually build a bridge across the water, allowing the player to fully explore the level (Fig.01).
Using the same techniques create walls, a ceiling and also the end wall. This provides us with a sense of the dimensions within the environment as we start to close the player in and create internal space. We will also start to see if there are any problems with the dimensions early enough to be able to edit them without causing too much re-working later on (Fig.02).
Using the same box builder brush, create an opening in the back wall. Instead of adding the BSP geometry, let's subtract it to create a very simple opening (Fig.03).
I've added a temporary plane to act as the water level. As you can see, the environment is now closing in around the player and using our imagination we can visualize what the finished level will look like. It is also a good idea to search the internet for reference images of places similar to this, and we can build simple boxes now and lay down the foundations for us to build on later on (Fig.04).
On the opposite end of the environment, cut out another opening. This time we want to add an extra edge to create an arch shape. Eventually we will build a real arch mesh to replace this BSP version, but for now this will do fine to aid our imagination in visualizing the finished artwork (Fig.05).
Behind the arch, build a smaller room with three smaller platforms – this will add something different to the environment and give us some great opportunities to create some nice details and points of interest. I've built part of this room at an angle to break up the straight edges; when viewed from the other room it will give the impression of a larger space and guide the viewer's eye around the environment (Fig.06).
With all the geometry now in place it is time to add some temporary lights so we can play our level and judge if the space we have created is in proportion. Place a few simple point lights throughout the tunnel – nothing advanced, just enough intensity for us to see where we are and with big enough radiuses to project light onto all the surfaces. Let's also switch off all the textures so they don't distract our imagination (Fig.07).
Add a red light near the archway, in part to break up the scene, but also to aid us in visualizing what we want to change later on in the project. We can also add a player start point on one of the platforms. Now if you play the map and walk around the environment you can start to see if what you have is correct in dimensions and feels right. At this stage it is really simple to correct any errors. I'm quite happy with what I have now and I would consider this white box complete (Fig.08).
Now that we are happy with our environment's size it is time to export the geometry into 3ds Max so we can chop the geometry into sections or "modular pieces”. We can then detail these modular pieces, texture them and re-import them back into UDK. Simply select File Export > All.... and this will export the BSP geometry in .OBJ format, which is readable in most 3D packages (Fig.09).
With a new scene in Max, open File > Import and locate the .OBJ that was exported from UDK. An import window will appear with a few options. Leave all of these as default and select Import. Now that the white box mesh is in 3ds Max as one solid object, we can use the modeling tools in Max to break up this object into workable sections (Fig.10).
I have added the exported .OBJ file to this tutorial so you can view it and play around with it. In the next chapter I will guide you through how to use the exported mesh to create the static meshes and start adding the first details to the level; this will really start to bring the environment to life.
Until next time, thank you for reading!