Tutorial “Water and Currents”

by uranos

Whether as a big sea in coastal levels, as torrential river, small stream, a lake, a pool, or just a small puddle, water can occur in a variety of ways in a level. This tutorial will give some to know to work with water in the level. Some things are probably already known, other perhaps better understandable, a few tips may still brand new.

1. Create Water

First, again the basics:

(Anyone who has been working just a bit with the level editor, surely knows it all, and can directly read the next chapter.)

It is not possible to make a room in the LE only partially filled with water. So you have to split your room, so that the part, that is to be filled with water, is an extra room in the LE. The rooms have then to be connected with a Door, which will then represent the water surface. In the water room then you have to click on the button Normal to switch it to Water.

In the upper room you can click then on R, to enable the light reflections.

Now you just have to make the water visible. To do this select the connection in the room from the Planview and enable Toggle Opacity 2. Thus the surface of the water is still passable, but can now be textured. Then select Transparent and Double Sided and apply the water textures.
Now you have a simple pool.

Once you have mastered the basics so, you can start with some more difficult things.

2. Waves

The water looks even better if the surface is moving and form waves.

2.1. Create waves

The field with the number next to Water is used to set this. By clicking on the value can be set to the numbers 1 to 4.

2.2. Connect waves

You have to a bit careful when creating larger water areas, which are composed of several rooms. If you are not careful, can be perfectly Gaps appear in the waves between the rooms. To prevent this it is essential to pay attention to:

Occasionally it may happen that you can still have problems with gaps, or you would like to use different strong waves. E.G. when an area with sea water and strong waves merges directly into a coastal area with weak waves. Then you can also prevent the gaps by prevent the waves completely right at the border, on the Square series before the Door.

2.3. Prevent Waves

Since we now know how to create waves, the next question is: How do you remove them again? Okay, if you want no waves, you can also simply set the value to 1. But there are various situations in which you wants to waves, but not everywhere. One problem are waves on the ground next to the water. This can happen when the water surface is not rectangular in shape, but irregular. If you then create a door over the entire area, there are also squares in, where is no water. These then also have waves. The solution is, that you just not create, one big door, but several small, which include only the areas where actually water is. Where no Door is there are also no waves.

But sometimes you want to have no waves in certain areas of the water. Then you can avoid this with a simple trick. You simply texturize the bottom. Who has done this before accidentally, did then maybe frustrated found out, that the water surface is not moving and wondered why. The “Why” is probably remain a mystery, but you can use this fact to your advantage. If the floor on the banks wobbles, or if the water form gaps, or simply if you want some quiet water areas, you can prevent the wave movements on certain squares. To do this go into the water room and choose the door from the ceiling and activate Toggle Opacity 2. Where there should be no waves, apply a transparent texture from the texture panel. The remaining areas can texturize the gray transparent color from the color palette. This does not prevent the waves.

2.4. Waves between air rooms

But you can have waves not only on the surface of water, but also between two air rooms. The structure is similar. Instead of Water you activate the button NL in the lower room. In the upper room it must not be activated! Here you can turn on the reflections with R if needed. Then you select the door again on the ground and activate Toggle Opacity 2, before then applying the textures with Double Sided. Even in this case you should not texturize the bottom, when you want to have waves.

The texture will have then in the game so nice waves like a water surface. The waves are just small, corresponing to the

setting 2 at a water room.

So you can now create billowing fog, clouds or swaying leaves on trees. Sure there are also other possibilities.

By the way, you can here instead of Toggle Opacity 2 also activate Toggle Opacity. Then the area is walkable, but still wavers. So why not e.g. once build a horizontally stretched tarpaulin, which Lara can walk on, while it gently swings in the wind?

Preventing the movement in specific areas, works exactly as in the water rooms. See previous chapter.

3. Currents

Water is not always motionless. No, it flows streams, and then splashing in creeks rivers, and canals. Precisely in order to produce this water movement and flows, there are the Sinks in the level editor.

3.1. Set the flow direction

