Alpine Level Design

From Red Faction Wiki
(Redirected from Alpine Faction Level Design)
Alpinelogo1.png

This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.

General

Versioning

Alpine Levels are playable only using Alpine Faction.

Due to features unavailable in those clients, Alpine Levels are not playable while using other client versions such as any version of Red Faction (official builds), Pure Faction, or Dash Faction.

Testing

  • Multiplayer playtesting - In addition to the Play and Play from Camera features that have always been available, the Alpine level editor adds a feature to allow you to playtest multiplayer maps in multiplayer. If you click the Play (multi) button on the top toolbar, the game will launch you into a listen (local) server running your level.
  • Troubleshooting goals - You can use the [ dbg_goal GOALNAME ] console command at any time to query a goal by name and print its current and initial values.
  • Troubleshooting event and trigger links - You can use the [ debug trigger ] and [ debug event ] console commands at any time (SP only) to draw events and triggers and their links as arrows in the game world. Links from triggers are blue, links from events are purple.

Geometry

When constructing non-Alpine levels, faces are added to "fix ps2 tiling" when building geometry, if the texture applied to a given surface tiles many times. This does not occur when constructing Alpine Levels - you can safely tile textures as much as you like without it resulting in additional unnecessary faces being added.

Similarly, when adding brushes to moving groups during construction of non-Alpine levels, if those brushes have surfaces with textures that tile many times, the brush will be split. This also does not occur when constructing Alpine Levels - you can safely tile textures as much as you like on brushes that either are, or will eventually be, members of moving groups, without it resulting in additional unnecessary faces being added.

Lighting

Lightmaps

In Alpine Levels, the game does not apply lightmap clamping. This means that the full range of available colors is available - including fully unlit (black) areas. Put another way, the way your lightmaps look when you calculate them in the level editor is how they will look in game.

Additionally, the stock editor applies similar lightmap clamping when opening saved levels. This has also been removed in Alpine RED - levels loaded in Alpine RED will look as they did when they were saved.

Dynamic Lights

Alpine Levels can utilize dynamic lights - configured via the "Dynamic" checkbox in light properties. Using the Anchor_Marker event (described below), you can also move dynamic lights using moving groups.

Note: Dynamic lights are far more taxing on game performance than normal (static) lights. You should keep this in mind when designing, and use dynamic lights only where necessary to achieve your desired effect.

Skyboxes

In Alpine Levels, while you can still make static skyboxes as you always could before if you wish, through the Set_Skybox event (described below) you can enhance your skyboxes. The key differences are listed below.

Note: When making an enhanced skybox, while you still do need to place a Room Effect in the room that is to be your sky room, you should not select the "Sky Room" type on the Room Effect - instead, leave "type" set to "None", or set it to "Liquid Room" if you wish to have a liquid surface in your sky room. The UID of the Room Effect is the skybox room UID you will specify in the properties of the Set_Skybox event.

Eye Anchor

When setting an enhanced skybox via the Set_Skybox event, you can specify an "eye anchor" UID. This must be the UID of an Anchor_Marker event that is inside the skybox room you are using. If you specify a valid "eye anchor" UID, this will be the position from which the sky room will be visible when projected as your skybox. You can also place the Anchor_Marker in a moving group and move it with keyframes if you wish.

Caution: Moving the "eye anchor" with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.

Relative Position

When setting an enhanced skybox via the Set_Skybox event, you can turn on "use relative position" and specify a "relative position scale". If you do, players can move around "inside the sky room" as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the "eye" position in the skybox, relative to the "eye anchor" position in the sky room. The position is scaled using the scale.

  • A "relative position scale" of 1.0 maps camera position relative to world origin to eye position relative to eye anchor position at a ratio of 1:1 - every 1m moved in the world is 1m moved in the skybox.
  • A "relative position scale" of 0.25 however, means every 1m moved in the world is 0.25m moved in the skybox. Using this, you can make your skybox much smaller than your actual level.

Note: Relative position requires you specify a scale and an eye anchor (and of course a skyboox room UID). If you do not specify each of these, ticking the "use relative position" option will have no effect.

Triggers

In multiplayer, unlike levels made for other versions of the game, triggers in Alpine Levels can activate events directly. This includes stock game events and Alpine Events (described below).

The following events are not supported in multiplayer and will not function if triggered:

  • Load_Level
  • Endgame
  • Defuse_Nuke
  • Drop_Point_Marker
  • Go_Undercover
  • Win_PS2_Demo
  • Play_Video
  • When_Picked_Up

Items

In single player, unlike levels made for other versions of the game, Alpine Levels allow the player to pick up the Multi Super Health and Multi Super Armor items.

Events

Fixes

Outside of Alpine Levels, using the delay parameter with the following stock game events leads to that event breaking - the effect will never apply. In Alpine Levels, the delay parameter can be used on these events without issue - just like any other event.

  • Play_Sound
  • Cyclic_Timer
  • Make_Invulnerable
  • Alarm_Siren
  • Unhide

Enhanced Functionality

In Alpine Levels, some stock game events have been improved in various ways:

  • Headlamp_State - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.
  • Holster_Weapon - Could always be turned on to holster the weapon of linked entities. In Alpine Levels, can also be turned off to force those entities to unholster their weapons.
  • Holster_Player_Weapon - Could always be turned on to holster the player's weapon. In Alpine Levels, can also be turned off to unholster the player's weapon.

Dash Faction

