Hpl2:Tutorials:level editor:outdoors

From Frictional Wiki
Revision as of 14:49, 9 July 2020 by Maintenance script (talk | contribs) (Upload from wiki)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Creating Outdoor Levels

This page contains more general guidelines about creating outdoor levels, rather than being a regular tutorial. It is assumed you already know your way around the Level Editor. Pictures to come!

Before you start: Make sure that all plant models which you place have disabled collision (if they are static objects, because their collision is very buggy). Alternatively, create collision-less entities for every plant you are going to use.

Nature

1. Randomness

All that is created by nature happens randomly, in a way. Take a look at any photograph of woods, for example; chances are, you're not gonna see any regular patterns. This is the look one needs to achieve when creating a nature scene.

Firstly, make sure you have at least a few different plant models. Plants rarely form one-species colonies, usually there's a mix of many different plants. In author's experience, 3-4 types of tree and 3-4 bush or weed models is enough (there are some very good tree models in Amnesia: the Machine for Pigs).
Secondly, and more importantly; Make sure that plants aren't forming any regular patterns and that every model is rotated differently. Using the Q/E rotation feature is enough, just make sure that plants rotated in the same direction are far enough not to notice it.

2. Ground

The absolute best method of creating the ground would be to get a custom terrain model. A more available, still good way to create the ground would be to 'sculpt' with retextured (e.g. as grass) dirt_pile models and leave a path texture underneath them:

[1]

However if that sounds too hard for you, you can use the following method:

Let's start with a plane. Depending on what you are trying to create, that might be dirt, grass, or maybe foliage mixed with wooden chips. Regardless of what you choose, you will need to create paths along which the player will walk. Of course you could leave those out, but usually when people live near nature, they form footpaths.

There are two approaches you might take for creating paths: The first is creating them with dirt decals on a grass plane, the second is using grass decals on a dirt plane. Since the first one is less time consuming and yields better results, we will focus on that one. Alternatively you can use custom terrain models instead of planes.

As you might have noticed, both the grass texture and decal which come with Amnesia are quite an eyesore. The fact that they look almost exactly the same as the dirt textures doesn't help either. This pretty much requires you to get a custom grass texture. Once you have it, create a big plain with it. We will leave the process of creating paths for later, since we first need to create an outline for the level.

4. The outline

Unfortunately, due to HPL2's limitations, we cannot afford to create a wide expanse of trees which will serve as the background. Besides, we need to constrict the players movement in some way; after all, it's a videogame you're making. After multiple different approaches, I found this to be the best solution for making a tree border:

Locate the tree backdrop texture static_objects/outside/ground/zimmerman_ground_forest.mat, and create a vertical section which you will copy or extend. Now use that section to outline a rough parameter around your outdoor area. Make sure not to leave any narrow corridors, as you will be placing tree models by those textures. If there are any narrow indentations in the tree line, don't use this backdrop to create them - tree models will be enough. If you need a level transition which isn't an entrance to a building, create a corridor with a sharp turn, beyond which the player won't be able to see.

Now you're ready to start placing trees. Firstly, to finish the outline, densely place tree models just in front of the backdrop. Of course you could use other models, but Amnesia's lowpoly pine model (static_objects/outside/tree/pine_lowpoly_2) is great for this purpose (and it helps the performance as well). After covering the whole perimeter, start placing regular tree models a bit further from the backdrop (make sure to differentiate and rotate the models!). You can place some trees in the open as well. Since you should be disabling the collision of all of the trees, you need to recreate it using the block_box entity (unless you have a custom tree entity, of course).[2][3]

[4]

5. Paths

Coming back to the topic of paths; having created the outline, we need to place paths, as they will be the basis upon which the details will be made. Select a decal of choice (I recommend the vanilla grass decal). Check the "Rotate randomly" option, and set the range from 0 to 360 degrees. Then set "Randomize scale" from, for example, 1.0 to 1.25. Setting a constant scale works as well, just make sure it's big enough to minimize the number of placed decals and that it's small enough not to look bad.

[5]

Start "drawing" the paths by placing the decals. Make sure that the path is rather irregular, jagged at the edges. To make the workflow faster, if the decal on your cursor doesn't fit, place it anywhere and hit Ctrl+Z in order for the decal at your cursor to change.

[6]

6. Grass

This step isn't necessary, but it makes for some great looks. Place the grass model all over the map, save for the places where you placed paths. Important! If you are using the static object grass, make sure to disable collision. Alternatively, and more conveniently (it saves a lot of time), you can create a grass entity which doesn't have collision.

Make sure to scale the grass model up in order to lower the number of placed models. Depending if you want short or tall grass, use scale from 1.25 to 1.75.

[7]

Unfortunately the grass texture I chose doesn't blend in with the grass model very well, so take that into consideration when you're choosing one.

7. Details

Now, the level should look roughly fine. To add some flair to it, let's place details; Just randomly slap the following models all over the place: rocks from the debris folder (submerge them in the ground unless they're the flat ones), the gravel and puddles from entities (or static objects) /decals and bushes or other foliage models which you have. Just make sure not to overdo it, those models of the same kind should not be clustered together too much.

[8]

8. The backdrop

What you have already is more than enough, but you can spice it up even more! You can place the dirt_pile model (scaled ~100 times) moderately far behind the backdrop textures to make them look like hills / mountains. To amplify the effect, place some trees on those hills. You can also place some cloud billboards, and perhaps a moon, if there isn't one on the skybox. Speaking of skyboxes, having one is pretty much necessary - a unitone sky doesn't look good at all.

9. Lighting

This is a topic for a whole different article, but here are some general tips.
Cover the whole level with a BoxLight. Make sure it isn't too bright (>0.7), because it will look bad even if you're making a day scene. If you need sharper lighting, you can place some SpotLights in the sky here and there. Enabling shadows on them looks great, but unfortunately can decrease the performance significantly, so use it with caution. Use PointLights in the more lit areas (e.g. between trees).

[9]

Unfortunately, the MFP trees don't cast nice shadows, so I made a custom gobo from some asset I grabbed off the internet:

[10]

You can download that gobo here:

[https://button.moddb.com/download/medium/174647.png?nolink&]

10. Summary

You should be pretty much done by now. Of course the scene have even more things, like particles (I added everyone's favouorite particles/ps_light_dust_large.ps for that fairy look, but it isn't very visible on screenshots) or some things from the next section…

Man made structures

So what about buildings ? Unless you want a castle, which Amnesia is well prepared for, you are best off using the Machine For Pigs building assets. If you don't have those, your best option is using dungeonbase or castlebase (or cisternbase for that matter, but it has way less assets). Rooftops can be created with upscaled planks. Make sure to work some windows into the building. Don't make the building a one solid brick; add balconies, protrusions etc.

But what about other structures ? You can create roads by elevating a texture above the grass and surrounding it with a curb; I made my curbs using the railing from castlebase and submerging it into the ground. Not the best move resource-wise, but for small maps it's ok. Generally, you can make a lot of stuff using planes and reusing models for something else, e.g. Use one of the square windows from castlebase to create a small fountain or a planter.

[11]