To use a sink in the level, you select in the menu of the editor Effects and then sink. Now you have a small circle at the cursor, which can be placed in your level. This unassuming little things work like strong vacuum cleaners. All water flows almost up to them, so they set the destination of the flow. But only as long as Lara is on the trigger. So when Lara has to be pulled along an underwater passage, you place the sink at the very end, raise it to medium height and put a long trigger along the whole course. Once Lara swims on the trigger, she will be swept away by the flow to the sink, which of course is in the game invisible. In any case, you should make sure that you do not have triggers on the same field with the sink, because otherwise Lara will always precess only around this one point. The trigger should therefore end in the square before the sink. Sink and triggers must however not be together in the same room to work.

You should note that the flow goes only straight to the sink, also when walls are on the direct route. The flow in the Level Editor will search therefore not automatically the best route to the destination. In the game this affect so that Lara is drawn to a wall and then stuck there, if the sink is behind it. Should she be flushed around the obstacle, you have to use multiple Sinks and place a new sink at each break point, where the movement direction is changed. In order to have a good flow behavior, it is always better to put a few Sinks more than too less.

3.2. Set strength

Once you have determined the direction in which the journey go, you have to make choose the speed at which it goes forward by adjusting the strength of the sinks. To do this select the sink by clicking on, and then press O. This will open the menu of the sinks. Here you see five buttons with numbers 1, 2, 4, 8, 16 These can each be individually activated or deactivated. With this you can set now strength values from 0 to 31. By clicking, they are activated, they are black then. Are multiple activated, their values add together the strength value.

If you want to set e.g. 11, press 1, 2 and 8. Cause 1 + 2 +8 = 11.

If you rather want to set 22, press 2, 4 and 16. Cause 2 + 4 +16 = 22.

But before you set something, you even have to know first, what are good values. This overview should help with:

Unfortunately, the flow velocity is always constant. Lara is accelerated to a very short distance and slows down immediately, as soon as she leaves the trigger for the sink. So there is no gradual acceleration as it would be more realistic.

So you have to do it yourself. So you should place in a passage multiple Sinks in a row, whose strength increases or decreases slowly. The particular triggers should directly adjacent. So Lara moves slowly at first, sliding on the trigger for the next sink and then goes faster, etc. At the end of the corridor she will then gradually slowing down.

3.3. Other points to note

Only at very light flow (intensity 1 and 2), Lara can still collect items and switch. At higher flow, it has no use to place something. Unless of course you want to annoy the player intentionally.

You should not lose sight of the hight of the Sinks. If they are placed, they are right on the floor. There you should not let them, because Lara is otherwise only grinding on the floor.

Each sink which is placed underwater prevents to rise up to the surface even with a strength of 1. But if you put sink directly on the water surface, Lara can also swim at the surface, where she is pulled forward. That's a good idea for rivers. Diving is still possible.

The sink can be placed outside the water. Lara is then pulled out of the water. Once she is out of the water, but falls back down. You can use this to let Lara fall down a waterfall. Therefore you put the sink outside the top of the waterfall. The trigger is behind it in the river, and should directly reach to the edge. Lara is then sucked out of the water and then falls in the air down the waterfall.

You have to understand yet that the sinks do not really have an effect on the water. They cause only that Lara will be attracted to them, as long as it is on the trigger for the sink. There is no visible effect on the water. But you have then to provide this manually, which is also recommended for the player then can see that the water is moving and will not be surprised suddenly out of the blue with it. May serve appropriate textures show a flowage, water plants or other objects moving in the stream, or large pumps, which may explain why water moves.

You can also change the flows during the game. There are two possibilities:

As the work flows with triggers, you can use a Triggertriggerer to block this triggers and release, which is equivalent to block the flows and activate. But since the trigger for flows usually cover larger areas and you have to place one TT on each Square specially, however this is rarely recommended.

The second option is to create a Flipmap. Thus, in one version of the room can be the trigger, the flow is so active. In the alternate version you may omit the trigger, there will be no flow. Possible is also, to set then another trigger, so that the flow so could go in the opposite direction.

4. Water with solid surfaces

