Vlatitude: Level Transitions Last edited 3 years ago2019-04-25 11:33:56 UTC

Download example

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, info_landmark, 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.
User posted image
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:


The trigger_transition 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 here.
This article was originally published on 69th Vlatitude.
TWHL only archives articles from defunct websites. For more information on TWHL's archiving efforts, please visit the TWHL Archiving Project page.


You must log in to post a comment. You can login or register a new account.