Alpine Level Design: Difference between revisions
(→Events) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
{{Under construction}} | {{Under construction}} | ||
This page lists all major differences between level design and | This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction. | ||
''' | ==Compatibility== | ||
'''Alpine Levels are playable only using Alpine Faction.''' | |||
Due to features unavailable in those clients, Alpine Levels are '''not''' playable while using older client versions such as any version of Red Faction (official builds), Pure Faction, or Dash Faction. | |||
==Lighting== | ==Lighting== | ||
===Lightmaps=== | ===Lightmaps=== | ||
In Alpine | 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. | ||
===Dynamic Lights=== | ===Dynamic Lights=== | ||
Alpine | 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. | 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== | ==Triggers== | ||
In multiplayer, unlike levels made for other versions of the game, triggers in Alpine | 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: | The following events are not supported in multiplayer and will not function if triggered: | ||
Line 28: | Line 48: | ||
==Items== | ==Items== | ||
In single player, unlike levels made for other versions of the game, Alpine | 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== | ==Events== | ||
In Alpine | 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. | * '''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 | * '''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 | * '''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. | ||
In addition, the following new events are only available for use in Alpine | In addition, the following new events are only available for use in Alpine Levels: | ||
===AF_Catalysts=== | ===AF_Catalysts=== | ||
<div class="column"> | <div class="column"> | ||
Line 175: | Line 195: | ||
|on = Set difficulty to the specified value. | |on = Set difficulty to the specified value. | ||
|params = * '''difficulty:''' (int, "Life") Set the difficulty to test against. 0 = easy, 1 = medium, 2 = hard, 3 = impossible | |params = * '''difficulty:''' (int, "Life") Set the difficulty to test against. 0 = easy, 1 = medium, 2 = hard, 3 = impossible | ||
}} | |||
{{Infobox RF1Event | |||
|eventname = Set_Skybox | |||
|category = AF_General | |||
|description = Set the room to project as skybox. | |||
|on = Set skybox information as configured. | |||
|params = * '''Skybox room UID:''' (int1) Specify the room UID (by ''Room Effect'') to set as the sky room. | |||
* '''Eye anchor UID:''' (int2) Specify the ''Anchor_Marker'' event to use as the eye position inside the sky room. | |||
* '''Use relative position:''' (bool1) If true, apply relative position mapping camera position in world space to eye position in the sky room. | |||
* '''Relative position scale:''' (float1) Scale/ratio to apply to relative position camera mapping. | |||
}} | }} | ||
</div><div class="column> | </div><div class="column> |
Revision as of 20:56, 15 December 2024
This page is under construction. The information on this page may not yet be complete. |
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.
Compatibility
Alpine Levels are playable only using Alpine Faction.
Due to features unavailable in those clients, Alpine Levels are not playable while using older client versions such as any version of Red Faction (official builds), Pure Faction, or Dash Faction.
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.
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
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.
In addition, the following new events are only available for use in Alpine Levels:
AF_Catalysts
AF_Flow
|
SequenceEach 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.On Response Send an on signal to the next link in the sequence.
Off Response None
Parameters
|
|
Difficulty_GateTests if the game is set to the specified difficulty and forwards messages only if true.On Response Forward on signal to all links, if the game is set to the specified difficulty.
Off Response None
Parameters
|
|
Valid_GateTests 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.On Response Forward on signal to all links, if the specified object is valid.
Off Response None
Parameters
|
|
Inside_GateTests if an object (default: the player who activated the event) is in a specified area of the map. Forwards messages if true.On Response Forward on signal to all links if test passes.
Off Response None
Parameters
|
|
Gametype_GatePerforms 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)On Response Perform test and forward message if passed.
Off Response None
Parameters
|
|
Switch_RandomRandomly select one of this event's links and send an on signal to it.On Response Send an on signal to a randomly selected link.
Off Response None
Parameters
No additional parameters. |
|
Fixed_DelayIdentical to the normal Delay event, but cannot be retriggered. Will forward a message to all links after the specified delay. Messages sent to this event while a message is queued are ignored.On Response Queue a message to be forwarded after the configured delay.
Off Response None
Parameters
No additional parameters. |
|
Goal_GatePerforms a test on a specified goal (integer variable). Forwards message to links only if test passes.On Response Perform test and forward message if passed.
Off Response None
Parameters
|
|
Environment_GatePerforms a test on the environment of the game. Forwards message to links only if test passes.On Response Perform test and forward message if passed.
Off Response None
Parameters
|
AF_General
|
Clone_EntityCreates a clone of the linked entity with the same properties and settings as its source.On Response Create a clone at the event's position.
Off Response None
Parameters
No additional parameters. |
|
Set_Player_World_CollideControl whether the player collides with level geometry.On Response Collision = true (default)
Off Response Collision = false
Parameters
No additional parameters. |
|
Set_Level_HardnessSet the hardness for the loaded level (size of geo craters).On Response Set hardness to the specified value.
Off Response None
Parameters
|
|
Set_DifficultySet the difficulty level of the game.On Response Set difficulty to the specified value.
Off Response None
Parameters
|
|
Set_SkyboxSet the room to project as skybox.On Response Set skybox information as configured.
Off Response None
Parameters
|
|
HUD_MessageDisplay a green HUD message in the bottom middle of the screen (like the helper text when you pick up items).On Response Display the HUD message for the configured duration.
Off Response None
Parameters
|
|
Play_VideoPlay a .bik format video.On Response Play the video specified.
Off Response None
Parameters
|
AF_Utility
|
SetVarReconfigure a variable on linked events. Only supports new Alpine Faction events. Supports "delay" (float) as a variable name to set event delay. Other variable names are as indicated on this page. Specify the name of the variable to be set in the script name for SetVar using this scripe name format: "SetVar_VARNAME" where "VARNAME" is the variable name.On Response Set var_name to var_value on all linked events.
Off Response None
Parameters
|
|
Remove_LinkUsed to remove links. If "remove_all" is turned off (default), removes links between objects this event is linked to. If "remove_all" is turned on, remove all links between every object this event is linked to and any other objects.On Response Remove links.
Off Response None
Parameters
|
|
Goal_MathUsed to perform math operations on goals (integer variables). Applies the operation to any level (non-persistent) goals, as well as any persistent goals that are loaded.On Response Apply the operation.
Off Response None
Parameters
|
|
Clear_QueuedClears queued message (if any) on all linked events. Queued messages are messages that are queued per a configured delay value on that event.On Response Clear queued messages.
Off Response None
Parameters
No additional parameters. |
|
Add_LinkAdds links from the first link in the link array to each other link in the array. Link array is ordered based on the order in which you linked this event to other objects.On Response Add links.
Off Response None
Parameters
No additional parameters. |
|
Anchor_MarkerUsed 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 RegionsOn Response None
Off Response None
Parameters
No additional parameters. |