The following events had functionality added in Dash Faction 1.5.0. This functionality is not specific to Alpine Levels - it is available on any levels when using Dash Faction 1.5.0+ or any version of Alpine Faction. On other client versions (including all official client versions), although levels that rely on this functionality can be loaded, the functionality of these events will be restricted to only their stock game behaviour, which could lead to undesirable behaviour.

  • Set_Liquid_Depth - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.
  • Switch_Model - Used to swap the mesh used by linked clutter objects to a specified file. Could be used in stock game as long as the specified mesh file was a stock game file. Can now be used to specify custom meshes distributed with levels.

Directional Events

3D arrows in the Alpine level editor are drawn from directional events - that is, events that save their orientation and use it for some purpose. (most events are not directional). The following events are directional:

  • Play_VClip - (did not display a 3D arrow in stock level editor, does in Alpine level editor)
  • Teleport - (did not display a 3D arrow in stock level editor, does in Alpine level editor)
  • Teleport_Player
  • Clone_Entity
  • AF_Teleport_Player

Alpine Events

The following Alpine Events are completely new and are only available for use in Alpine Levels:

AF_Catalysts

Icon Event E.png

AF_When_Dead

Upgraded version of the stock "When_Dead" event. Does not require a slot in the savegame file, so there is no limit on the number of AF_When_Dead events that you can use in a single map. Also supports repeated activations, unlike the stock event.
Icon Event E.png

When_Picked_Up

Fires a message to all linked triggers, movers, and events whenever a linked item is picked up by the player. Single player only.

AF_Flow

Icon Event E.png

Sequence

Each activation of this event routes the message to the next link in sequential order. After the last link, the cycle resets and the first link is called. Note the order of links is determined by the order in which you add them.
Icon Event E.png

Difficulty_Gate

Tests if the game is set to the specified difficulty and forwards messages only if true.
Icon Event E.png

Valid_Gate

Tests if the specified UID is a valid object and forwards messages only if true. In the case of objects that have life values (ie. clutter and entities), "valid" means alive.
Icon Event E.png

Inside_Gate

Tests if an object (default: the player who activated the event) is in a specified area of the map. Forwards messages if true.
Icon Event E.png

Switch_Random

Randomly select one of this event's links and send an on message to it.
Icon Event E.png

Route_Node

In-line multi-purpose flow control node. Has several options to control what the processed message looks like.
Icon Event E.png

Goal_Gate

Performs a test on a specified goal (integer variable). Forwards message to links only if test passes.
Icon Event E.png

Scope_Gate

Performs a test on various aspects of the game. Forwards message to links only if test passes.
Icon Event E.png

Gametype_Gate

Performs a test on the gametype of the game. Forwards message to links only if test passes. Works only in multiplayer (test will always fail in single player).

AF_General

Icon Event E.png

Clone_Entity

Creates a clone of the linked entity with the same properties and settings as its source.
Icon Event E.png

Set_Player_World_Collide

Control whether the player collides with level geometry.
Icon Event E.png

Set_Level_Hardness

Set the hardness for the loaded level (size of geo craters).
Icon Event E.png

Set_Difficulty

Set the difficulty level of the game.
Icon Event E.png

Set_Skybox

Set the room to project as skybox.
Icon Event E.png

Set_Item_Drop

Changes the configured item drop for linked entities.
Icon Event E.png

Set_Life

Changes the base life value of linked clutter and/or entities.
Icon Event E.png

AF_Heal

Heal or damage the player (or multiple players in multiplayer) by a specific amount. Can also apply to armour.
Icon Event E.png

HUD_Message

Display a green HUD message in the bottom middle of the screen (like the helper text when you pick up items).
Icon Event E.png

Play_Video

Play a .bik format video.
Icon Event E.png

Force_Unhide

Force unhide/hide an object with no conditions. Virtually identical to the stock "Unhide" event, except this one will always do it, regardless of player line of sight or any other factors.
Icon Event E.png

Set_Fog_Far_Clip

Sets the far clip plane used for distance fog.
Icon Event E.png

Set_Entity_Flag

Turn on or off entity flags on linked entities.
Icon Event E.png

Set_Debris

Set the debris and explosion parameters for linked clutter and/or entities.
Icon Event E.png

AF_Teleport_Player

Teleport player to the event's position, with the event's orientation.
Icon Event E.png

Set_Fog_Color

Sets the distance fog colour.

AF_Utility

Icon Event E.png

Set_Variable

Reconfigure a variable on linked Alpine Faction event(s).
Icon Event E.png

Remove_Link

Used to remove links between objects. By default (with "Purge all links" turned off), removes links between objects this event is linked to.
Icon Event E.png

Goal_Math

Used to perform math operations on goals (integer variables). Applies the operation to level (non-persistent) goals, as well as persistent goals that are loaded.
Icon Event E.png

Clear_Queued

Clears queued message (if any) on all linked events. Queued messages are messages that are queued per a configured delay value on that event.
Icon Event E.png

Add_Link

Adds links from the specified source event to each object this event is linked to.
Icon Event E.png

Anchor_Marker

Used to "drag along" some object types that can't normally be added to moving groups. Simply add the Anchor Marker to the moving group, then link the Anchor_Marker to the objects you want to bring. That object/those objects will have their position locked to the position of the Anchor_Marker event as it travels with the mover. Supports Lights (Dynamic only), Particle Emitters, and Push Regions. Can also be used in conjunction with Set_Skybox to specify the "eye" location within the skybox.