If you want to have a solid surface between two air rooms, you simply choose the door and activate Toggle Opacity. Then you can apply for example a grid texture, or a glass texture, and you have a semi-transparent layer that can walk on it. On water rooms that works unfortunately not that simple. If you activate Toggle Opacity there, you still can not stand on the surface, as if only Toggle Opacity 2 is activated.

But there are situations where you want nevertheless a solid surface. For example, if a body of water should be frozen, or because you want to have a grid on the surface. Or maybe because the water is somehow magically, so that you can walk on it.

There are various possibilities make this possible


Thick Surface:

This variation is most likely for ice. You lift the ground in the upper room, or you will lower the ceiling in the lower room, and create so a 1 click thick layer. You only leave place where holes are to be in the ice, through which you can get in and out.

Disadvantages: So thick ice makes sense only rarely and does not look as good as a thin transparent layer through which you can see in the water below. Unsuitable for grating.


This variant is more suitable for grating. You create a 1 click high air space between the water surface and the grid. Then you can create the grating with Toggle Opacity between two air spaces. Once from above and one from below. The water is only just below.

Disadvantages: You can dive up anywhere, but what is may not desirable. Not suitable for ice. Where has a cavity with air ever be formed under the ice cover?

With Flipmap:

This version is a bit more sophisticated. With a trick you get a thin surface directly at water level. First you turn the water room to a Flipmap. In normal room you leave out the water. You just apply water only in the flipped room. Then you have to trigger the Flipmap just before Lara will reach this room. In the air room above you create Toggle Opacity on the ground. Since the room below contains no water in the normal version, the solid surface now works. And since only the lower room is flipped, this does not change. So you have a solid surface on the water.

Cons: You have to sacrifice a Flipmap which are limited in the levels. You can no longer use Flipmap in the water, such as when you want to change the flow. No waves on the surface, but this does not bother most. The surface is only solid from the top. So it must not be possible to swim under the ice, because players would otherwise be able to dive up through.

Now, these examples are actually only made up to highlight the benefits of the last variant:

With zero-room:

In this variant, you use an additional room that does not actually exist. But first things first. First you have to remove the door between air room and water room again, and lower the ceiling of the water room for one click to make space for an extra room in between. Then create a water room that is as large as the surface of the water and one click high. This one you push in between. Then connects the air room with this room and this in turn with the water room underneath. As far as it looks like the gap-variant. But now comes the trick:

You fill the entire room with walls. Right, the whole! Then you select the ceiling in the water room below. Now you lift it back 1 click. The room above is now zero clicks high! Therefore zero-room.

Because it is filled with walls, it serves as a barrier and can not be crossed, and even though it is completely flat, and therefore invisible. So you can build a very thin sheet of ice.

The best is, however, that the waves even work, if in the zero-room is set an appropriate value, and you texturize the surface with Double Sided. So you can make Lara walk on water, that still moves. Or you can omit the lower water room completely, and thus has a solid floor that moves. Practical e.g. for lava that should not be so fluid that you sink instantly, or for loose sand in the desert.

But that works best for a grating. You texturize on the top a water surface with Transparent and Double Sided. In the water room you apply the grating texture with Double Sided on the ceiling. Since this is not the actual bottom of the water surface, but only the bottom side of the zero-room, this texture prevents not the wave movements. This gives you a stable grating, which now is hitting by the waves. A really cool effect!

5. Reflections

Surely one or the other ever seen that plain water surfaces reflect the surroundings. Such an effect you can also replicate in the level editor. While that is a lot of work and otherwise nothing more profitable, but it looks good. And those details are what distinguish a good level of a first-class level.

5.1. Preparations

There are, however, first to note a few things. The effect does not work with any body of water. Importance of three things:

Everything is prepared so far? Then you can start now.

5.2. Build the mirrored room

