Seamless level transitions are something very cool and versatile. They allow you to break up your level into several different parts, thus reducing the size of you level if it were a single .bsp. We'll be talking about two different entities in this tutorial and they are as follows: trigger_changelevel
, and trigger_transition
Simple Level Transitions
To create a simple level transition, all you need is the trigger_changelevel
entity. The trigger_changelevel
entity is another brush based entity so create the brush, and then tie it to trigger_changelevel
. Now go into it's properties, which are pretty self-explanatory, but the main one we're concerned with is new map name
. For this type in the name of your map so if it were nixon.bsp, you would type in nixon.
Seamless Level Transitions
The most common type of level transition in Half-Life is the Seamless Level Transition. To do this we'll need another entity, the info_landmark
. You also need an area in the two maps that is exactly the same. Ok now place the info_landmark
entity in the exact same place in both of the levels as shown in the picture on the right. Now create two trigger_changelevel
entities, one in each level, and place them like shown on the right. You need to have a trigger_changelevel
in each map or the level change won't work. The arrows indicate the direction of gameflow. Now to set the attributes. The info_landmarks
both need names, and these should be the same. Now go into the trigger_changelevel
entity's properties and for landmark name
put in the name you gave to the info_landmark
. Set up the other attributes as you did for simple level transitions. Now say you want a one way level change. This is also easy to do. Set it up exactly as above, only put one of the trigger_chanelevel
s up near the ceiling where the player won't be able to touch it. I usually make it a small cube up in the corner of the ceiling. If it doesn't work, ask yourself the following questions:
- Did I set the attributes up according to the tutorial?
- Do I have a trigger_changelevel on each map?
- Did I run the level from WorldCraft? (see More on Level Transitions)
- Did I skip over parts of the tutorial?
is another brush based entity. Basically, it creates an area that enables a trigger_changelevel
. That is, the level change will only occur if the player is in this area. It is really simple to set up. Give it a name
and in the trigger_changelevel
entity, put that name in for landmark name
. If you are using an info_landmark
entity, give the trigger_transition
the same name
as the info_landmark
More on Level Transitions
If you compile your level and then run it from WorldCraft, then when you get to your level transition, you will end up in a wall in the next level. This is due to a bug in Worldcraft. So what should you do? Compile your level as normal and then start up Half-Life and load your level from the console. You can find an example map .