Overgrown (Portal 2)
This Portal 2 aesthetic theme is displayed during the beginning of the single player campaign, in the Aperture Laboratories chambers closest to the earth's surface. It is characterized by rusted, decayed, and moldy areas filled with debris, broken glass, vegetation, and cables. The lighting is harsher than other areas in the game, and has distant skylights through plants and wires which cast big shadows. Soundscapes often include noises by crickets, cicadas and birds, as well as hints of decaying metal around the facility.
In the single-player campaign this was the first theme the player had encountered, and consequently had been designed to be visually striking and to leave as big an impact as possible on the player. This theme is supposed to give the effect that everything feels very organic. On that note, however, do not confuse this with being dynamic; the player must get the feeling that everything is dying, if not already dead, that this is the end, and that they are in solitude. The official campaign uses the theme only for two things:
- Tutorials — simple cube- and button-based testing and portalling/momentum puzzles
- Plot advancement
However, don't limit yourself to such simple tests. As stated above, this theme is designed to leave an impact on the player so if you have simple yet innovative and unique puzzles, or those with brilliant moments of epiphany (colloquially known as 'aha' moments), use this theme. If you have a new testing element to show off, this sort of striking theme might just ingrain it in the player's mind forever.
The destroyed theme is characterized by the very organic feel of it; the vegetation is the most iconic element of the theme, while the skybox is the main source of light in the map.
If you'd like to let the player see the puzzle, adding a light source is very important. Since the theme is supposed to give the impression the player is very close to the surface, certainly the sun shines on the test track. Skybox lighting is actually very easy to create. Go into the Map menu and select map properties. Next, find the key value that says what the skybox texture should be, and change this to sky_white — no folder, no file extension, just that. Now make a big hole in the ceiling, and detail it with rusty frames and foliage props. Then, make a second ceiling for the skybox (NB the ceiling isn't 100% open; it is partially closed around the edges), and fill it with more debris (hanging vegetation, rusty beams, cables, etc.). Next, create a brush where you want the skybox to be; naturally, make sure it seals the map from leaks, as always. Texture this brush with tools/toolsskybox. Create a light_environment entity and place it anywhere inside the map. Now, you could just stop there, but it's bad practice to ever use a perfectly white light, so I like to use the setting Valve uses in their maps. Use these exact key values:
Property Name Value Pitch -80 Brightness 255 247 217 250 Ambient 255 247 217 400 Sun spread angle 5 Angles 0 280 0
In many tests with this theme the skyboxes will often have wires hanging around them. To make the wires , you must make a keyframe_rope and a move_rope. Name at least the keyframe_rope , then on the move_rope set the "Next Keyframe" value to the keyframe_rope`s name. More information can be found at https://developer.valvesoftware.com/wiki/Cables_and_Ropes.
To make destroyed floors cut out your floor into 8x8x8 length x width x height then randomly select some and turn them either to 8x8x1 with the texture as concrete/concrete_modular_floor001e and deleting some. Next , make a floor under them with the texture concrete/concrete_modular_floor001f Then , add the prop_static models\anim_wp\framework\squarebeam_off.mdl with skin 1 embeded under all your broken floor. Finnaly , add stain and dirt overlays to the floor and add some props like models/props_destruction/debris_dest_phys_01_tiles.mdl
To have swaying vegetation in your map, you must have an active env_wind entity and your plant models must be prop_static with the Ignore surface normal for computing vertex lighting set to 'yes' or '1'. The props will sway the direction the wind is blowing. Normally, however, the vegetation is not swaying.
Now, the problem with these plants is that you don't want to accidentally obscure a portalable wall with vines, thereby making the whole puzzle twice as hard. Secondly, place foliage in logical and realistic places. If there's a gaping hole in the ceiling, have some vines and moss hang down from the edge of the hole or beam, not the corner of the room. The vines should also look as they have a purpose growing there. A plant certainly won't grow from toxic goo and they won't hang mid air, try studying growth patterns by looking at some pictures of overgrown man-made structures.
The facility is in disrepair and parts of it have started to collapse. Notice that in the official campaign some of the hallways aren't aligned to the rest of the map. Try not to get carried away with this technique as it could make the player nauseous from solving a puzzle in a room that is tilted 30°. Keep it minimal in short hallways, or very small parts of a test chamber. I'm going to describe how to make a crooked hallway, however you can do this to almost everything you'd like: walls, ceiling, etc. To achieve this, follow this process:
Create your map; it's hard to change things after you detailed, so make sure everything is working and nicely attached to the grid. Now decide what part to tilt, and make sure the walls that are adjacent to that hallway are extended enough to not have leaks.
We will now make this hallway a func_instance as it is easier to work with them. Copy that hallway and paste it in a new level; all that should be there is the hallway and the entities (if there are any) that operate things in that hallway. This is very basic; you can better understand func_instance mapping here.
Place a func_instance entity in your source map where the hallway is, delete the original hallway, and set the func_instance's VMF Filename to the name of the file name of your hallway. Now it's easy to rotate the func_instance and if you want to change how the hallway looks like all you have to do is change the instance's file, which is on-grid and easy to work with.
These are the main elements that should be used through out this theme:
- Plants/Moss (use some prop_statics with models from models\props_foliage)
- Broken test chamber doors
- Water stains (use overlays)
- Rusted square beams (use a prop_static with the model set to models\anim_wp\framework\squarebeam_off.mdl or its variants; set Skin to 1)
- Broken wall and floor pieces, showing the square beam structure
- Broken/cracked tiles and debris on the floor and in the ceiling
- Malfunctioning panels
- Observation room(s) with broken glass
- Inactive Light strips, or Light strips with broken glass, and optionally, flickering light
- Inactive Security cameras
- Flashing test chamber sign with a light flicker sound
The light in the observation rooms should be turned off, as the skybox casts enough light by itself, and it adds to the impression that there is no one testing or observing you, as well as the impression of an inactive facility. There are a plenty of instances used for that:
Due to the wrecked state of the facility and the tests, improvising can be a good way to make a puzzle much more interesting. Improvising is taking an advantage of malfunctioning testing elements in more interesting ways. Create an easy puzzle, and then, via the use of something like a broken panel, though it could be something else, break the chamber, and give it an alternate, unexpected solution. However, be cautious not to create a chamber that obviously had no solution prior to it being broken.
- Skybox Basics - For more information regarding skybox creation
- L4D2 Level Design/VMF Instances - Another useful tutorial on how to use instances
- http://youtu.be/GNIdLOrhbos - Improvising