First you have to rebuild the room (or the rooms) above the water surface vertical flipped. Unfortunately, there are no automatic function in the level editor like the horizontal mirroring. So you have to do it all manually. The more complex your room is designed, the more complex is also the mirroring. However, the mirror also looks more impressive thereby. The best is you push the rooms in the map next to each other and then switch back and forth to transfer some parts of the room. First the architecture. So wherever you have lowered the ceiling in the original room, now lift up the bottom and vice versa. Also you should not forgot the wall partitions.

Then it is to transfer the textures. Right-click on the texture in the original room to choose the texture in the texture set and then apply it in the mirror room. Now you need to mirror them (unless they were already mirrored in the original) and then turn them right. Yes, this takes a while.

The lighting of course you have to transfer too. For the room lighting you select of course the same values as in the original room. Potentially, you can make the light darker even later. This needs trying. You can copy the light objects. To do this select them in the original and click Copy on in the light panel. Then go to the mirror room and choose here the appropriate square, but here the ceiling instead of the floor. Then click Paste. The light source then has the same values and is even at the right height. Only with Suns and spotlights you have to adapt the orientation in the Y-direction, so that they light up instead of down (or vice versa).

Static objects also require a mirrored version. These are best created with the use of the program EditWad. First you copy the objects in question again in a new wad. Then you open this in EditWad (Load WAD). In the left list you select an object by double-clicking. By clicking on Floor and Mirror Mesh it will turned upside down. Do this with all objects you wanted to mirror. Then save with Save WAD. Now you can copy the mirrored versions in addition to your wad. Now you can place these in the level editor in the mirrored room on the appropriate square.

Now you should check everything again, then you should have a mirror image of your room. If you had wanted a mirror on solid ground you would now almost finished. But for a reflection in the water you have to make a few extra steps.

5.3. Create the mirror effect

First, you made that room into a water room and set waves to value 1. Then you build the pool of water virtually into the mirror room. To do this you have to split the room again vertically. Namely at the height where the bottom of the water tank should be. If you have there anyway multiple stacked rooms, you should consider if you can directly use a room connection and set the depth of the water basin accordingly. Otherwise you copy the room, flatten once the floor and raise it to the appropriate split height (except areas on this level or higher) and in the copy you flatten the ceiling and lower it to the correct height (except for areas at this level or deeper). Now you may have to still correct some wall partitions. The upper room (the one that mirrors the lower part of the original room) now has to be split again horizontally. So you select in each case a rectangle, that is adjacent to on side of the pool and selects Split Room, to separate it into a new room. If you made this four times, only the area directly below the water surface should remain. You select this now and cut the walls away on the edges with Bound Room. If you have not moved the rooms, they were now all fit together perfectly. Then you may need to adjust the lighting again. Because objects do not radiate light up into a new room, you have to put there some additional lights, till the lighting in the room looks again like in the original.

Then you can create Doors to connect the spaces. In the central area, you select in succession all Doors (four sides and the ground) and use Toggle Opacity. Here you can then apply textures for the pool, but Transparent, so that the mirror room also can see through it. How intense is the reflection appear can be adjusted with the lighting. The brighter the room is, the better the walls of the basin can be seen, and the poorer appears the mirroring. These again can be seen better, the brighter the around are.

Now there is only one flaw: If you jump into the water, you can also see the reflection underwater, although it should be reflected in reality as it is on the surface. This problem can be countered in two ways. Either you set a static camera over the pool and a trigger to this into the pool, so the water is always seen from above. Or do you turn the water basin into a Flipmap. In the flipped version you set again Toggle Opacity, and apply the textures again but without Transparent activated. A trigger for this Flipmap you set on the entire bottom of the pool (in the normal version of room). And a trigger for Flipoff on every edge of the basin. So the mirroring will disappears, when you jump into the water and comes back on when you climb out of the water.

However, you should refrain from a reflection of Lara by creating a script entry, cause this reflection might appear also above the surface, while swimming on the surface and while climbing out.

If you want to publish this text or parts of it elsewere, please ask Codo for permission previously!

As every year there is also the TRForge advent calendar contest. Achieve the matching challenge to every calendar door and collect points, to get the chance to win a great prize in the end! You can find more infos here: contest, or you can click on Lara at the calendar page.

daily challenge