<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.redfactionwiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Goober</id>
	<title>Red Faction Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.redfactionwiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Goober"/>
	<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/wiki/Special:Contributions/Goober"/>
	<updated>2026-09-17T12:17:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Multiplayer_Guide&amp;diff=15198</id>
		<title>Red Faction Multiplayer Guide</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Multiplayer_Guide&amp;diff=15198"/>
		<updated>2026-09-04T18:13:43Z</updated>

		<summary type="html">&lt;p&gt;Goober: update for af 1.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1}}{{Banner||caption_override=While much of the information in this article will carry over to PlayStation 2 multiplayer, the focus is PC. This is because PlayStation 2 multiplayer is limited to botmatch and 2-player splitscreen (no online), only offers Deathmatch, and contains very few maps compared to the PC version.|title_override=This article focuses specifically on PC multiplayer.}}&lt;br /&gt;
[[Red Faction]]'s multiplayer at its core is a competitive Arena FPS. It differs in a few fundamental ways from most other Arena FPS titles - notably the armor system, movement mechanics, and of course the presence of [[GeoMod]] technology. This article will cover the main aspects of RF's multiplayer component, including the vast degree of innovation the community has shown since the game's original release in 2001.&lt;br /&gt;
&lt;br /&gt;
==Game Modes==&lt;br /&gt;
Red Faction stock features three distinct game modes:&lt;br /&gt;
&lt;br /&gt;
*'''Deathmatch (DM)''' - This mode pits every player against one another, with the goal of achieving the highest score by the end of the game. Each kill adds one point to an individual player's score, and each suicide subtracts one. Winner is determined by highest score, when either the kill or time limit is reached.&lt;br /&gt;
*'''Team Deathmatch (TDM or TeamDM)''' - This mode pits two teams against each other in an arena, with the goal of scoring the highest number of points before the game ends. Player kills are counted towards their team's score. The winning team is determined by highest score when either the kill or time limit is reached.&lt;br /&gt;
*'''Capture the Flag (CTF)''' - This mode pits two teams against each other in an arena, with the goal of achieving the highest score before the game ends. Team and player scores are tracked individually, but only team score decides the result of the game. Teams score by &amp;quot;stealing&amp;quot; their enemy team's flag from their flag stand, and &amp;quot;capturing&amp;quot; it by bringing it back to their own. Each flag capture adds one point to a team's score. The winning team is determined by the highest score, when either the capture or time limit is reached at the end of the game. Players are able to acquire points for their individual score via kills, flag captures, and returns.&lt;br /&gt;
&lt;br /&gt;
===Alpine Faction Game Modes===&lt;br /&gt;
Servers running [[RF Clients#Alpine Faction|Alpine Faction]] can host a number of additional game modes beyond the stock three. Five were added in Alpine Faction 1.2, and six more in Alpine Faction 1.4. The score, capture, round, and time limits given below are the usual defaults - every server configures its own, so expect them to vary.&lt;br /&gt;
&lt;br /&gt;
*'''King of the Hill (KOTH)''' - A team mode fought over a single &amp;quot;hill&amp;quot; (capture zone). Standing inside the hill builds capture progress for your team, and progress builds faster with more teammates on the point; if players from both teams are inside, the hill is contested and progress freezes. An empty hill slowly loses progress, and if the enemy owns the point their claim must be worn down before yours can begin. While your team owns the hill and holds it uncontested it earns one point per second, and players standing on the point when it flips receive bonus personal score. Kills contribute nothing to the team score, and control of the hill also shifts which spawn points each team uses. The first team to the score limit (usually 100) wins, otherwise the higher score when the time limit expires.&lt;br /&gt;
*'''Damage Control (DC)''' - Uses the same capture mechanics as King of the Hill, but the map has several control points instead of one - typically three. Each point your team owns and holds uncontested earns one point per second, so holding more points scores proportionally faster and the game becomes a contest of splitting your team between objectives. Kills do not add to the team score. The first team to the score limit (usually 300) wins, otherwise the higher score when the time limit expires.&lt;br /&gt;
*'''Revolt (REV)''' - An asymmetric attack and defend mode: red attacks, blue defends. Capture points are grouped into stages that unlock in order, and red may only capture points in the stage that is currently open. Any point red captures is permanently locked and can never be retaken - blue cannot capture anything, and can only stand on a point being taken to drain red's progress. Red's spawn points advance as stages fall. Red wins by capturing every point on the map before time runs out; blue wins simply by holding out until the time limit expires.&lt;br /&gt;
*'''Escalation (ESC)''' - A symmetric tug-of-war along a lane of either three or five points: each team's base, optionally a forward point, and a neutral center. Each team may only attack the next point along its path, so in a five point map, the center must be taken before the enemy forward point, which must be taken before the enemy base - and points that neither team can currently attack are locked. Team spawn points track the front line as it shifts. A team wins outright by owning every point; if the time limit expires first, the team owning more points wins.&lt;br /&gt;
*'''Run (RUN)''' - A dedicated non-combat mode, effectively the &amp;quot;Deathrun&amp;quot; style of map promoted to a real game type. This game type places players in a map where the goal is for them to run through a course of obstacles without dying. Players cannot damage or collide with one another at all. A per-life run timer is displayed and resets whenever you respawn or kill yourself, and position save/load is enabled so you can practice a difficult section without restarting the course each time. The scoreboard tracks deaths and position loads rather than frags. There is no win condition - the map simply runs until the time limit expires.&lt;br /&gt;
*'''Bagman (BAG)''' - A free-for-all fought over a single &amp;quot;bag&amp;quot; that spawns at a fixed spot in the map; walk over it to pick it up. While you carry the bag you earn one point per second and slowly regenerate health and armor, which makes the carrier the target of everyone else in the game. The bag and whoever is carrying it are outlined through walls and glow green for ''everyone'' regardless of team, so there is nowhere to hide with it. Killing the carrier rewards the killer with a chunk of effective health and drops the bag where the carrier fell, and a dropped bag returns to its home spot after several seconds if nobody claims it. The first player to the score limit (usually 150) wins, otherwise the highest score when the time limit expires.&lt;br /&gt;
*'''Team Bagman (TBAG)''' - The same bag rules as Bagman, played by two teams. While one of your teammates carries the bag, your whole team earns a point per second, so the game becomes escorting your own carrier while hunting the enemy's. Carrier health regeneration and the reward for killing a carrier work as they do in Bagman. The first team to the score limit (usually 300) wins, otherwise the higher team score when the time limit expires.&lt;br /&gt;
*'''Pit (PIT)''' - A round-based 1v1 duel game type. Exactly two players fight at a time while everyone else waits as spectators in a queue; you are placed in the queue automatically when you connect and on each new map, and the Ready key toggles whether you are in it. Duelers spawn with 200 health and 200 armor holding a [[Control Baton]] and an [[Assault Rifle]] with unlimited magazines, and the arena keeps only weapon pickups - ammo, health, armor, and powerups are all hidden. Winning a duel scores a point and keeps you in the arena as the champion while the loser drops to the back of the queue and the next challenger steps up from the front; if the round timer expires (usually one minute) or both duelers die at the same instant, nobody scores and both go to the back of the queue. The first player to the duel-win limit (usually 10) wins the match.&lt;br /&gt;
*'''Wipeout (WO)''' - Round-based team elimination, played as a best-of-seven. Everyone spawns with 200 health, 200 armor, and a fixed five-weapon loadout - [[12mm Pistol|Pistol]], [[Assault Rifle]], [[Sniper Rifle]], [[Rocket Launcher]], and [[Shotgun]] - with unlimited ammo, and the arena contains no item pickups. Unlike a last-man-standing mode you ''can'' respawn after dying, but every death makes your next respawn slower (five seconds, then ten, then fifteen, and so on), resetting at the start of each round. A team wins the round by wiping out the enemy team - every enemy dead at the same moment. The first team to four round wins takes the match.&lt;br /&gt;
*'''Gun Game (GG)''' - A free-for-all weapon-progression race. Every frag advances you to the next weapon in the ladder, and the match is won by scoring a frag with the final weapon, the [[Control Baton]]. The ladder is built from four tiers of weapons and each player receives their own random shuffle within each tier, so no two players climb it in the same order. You cannot pick up or manually switch weapons, weapons never drop, ammo is unlimited, and the map has no item pickups at all; instead each kill grants bonus effective health. Reaching a new weapon and getting a frag with it on the same life earns a random powerup as a rampage reward. The first player to get a kill with the final weapon, the [[Control Baton]], wins.&lt;br /&gt;
*'''Salvage (SAL)''' - A team mode played on Capture the Flag maps, but with a single neutral flag that appears in the middle of the map a short while after the level begins. Any player from either team can pick it up. You score by carrying it back to '''your own''' team's base after which it respawns at the center. Killing the carrier drops the flag where they died and either team can then pick it up. A dropped flag only returns to the center once its return timer expires. The flag and whoever is carrying it are outlined through walls and glow green for ''everyone'' regardless of team, so there is nowhere to hide with it. The first team to the capture limit (usually 5) wins, otherwise the most captures when the time limit expires.&lt;br /&gt;
&lt;br /&gt;
==Mutators==&lt;br /&gt;
Mutators are gameplay modifiers introduced in Alpine Faction 1.4. They are configured by the server and players can also select them as part of a Level or Match vote. A successful vote '''replaces''' the server's active mutator set rather than adding to it, and the Rotation vote can optionally carry the current game type and mutators onto the next level. Any number of mutators can be active at once, and a mutator that does not apply to the current game type is simply ignored.&lt;br /&gt;
&lt;br /&gt;
Some mutators change gameplay in ways that need an [[RF Clients#Alpine Faction|Alpine Faction]] 1.4 or newer client and are marked below; the rest are enforced entirely by the server and work for everyone, including legacy clients.&lt;br /&gt;
&lt;br /&gt;
===Combat and Loadout===&lt;br /&gt;
*'''Instagib''' - You spawn holding only the [[Rail Driver]], with unlimited ammo, no reloads, and no weapon switching. Every hit is a kill, and all level pickups are hidden. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''One Weapon''' - The server picks one featured weapon (the [[Rail Driver]] by default) and every weapon and ammo pickup in the level is swapped to it; you spawn with only the Baton and no other pickups exist. The featured weapon is chosen by whoever calls the vote, and a further option can leave [[Remote Charge]] and [[Grenade]] pickups untouched. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Arena''' - You spawn at 100 health and 100 armor with an [[Assault Rifle]]. Every frag instantly restores you to full and refills your magazine with no reload pause, magazines are unlimited, and only weapon pickups remain in the level. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Vampire''' - Damage you deal to enemies heals you for half that amount, spread across health and armor up to the normal maximums. Self-damage and team damage heal nothing. Options can remove health and armor pickups from the level and switch the drain to full lifesteal, healing for the whole amount of damage dealt.&lt;br /&gt;
*'''Critical Hits''' - Shots can randomly land as critical hits, dealing triple damage with their own sound and visual effect (explosives also gain a larger blast radius and crater). Crit chance ramps up the more damage you have dealt in the last twenty seconds, and melee attacks crit far more often than ranged ones. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Super Drain''' - Health and armor above the normal maximum of 100 drain away at one point per second each until they reach 100. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Armored''' - Players spawn with 100 armor instead of the stock zero.&lt;br /&gt;
*'''Super Rail''' - [[Rail Driver]] pickups behave like super items: the pickup is excluded from weapon stay, and it respawns on a 60 second timer.&lt;br /&gt;
*'''Big Craters''' - Doubles the radius of [[GeoMod]] craters produced by explosions, so the map deforms far more aggressively.&lt;br /&gt;
*'''Flaming Enemies''' - Sustained [[Flame Thrower]] damage sets enemies on fire, burning them over time. The burn ends shortly after the last flamethrower hit, or immediately if the victim enters water, takes a sizeable explosive hit or any melee hit, or picks up a health kit. Teammates cannot be ignited. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Gibbing''' - A killing blow from a large amount of explosive damage chunks the victim into gibs instead of leaving a corpse.&lt;br /&gt;
*'''Delayed Supers''' - Super Health, Super Armour, Invulnerability, the Damage Amplifier and the [[Fusion Rocket Launcher]] start each level hidden and only appear once their normal respawn time has elapsed.&lt;br /&gt;
&lt;br /&gt;
===Movement===&lt;br /&gt;
*'''Jetpacks''' - Every player wears a jetpack; hold Jump while airborne to thrust upward. Fuel is good for roughly five seconds of continuous burn and refills over about seven and a half seconds after a short pause, with a fuel gauge shown on the HUD. Running the tank dry locks the pack until it has partly refilled. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Low Gravity''' - Gravity is reduced to roughly a fifth of normal for both players and projectiles. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Skiing''' - Hold Crouch to ski: friction nearly disappears, you accelerate down slopes, and steering carves your velocity so turns preserve your speed. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Dodging''' - Double-tap a movement key, or press Jump while crouched and holding a direction, to burst-dodge that way at over twice your run speed with a small hop. There is a short cooldown between dodges. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
*'''Pogo''' - Holding Jump automatically re-jumps the instant you land, allowing continuous jumping without timing the key. ''Requires Alpine Faction 1.4+.''&lt;br /&gt;
&lt;br /&gt;
===Team and Match Rules===&lt;br /&gt;
*'''Humans vs. Bots''' - Forces all bots onto the blue team and all human players onto the red team. Team game types only.&lt;br /&gt;
*'''Weird Gun Game''' - Replaces the Gun Game weapon ladder with exotic and creature weapons - jeep gun, snake spit, torpedo, sonar attack, lasers and the like - and makes the [[Riot Shield]] the final weapon instead of the Baton. Gun Game only.&lt;br /&gt;
*'''Score Limit Override''' - Sets the score limit for the game type being played instead of using the server's own, with the number chosen by whoever configures the mutator. Only applies to game types that have a numeric score limit.&lt;br /&gt;
*'''Ideal Player Count Override''' - Changes the player count the server advertises as its target size, which affects how bots backfill.&lt;br /&gt;
&lt;br /&gt;
==Maps==&lt;br /&gt;
Red Faction (PC) multiplayer may be played on one of the [[Multiplayer_Maps#Red_Faction| 27 default maps]], or any one of the several thousand custom maps that have made made throughout the years using the [[RED|Red Faction Level Editor]].&lt;br /&gt;
&lt;br /&gt;
To find and install custom multiplayer maps, see the [[Installing_Custom_Levels_(RF1)|Guide on Installing Custom Levels]].&lt;br /&gt;
&lt;br /&gt;
==Multiplayer Gameplay==&lt;br /&gt;
&lt;br /&gt;
Red Faction's online multiplayer has significantly different gameplay mechanics in comparison to the singleplayer campaign. Some noteworthy changes are:&lt;br /&gt;
&lt;br /&gt;
* Player movement speed and acceleration is greatly increased. &lt;br /&gt;
* The [[Rocket Launcher]], [[Submachine Gun]] and [[12mm Pistol|Pistol]]'s alternative fire modes are disabled.&lt;br /&gt;
** The [[Submachine Gun]]'s pickup does, however, award the player a single magazine of 5.56 ammo used by the [[Assault Rifle]].&lt;br /&gt;
* With exceptions for the [[Rocket Launcher]], [[Fusion Rocket Launcher]], [[Remote Charge]] and [[Grenade]], weapons do not utilize any kind of ballistics in multiplayer. Bullet spread mechanics are retained from singleplayer, but substantially reduced to the point where most weapons are at least accurate to slightly beyond mid range.&lt;br /&gt;
* The [[Flame Thrower]] cannot ignite enemies or cause them to catch on fire. The exception is an [[RF Clients#Alpine Faction|Alpine Faction]] server running the '''Flaming Enemies''' mutator, which restores burning.&lt;br /&gt;
&lt;br /&gt;
==Characters==&lt;br /&gt;
There are 20 playable characters in Red Faction PC multiplayer. See [[Multiplayer_Characters#Red_Faction|Red Faction Multiplayer Characters]] for a full list.&lt;br /&gt;
* Characters have slightly different characteristics. Player view height, collision size, animations, and hitboxes vary between characters. Some characters are considered to be generally advantageous. These characters are:&lt;br /&gt;
**[[Ultor_Security_Guards#Elite_Guard|Elite Guard]], [[Ultor_Security_Guards#Riot_Guard|Riot Guard]], [[Ultor_Security_Guards#Ultor_Commander|Ultor Commander]], [[Ultor_Security_Guards#Envirosuit_Guard|Enviro Guard]] and [[Masako]].&lt;br /&gt;
&lt;br /&gt;
==Movement Physics==&lt;br /&gt;
* Red Faction features symmetric player movement in all directions.&lt;br /&gt;
* Player movement is affected by a minor acceleration curve that brings the player up to a capped speed while running, and decelerates the player when switching directions or releasing input to standstill.&lt;br /&gt;
** The rate of acceleration/deceleration is dependent upon the traction value associated with the [[RF1 Materials|material]] type of the surface the player is on. For example, the rate is doubled for water surfaces and roughly halved for sand.&lt;br /&gt;
* Crouching slightly reduces the player's maximum run speed.&lt;br /&gt;
* In contrast to many other Arena FPS games, there is currently no known ''&amp;quot;movement tech&amp;quot;'' or way to otherwise significantly influence player speed, velocity, and so on through client inputs.&lt;br /&gt;
** This applies to the stock game. [[RF Clients#Alpine Faction|Alpine Faction]] servers can enable the '''Jetpacks''', '''Low Gravity''', '''Skiing''', '''Dodging''' and '''Pogo''' mutators, each of which adds movement mechanics that are not otherwise present.&lt;br /&gt;
&lt;br /&gt;
==Health and Armor==&lt;br /&gt;
* Weapon damage is adjusted by static multipliers assigned to specific regions of the body. Hits to the torso deal the standard amount of damage, while hits to the arms and legs deal half. Headshots deal two times as much damage per hit.&lt;br /&gt;
* Armor absorbs damage received before health. If the damage received exceeds what the amount of armor equipped is capable of absorbing, the remaining damage will be taken from the player's health. &lt;br /&gt;
* Armor absorbs twice as much damage as health. Put another way, one point of armor is equivalent to two points of health. It may help to consider your combined health and armor as &amp;quot;effective health&amp;quot; - meaning if you're at 100 health and 100 armor (normally written as 100/100), you have 300 effective health. Some examples are listed below.&lt;br /&gt;
** '''Example 1:''' You have 100/100 and take 150 damage. Because armor counts for twice as much as health, you will lose 75 armor, and end up at 100/25.&lt;br /&gt;
** '''Example 2:''' You have 100/10 and take 100 damage. Your armor will soak up 20 out of the 100 damage since armor counts for twice as much as health. This leaves 80 additional damage, which is taken from your health. You will end up at 20/0.&lt;br /&gt;
** '''Example 3:''' You have 100/100 and take 275 damage. Your armor will soak up 200 out of the 275 damage since armor counts for twice as much as health. This leaves 75 additional damage, which is taken from your health. You will end up at 25/0.&lt;br /&gt;
&lt;br /&gt;
==Pickups and Powerups==&lt;br /&gt;
&lt;br /&gt;
'''Health'''&lt;br /&gt;
*'''First Aid Kit''': Heals 25 (max 100)&lt;br /&gt;
*'''Medical Kit''': Heals 50 (max 100)&lt;br /&gt;
*'''Super Health''': Heals 200 (max 200)&lt;br /&gt;
'''Armour'''&lt;br /&gt;
*'''Suit Repair''': Adds 50 (max 100)&lt;br /&gt;
*'''Miner Envirosuit''': Adds 100 (max 100)&lt;br /&gt;
*'''Super Armour''': Adds 200 (max 200)&lt;br /&gt;
'''Powerups'''&lt;br /&gt;
*'''Damage Amplifier''': Multiply all weapon damage by 4; lasts for 30 seconds&lt;br /&gt;
*'''Invulnerability''': Ignore all damage that would be dealt by other players; lasts for 15 seconds&lt;br /&gt;
&amp;lt;!---{{Items in Red Faction}}---&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Item Respawn Times==&lt;br /&gt;
* '''Damage Amplifier''': 90 seconds&lt;br /&gt;
* '''Super Health''', '''Super Armor''', [[Fusion Rocket Launcher]]: 60 seconds&lt;br /&gt;
* '''Invulnerability''': 45 seconds&lt;br /&gt;
* '''Everything else''': 20 seconds&lt;br /&gt;
** '''NOTE:''' Level designers do have the option to set different respawn times for items in their map - though most level designers just leave the default values.&lt;br /&gt;
&lt;br /&gt;
==Weapons==&lt;br /&gt;
&lt;br /&gt;
Red Faction's multiplayer features all fifteen of the weapons from singleplayer, albeit with some changes to their mechanics. Here are a few things to note:&lt;br /&gt;
&lt;br /&gt;
* The [[Flame Thrower]] and [[Riot Shield]] are not particularly effective weapons in most circumstances.&lt;br /&gt;
* The [[Remote Charge]], [[Grenade]], and [[Rocket Launcher]] have good utility and are strong in certain situations, but are generally ill-suited for direct combat.&lt;br /&gt;
* Many of the hitscan weapons overlap in terms of pure utility; most deal comparable comparable damage per second and are typically accurate. The most significant differences come down to magazine sizes, spread, and fire-rate. Generally speaking, a basic evaluation of their effectiveness can be made based on engagement distance. In order of most to least efficient by range:&lt;br /&gt;
** The [[Shotgun]], [[Heavy Machine Gun]], [[12mm Pistol|Pistol]] and [[Rocket Launcher]] for close range fights.&lt;br /&gt;
** The [[Assault Rifle]], [[Precision Rifle]], [[Heavy Machine Gun]], [[Submachine Gun]] and [[12mm Pistol|Pistol]] for mid range fights.&lt;br /&gt;
** The [[Rail Driver]], [[Sniper Rifle]], [[Precision Rifle]], and [[Heavy Machine Gun]] (alternate fire) for long range fights.&lt;br /&gt;
* Many of these weapons deal in excess of 300 damage per second, which means that even with full health and armor it is possible to die in under one second from well-aimed shots.&lt;br /&gt;
&lt;br /&gt;
Please see [[Red_Faction_Weapons| Red Faction Weapons]] for a comprehensive list of Red Faction's weapons.&lt;br /&gt;
&lt;br /&gt;
==Bullet Penetration &amp;amp; Spread==&lt;br /&gt;
* The [[Sniper Rifle]] and [[Precision Rifle]] become 100% accurate (spread does not apply) when the scope is engaged, regardless of the zoom level.&lt;br /&gt;
* The impact location of bullets on your screen '''does not''' indicate where the bullet landed for damage calculation purposes. If you hear a blood impact sound and see a blood particle emitter spawn, that '''does not''' necessarily mean the hit dealt damage to your opponent. This is because spread is calculated independently on the server and for each client, but only the server's perspective matters for damage calculation purposes.&lt;br /&gt;
** In contrast to other Arena FPS games where edge tracking can be advantageous, it's best to aim as close to the center of the enemy player's model to reduce the occurrence of arm or leg hits. Additionally, spread will sometimes cause perfectly aimed shots to either miss or hit an unintended location, such as the arms, legs, or even the head. This can make it very difficult for players to estimate how much damage they've dealt in an encounter.&lt;br /&gt;
* You can shoot through any grating with bullet weapons in multiplayer with 100% penetration. Even if you see and hear the bullet hit a &amp;quot;solid&amp;quot; looking part of a grating texture, that bullet still went through the grating and dealt damage.&lt;br /&gt;
* Bullet ricochets do not deal any damage in multiplayer. Even if you see and hear the bullet ricochet, ricocheted shots do not deal damage to players.&lt;br /&gt;
&lt;br /&gt;
==Lag Compensation and Hit Detection==&lt;br /&gt;
* Red Faction's network protocol utilizes client-side interpolation to smooth player movements visually and server-authoritative backwards reconciliation for hit detection with hitscan weapons. As a result, there is no need for a player to ''lead'' shots or otherwise adjust for their ping when aiming. Historically, this was a major boon for the game, as it is relatively playable on a variety of connection speeds, even down to 56k.&lt;br /&gt;
**Some consequences of this approach is that it can result in some visual discrepancies for players, most of which become increasingly apparent with high ping (over 100ms). Two commonly experienced issues are: continuing to receive damage or dying after diving into cover and kills being delayed by a half second or more. Both issues as perceived by the player are simply the result of the reconciliation of the skew between the client and server's perspective.&lt;br /&gt;
* Projectile based weapons '''''do not''''' have lag-compensated hit detection. In general, players '''''do''''' need to lead with these weapons in accordance with their ping. While most of these weapons have a substantial range for inflicting splash damage, the amount of damage inflicted falls off sharply from the center of the blast. Additionally, for players with high ping (over 100ms), direct or near hits from the client's perspective against a moving enemy will almost always be either misses or near-misses from the server's perspective. Lastly, it's worth mentioning that with all pings it is possible, if not likely, for direct hits against moving enemies to deal zero damage to enemies due to the projectile missing the enemy entirely on the server's perspective. Even on LAN, it is extremely common for there to be a substantial discrepancy in the position of moving players between the client's perspective and the server's. Ultimately, the server's perspective is authoritative when determining whether or not a hit has occurred, and it is therefore wise for players to prioritize splash damage over direct hits against moving enemies.    &lt;br /&gt;
* Red Faction's hitboxes are simply 3D rectangles encapsulating the player model and therefore have a number of known flaws. Notably, the feet of most player models will not register hits. Crouched enemies that are moving will often fail to register headshots. As a result, with hitscan weapons, it's generally advised to aim at the upper torso/neck line for standing enemies, and center mass for crouched enemies.&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
* In the stock game, other players' footsteps are only audible when they have the pistol equipped - only the pistol animations carry footstep triggers. Against stock clients and servers, therefore, switching to any weapon other than the pistol lets you move silently.&lt;br /&gt;
** [[RF Clients#Alpine Faction|Alpine Faction]] 1.3 fixed this, supplying the missing triggers so that enemy and teammate footsteps are audible for every weapon. It is a client-side audio fix: you hear full footsteps if ''your'' client has footsteps enabled. Whether other players hear ''you'' depends on their own client and the server, not on anything you set.&lt;br /&gt;
** Landing sounds produced by falling onto surfaces of any kind do always emit, however.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction Enhancements==&lt;br /&gt;
Beyond game types, mutators, and voting, [[RF Clients#Alpine Faction|Alpine Faction]] adds a number of multiplayer features worth knowing about:&lt;br /&gt;
&lt;br /&gt;
* '''Match mode''' - servers can run organised matches in which every player must ready up with the Ready For Match control (F3 by default) before the match begins.&lt;br /&gt;
* '''Spectate mode''' - follow any player in first or third person, or detach into a free camera.&lt;br /&gt;
* '''Demos''' (1.4) - dedicated servers record games server-side, and demos can be played back in-game with pause, seek, and timescale controls, or browsed from the Extras -&amp;gt; Demos menu.&lt;br /&gt;
* '''Statistics and awards''' (1.4) - servers can report gameplay to FactionFiles, attributing your stats to your linked FactionFiles account.&lt;br /&gt;
* '''Sprays''' (1.4) - tag walls with a personal image using the bindable Spray control, if the server permits it.&lt;br /&gt;
* '''Location pinging''' - call out a spot in the world to your team in team-based game modes.&lt;br /&gt;
* '''Hit sounds and damage numbers''' - audible confirmation of hits and on-screen damage values.&lt;br /&gt;
* '''Player outlines''' - see players highlighted through the world, when the server allows it.&lt;br /&gt;
* '''Multiplayer bots''' (1.3) - servers can fill out a game with bots, with waypoint support for custom maps.&lt;br /&gt;
* '''Map autodownloading''' - custom maps you do not have are downloaded automatically in-game when you join a server or a level changes.&lt;br /&gt;
&lt;br /&gt;
==Voting==&lt;br /&gt;
Alpine Faction 1.4 replaced the old chat-command voting system with an in-game vote panel. Which votes you can call is entirely up to the server.&lt;br /&gt;
&lt;br /&gt;
===The vote panel===&lt;br /&gt;
*Open the panel during gameplay with the bindable '''Call Vote Menu''' control, F4 by default. It is unavailable between levels and during demo playback. On a server older than Alpine Faction 1.4 the panel will tell you that menu voting is not supported, and on a server with all voting disabled it will say so.&lt;br /&gt;
*The panel has a row of tabs: '''Saved''' first, followed by one tab for each vote type the server has enabled, in the order '''Level''', '''Rotation''', '''Extend''', '''Match''', '''Cancel Match''' and '''Kick'''. Vote types the server has disabled do not appear at all.&lt;br /&gt;
**'''Level''' - pick a level from a scrollable, filterable list (or type a name manually for a map that is not listed), then optionally choose a '''game type''' and any number of '''mutators''' with their options. The game type pre-selects from the level you chose, the mutator set pre-loads from what the server is currently running, and buttons are provided to reset the game type and to restore the server's base or current mutators. Hovering a mutator shows a description of what it does.&lt;br /&gt;
**'''Rotation''' - a single tab covering the restart, next, previous and random map votes; pick which action you want. A '''Preserve current gametype and mutators''' checkbox (ticked by default, where the server supports it) carries the rules the session is currently playing onto the next level instead of reverting to the server's own.&lt;br /&gt;
**'''Extend''' - extend the current round by a chosen number of minutes, from 1 to 60, defaulting to 5.&lt;br /&gt;
**'''Match''' - set up a competitive match. Choose a team size from '''1v1''' up to '''8v8''' (4v4 by default) and a level, with the same game type and mutator selection as the Level tab; match game types are limited to team modes. A match vote is refused while another match is already queued or in progress.&lt;br /&gt;
**'''Cancel Match''' - cancel the match that is currently set up.&lt;br /&gt;
**'''Kick''' - pick a player from a list to kick. The list excludes you and any bots.&lt;br /&gt;
*The footer carries '''CALL VOTE''', '''CANCEL VOTE''' (only usable on a vote you started yourself), and '''SAVE'''.&lt;br /&gt;
&lt;br /&gt;
===Saved votes===&lt;br /&gt;
*Level, Match and Extend votes can be given a name and stored for later from the '''SAVE''' button, up to 200 of them.&lt;br /&gt;
*The '''Saved''' tab lists your stored votes with a preview pane showing the vote type, level, game type, team size, duration and every mutator with its option values. '''EDIT''' loads an entry back into the normal form for tweaking, and '''CALL VOTE''' calls it as-is.&lt;br /&gt;
*Saved votes are persisted in &amp;lt;nowiki&amp;gt;alpine_settings.ini&amp;lt;/nowiki&amp;gt; and follow you between servers. An entry that the current server cannot run - because the vote type, level, game type, mutator or one of its options is unavailable - is greyed out and lists the reasons why.&lt;br /&gt;
&lt;br /&gt;
===Casting a vote===&lt;br /&gt;
*Alpine Faction players vote with the bindable '''Vote Yes''' and '''Vote No''' controls, F1 and F2 by default.&lt;br /&gt;
*Players on other clients can vote using the &amp;lt;nowiki&amp;gt;/vote yes&amp;lt;/nowiki&amp;gt; and &amp;lt;nowiki&amp;gt;/vote no&amp;lt;/nowiki&amp;gt; chat commands, and are prompted in chat to do so.&lt;br /&gt;
*While a vote is running, a HUD notification shows the question, a live tally of yes and no votes, the time remaining, and whether you have already cast your vote.&lt;br /&gt;
&lt;br /&gt;
===Vote rules===&lt;br /&gt;
*Only one vote can be active at any given time, and votes cannot be called between levels.&lt;br /&gt;
*Unless customised by the server host, each vote lasts for 60 seconds.&lt;br /&gt;
*Only the player who called a vote can cancel it, and a vote is cancelled automatically if its caller leaves. A kick vote is cancelled if its target leaves.&lt;br /&gt;
*The caller's own YES is counted automatically, and you cannot vote twice. Server browsers, bots and idle players cannot vote at all.&lt;br /&gt;
*When a vote times out, players who did not vote are counted as NO by default, though a server can be configured to ignore non-voters instead. A timed-out vote can still pass.&lt;br /&gt;
*You cannot call a vote to kick yourself, and kick votes cannot target bots.&lt;br /&gt;
&lt;br /&gt;
===Legacy chat commands===&lt;br /&gt;
Alpine Faction 1.4 servers still accept a reduced set of chat vote commands. Chat-called votes take no game type, mutator or preserve options.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/vote yes &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Vote yes on the active question. &amp;lt;nowiki&amp;gt;/vote y&amp;lt;/nowiki&amp;gt; also works.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/vote no &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Vote no on the active question. &amp;lt;nowiki&amp;gt;/vote n&amp;lt;/nowiki&amp;gt; also works.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/vote level &amp;lt;map name&amp;gt; &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Start a vote to change immediately to the named map. (maps must be named by their [[.rfl]] filename) &amp;lt;nowiki&amp;gt;/vote map&amp;lt;/nowiki&amp;gt; also works.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/vote next &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Start a vote to change to the next map in the server's rotation.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/vote previous &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Start a vote to change to the previous map in the server's rotation. &amp;lt;nowiki&amp;gt;/vote prev&amp;lt;/nowiki&amp;gt; also works.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/vote restart &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Start a vote to restart the current map. &amp;lt;nowiki&amp;gt;/vote rest&amp;lt;/nowiki&amp;gt; also works.&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/vote extend &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Start a vote to extend the current map by the default 5 minutes. &amp;lt;nowiki&amp;gt;/vote ext&amp;lt;/nowiki&amp;gt; also works.&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15197</id>
		<title>Linking an Alpine Faction Server to FactionFiles for Statistics Tracking</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15197"/>
		<updated>2026-08-28T18:29:44Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Step 2: (Optional) Automatically record and send demos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through linking your '''Red Faction 1''' [https://alpinefaction.com Alpine Faction] v1.4+ dedicated server to FactionFiles for full statistics tracking.&lt;br /&gt;
&amp;lt;!--- '''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see:&lt;br /&gt;
*[[Setting up an Alpine Faction Dedicated Server (RF1)]] ---&amp;gt;&lt;br /&gt;
==What is a Game Server Key (GSK)?==&lt;br /&gt;
* Each dedicated server links to FactionFiles via a '''Game Server Key'''. Once this link is established, game statistics from the server are automatically sent to FactionFiles.&lt;br /&gt;
* A GSK is, in effect, a password for your server.&lt;br /&gt;
* A new GSK means a new tracked server (from FactionFiles' perspective). You should make a new GSK whenever you create a net new server.&lt;br /&gt;
* You should NOT make a new GSK every time you rename your server - GSKs identify unique servers, but it is ultimately up to you to determine what constitutes a &amp;quot;new&amp;quot; server.&lt;br /&gt;
**For example, &amp;quot;Awesomeman's 24/7 DM&amp;quot; gets a GSK. If Awesomeman renames the server to &amp;quot;Awesomeman's Pub Server&amp;quot;, it keeps the same GSK. However, when Awesomeman decides to start running a dedicated Gun Game server (&amp;quot;Awesomeman's Gun Game&amp;quot;), that gets its own GSK because it is, fundamentally, a different server.&lt;br /&gt;
&lt;br /&gt;
==What is a Demo?==&lt;br /&gt;
* A demo (also known in other games as a &amp;quot;replay&amp;quot;) is a saved file that contains a recording of all of the critical information about what happened during a game, so you can re-watch that game in your Alpine Faction client as it was originally played.&lt;br /&gt;
* Demos can be recorded either automatically or on-demand by any Alpine Faction v1.4+ dedicated server, and are saved to '''RedFaction/demos/''' on the system running the dedicated server.&lt;br /&gt;
* If an Alpine Faction v1.4+ that is linked to FactionFiles via a GSK is automatically recording demos, those demos can be automatically uploaded to FactionFiles and served for download via the statistics page for that game.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Get a GSK==&lt;br /&gt;
* Navigate to [https://factionfiles.com FactionFiles.com], login, and click your username in the top right corner to [https://www.factionfiles.com/ff.php?action=editprofile edit your profile].&lt;br /&gt;
* Scroll down to the '''Game Server Management''' section, and click [https://factionfiles.com Open game server management].&lt;br /&gt;
* Click [https://factionfiles.com Register a new server] in the top right corner.&lt;br /&gt;
* Give your server a name and optionally a note, then click '''Register server'''. Note that the name and note here are entirely for your own purposes in identifying your server - they are never displayed to the public, and you do not need to update them if you rename your server.`&lt;br /&gt;
* Under the '''Game Server Key''' column on the list of servers, click '''Copy''' under the masked GSK to copy your GSK to the clipboard.&lt;br /&gt;
** IMPORTANT: A GSK is, in effect, a password for your server. It is important that you keep it private.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Apply the GSK to your server==&lt;br /&gt;
Open your dedicated server's ADS config file (the one you pass to '''AlpineFactionLauncher.exe''' with '''-ads''').&lt;br /&gt;
&lt;br /&gt;
Add a '''fflink_gsk''' to the top-level (root) section, and provide your GSK in quotation marks - matching the format below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fflink_gsk = &amp;quot;76995e7e2f5f053f9a73e13925e952dc&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your ADS config file, then launch (or relaunch) your server. When your server starts, you should see series of log entries that look similar to the below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Requesting FactionFiles session key --&lt;br /&gt;
FactionFiles session established (server id 0).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you see this, your server is successfully linked to FactionFiles, and statistics tracking is active. You do not need to do anything or change anything the next time you start your server - it will just work without issue as long as that GSK in is your ADS config file. If you do NOT see the above, something is not working right. Check and verify that your GSK is provided in the format above, and if it still isn't working, drop by the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
==Step 2: (Optional) Automatically record and send demos==&lt;br /&gt;
In order to have demos from your server automatically recorded and sent to FactionFiles to be served on the statistics page for each game, add the following to the top-level (root) section of your ADS config file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo_auto_record = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This makes your server automatically record demos of each game played (and save them to '''RedFaction/demos/'''), and if you have a GSK configured, automatically upload them to FactionFiles.&lt;br /&gt;
&lt;br /&gt;
You should now see log entries that look like this when one map ends and another begins.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Level Initializing: dm01.rfl (DM) --&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
-- Level Initializing: dm19.rfl (DM) --&lt;br /&gt;
Demo recording stopped: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm19_20260824-200147.afd&lt;br /&gt;
Uploading demo dm01_20260824-200146.afd to FactionFiles...&lt;br /&gt;
Demo dm01_20260824-200146.afd uploaded (game 1352e6871dbb156f)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you forcefully close your server in the middle of a game, the demo for that game will not be uploaded to FactionFiles. If you want to ensure a given demo is uploaded to FactionFiles before you close your server, wait until you see the log entry that says it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Demos from most servers are retained and accessible for 90 days after being uploaded. Demos from match mode servers are retained indefinitely. If you are running a match server, please contact us via Discord so that your server can be flagged for indefinite demo retention.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some other '''completely optional''' settings that you can configure with regard to demos and their automatic uploading if you wish. Those settings are listed below for reference, with comments indicating what they do. The values shown below are the default values, which are used if you do not explicitly change them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Should in-game chat be included in recorded demos? Default: true&lt;br /&gt;
demo_chat_record = true&lt;br /&gt;
&lt;br /&gt;
# Should automatically recorded demos be automatically uploaded to FactionFiles, if a GSK is configured for this server? Default: true&lt;br /&gt;
fflink_demo_upload = true&lt;br /&gt;
&lt;br /&gt;
# What is the maximum file size of a demo that your server will send to FactionFiles? Default: 100MB&lt;br /&gt;
fflink_demo_max_mb = 100&lt;br /&gt;
&lt;br /&gt;
# How many demos can possibly be queued for sending to FactionFiles simultaneously? Default: 32&lt;br /&gt;
fflink_demo_queue_max = 32&lt;br /&gt;
&lt;br /&gt;
# Should demos that are sent to FactionFiles automatically be deleted from the RedFaction/demos/ directory on the server after being sent? Default: false&lt;br /&gt;
fflink_demo_delete_after_send = false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues setting up headless bots, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15196</id>
		<title>Linking an Alpine Faction Server to FactionFiles for Statistics Tracking</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15196"/>
		<updated>2026-08-26T11:14:04Z</updated>

		<summary type="html">&lt;p&gt;Goober: Protected &amp;quot;Linking an Alpine Faction Server to FactionFiles for Statistics Tracking&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through linking your '''Red Faction 1''' [https://alpinefaction.com Alpine Faction] v1.4+ dedicated server to FactionFiles for full statistics tracking.&lt;br /&gt;
&amp;lt;!--- '''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see:&lt;br /&gt;
*[[Setting up an Alpine Faction Dedicated Server (RF1)]] ---&amp;gt;&lt;br /&gt;
==What is a Game Server Key (GSK)?==&lt;br /&gt;
* Each dedicated server links to FactionFiles via a '''Game Server Key'''. Once this link is established, game statistics from the server are automatically sent to FactionFiles.&lt;br /&gt;
* A GSK is, in effect, a password for your server.&lt;br /&gt;
* A new GSK means a new tracked server (from FactionFiles' perspective). You should make a new GSK whenever you create a net new server.&lt;br /&gt;
* You should NOT make a new GSK every time you rename your server - GSKs identify unique servers, but it is ultimately up to you to determine what constitutes a &amp;quot;new&amp;quot; server.&lt;br /&gt;
**For example, &amp;quot;Awesomeman's 24/7 DM&amp;quot; gets a GSK. If Awesomeman renames the server to &amp;quot;Awesomeman's Pub Server&amp;quot;, it keeps the same GSK. However, when Awesomeman decides to start running a dedicated Gun Game server (&amp;quot;Awesomeman's Gun Game&amp;quot;), that gets its own GSK because it is, fundamentally, a different server.&lt;br /&gt;
&lt;br /&gt;
==What is a Demo?==&lt;br /&gt;
* A demo (also known in other games as a &amp;quot;replay&amp;quot;) is a saved file that contains a recording of all of the critical information about what happened during a game, so you can re-watch that game in your Alpine Faction client as it was originally played.&lt;br /&gt;
* Demos can be recorded either automatically or on-demand by any Alpine Faction v1.4+ dedicated server, and are saved to '''RedFaction/demos/''' on the system running the dedicated server.&lt;br /&gt;
* If an Alpine Faction v1.4+ that is linked to FactionFiles via a GSK is automatically recording demos, those demos can be automatically uploaded to FactionFiles and served for download via the statistics page for that game.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Get a GSK==&lt;br /&gt;
* Navigate to [https://factionfiles.com FactionFiles.com], login, and click your username in the top right corner to [https://www.factionfiles.com/ff.php?action=editprofile edit your profile].&lt;br /&gt;
* Scroll down to the '''Game Server Management''' section, and click [https://factionfiles.com Open game server management].&lt;br /&gt;
* Click [https://factionfiles.com Register a new server] in the top right corner.&lt;br /&gt;
* Give your server a name and optionally a note, then click '''Register server'''. Note that the name and note here are entirely for your own purposes in identifying your server - they are never displayed to the public, and you do not need to update them if you rename your server.`&lt;br /&gt;
* Under the '''Game Server Key''' column on the list of servers, click '''Copy''' under the masked GSK to copy your GSK to the clipboard.&lt;br /&gt;
** IMPORTANT: A GSK is, in effect, a password for your server. It is important that you keep it private.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Apply the GSK to your server==&lt;br /&gt;
Open your dedicated server's ADS config file (the one you pass to '''AlpineFactionLauncher.exe''' with '''-ads''').&lt;br /&gt;
&lt;br /&gt;
Add a '''fflink_gsk''' to the top-level (root) section, and provide your GSK in quotation marks - matching the format below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fflink_gsk = &amp;quot;76995e7e2f5f053f9a73e13925e952dc&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your ADS config file, then launch (or relaunch) your server. When your server starts, you should see series of log entries that look similar to the below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Requesting FactionFiles session key --&lt;br /&gt;
FactionFiles session established (server id 0).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you see this, your server is successfully linked to FactionFiles, and statistics tracking is active. You do not need to do anything or change anything the next time you start your server - it will just work without issue as long as that GSK in is your ADS config file. If you do NOT see the above, something is not working right. Check and verify that your GSK is provided in the format above, and if it still isn't working, drop by the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
==Step 2: (Optional) Automatically record and send demos==&lt;br /&gt;
In order to have demos from your server automatically recorded and sent to FactionFiles to be served on the statistics page for each game, add the following to the top-level (root) section of your ADS config file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo_auto_record = true&lt;br /&gt;
fflink_demo_upload = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option makes your server automatically record demos of each game played (and save them to '''RedFaction/demos/'''). The second makes your server automatically upload recorded demos to FactionFiles.&lt;br /&gt;
&lt;br /&gt;
You should now see log entries that look like this when one map ends and another begins.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Level Initializing: dm01.rfl (DM) --&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
-- Level Initializing: dm19.rfl (DM) --&lt;br /&gt;
Demo recording stopped: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm19_20260824-200147.afd&lt;br /&gt;
Uploading demo dm01_20260824-200146.afd to FactionFiles...&lt;br /&gt;
Demo dm01_20260824-200146.afd uploaded (game 1352e6871dbb156f)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you forcefully close your server in the middle of a game, the demo for that game will not be uploaded to FactionFiles. If you want to ensure a given demo is uploaded to FactionFiles before you close your server, wait until you see the log entry that says it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Demos from most servers are retained and accessible for 90 days after being uploaded. Demos from match mode servers are retained indefinitely. If you are running a match server, please contact us via Discord so that your server can be flagged for indefinite demo retention.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some other '''completely optional''' settings that you can configure with regard to demos and their automatic uploading if you wish. Those settings are listed below for reference, with comments indicating what they do. The values shown below are the default values, which are used if you do not explicitly change them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Should in-game chat be included in recorded demos? Default: true&lt;br /&gt;
demo_chat_record = true&lt;br /&gt;
&lt;br /&gt;
# What is the maximum file size of a demo that your server will send to FactionFiles? Default: 100MB&lt;br /&gt;
fflink_demo_max_mb = 100&lt;br /&gt;
&lt;br /&gt;
# How many demos can possibly be queued for sending to FactionFiles simultaneously? Default: 32&lt;br /&gt;
fflink_demo_queue_max = 32&lt;br /&gt;
&lt;br /&gt;
# Should demos that are sent to FactionFiles automatically be deleted from the RedFaction/demos/ directory on the server after being sent? Default: false&lt;br /&gt;
fflink_demo_delete_after_send = false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues setting up headless bots, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15195</id>
		<title>Linking an Alpine Faction Server to FactionFiles for Statistics Tracking</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15195"/>
		<updated>2026-08-26T03:09:33Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Step 2: (Optional) Automatically record and send demos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through linking your '''Red Faction 1''' [https://alpinefaction.com Alpine Faction] v1.4+ dedicated server to FactionFiles for full statistics tracking.&lt;br /&gt;
&amp;lt;!--- '''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see:&lt;br /&gt;
*[[Setting up an Alpine Faction Dedicated Server (RF1)]] ---&amp;gt;&lt;br /&gt;
==What is a Game Server Key (GSK)?==&lt;br /&gt;
* Each dedicated server links to FactionFiles via a '''Game Server Key'''. Once this link is established, game statistics from the server are automatically sent to FactionFiles.&lt;br /&gt;
* A GSK is, in effect, a password for your server.&lt;br /&gt;
* A new GSK means a new tracked server (from FactionFiles' perspective). You should make a new GSK whenever you create a net new server.&lt;br /&gt;
* You should NOT make a new GSK every time you rename your server - GSKs identify unique servers, but it is ultimately up to you to determine what constitutes a &amp;quot;new&amp;quot; server.&lt;br /&gt;
**For example, &amp;quot;Awesomeman's 24/7 DM&amp;quot; gets a GSK. If Awesomeman renames the server to &amp;quot;Awesomeman's Pub Server&amp;quot;, it keeps the same GSK. However, when Awesomeman decides to start running a dedicated Gun Game server (&amp;quot;Awesomeman's Gun Game&amp;quot;), that gets its own GSK because it is, fundamentally, a different server.&lt;br /&gt;
&lt;br /&gt;
==What is a Demo?==&lt;br /&gt;
* A demo (also known in other games as a &amp;quot;replay&amp;quot;) is a saved file that contains a recording of all of the critical information about what happened during a game, so you can re-watch that game in your Alpine Faction client as it was originally played.&lt;br /&gt;
* Demos can be recorded either automatically or on-demand by any Alpine Faction v1.4+ dedicated server, and are saved to '''RedFaction/demos/''' on the system running the dedicated server.&lt;br /&gt;
* If an Alpine Faction v1.4+ that is linked to FactionFiles via a GSK is automatically recording demos, those demos can be automatically uploaded to FactionFiles and served for download via the statistics page for that game.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Get a GSK==&lt;br /&gt;
* Navigate to [https://factionfiles.com FactionFiles.com], login, and click your username in the top right corner to [https://www.factionfiles.com/ff.php?action=editprofile edit your profile].&lt;br /&gt;
* Scroll down to the '''Game Server Management''' section, and click [https://factionfiles.com Open game server management].&lt;br /&gt;
* Click [https://factionfiles.com Register a new server] in the top right corner.&lt;br /&gt;
* Give your server a name and optionally a note, then click '''Register server'''. Note that the name and note here are entirely for your own purposes in identifying your server - they are never displayed to the public, and you do not need to update them if you rename your server.`&lt;br /&gt;
* Under the '''Game Server Key''' column on the list of servers, click '''Copy''' under the masked GSK to copy your GSK to the clipboard.&lt;br /&gt;
** IMPORTANT: A GSK is, in effect, a password for your server. It is important that you keep it private.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Apply the GSK to your server==&lt;br /&gt;
Open your dedicated server's ADS config file (the one you pass to '''AlpineFactionLauncher.exe''' with '''-ads''').&lt;br /&gt;
&lt;br /&gt;
Add a '''fflink_gsk''' to the top-level (root) section, and provide your GSK in quotation marks - matching the format below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fflink_gsk = &amp;quot;76995e7e2f5f053f9a73e13925e952dc&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your ADS config file, then launch (or relaunch) your server. When your server starts, you should see series of log entries that look similar to the below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Requesting FactionFiles session key --&lt;br /&gt;
FactionFiles session established (server id 0).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you see this, your server is successfully linked to FactionFiles, and statistics tracking is active. You do not need to do anything or change anything the next time you start your server - it will just work without issue as long as that GSK in is your ADS config file. If you do NOT see the above, something is not working right. Check and verify that your GSK is provided in the format above, and if it still isn't working, drop by the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
==Step 2: (Optional) Automatically record and send demos==&lt;br /&gt;
In order to have demos from your server automatically recorded and sent to FactionFiles to be served on the statistics page for each game, add the following to the top-level (root) section of your ADS config file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo_auto_record = true&lt;br /&gt;
fflink_demo_upload = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option makes your server automatically record demos of each game played (and save them to '''RedFaction/demos/'''). The second makes your server automatically upload recorded demos to FactionFiles.&lt;br /&gt;
&lt;br /&gt;
You should now see log entries that look like this when one map ends and another begins.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Level Initializing: dm01.rfl (DM) --&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
-- Level Initializing: dm19.rfl (DM) --&lt;br /&gt;
Demo recording stopped: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm19_20260824-200147.afd&lt;br /&gt;
Uploading demo dm01_20260824-200146.afd to FactionFiles...&lt;br /&gt;
Demo dm01_20260824-200146.afd uploaded (game 1352e6871dbb156f)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you forcefully close your server in the middle of a game, the demo for that game will not be uploaded to FactionFiles. If you want to ensure a given demo is uploaded to FactionFiles before you close your server, wait until you see the log entry that says it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' Demos from most servers are retained and accessible for 90 days after being uploaded. Demos from match mode servers are retained indefinitely. If you are running a match server, please contact us via Discord so that your server can be flagged for indefinite demo retention.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some other '''completely optional''' settings that you can configure with regard to demos and their automatic uploading if you wish. Those settings are listed below for reference, with comments indicating what they do. The values shown below are the default values, which are used if you do not explicitly change them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Should in-game chat be included in recorded demos? Default: true&lt;br /&gt;
demo_chat_record = true&lt;br /&gt;
&lt;br /&gt;
# What is the maximum file size of a demo that your server will send to FactionFiles? Default: 100MB&lt;br /&gt;
fflink_demo_max_mb = 100&lt;br /&gt;
&lt;br /&gt;
# How many demos can possibly be queued for sending to FactionFiles simultaneously? Default: 32&lt;br /&gt;
fflink_demo_queue_max = 32&lt;br /&gt;
&lt;br /&gt;
# Should demos that are sent to FactionFiles automatically be deleted from the RedFaction/demos/ directory on the server after being sent? Default: false&lt;br /&gt;
fflink_demo_delete_after_send = false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues setting up headless bots, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15194</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15194"/>
		<updated>2026-08-25T20:31:19Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.4.0 released: Aug 25, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15192</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15192"/>
		<updated>2026-08-24T14:33:42Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.4.0==&lt;br /&gt;
* Release TBD&lt;br /&gt;
===General===&lt;br /&gt;
* Make clock clutter objects display current localized real world time&lt;br /&gt;
* Show the name of the selected weapon on HUD if the weapon has no FP mesh&lt;br /&gt;
* In-game toggle for antialiasing&lt;br /&gt;
* Support binding controls to Alt keys and additional mouse buttons (thumb buttons, etc.)&lt;br /&gt;
* Fix plankton often not rendering properly in water&lt;br /&gt;
* Add camera4, camera5, jetpack, skifree, pogo console commands for single player&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Many substantial netcode improvements&lt;br /&gt;
* Demo (replay) recording and playback&lt;br /&gt;
* [[Linking an Alpine Faction Server to FactionFiles for Statistics Tracking|FactionFiles-integrated multiplayer statistics for FF-linked servers]]&lt;br /&gt;
* New gametypes: Bagman, Team Bagman, Pit, Wipeout, Gun Game, Salvage&lt;br /&gt;
* Awards&lt;br /&gt;
* Sprays&lt;br /&gt;
* Assists&lt;br /&gt;
* Fixed Riot Shield functionality&lt;br /&gt;
* Efficiency statistic on /stats and endgame stats printout&lt;br /&gt;
* Fixed broken accuracy statistic on /stats and endgame stats printout&lt;br /&gt;
* Allow players to join between levels&lt;br /&gt;
* Server-configured and votable mutators&lt;br /&gt;
* Voting now uses a GUI-based system, supporting all voting options and saving of vote presets&lt;br /&gt;
* Add mini scoreboard for non-team gametypes&lt;br /&gt;
* Spectator improvements&lt;br /&gt;
** First person/third person attached camera (+ third person orbit)&lt;br /&gt;
** Free look/static detached cameras&lt;br /&gt;
** Dropping of static cameras, and persistence between sessions&lt;br /&gt;
** Binding numpad keys to players/cameras for quick access&lt;br /&gt;
** Stepped zoom for free look spectate&lt;br /&gt;
** POV/lag compensation, making spectate view much closer to what that player actually sees&lt;br /&gt;
* Add &amp;quot;mp_join_flash&amp;quot; command to have game window flash in taskbar if someone joins while you're out of the window&lt;br /&gt;
* Fix AF_Teleport_Player event not working properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Reduced network overhead&lt;br /&gt;
* Improve network performance for servers running in Wine&lt;br /&gt;
* Allow full_admin rcon holders to execute maxfps and sv_netfps commands&lt;br /&gt;
* Default idle tracking to true, but idle kicking to false&lt;br /&gt;
* Add automatic team balance option for mid-game team balancing&lt;br /&gt;
* Add &amp;quot;add_installed_to_allowed_levels&amp;quot; option to vote_level to allow voting for every installed level on a server&lt;br /&gt;
* Add spawn_loadout_blue to configure separate spawn loadouts for blue team vs. red&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Add Weather Regions&lt;br /&gt;
* Support ATX declarative texture format&lt;br /&gt;
** Fine tuned animations without VBM format limitations&lt;br /&gt;
** Accessible to event system via handle for level-driven behaviour scripting&lt;br /&gt;
* Support PNG and JPG texture formats&lt;br /&gt;
* Support DDS texture format in level editor&lt;br /&gt;
* New events: ATX_Set_Frame, ATX_Play, ATX_Pause, ATX_Set_Frame_time, Weather_Region_State&lt;br /&gt;
* Load meshes from subdirectories within meshes folder&lt;br /&gt;
* Colour pickers in level editor use current colour as default selection&lt;br /&gt;
* Include textures referenced by used custom VFX mesh files when creating a packfile&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Released 22 Apr 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Fix players being able to stand up into geometry when they should be forced to stay crouched&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* Add &amp;quot;Hold Open&amp;quot; setting to movers&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Fix Decal alpha parameter (D3D11 only)&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Fix mesh collision not properly updating when meshes are hidden/unhidden&lt;br /&gt;
* Fix modern (ie. non-Legacy) movers sometimes maintaining momentum even after stopping/pausing&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15191</id>
		<title>Linking an Alpine Faction Server to FactionFiles for Statistics Tracking</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15191"/>
		<updated>2026-08-24T12:48:44Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through linking your '''Red Faction 1''' [https://alpinefaction.com Alpine Faction] v1.4+ dedicated server to FactionFiles for full statistics tracking.&lt;br /&gt;
&amp;lt;!--- '''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see:&lt;br /&gt;
*[[Setting up an Alpine Faction Dedicated Server (RF1)]] ---&amp;gt;&lt;br /&gt;
==What is a Game Server Key (GSK)?==&lt;br /&gt;
* Each dedicated server links to FactionFiles via a '''Game Server Key'''. Once this link is established, game statistics from the server are automatically sent to FactionFiles.&lt;br /&gt;
* A GSK is, in effect, a password for your server.&lt;br /&gt;
* A new GSK means a new tracked server (from FactionFiles' perspective). You should make a new GSK whenever you create a net new server.&lt;br /&gt;
* You should NOT make a new GSK every time you rename your server - GSKs identify unique servers, but it is ultimately up to you to determine what constitutes a &amp;quot;new&amp;quot; server.&lt;br /&gt;
**For example, &amp;quot;Awesomeman's 24/7 DM&amp;quot; gets a GSK. If Awesomeman renames the server to &amp;quot;Awesomeman's Pub Server&amp;quot;, it keeps the same GSK. However, when Awesomeman decides to start running a dedicated Gun Game server (&amp;quot;Awesomeman's Gun Game&amp;quot;), that gets its own GSK because it is, fundamentally, a different server.&lt;br /&gt;
&lt;br /&gt;
==What is a Demo?==&lt;br /&gt;
* A demo (also known in other games as a &amp;quot;replay&amp;quot;) is a saved file that contains a recording of all of the critical information about what happened during a game, so you can re-watch that game in your Alpine Faction client as it was originally played.&lt;br /&gt;
* Demos can be recorded either automatically or on-demand by any Alpine Faction v1.4+ dedicated server, and are saved to '''RedFaction/demos/''' on the system running the dedicated server.&lt;br /&gt;
* If an Alpine Faction v1.4+ that is linked to FactionFiles via a GSK is automatically recording demos, those demos can be automatically uploaded to FactionFiles and served for download via the statistics page for that game.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Get a GSK==&lt;br /&gt;
* Navigate to [https://factionfiles.com FactionFiles.com], login, and click your username in the top right corner to [https://www.factionfiles.com/ff.php?action=editprofile edit your profile].&lt;br /&gt;
* Scroll down to the '''Game Server Management''' section, and click [https://factionfiles.com Open game server management].&lt;br /&gt;
* Click [https://factionfiles.com Register a new server] in the top right corner.&lt;br /&gt;
* Give your server a name and optionally a note, then click '''Register server'''. Note that the name and note here are entirely for your own purposes in identifying your server - they are never displayed to the public, and you do not need to update them if you rename your server.`&lt;br /&gt;
* Under the '''Game Server Key''' column on the list of servers, click '''Copy''' under the masked GSK to copy your GSK to the clipboard.&lt;br /&gt;
** IMPORTANT: A GSK is, in effect, a password for your server. It is important that you keep it private.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Apply the GSK to your server==&lt;br /&gt;
Open your dedicated server's ADS config file (the one you pass to '''AlpineFactionLauncher.exe''' with '''-ads''').&lt;br /&gt;
&lt;br /&gt;
Add a '''fflink_gsk''' to the top-level (root) section, and provide your GSK in quotation marks - matching the format below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fflink_gsk = &amp;quot;76995e7e2f5f053f9a73e13925e952dc&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your ADS config file, then launch (or relaunch) your server. When your server starts, you should see series of log entries that look similar to the below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Requesting FactionFiles session key --&lt;br /&gt;
FactionFiles session established (server id 0).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you see this, your server is successfully linked to FactionFiles, and statistics tracking is active. You do not need to do anything or change anything the next time you start your server - it will just work without issue as long as that GSK in is your ADS config file. If you do NOT see the above, something is not working right. Check and verify that your GSK is provided in the format above, and if it still isn't working, drop by the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
==Step 2: (Optional) Automatically record and send demos==&lt;br /&gt;
In order to have demos from your server automatically recorded and sent to FactionFiles to be served on the statistics page for each game, add the following to the top-level (root) section of your ADS config file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo_auto_record = true&lt;br /&gt;
fflink_demo_upload = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option makes your server automatically record demos of each game played (and save them to '''RedFaction/demos/'''). The second makes your server automatically upload recorded demos to FactionFiles.&lt;br /&gt;
&lt;br /&gt;
You should now see log entries that look like this when one map ends and another begins.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Level Initializing: dm01.rfl (DM) --&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
-- Level Initializing: dm19.rfl (DM) --&lt;br /&gt;
Demo recording stopped: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm19_20260824-200147.afd&lt;br /&gt;
Uploading demo dm01_20260824-200146.afd to FactionFiles...&lt;br /&gt;
Demo dm01_20260824-200146.afd uploaded (game 1352e6871dbb156f)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you forcefully close your server in the middle of a game, the demo for that game will not be uploaded to FactionFiles. If you want to ensure a given demo is uploaded to FactionFiles before you close your server, wait until you see the log entry that says it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some other '''completely optional''' settings that you can configure with regard to demos and their automatic uploading if you wish. Those settings are listed below for reference, with comments indicating what they do. The values shown below are the default values, which are used if you do not explicitly change them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Should in-game chat be included in recorded demos? Default: true&lt;br /&gt;
demo_chat_record = true&lt;br /&gt;
&lt;br /&gt;
# What is the maximum file size of a demo that your server will send to FactionFiles? Default: 100MB&lt;br /&gt;
fflink_demo_max_mb = 100&lt;br /&gt;
&lt;br /&gt;
# How many demos can possibly be queued for sending to FactionFiles simultaneously? Default: 32&lt;br /&gt;
fflink_demo_queue_max = 32&lt;br /&gt;
&lt;br /&gt;
# Should demos that are sent to FactionFiles automatically be deleted from the RedFaction/demos/ directory on the server after being sent? Default: false&lt;br /&gt;
fflink_demo_delete_after_send = false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues setting up headless bots, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15190</id>
		<title>Linking an Alpine Faction Server to FactionFiles for Statistics Tracking</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Linking_an_Alpine_Faction_Server_to_FactionFiles_for_Statistics_Tracking&amp;diff=15190"/>
		<updated>2026-08-24T12:48:12Z</updated>

		<summary type="html">&lt;p&gt;Goober: Created page with &amp;quot;{{RF1Tutorial|Goober}} This step-by-step guide will walk you through linking your '''Red Faction 1''' [https://alpinefaction.com Alpine Faction] v1.4+ dedicated server to FactionFiles for full statistics tracking. &amp;lt;!--- '''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see: *Setting up an Alpine Faction Dedicated Server (RF1) ---&amp;gt; ==What is a Game Server Key (GSK)?== * Each dedicated server links to Fac...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through linking your '''Red Faction 1''' [https://alpinefaction.com Alpine Faction] v1.4+ dedicated server to FactionFiles for full statistics tracking.&lt;br /&gt;
&amp;lt;!--- '''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see:&lt;br /&gt;
*[[Setting up an Alpine Faction Dedicated Server (RF1)]] ---&amp;gt;&lt;br /&gt;
==What is a Game Server Key (GSK)?==&lt;br /&gt;
* Each dedicated server links to FactionFiles via a '''Game Server Key'''. Once this link is established, game statistics from the server are automatically sent to FactionFiles.&lt;br /&gt;
* A GSK is, in effect, a password for your server.&lt;br /&gt;
* A new GSK means a new tracked server (from FactionFiles' perspective). You should make a new GSK whenever you create a net new server.&lt;br /&gt;
* You should NOT make a new GSK every time you rename your server - GSKs identify unique servers, but it is ultimately up to you to determine what constitutes a &amp;quot;new&amp;quot; server. For example, &amp;quot;Awesomeman's 24/7 DM&amp;quot; gets a GSK. If Awesomeman renames the server to &amp;quot;Awesomeman's Pub Server&amp;quot;, it keeps the same GSK. However, when Awesomeman decides to launch a dedicated Gun Game server (&amp;quot;Awesomeman's Gun Game&amp;quot;), that gets its own GSK because it is, fundamentally, a different server.&lt;br /&gt;
&lt;br /&gt;
==What is a Demo?==&lt;br /&gt;
* A demo (also known in other games as a &amp;quot;replay&amp;quot;) is a saved file that contains a recording of all of the critical information about what happened during a game, so you can re-watch that game in your Alpine Faction client as it was originally played.&lt;br /&gt;
* Demos can be recorded either automatically or on-demand by any Alpine Faction v1.4+ dedicated server, and are saved to '''RedFaction/demos/''' on the system running the dedicated server.&lt;br /&gt;
* If an Alpine Faction v1.4+ that is linked to FactionFiles via a GSK is automatically recording demos, those demos can be automatically uploaded to FactionFiles and served for download via the statistics page for that game.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Get a GSK==&lt;br /&gt;
* Navigate to [https://factionfiles.com FactionFiles.com], login, and click your username in the top right corner to [https://www.factionfiles.com/ff.php?action=editprofile edit your profile].&lt;br /&gt;
* Scroll down to the '''Game Server Management''' section, and click [https://factionfiles.com Open game server management].&lt;br /&gt;
* Click [https://factionfiles.com Register a new server] in the top right corner.&lt;br /&gt;
* Give your server a name and optionally a note, then click '''Register server'''. Note that the name and note here are entirely for your own purposes in identifying your server - they are never displayed to the public, and you do not need to update them if you rename your server.`&lt;br /&gt;
* Under the '''Game Server Key''' column on the list of servers, click '''Copy''' under the masked GSK to copy your GSK to the clipboard.&lt;br /&gt;
** IMPORTANT: A GSK is, in effect, a password for your server. It is important that you keep it private.&lt;br /&gt;
&lt;br /&gt;
==Step 2: Apply the GSK to your server==&lt;br /&gt;
Open your dedicated server's ADS config file (the one you pass to '''AlpineFactionLauncher.exe''' with '''-ads''').&lt;br /&gt;
&lt;br /&gt;
Add a '''fflink_gsk''' to the top-level (root) section, and provide your GSK in quotation marks - matching the format below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fflink_gsk = &amp;quot;76995e7e2f5f053f9a73e13925e952dc&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save your ADS config file, then launch (or relaunch) your server. When your server starts, you should see series of log entries that look similar to the below.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Requesting FactionFiles session key --&lt;br /&gt;
FactionFiles session established (server id 0).&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you see this, your server is successfully linked to FactionFiles, and statistics tracking is active. You do not need to do anything or change anything the next time you start your server - it will just work without issue as long as that GSK in is your ADS config file. If you do NOT see the above, something is not working right. Check and verify that your GSK is provided in the format above, and if it still isn't working, drop by the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
==Step 2: (Optional) Automatically record and send demos==&lt;br /&gt;
In order to have demos from your server automatically recorded and sent to FactionFiles to be served on the statistics page for each game, add the following to the top-level (root) section of your ADS config file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
demo_auto_record = true&lt;br /&gt;
fflink_demo_upload = true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first option makes your server automatically record demos of each game played (and save them to '''RedFaction/demos/'''). The second makes your server automatically upload recorded demos to FactionFiles.&lt;br /&gt;
&lt;br /&gt;
You should now see log entries that look like this when one map ends and another begins.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Level Initializing: dm01.rfl (DM) --&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
-- Level Initializing: dm19.rfl (DM) --&lt;br /&gt;
Demo recording stopped: C:\games\RedFaction\demos\dm01_20260824-200146.afd&lt;br /&gt;
Demo recording started: C:\games\RedFaction\demos\dm19_20260824-200147.afd&lt;br /&gt;
Uploading demo dm01_20260824-200146.afd to FactionFiles...&lt;br /&gt;
Demo dm01_20260824-200146.afd uploaded (game 1352e6871dbb156f)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you forcefully close your server in the middle of a game, the demo for that game will not be uploaded to FactionFiles. If you want to ensure a given demo is uploaded to FactionFiles before you close your server, wait until you see the log entry that says it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are some other '''completely optional''' settings that you can configure with regard to demos and their automatic uploading if you wish. Those settings are listed below for reference, with comments indicating what they do. The values shown below are the default values, which are used if you do not explicitly change them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Should in-game chat be included in recorded demos? Default: true&lt;br /&gt;
demo_chat_record = true&lt;br /&gt;
&lt;br /&gt;
# What is the maximum file size of a demo that your server will send to FactionFiles? Default: 100MB&lt;br /&gt;
fflink_demo_max_mb = 100&lt;br /&gt;
&lt;br /&gt;
# How many demos can possibly be queued for sending to FactionFiles simultaneously? Default: 32&lt;br /&gt;
fflink_demo_queue_max = 32&lt;br /&gt;
&lt;br /&gt;
# Should demos that are sent to FactionFiles automatically be deleted from the RedFaction/demos/ directory on the server after being sent? Default: false&lt;br /&gt;
fflink_demo_delete_after_send = false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues setting up headless bots, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Modding_Tutorials&amp;diff=15189</id>
		<title>Red Faction Modding Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Modding_Tutorials&amp;diff=15189"/>
		<updated>2026-08-24T11:30:20Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* End User Guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
This page lists all available tutorials for map and mod development for '''Red Faction'''.&lt;br /&gt;
&lt;br /&gt;
==Beginner==&lt;br /&gt;
*[[The Beginner's Guide to Red Faction Mapping]]&lt;br /&gt;
*[[Hello Room]]&lt;br /&gt;
*[[Beginner Mapping (Daedalus)]]&lt;br /&gt;
*[[Lighting, Water, and Vertex Editing]]&lt;br /&gt;
*[[Basic Moving Doors]] (Video)&lt;br /&gt;
*[[Brush Mode Operators]] (Video)&lt;br /&gt;
*[[Basic Portals]]&lt;br /&gt;
==Brushwork, Environments, and Texturing==&lt;br /&gt;
*[[Outside Areas, Fog, Skyboxes]] (Video)&lt;br /&gt;
*[[Geometry Bending and Twisting]] (Video)&lt;br /&gt;
*[[Subtractive Geometry and Layering - Start/End of Time]] (Video)&lt;br /&gt;
*[[Importing Custom Textures]] (Video)&lt;br /&gt;
*[[Importing Heightmap Terrain]] (Video)&lt;br /&gt;
*[[Smoothing Groups|Lightmap Smoothing Groups]]&lt;br /&gt;
==AI and Entities==&lt;br /&gt;
*[[Basic AI Attack and Patrol]]&lt;br /&gt;
==Events and Scripting==&lt;br /&gt;
*[[Creating Security Monitors]]&lt;br /&gt;
*[[Realistic Explosions]]&lt;br /&gt;
*[[Modifying Gravity]] (Video)&lt;br /&gt;
*[[Toggling Emitters]]&lt;br /&gt;
*[[Custom Cutscenes|Cutscene Tutorial (Helios/GTA/Trigger)]]&lt;br /&gt;
*[[Cutscene Tutorial|Cutscene Tutorial (Beatonator)]]&lt;br /&gt;
*[[Using Variable Data via Goals|Working with Variable Data via Goals]] (Video)&lt;br /&gt;
*[[Switchable Bolt Emitters (Forcefields)]]&lt;br /&gt;
==Lighting==&lt;br /&gt;
*[[Fake Volumetric Lighting via Particle Emitters]]&lt;br /&gt;
&amp;lt;!---==Sound==---&amp;gt;&lt;br /&gt;
==Multiplayer Specific==&lt;br /&gt;
*[[Basic Multiplayer Map]]&lt;br /&gt;
*[[Creating a Keyframe Trick]]&lt;br /&gt;
*[[Dynamic Multiplayer Spawn Points]]&lt;br /&gt;
*[[Custom Static Meshes in Multiplayer Maps]] (Video)&lt;br /&gt;
*[[RF CTF Level Design]] (Video)&lt;br /&gt;
*[[Changing Liquid Depth in Multiplayer]]&lt;br /&gt;
*[[Lighting Trick for Fullbright Player Models]]&lt;br /&gt;
*[[Crash Course on Adding Custom Meshes to Multiplayer Maps]]&lt;br /&gt;
*[[Mapping for Arena Mod]]&lt;br /&gt;
*[[Low Gravity for Multiplayer]]&lt;br /&gt;
*[[Creating Control Points]] ([https://alpinefaction.com Alpine Faction] only)&lt;br /&gt;
*[[Creating AWP Waypoint Files]] ([https://alpinefaction.com Alpine Faction] only)&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
*[[Door Rooms]] (Video)&lt;br /&gt;
*[[Ladders]] (Video)&lt;br /&gt;
*[[Basic Decals]]&lt;br /&gt;
*[[Basic Liquids]]&lt;br /&gt;
*[[Basic Skyboxes]]&lt;br /&gt;
*[[Adding a Moon to a Skybox]]&lt;br /&gt;
*[[Distributing User Made Levels]]&lt;br /&gt;
*[[Resetting a Player Start]]&lt;br /&gt;
==Mod Development==&lt;br /&gt;
*[[Using Blender for Red Faction Static Meshes]] (Video)&lt;br /&gt;
*[[Using Blender for Red Faction Skeletal Meshes &amp;amp; Animations]] (Video)&lt;br /&gt;
*[[Static Meshes from 3ds Max]] (Video)&lt;br /&gt;
*[[First Person Weapon Models and Animations from 3ds Max]] (Video)&lt;br /&gt;
*[[Custom First Person Weapons]]&lt;br /&gt;
*[[Beginner's Guide to Table Editing]]&lt;br /&gt;
*[[Importing a Level from a Mod to the Base Game]] (Video)&lt;br /&gt;
*[[Creating and Using Custom Debris]]&lt;br /&gt;
==Workshop Sessions==&lt;br /&gt;
*[[RF Mod Development Workshop: Custom Characters]] (Video)&lt;br /&gt;
*[[RF Level Design Workshop: Part 1]] (Video)&lt;br /&gt;
*[[RF Level Design Workshop: Part 2]] (Video)&lt;br /&gt;
*[[RF Level Design Workshop: Part 3 Multiplayer Design]] (Video)&lt;br /&gt;
&lt;br /&gt;
==End User Guides==&lt;br /&gt;
*[[Installing Conversion Mods (RF1)]]&lt;br /&gt;
*[[Installing Clientside Mods (RF1)]]&lt;br /&gt;
*[[Installing Custom Levels (RF1)]]&lt;br /&gt;
*[[Launching Alpine Faction Bots]]&lt;br /&gt;
*[[Linking an Alpine Faction Server to FactionFiles for Statistics Tracking]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15188</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15188"/>
		<updated>2026-08-23T03:28:01Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.4.0==&lt;br /&gt;
* Release TBD&lt;br /&gt;
===General===&lt;br /&gt;
* Make clock clutter objects display current localized real world time&lt;br /&gt;
* Show the name of the selected weapon on HUD if the weapon has no FP mesh&lt;br /&gt;
* In-game toggle for antialiasing&lt;br /&gt;
* Support binding controls to Alt keys and additional mouse buttons (thumb buttons, etc.)&lt;br /&gt;
* Fix plankton often not rendering properly in water&lt;br /&gt;
* Add camera4, camera5, jetpack, skifree, pogo console commands for single player&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Many substantial netcode improvements&lt;br /&gt;
* Demo (replay) recording and playback&lt;br /&gt;
* FactionFiles-integrated multiplayer statistics for FF-linked servers&lt;br /&gt;
* New gametypes: Bagman, Team Bagman, Pit, Wipeout, Gun Game, Salvage&lt;br /&gt;
* Awards&lt;br /&gt;
* Sprays&lt;br /&gt;
* Assists&lt;br /&gt;
* Fixed Riot Shield functionality&lt;br /&gt;
* Efficiency statistic on /stats and endgame stats printout&lt;br /&gt;
* Fixed broken accuracy statistic on /stats and endgame stats printout&lt;br /&gt;
* Allow players to join between levels&lt;br /&gt;
* Server-configured and votable mutators&lt;br /&gt;
* Voting now uses a GUI-based system, supporting all voting options and saving of vote presets&lt;br /&gt;
* Add mini scoreboard for non-team gametypes&lt;br /&gt;
* Spectator improvements&lt;br /&gt;
** First person/third person attached camera (+ third person orbit)&lt;br /&gt;
** Free look/static detached cameras&lt;br /&gt;
** Dropping of static cameras, and persistence between sessions&lt;br /&gt;
** Binding numpad keys to players/cameras for quick access&lt;br /&gt;
** Stepped zoom for free look spectate&lt;br /&gt;
** POV/lag compensation, making spectate view much closer to what that player actually sees&lt;br /&gt;
* Add &amp;quot;mp_join_flash&amp;quot; command to have game window flash in taskbar if someone joins while you're out of the window&lt;br /&gt;
* Fix AF_Teleport_Player event not working properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Reduced network overhead&lt;br /&gt;
* Improve network performance for servers running in Wine&lt;br /&gt;
* Allow full_admin rcon holders to execute maxfps and sv_netfps commands&lt;br /&gt;
* Default idle tracking to true, but idle kicking to false&lt;br /&gt;
* Add automatic team balance option for mid-game team balancing&lt;br /&gt;
* Add &amp;quot;add_installed_to_allowed_levels&amp;quot; option to vote_level to allow voting for every installed level on a server&lt;br /&gt;
* Add spawn_loadout_blue to configure separate spawn loadouts for blue team vs. red&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Add Weather Regions&lt;br /&gt;
* Support ATX declarative texture format&lt;br /&gt;
** Fine tuned animations without VBM format limitations&lt;br /&gt;
** Accessible to event system via handle for level-driven behaviour scripting&lt;br /&gt;
* Support PNG and JPG texture formats&lt;br /&gt;
* Support DDS texture format in level editor&lt;br /&gt;
* New events: ATX_Set_Frame, ATX_Play, ATX_Pause, ATX_Set_Frame_time, Weather_Region_State&lt;br /&gt;
* Load meshes from subdirectories within meshes folder&lt;br /&gt;
* Colour pickers in level editor use current colour as default selection&lt;br /&gt;
* Include textures referenced by used custom VFX mesh files when creating a packfile&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Released 22 Apr 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Fix players being able to stand up into geometry when they should be forced to stay crouched&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* Add &amp;quot;Hold Open&amp;quot; setting to movers&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Fix Decal alpha parameter (D3D11 only)&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Fix mesh collision not properly updating when meshes are hidden/unhidden&lt;br /&gt;
* Fix modern (ie. non-Legacy) movers sometimes maintaining momentum even after stopping/pausing&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15187</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15187"/>
		<updated>2026-07-23T11:32:40Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.3.0 released: Apr 22, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15186</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15186"/>
		<updated>2026-07-03T03:29:15Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.3.0 released: Apr 22, '26&lt;br /&gt;
- RF Game Night 188: Jul 4, '26&lt;br /&gt;
- RF Game Night 189: Jul 18, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15183</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15183"/>
		<updated>2026-05-23T13:44:00Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.3.0 released: Apr 22, '26&lt;br /&gt;
- RF Game Night 185: May 23, '26&lt;br /&gt;
- RF Game Night 186: Jun 6, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Creating_AWP_Waypoint_Files&amp;diff=15177</id>
		<title>Creating AWP Waypoint Files</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Creating_AWP_Waypoint_Files&amp;diff=15177"/>
		<updated>2026-05-02T13:03:20Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through creating an '''AWP file''' (Alpine Waypoint grid file) for a Red Faction 1 multiplayer level using the [https://alpinefaction.com Alpine Faction] v1.3 in-game '''waypoint editor'''. AWP files describe the navigation grid that Alpine Faction bots use to move, fight, and pursue objectives on the map - if a level has no AWP, bots cannot navigate it.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you also want to test the resulting AWP with bots, see:&lt;br /&gt;
*[[Launching Alpine Faction Bots]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
* An '''AWP file''' is a per-level text file describing waypoints, links between waypoints, navigation zones, and targets.&lt;br /&gt;
* AWP files live in '''user_maps\waypoints\&amp;lt;level&amp;gt;.awp''' inside your Red Faction install directory.&lt;br /&gt;
* The waypoint editor is a built-in mode of the normal Alpine Faction client - no separate tool needed. You enable it from the in-game console while a level is loaded in single-player or as a listen server host.&lt;br /&gt;
* The editor provides a GUI and auto-generation pipeline that builds a reasonable starting grid from the level's item, respawn point, CTF flag, and teleporter objects.&lt;br /&gt;
* For batch jobs, the launcher accepts '''-awpgen &amp;lt;level&amp;gt;''' which runs auto-generation headlessly and quits, writing the AWP automatically.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Load the level and enter editor mode==&lt;br /&gt;
Launch Alpine Faction normally and load the level you want to author waypoints for. The easiest way to do this is to run the following console command from the main menu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mapm LEVEL_FILENAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the in-game console and enter:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
waypoints_edit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the '''Waypoint Editor''' panel appear in the upper-right of the screen, with buttons for '''Reset to default grid''', '''Generate waypoints (INTENSE)''', '''Save AWP file''', '''Load AWP file''', and toggles for '''Debug''', '''Drop''', and '''Clean'''.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' '''waypoints_edit''' is rejected while you are connected as a multiplayer '''client''' to a remote server. You must be playing locally (either in single-player or as the listen server host) to use the editor.&lt;br /&gt;
&lt;br /&gt;
To leave editor mode at any time, run this command to toggle it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
waypoints_edit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 2: Auto-generate a baseline grid==&lt;br /&gt;
Hand-placing every waypoint on a real multiplayer map is impractical. The editor includes an auto-generation pipeline that walks outward from the level's existing item, respawn, CTF flag, and teleporter objects, probes the geometry, and builds a connected waypoint grid automatically. Start there and tweak by hand only where it gets things wrong.&lt;br /&gt;
&lt;br /&gt;
In the editor panel, click '''Generate waypoints (INTENSE)'''.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' Generation can take several seconds on small maps and several minutes on large ones. The most intensive generation operations will be on levels with many very expansive navigable areas. The game will appear to hang while it runs.&lt;br /&gt;
&lt;br /&gt;
When generation finishes, the editor log (bottom of the panel) will print a summary like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Generated 1842 waypoints from 23 ctf_flag/item/respawn/tele_exit seeds&lt;br /&gt;
Link pass added 4517 bidirectional links and 218 downward links&lt;br /&gt;
Jump pad trajectory pass added 6 destination links&lt;br /&gt;
Ledge drop pass added 41 downward links&lt;br /&gt;
Generated 12 explosion targets from blocked waypoint pairs&lt;br /&gt;
Generated 3 shatter targets from breakable-glass blocked waypoint pairs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the log says '''No seed waypoints found for generation''', the level has no item/respawn/CTF/teleporter objects the generator can use as anchors - you'll need to either add some in the level editor or hand-place starter waypoints (see Step 3).&lt;br /&gt;
&lt;br /&gt;
==Step 3: Inspect and edit the grid==&lt;br /&gt;
The editor uses a dual mouse mode. By default, the mouse looks around like normal gameplay. '''Right-click''' toggles the '''UI cursor''' on and off:&lt;br /&gt;
*'''Mouse aim''' (right-click off): Look around with the mouse as in normal play. Crosshair selects the waypoint/zone/target you're looking at.&lt;br /&gt;
*'''UI cursor''' (right-click on): Mouse becomes a cursor for clicking buttons in the editor panel and dragging gizmo handles. The view is locked while in this mode.&lt;br /&gt;
&lt;br /&gt;
Switch modes freely - the panel always shows '''Right click: UI cursor''' or '''Right click: Mouse aim''' at the top so you know which is active.&lt;br /&gt;
&lt;br /&gt;
===Step 3a: Turn on debug rendering===&lt;br /&gt;
You probably want to '''see''' the waypoints first. Click the '''Debug''' button in the panel to cycle through debug modes (or run '''waypoints_debug''' / '''waypoints_debug 0|1|2|3''' in the console):&lt;br /&gt;
*'''0''' - off&lt;br /&gt;
*'''1''' - links + zone bounds + target boxes&lt;br /&gt;
*'''2''' - adds waypoint spheres, zone arrows, and target arrows&lt;br /&gt;
*'''3''' - adds labels for waypoints, zones, and targets&lt;br /&gt;
&lt;br /&gt;
Mode '''3''' is the most informative for editing but the heaviest to render. Mode '''2''' is practical for most purposes.&lt;br /&gt;
&lt;br /&gt;
===Step 3b: Select something and edit it===&lt;br /&gt;
With debug rendering on, look at any waypoint, zone, or target in the world (you do not need to be in UI cursor mode for this). The selection box shows up around the closest valid object.&lt;br /&gt;
&lt;br /&gt;
The '''Selection''' section of the panel updates with action buttons:&lt;br /&gt;
&lt;br /&gt;
For a '''waypoint''':&lt;br /&gt;
*'''Edit inbound links''' / '''Edit outbound links''' - open a dialog to add/remove individual links by typing waypoint UIDs.&lt;br /&gt;
*'''Change type''' - re-classify the waypoint (e.g. '''std''', '''item''', '''respawn''', '''jump_pad''', '''ladder''', '''ctf_flag''', '''tele_entrance''', '''tele_exit''', '''water''', etc.).&lt;br /&gt;
*'''Cycle movement type''' - cycle the dropped-waypoint subtype ('''normal''', '''crouch_needed''', '''swimming''', '''falling''', '''unsafe_terrain''').&lt;br /&gt;
*'''Auto link''' - link this waypoint to nearby waypoints with line of sight.&lt;br /&gt;
*'''Send probe''' - run a localized version of the generator outward from this waypoint. Useful for filling in coverage gaps.&lt;br /&gt;
*'''Ledge calculate''' - add downward &amp;quot;ledge drop&amp;quot; links from this waypoint to lower waypoints.&lt;br /&gt;
*'''Delete waypoint''' - remove it.&lt;br /&gt;
&lt;br /&gt;
For a '''zone''':&lt;br /&gt;
*'''Change type''' - cycle through '''control_point''', '''damaging_liquid_room''', '''damage_zone''', '''instant_death_zone''', '''bridge_use''', '''bridge_prox''', '''high_power_zone'''.&lt;br /&gt;
*'''Edit gated''' (bridge zones only) - configure which waypoints the zone gates.&lt;br /&gt;
*'''Delete zone''' - remove it.&lt;br /&gt;
&lt;br /&gt;
For a '''target''':&lt;br /&gt;
*'''Change type''' - '''explosion''', '''shatter''', or '''jump'''.&lt;br /&gt;
*'''Auto link''' - link the target to all waypoints from which it is usable.&lt;br /&gt;
*'''Edit links''' - hand-edit the linked waypoint list.&lt;br /&gt;
*'''Delete target''' - remove it.&lt;br /&gt;
&lt;br /&gt;
===Step 3c: Drag waypoints to fix placement===&lt;br /&gt;
With a waypoint or zone selected, a '''gizmo''' (3-axis arrows for waypoints, corner handles for box-extents zones) appears at the selection in UI cursor mode. Click and drag a handle to move the selection. Releasing the mouse finalizes the new position.&lt;br /&gt;
&lt;br /&gt;
===Step 3d: Add new waypoints, zones, and targets===&lt;br /&gt;
*'''New WP''' - place a new '''std''' waypoint at the position you're looking at.&lt;br /&gt;
*'''New Zone''' - opens a dialog to define a new zone (by trigger UID, room UID, or world-space box). Zone types and sources are documented inline in the dialog.&lt;br /&gt;
*'''New Target''' - opens a dialog to add a target ('''explosion''', '''shatter''', or '''jump''') at the looked-at position. Shatter targets require you to be aiming at a breakable brush.&lt;br /&gt;
&lt;br /&gt;
===Step 3e: Optional cleanup passes===&lt;br /&gt;
*'''Clean''' (or '''waypoints_clean''') - removes invalid waypoints created by failed generation passes.&lt;br /&gt;
*'''Reset to default grid''' (or '''waypoints_reset''') - clears everything and rebuilds the seed-only grid (if you want to start over without exiting the editor).&lt;br /&gt;
*'''Drop''' (or '''waypoints_drop''') - toggles auto-drop, which records a waypoint everywhere your player walks. Handy for filling in spots the auto-generator missed; '''remember to turn it off''' before you start sightseeing.&lt;br /&gt;
&lt;br /&gt;
==Step 4: Save the AWP file==&lt;br /&gt;
Click '''Save AWP file''' in the panel (or run '''waypoints_save''' in the console).&lt;br /&gt;
&lt;br /&gt;
The file is written to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
\user_maps\waypoints\&amp;lt;level_filename&amp;gt;.awp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The editor log will print '''Waypoints saved''' on success or '''No waypoints to save''' if the grid is empty.&lt;br /&gt;
&lt;br /&gt;
To re-load a previously-saved AWP without restarting the level, click '''Load AWP file''' or run '''waypoints_load'''.&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
===Headless AWP generation with -awpgen (Advanced)===&lt;br /&gt;
For batch jobs you can launch the client with '''-awpgen &amp;lt;level&amp;gt;''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -awpgen mylevel.rfl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This loads the level, runs '''waypoints_generate''', saves the AWP, and quits. It honors any existing AWP's revision number and increments it on save, so re-running '''-awpgen''' on a level that already has an AWP produces a new revision rather than overwriting at revision 1.&lt;br /&gt;
&lt;br /&gt;
'''-awpgen''' has a 60-minute hard timeout per level. If generation hasn't completed in that time, the process logs an error and quits.&lt;br /&gt;
&lt;br /&gt;
===FactionFiles===&lt;br /&gt;
Bots fetch AWP files from FactionFiles when loading a level. The first integer in a saved AWP is its revision. When FactionFiles has a newer revision than a client, the client will fetch an update.&lt;br /&gt;
&lt;br /&gt;
If you are uploading a new level, you should go through the AWP creation process as detailed above, and provide the AWP for your level when submitting it to FactionFiles for approval.&lt;br /&gt;
&lt;br /&gt;
===Validating bot navigation===&lt;br /&gt;
Once you've saved an AWP, the easiest way to verify it works is to launch a local Alpine Faction dedicated server with bots enabled, load your level, and watch the bots navigate. See:&lt;br /&gt;
*[[Launching Alpine Faction Bots]]&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues authoring AWP files or getting bots to navigate them, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Modding_Tutorials&amp;diff=15176</id>
		<title>Red Faction Modding Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Modding_Tutorials&amp;diff=15176"/>
		<updated>2026-05-02T13:01:12Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Multiplayer Specific */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
This page lists all available tutorials for map and mod development for '''Red Faction'''.&lt;br /&gt;
&lt;br /&gt;
==Beginner==&lt;br /&gt;
*[[The Beginner's Guide to Red Faction Mapping]]&lt;br /&gt;
*[[Hello Room]]&lt;br /&gt;
*[[Beginner Mapping (Daedalus)]]&lt;br /&gt;
*[[Lighting, Water, and Vertex Editing]]&lt;br /&gt;
*[[Basic Moving Doors]] (Video)&lt;br /&gt;
*[[Brush Mode Operators]] (Video)&lt;br /&gt;
*[[Basic Portals]]&lt;br /&gt;
==Brushwork, Environments, and Texturing==&lt;br /&gt;
*[[Outside Areas, Fog, Skyboxes]] (Video)&lt;br /&gt;
*[[Geometry Bending and Twisting]] (Video)&lt;br /&gt;
*[[Subtractive Geometry and Layering - Start/End of Time]] (Video)&lt;br /&gt;
*[[Importing Custom Textures]] (Video)&lt;br /&gt;
*[[Importing Heightmap Terrain]] (Video)&lt;br /&gt;
*[[Smoothing Groups|Lightmap Smoothing Groups]]&lt;br /&gt;
==AI and Entities==&lt;br /&gt;
*[[Basic AI Attack and Patrol]]&lt;br /&gt;
==Events and Scripting==&lt;br /&gt;
*[[Creating Security Monitors]]&lt;br /&gt;
*[[Realistic Explosions]]&lt;br /&gt;
*[[Modifying Gravity]] (Video)&lt;br /&gt;
*[[Toggling Emitters]]&lt;br /&gt;
*[[Custom Cutscenes|Cutscene Tutorial (Helios/GTA/Trigger)]]&lt;br /&gt;
*[[Cutscene Tutorial|Cutscene Tutorial (Beatonator)]]&lt;br /&gt;
*[[Using Variable Data via Goals|Working with Variable Data via Goals]] (Video)&lt;br /&gt;
*[[Switchable Bolt Emitters (Forcefields)]]&lt;br /&gt;
==Lighting==&lt;br /&gt;
*[[Fake Volumetric Lighting via Particle Emitters]]&lt;br /&gt;
&amp;lt;!---==Sound==---&amp;gt;&lt;br /&gt;
==Multiplayer Specific==&lt;br /&gt;
*[[Basic Multiplayer Map]]&lt;br /&gt;
*[[Creating a Keyframe Trick]]&lt;br /&gt;
*[[Dynamic Multiplayer Spawn Points]]&lt;br /&gt;
*[[Custom Static Meshes in Multiplayer Maps]] (Video)&lt;br /&gt;
*[[RF CTF Level Design]] (Video)&lt;br /&gt;
*[[Changing Liquid Depth in Multiplayer]]&lt;br /&gt;
*[[Lighting Trick for Fullbright Player Models]]&lt;br /&gt;
*[[Crash Course on Adding Custom Meshes to Multiplayer Maps]]&lt;br /&gt;
*[[Mapping for Arena Mod]]&lt;br /&gt;
*[[Low Gravity for Multiplayer]]&lt;br /&gt;
*[[Creating Control Points]] ([https://alpinefaction.com Alpine Faction] only)&lt;br /&gt;
*[[Creating AWP Waypoint Files]] ([https://alpinefaction.com Alpine Faction] only)&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
*[[Door Rooms]] (Video)&lt;br /&gt;
*[[Ladders]] (Video)&lt;br /&gt;
*[[Basic Decals]]&lt;br /&gt;
*[[Basic Liquids]]&lt;br /&gt;
*[[Basic Skyboxes]]&lt;br /&gt;
*[[Adding a Moon to a Skybox]]&lt;br /&gt;
*[[Distributing User Made Levels]]&lt;br /&gt;
*[[Resetting a Player Start]]&lt;br /&gt;
==Mod Development==&lt;br /&gt;
*[[Using Blender for Red Faction Static Meshes]] (Video)&lt;br /&gt;
*[[Using Blender for Red Faction Skeletal Meshes &amp;amp; Animations]] (Video)&lt;br /&gt;
*[[Static Meshes from 3ds Max]] (Video)&lt;br /&gt;
*[[First Person Weapon Models and Animations from 3ds Max]] (Video)&lt;br /&gt;
*[[Custom First Person Weapons]]&lt;br /&gt;
*[[Beginner's Guide to Table Editing]]&lt;br /&gt;
*[[Importing a Level from a Mod to the Base Game]] (Video)&lt;br /&gt;
*[[Creating and Using Custom Debris]]&lt;br /&gt;
==Workshop Sessions==&lt;br /&gt;
*[[RF Mod Development Workshop: Custom Characters]] (Video)&lt;br /&gt;
*[[RF Level Design Workshop: Part 1]] (Video)&lt;br /&gt;
*[[RF Level Design Workshop: Part 2]] (Video)&lt;br /&gt;
==End User Guides==&lt;br /&gt;
*[[Installing Conversion Mods (RF1)]]&lt;br /&gt;
*[[Installing Clientside Mods (RF1)]]&lt;br /&gt;
*[[Installing Custom Levels (RF1)]]&lt;br /&gt;
*[[Launching Alpine Faction Bots]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Creating_AWP_Waypoint_Files&amp;diff=15175</id>
		<title>Creating AWP Waypoint Files</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Creating_AWP_Waypoint_Files&amp;diff=15175"/>
		<updated>2026-05-02T13:00:50Z</updated>

		<summary type="html">&lt;p&gt;Goober: Created page with &amp;quot;{{RF1Tutorial|Goober}} This step-by-step guide will walk you through creating an '''AWP file''' (Alpine Waypoint grid file) for a Red Faction 1 multiplayer level using the [https://alpinefaction.com Alpine Faction] v1.3 in-game '''waypoint editor'''. AWP files describe the navigation grid that Alpine Faction bots use to move, fight, and pursue objectives on the map - if a level has no AWP, bots cannot navigate it.  '''NOTE:''' If you also want to test the resulting AWP w...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through creating an '''AWP file''' (Alpine Waypoint grid file) for a Red Faction 1 multiplayer level using the [https://alpinefaction.com Alpine Faction] v1.3 in-game '''waypoint editor'''. AWP files describe the navigation grid that Alpine Faction bots use to move, fight, and pursue objectives on the map - if a level has no AWP, bots cannot navigate it.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' If you also want to test the resulting AWP with bots, see:&lt;br /&gt;
*[[Launching Alpine Faction Bots]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
* An '''AWP file''' is a per-level text file describing waypoints, links between waypoints, navigation zones, and targets.&lt;br /&gt;
* AWP files live in '''user_maps\waypoints\&amp;lt;level&amp;gt;.awp''' inside your Red Faction install directory.&lt;br /&gt;
* The waypoint editor is a built-in mode of the normal Alpine Faction client - no separate tool needed. You enable it from the in-game console while a level is loaded in single-player or as a listen server host.&lt;br /&gt;
* The editor provides a GUI and auto-generation pipeline that builds a reasonable starting grid from the level's item, respawn point, CTF flag, and teleporter objects.&lt;br /&gt;
* For batch jobs, the launcher accepts '''-awpgen &amp;lt;level&amp;gt;''' which runs auto-generation headlessly and quits, writing the AWP automatically.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Load the level and enter editor mode==&lt;br /&gt;
Launch Alpine Faction normally and load the level you want to author waypoints for. The easiest way to do this is to run the following console command from the main menu:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mapm LEVEL_FILENAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the in-game console and enter:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
waypoints_edit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see the '''Waypoint Editor''' panel appear in the upper-right of the screen, with buttons for '''Reset to default grid''', '''Generate waypoints (INTENSE)''', '''Save AWP file''', '''Load AWP file''', and toggles for '''Debug''', '''Drop''', and '''Clean'''.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' '''waypoints_edit''' is rejected while you are connected as a multiplayer '''client''' to a remote server. You must be playing locally (either in single-player or as the listen server host) to use the editor.&lt;br /&gt;
&lt;br /&gt;
To leave editor mode at any time, run this command to toggle it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
waypoints_edit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 2: Auto-generate a baseline graph==&lt;br /&gt;
Hand-placing every waypoint on a real multiplayer map is impractical. The editor includes an auto-generation pipeline that walks outward from the level's existing item, respawn, CTF flag, and teleporter objects, probes the geometry, and builds a connected waypoint graph automatically. Start there and tweak by hand only where it gets things wrong.&lt;br /&gt;
&lt;br /&gt;
In the editor panel, click '''Generate waypoints (INTENSE)'''.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' Generation can take several seconds on small maps and several minutes on large ones. The most intensive generation operations will be on levels with many very expansive navigable areas. The game will appear to hang while it runs.&lt;br /&gt;
&lt;br /&gt;
When generation finishes, the editor log (bottom of the panel) will print a summary like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Generated 1842 waypoints from 23 ctf_flag/item/respawn/tele_exit seeds&lt;br /&gt;
Link pass added 4517 bidirectional links and 218 downward links&lt;br /&gt;
Jump pad trajectory pass added 6 destination links&lt;br /&gt;
Ledge drop pass added 41 downward links&lt;br /&gt;
Generated 12 explosion targets from blocked waypoint pairs&lt;br /&gt;
Generated 3 shatter targets from breakable-glass blocked waypoint pairs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the log says '''No seed waypoints found for generation''', the level has no item/respawn/CTF/teleporter objects the generator can use as anchors - you'll need to either add some in the level editor or hand-place starter waypoints (see Step 3).&lt;br /&gt;
&lt;br /&gt;
==Step 3: Inspect and edit the graph==&lt;br /&gt;
The editor uses a dual mouse mode. By default, the mouse looks around like normal gameplay. '''Right-click''' toggles the '''UI cursor''' on and off:&lt;br /&gt;
*'''Mouse aim''' (right-click off): Look around with the mouse as in normal play. Crosshair selects the waypoint/zone/target you're looking at.&lt;br /&gt;
*'''UI cursor''' (right-click on): Mouse becomes a cursor for clicking buttons in the editor panel and dragging gizmo handles. The view is locked while in this mode.&lt;br /&gt;
&lt;br /&gt;
Switch modes freely - the panel always shows '''Right click: UI cursor''' or '''Right click: Mouse aim''' at the top so you know which is active.&lt;br /&gt;
&lt;br /&gt;
===Step 3a: Turn on debug rendering===&lt;br /&gt;
You probably want to '''see''' the waypoints first. Click the '''Debug''' button in the panel to cycle through debug modes (or run '''waypoints_debug''' / '''waypoints_debug 0|1|2|3''' in the console):&lt;br /&gt;
*'''0''' - off&lt;br /&gt;
*'''1''' - links + zone bounds + target boxes&lt;br /&gt;
*'''2''' - adds waypoint spheres, zone arrows, and target arrows&lt;br /&gt;
*'''3''' - adds labels for waypoints, zones, and targets&lt;br /&gt;
&lt;br /&gt;
Mode '''3''' is the most informative for editing but the heaviest to render. Mode '''2''' is practical for most purposes.&lt;br /&gt;
&lt;br /&gt;
===Step 3b: Select something and edit it===&lt;br /&gt;
With debug rendering on, look at any waypoint, zone, or target in the world (you do not need to be in UI cursor mode for this). The selection box shows up around the closest valid object.&lt;br /&gt;
&lt;br /&gt;
The '''Selection''' section of the panel updates with action buttons:&lt;br /&gt;
&lt;br /&gt;
For a '''waypoint''':&lt;br /&gt;
*'''Edit inbound links''' / '''Edit outbound links''' - open a dialog to add/remove individual links by typing waypoint UIDs.&lt;br /&gt;
*'''Change type''' - re-classify the waypoint (e.g. '''std''', '''item''', '''respawn''', '''jump_pad''', '''ladder''', '''ctf_flag''', '''tele_entrance''', '''tele_exit''', '''water''', etc.).&lt;br /&gt;
*'''Cycle movement type''' - cycle the dropped-waypoint subtype ('''normal''', '''crouch_needed''', '''swimming''', '''falling''', '''unsafe_terrain''').&lt;br /&gt;
*'''Auto link''' - link this waypoint to nearby waypoints with line of sight.&lt;br /&gt;
*'''Send probe''' - run a localized version of the generator outward from this waypoint. Useful for filling in coverage gaps.&lt;br /&gt;
*'''Ledge calculate''' - add downward &amp;quot;ledge drop&amp;quot; links from this waypoint to lower waypoints.&lt;br /&gt;
*'''Delete waypoint''' - remove it.&lt;br /&gt;
&lt;br /&gt;
For a '''zone''':&lt;br /&gt;
*'''Change type''' - cycle through '''control_point''', '''damaging_liquid_room''', '''damage_zone''', '''instant_death_zone''', '''bridge_use''', '''bridge_prox''', '''high_power_zone'''.&lt;br /&gt;
*'''Edit gated''' (bridge zones only) - configure which waypoints the zone gates.&lt;br /&gt;
*'''Delete zone''' - remove it.&lt;br /&gt;
&lt;br /&gt;
For a '''target''':&lt;br /&gt;
*'''Change type''' - '''explosion''', '''shatter''', or '''jump'''.&lt;br /&gt;
*'''Auto link''' - link the target to all waypoints from which it is usable.&lt;br /&gt;
*'''Edit links''' - hand-edit the linked waypoint list.&lt;br /&gt;
*'''Delete target''' - remove it.&lt;br /&gt;
&lt;br /&gt;
===Step 3c: Drag waypoints to fix placement===&lt;br /&gt;
With a waypoint or zone selected, a '''gizmo''' (3-axis arrows for waypoints, corner handles for box-extents zones) appears at the selection in UI cursor mode. Click and drag a handle to move the selection. Releasing the mouse finalizes the new position.&lt;br /&gt;
&lt;br /&gt;
===Step 3d: Add new waypoints, zones, and targets===&lt;br /&gt;
*'''New WP''' - place a new '''std''' waypoint at the position you're looking at.&lt;br /&gt;
*'''New Zone''' - opens a dialog to define a new zone (by trigger UID, room UID, or world-space box). Zone types and sources are documented inline in the dialog.&lt;br /&gt;
*'''New Target''' - opens a dialog to add a target ('''explosion''', '''shatter''', or '''jump''') at the looked-at position. Shatter targets require you to be aiming at a breakable brush.&lt;br /&gt;
&lt;br /&gt;
===Step 3e: Optional cleanup passes===&lt;br /&gt;
*'''Clean''' (or '''waypoints_clean''') - removes invalid waypoints created by failed generation passes.&lt;br /&gt;
*'''Reset to default grid''' (or '''waypoints_reset''') - clears everything and rebuilds the seed-only graph (if you want to start over without exiting the editor).&lt;br /&gt;
*'''Drop''' (or '''waypoints_drop''') - toggles auto-drop, which records a waypoint everywhere your player walks. Handy for filling in spots the auto-generator missed; '''remember to turn it off''' before you start sightseeing.&lt;br /&gt;
&lt;br /&gt;
==Step 4: Save the AWP file==&lt;br /&gt;
Click '''Save AWP file''' in the panel (or run '''waypoints_save''' in the console).&lt;br /&gt;
&lt;br /&gt;
The file is written to:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
\user_maps\waypoints\&amp;lt;level_filename&amp;gt;.awp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The editor log will print '''Waypoints saved''' on success or '''No waypoints to save''' if the graph is empty.&lt;br /&gt;
&lt;br /&gt;
To re-load a previously-saved AWP without restarting the level, click '''Load AWP file''' or run '''waypoints_load'''.&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
===Headless AWP generation with -awpgen (Advanced)===&lt;br /&gt;
For batch jobs you can launch the client with '''-awpgen &amp;lt;level&amp;gt;''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -awpgen mylevel.rfl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This loads the level, runs '''waypoints_generate''', saves the AWP, and quits. It honors any existing AWP's revision number and increments it on save, so re-running '''-awpgen''' on a level that already has an AWP produces a new revision rather than overwriting at revision 1.&lt;br /&gt;
&lt;br /&gt;
'''-awpgen''' has a 60-minute hard timeout per level. If generation hasn't completed in that time, the process logs an error and quits.&lt;br /&gt;
&lt;br /&gt;
===FactionFiles===&lt;br /&gt;
Bots fetch AWP files from FactionFiles when loading a level. The first integer in a saved AWP is its revision. When FactionFiles has a newer revision than a client, the client will fetch an update.&lt;br /&gt;
&lt;br /&gt;
If you are uploading a new level, you should go through the AWP creation process as detailed above, and provide the AWP for your level when submitting it to FactionFiles for approval.&lt;br /&gt;
&lt;br /&gt;
===Validating bot navigation===&lt;br /&gt;
Once you've saved an AWP, the easiest way to verify it works is to launch a local Alpine Faction dedicated server with bots enabled, load your level, and watch the bots navigate. See:&lt;br /&gt;
*[[Launching Alpine Faction Bots]]&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues authoring AWP files or getting bots to navigate them, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Modding_Tutorials&amp;diff=15174</id>
		<title>Red Faction Modding Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Red_Faction_Modding_Tutorials&amp;diff=15174"/>
		<updated>2026-04-28T19:45:01Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* End User Guides */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
This page lists all available tutorials for map and mod development for '''Red Faction'''.&lt;br /&gt;
&lt;br /&gt;
==Beginner==&lt;br /&gt;
*[[The Beginner's Guide to Red Faction Mapping]]&lt;br /&gt;
*[[Hello Room]]&lt;br /&gt;
*[[Beginner Mapping (Daedalus)]]&lt;br /&gt;
*[[Lighting, Water, and Vertex Editing]]&lt;br /&gt;
*[[Basic Moving Doors]] (Video)&lt;br /&gt;
*[[Brush Mode Operators]] (Video)&lt;br /&gt;
*[[Basic Portals]]&lt;br /&gt;
==Brushwork, Environments, and Texturing==&lt;br /&gt;
*[[Outside Areas, Fog, Skyboxes]] (Video)&lt;br /&gt;
*[[Geometry Bending and Twisting]] (Video)&lt;br /&gt;
*[[Subtractive Geometry and Layering - Start/End of Time]] (Video)&lt;br /&gt;
*[[Importing Custom Textures]] (Video)&lt;br /&gt;
*[[Importing Heightmap Terrain]] (Video)&lt;br /&gt;
*[[Smoothing Groups|Lightmap Smoothing Groups]]&lt;br /&gt;
==AI and Entities==&lt;br /&gt;
*[[Basic AI Attack and Patrol]]&lt;br /&gt;
==Events and Scripting==&lt;br /&gt;
*[[Creating Security Monitors]]&lt;br /&gt;
*[[Realistic Explosions]]&lt;br /&gt;
*[[Modifying Gravity]] (Video)&lt;br /&gt;
*[[Toggling Emitters]]&lt;br /&gt;
*[[Custom Cutscenes|Cutscene Tutorial (Helios/GTA/Trigger)]]&lt;br /&gt;
*[[Cutscene Tutorial|Cutscene Tutorial (Beatonator)]]&lt;br /&gt;
*[[Using Variable Data via Goals|Working with Variable Data via Goals]] (Video)&lt;br /&gt;
*[[Switchable Bolt Emitters (Forcefields)]]&lt;br /&gt;
==Lighting==&lt;br /&gt;
*[[Fake Volumetric Lighting via Particle Emitters]]&lt;br /&gt;
&amp;lt;!---==Sound==---&amp;gt;&lt;br /&gt;
==Multiplayer Specific==&lt;br /&gt;
*[[Basic Multiplayer Map]]&lt;br /&gt;
*[[Creating a Keyframe Trick]]&lt;br /&gt;
*[[Dynamic Multiplayer Spawn Points]]&lt;br /&gt;
*[[Custom Static Meshes in Multiplayer Maps]] (Video)&lt;br /&gt;
*[[RF CTF Level Design]] (Video)&lt;br /&gt;
*[[Changing Liquid Depth in Multiplayer]]&lt;br /&gt;
*[[Lighting Trick for Fullbright Player Models]]&lt;br /&gt;
*[[Crash Course on Adding Custom Meshes to Multiplayer Maps]]&lt;br /&gt;
*[[Mapping for Arena Mod]]&lt;br /&gt;
*[[Low Gravity for Multiplayer]]&lt;br /&gt;
*[[Creating Control Points]] ([https://alpinefaction.com Alpine Faction] only)&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
*[[Door Rooms]] (Video)&lt;br /&gt;
*[[Ladders]] (Video)&lt;br /&gt;
*[[Basic Decals]]&lt;br /&gt;
*[[Basic Liquids]]&lt;br /&gt;
*[[Basic Skyboxes]]&lt;br /&gt;
*[[Adding a Moon to a Skybox]]&lt;br /&gt;
*[[Distributing User Made Levels]]&lt;br /&gt;
*[[Resetting a Player Start]]&lt;br /&gt;
==Mod Development==&lt;br /&gt;
*[[Using Blender for Red Faction Static Meshes]] (Video)&lt;br /&gt;
*[[Using Blender for Red Faction Skeletal Meshes &amp;amp; Animations]] (Video)&lt;br /&gt;
*[[Static Meshes from 3ds Max]] (Video)&lt;br /&gt;
*[[First Person Weapon Models and Animations from 3ds Max]] (Video)&lt;br /&gt;
*[[Custom First Person Weapons]]&lt;br /&gt;
*[[Beginner's Guide to Table Editing]]&lt;br /&gt;
*[[Importing a Level from a Mod to the Base Game]] (Video)&lt;br /&gt;
*[[Creating and Using Custom Debris]]&lt;br /&gt;
==Workshop Sessions==&lt;br /&gt;
*[[RF Mod Development Workshop: Custom Characters]] (Video)&lt;br /&gt;
*[[RF Level Design Workshop: Part 1]] (Video)&lt;br /&gt;
*[[RF Level Design Workshop: Part 2]] (Video)&lt;br /&gt;
==End User Guides==&lt;br /&gt;
*[[Installing Conversion Mods (RF1)]]&lt;br /&gt;
*[[Installing Clientside Mods (RF1)]]&lt;br /&gt;
*[[Installing Custom Levels (RF1)]]&lt;br /&gt;
*[[Launching Alpine Faction Bots]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Launching_Alpine_Faction_Bots&amp;diff=15173</id>
		<title>Launching Alpine Faction Bots</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Launching_Alpine_Faction_Bots&amp;diff=15173"/>
		<updated>2026-04-28T19:44:30Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through setting up '''headless bots''' on a '''Red Faction 1''' [https://alpinefaction.com Alpine Faction] v1.3 dedicated server. Headless bots are Alpine Faction clients running with no rendering or sound, controlled remotely by the dedicated server. Because they connect like real players, the server gets bots that move, fight, and use the network exactly as a human would - without the dedicated server having to simulate them locally.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see:&lt;br /&gt;
*[[Setting up an Alpine Faction Dedicated Server (RF1)]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
* The dedicated server does '''not''' run the bots locally. Instead, each bot is a separate Alpine Faction process running on a computer that can reach the server.&lt;br /&gt;
* Each bot client connects to the server using the normal multiplayer connection flow, but is identified as a bot via a '''shared secret''' it sends in its join request.&lt;br /&gt;
* The dedicated server controls each bot by sending it a profile (personality, skill, name, character) and steering its behaviour over the network.&lt;br /&gt;
* By default, headless bots run with no rendering and no sound, so resource usage per bot is low.&lt;br /&gt;
&lt;br /&gt;
To run any number of headless bots, you need:&lt;br /&gt;
# A dedicated server configured with a '''bot shared secret''' (and optionally one or more '''bot profiles''').&lt;br /&gt;
# One Alpine Faction client process per bot, launched with the matching secret and the server's address.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Configure the dedicated server==&lt;br /&gt;
Open your dedicated server's ADS config file (the one you pass to '''AlpineFactionLauncher.exe''' with '''-ads''').&lt;br /&gt;
&lt;br /&gt;
Add a '''bot_shared_secret''' to the top-level (root) section. This is any 32-bit unsigned integer; treat it like a password - clients that don't send the matching secret will be rejected as bot clients.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bot_shared_secret = 1234567890&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' The shared secret value must be greater than 0. A value of 0 disables bot authentication entirely.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' The number of bots that will be filled in is capped by your server's '''ideal_player_count'''. If you want N bots, make sure '''ideal_player_count''' is at least N. Bots beyond that count will be rejected on join.&lt;br /&gt;
&lt;br /&gt;
==Step 2: (Optional) Create bot profiles==&lt;br /&gt;
You can leave the rest of the config alone - bots that connect with no profiles configured will use sensible defaults (the '''balanced''' personality and the '''average''' skill preset, with a randomized name and character).&lt;br /&gt;
&lt;br /&gt;
For more variety, you can define one or more bot profile ADS files and reference them from your server config. Each connecting bot is assigned a profile slot in round-robin fashion.&lt;br /&gt;
&lt;br /&gt;
===Step 2a: Write a profile file===&lt;br /&gt;
Create a new file, e.g. '''bots/aggressive_alice.toml''', next to your dedicated server config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Identity (both optional - leave empty to randomize from the default identity pool)&lt;br /&gt;
player_name  = &amp;quot;Alice&amp;quot;&lt;br /&gt;
mp_character = &amp;quot;miner1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Behavioural preset (see &amp;quot;Available presets&amp;quot; below)&lt;br /&gt;
personality_preset = &amp;quot;aggressive&amp;quot;&lt;br /&gt;
skill_preset       = &amp;quot;hard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Optional: tweak individual personality fields&lt;br /&gt;
[personality_overrides]&lt;br /&gt;
# Many fields are available. This guide will be expanded later to contain them.&lt;br /&gt;
&lt;br /&gt;
# Optional: tweak individual skill fields&lt;br /&gt;
[skill_overrides]&lt;br /&gt;
# Many fields are available. This guide will be expanded later to contain them.&lt;br /&gt;
&lt;br /&gt;
# Optional: enable specific quirks&lt;br /&gt;
[quirks]&lt;br /&gt;
# Many fields are available. This guide will be expanded later to contain them.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 2b: Reference profiles from the server config===&lt;br /&gt;
In your main ADS server config, add a '''bot_profiles''' array listing the relative paths to each profile file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bot_profiles = [&lt;br /&gt;
    &amp;quot;bots/aggressive_alice.toml&amp;quot;,&lt;br /&gt;
    &amp;quot;bots/sniper_bob.toml&amp;quot;,&lt;br /&gt;
    &amp;quot;bots/balanced_charlie.toml&amp;quot;,&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paths are resolved relative to the directory containing your server's ADS config.&lt;br /&gt;
&lt;br /&gt;
===Available presets===&lt;br /&gt;
'''Personality presets:''' '''balanced''', '''aggressive''', '''defensive''', '''tactician''', '''berserker''', '''objective''', '''sniper''', '''guerrilla''', '''collector''', '''brawler''', '''destroyer'''&lt;br /&gt;
&lt;br /&gt;
'''Skill presets:''' '''beginner''', '''easy''', '''average''', '''hard''', '''expert''', '''nightmare'''&lt;br /&gt;
&lt;br /&gt;
If a profile omits '''personality_preset''' it defaults to '''balanced'''. If it omits '''skill_preset''' it defaults to '''average'''.&lt;br /&gt;
&lt;br /&gt;
==Step 3: Start the dedicated server==&lt;br /&gt;
Launch your dedicated server normally:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -ads my_server.toml -port PORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Watch the server console output. You should see lines like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Bot shared secret:                     1234567890&lt;br /&gt;
  Loading bot profile: .../bots/aggressive_alice.toml&lt;br /&gt;
  Bot player name:                       Alice&lt;br /&gt;
  Bot personality preset:                aggressive&lt;br /&gt;
  Bot skill preset:                      hard&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don't see your bot configuration applied, double-check your ADS file for syntax errors and confirm the file paths in '''bot_profiles''' resolve correctly.&lt;br /&gt;
&lt;br /&gt;
==Step 4: Launch a headless bot client==&lt;br /&gt;
For each bot you want, start a separate '''AlpineFactionLauncher.exe''' process with these arguments:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -url rf://IP:PORT -bot 1234567890&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The arguments are:&lt;br /&gt;
*'''-url rf://IP:PORT''' - The address of your server. Use '''rf://127.0.0.1:7755''' if the bot is running on the same machine as the server (replace '''7755''' with whatever port your server uses).&lt;br /&gt;
*'''-bot &amp;lt;secret&amp;gt;''' - Enables headless bot mode. The number must match the '''bot_shared_secret''' from your server config exactly.&lt;br /&gt;
*'''-noquit''' (optional) - Prevents the bot process from quitting automatically when it disconnects.&lt;br /&gt;
&lt;br /&gt;
When the bot is accepted, you'll see it appear in the server's player list (with the name from its assigned profile, or a randomized default name if no profiles are configured).&lt;br /&gt;
&lt;br /&gt;
===Running multiple bots===&lt;br /&gt;
To run more than one bot, simply launch '''AlpineFactionLauncher.exe''' multiple times with the same '''-bot''' arguments. Each invocation creates a separate process.&lt;br /&gt;
&lt;br /&gt;
Each bot will be assigned the next available profile slot (round-robin), and bots beyond your server's '''ideal_player_count''' will be rejected.&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
===Debug rendering===&lt;br /&gt;
If you want to '''see''' what a bot is doing - for development, debugging, or just curiosity - replace '''-bot''' with '''-debugbot''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -url rf://127.0.0.1:7755 -debugbot 1234567890&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This launches a normal rendered Alpine Faction window controlled by the server, with bot debug overlays enabled. Use it sparingly - it's much heavier than a headless bot.&lt;br /&gt;
&lt;br /&gt;
===Without a shared secret===&lt;br /&gt;
If you don't set '''bot_shared_secret''' on your server, '''-bot'''/'''-debugbot''' clients will not be accepted as bots.&lt;br /&gt;
&lt;br /&gt;
===Bot count limit===&lt;br /&gt;
The server will reject incoming bots once the connected bot count reaches '''ideal_player_count'''. Bot slots also free up automatically when bots disconnect. To run a server with more bots, raise '''ideal_player_count''' in your server rules.&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues setting up headless bots, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Launching_Alpine_Faction_Bots&amp;diff=15172</id>
		<title>Launching Alpine Faction Bots</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Launching_Alpine_Faction_Bots&amp;diff=15172"/>
		<updated>2026-04-28T19:44:21Z</updated>

		<summary type="html">&lt;p&gt;Goober: Created page with &amp;quot;{{RF1Tutorial|Goober}} This step-by-step guide will walk you through setting up '''headless bots''' on a '''Red Faction 1''' https://alpinefaction.com Alpine Faction v1.3 dedicated server. Headless bots are Alpine Faction clients running with no rendering or sound, controlled remotely by the dedicated server. Because they connect like real players, the server gets bots that move, fight, and use the network exactly as a human would - without the dedicated server havin...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
This step-by-step guide will walk you through setting up '''headless bots''' on a '''Red Faction 1''' [[https://alpinefaction.com Alpine Faction]] v1.3 dedicated server. Headless bots are Alpine Faction clients running with no rendering or sound, controlled remotely by the dedicated server. Because they connect like real players, the server gets bots that move, fight, and use the network exactly as a human would - without the dedicated server having to simulate them locally.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' This guide assumes you have already set up an Alpine Faction dedicated server. If you have not, please see:&lt;br /&gt;
*[[Setting up an Alpine Faction Dedicated Server (RF1)]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
* The dedicated server does '''not''' run the bots locally. Instead, each bot is a separate Alpine Faction process running on a computer that can reach the server.&lt;br /&gt;
* Each bot client connects to the server using the normal multiplayer connection flow, but is identified as a bot via a '''shared secret''' it sends in its join request.&lt;br /&gt;
* The dedicated server controls each bot by sending it a profile (personality, skill, name, character) and steering its behaviour over the network.&lt;br /&gt;
* By default, headless bots run with no rendering and no sound, so resource usage per bot is low.&lt;br /&gt;
&lt;br /&gt;
To run any number of headless bots, you need:&lt;br /&gt;
# A dedicated server configured with a '''bot shared secret''' (and optionally one or more '''bot profiles''').&lt;br /&gt;
# One Alpine Faction client process per bot, launched with the matching secret and the server's address.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Configure the dedicated server==&lt;br /&gt;
Open your dedicated server's ADS config file (the one you pass to '''AlpineFactionLauncher.exe''' with '''-ads''').&lt;br /&gt;
&lt;br /&gt;
Add a '''bot_shared_secret''' to the top-level (root) section. This is any 32-bit unsigned integer; treat it like a password - clients that don't send the matching secret will be rejected as bot clients.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bot_shared_secret = 1234567890&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' The shared secret value must be greater than 0. A value of 0 disables bot authentication entirely.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT:''' The number of bots that will be filled in is capped by your server's '''ideal_player_count'''. If you want N bots, make sure '''ideal_player_count''' is at least N. Bots beyond that count will be rejected on join.&lt;br /&gt;
&lt;br /&gt;
==Step 2: (Optional) Create bot profiles==&lt;br /&gt;
You can leave the rest of the config alone - bots that connect with no profiles configured will use sensible defaults (the '''balanced''' personality and the '''average''' skill preset, with a randomized name and character).&lt;br /&gt;
&lt;br /&gt;
For more variety, you can define one or more bot profile ADS files and reference them from your server config. Each connecting bot is assigned a profile slot in round-robin fashion.&lt;br /&gt;
&lt;br /&gt;
===Step 2a: Write a profile file===&lt;br /&gt;
Create a new file, e.g. '''bots/aggressive_alice.toml''', next to your dedicated server config:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Identity (both optional - leave empty to randomize from the default identity pool)&lt;br /&gt;
player_name  = &amp;quot;Alice&amp;quot;&lt;br /&gt;
mp_character = &amp;quot;miner1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Behavioural preset (see &amp;quot;Available presets&amp;quot; below)&lt;br /&gt;
personality_preset = &amp;quot;aggressive&amp;quot;&lt;br /&gt;
skill_preset       = &amp;quot;hard&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Optional: tweak individual personality fields&lt;br /&gt;
[personality_overrides]&lt;br /&gt;
# Many fields are available. This guide will be expanded later to contain them.&lt;br /&gt;
&lt;br /&gt;
# Optional: tweak individual skill fields&lt;br /&gt;
[skill_overrides]&lt;br /&gt;
# Many fields are available. This guide will be expanded later to contain them.&lt;br /&gt;
&lt;br /&gt;
# Optional: enable specific quirks&lt;br /&gt;
[quirks]&lt;br /&gt;
# Many fields are available. This guide will be expanded later to contain them.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 2b: Reference profiles from the server config===&lt;br /&gt;
In your main ADS server config, add a '''bot_profiles''' array listing the relative paths to each profile file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
bot_profiles = [&lt;br /&gt;
    &amp;quot;bots/aggressive_alice.toml&amp;quot;,&lt;br /&gt;
    &amp;quot;bots/sniper_bob.toml&amp;quot;,&lt;br /&gt;
    &amp;quot;bots/balanced_charlie.toml&amp;quot;,&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paths are resolved relative to the directory containing your server's ADS config.&lt;br /&gt;
&lt;br /&gt;
===Available presets===&lt;br /&gt;
'''Personality presets:''' '''balanced''', '''aggressive''', '''defensive''', '''tactician''', '''berserker''', '''objective''', '''sniper''', '''guerrilla''', '''collector''', '''brawler''', '''destroyer'''&lt;br /&gt;
&lt;br /&gt;
'''Skill presets:''' '''beginner''', '''easy''', '''average''', '''hard''', '''expert''', '''nightmare'''&lt;br /&gt;
&lt;br /&gt;
If a profile omits '''personality_preset''' it defaults to '''balanced'''. If it omits '''skill_preset''' it defaults to '''average'''.&lt;br /&gt;
&lt;br /&gt;
==Step 3: Start the dedicated server==&lt;br /&gt;
Launch your dedicated server normally:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -ads my_server.toml -port PORT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Watch the server console output. You should see lines like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  Bot shared secret:                     1234567890&lt;br /&gt;
  Loading bot profile: .../bots/aggressive_alice.toml&lt;br /&gt;
  Bot player name:                       Alice&lt;br /&gt;
  Bot personality preset:                aggressive&lt;br /&gt;
  Bot skill preset:                      hard&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you don't see your bot configuration applied, double-check your ADS file for syntax errors and confirm the file paths in '''bot_profiles''' resolve correctly.&lt;br /&gt;
&lt;br /&gt;
==Step 4: Launch a headless bot client==&lt;br /&gt;
For each bot you want, start a separate '''AlpineFactionLauncher.exe''' process with these arguments:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -url rf://IP:PORT -bot 1234567890&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The arguments are:&lt;br /&gt;
*'''-url rf://IP:PORT''' - The address of your server. Use '''rf://127.0.0.1:7755''' if the bot is running on the same machine as the server (replace '''7755''' with whatever port your server uses).&lt;br /&gt;
*'''-bot &amp;lt;secret&amp;gt;''' - Enables headless bot mode. The number must match the '''bot_shared_secret''' from your server config exactly.&lt;br /&gt;
*'''-noquit''' (optional) - Prevents the bot process from quitting automatically when it disconnects.&lt;br /&gt;
&lt;br /&gt;
When the bot is accepted, you'll see it appear in the server's player list (with the name from its assigned profile, or a randomized default name if no profiles are configured).&lt;br /&gt;
&lt;br /&gt;
===Running multiple bots===&lt;br /&gt;
To run more than one bot, simply launch '''AlpineFactionLauncher.exe''' multiple times with the same '''-bot''' arguments. Each invocation creates a separate process.&lt;br /&gt;
&lt;br /&gt;
Each bot will be assigned the next available profile slot (round-robin), and bots beyond your server's '''ideal_player_count''' will be rejected.&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
===Debug rendering===&lt;br /&gt;
If you want to '''see''' what a bot is doing - for development, debugging, or just curiosity - replace '''-bot''' with '''-debugbot''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
AlpineFactionLauncher.exe -url rf://127.0.0.1:7755 -debugbot 1234567890&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This launches a normal rendered Alpine Faction window controlled by the server, with bot debug overlays enabled. Use it sparingly - it's much heavier than a headless bot.&lt;br /&gt;
&lt;br /&gt;
===Without a shared secret===&lt;br /&gt;
If you don't set '''bot_shared_secret''' on your server, '''-bot'''/'''-debugbot''' clients will not be accepted as bots.&lt;br /&gt;
&lt;br /&gt;
===Bot count limit===&lt;br /&gt;
The server will reject incoming bots once the connected bot count reaches '''ideal_player_count'''. Bot slots also free up automatically when bots disconnect. To run a server with more bots, raise '''ideal_player_count''' in your server rules.&lt;br /&gt;
&lt;br /&gt;
===Still need help?===&lt;br /&gt;
* If you run into issues setting up headless bots, it's best to join the [https://discord.gg/factionfiles Red Faction Community Discord] for some assistance.&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=RF_Client_Versions&amp;diff=15171</id>
		<title>RF Client Versions</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=RF_Client_Versions&amp;diff=15171"/>
		<updated>2026-04-22T12:41:26Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Community-Made Clients */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will list all known publicly-available Red Faction versions/clients, both official and community-made.&lt;br /&gt;
&amp;lt;!---==Feature Comparison of Commonly-Used Client Versions==&lt;br /&gt;
* [[RF Client Comparison]]---&amp;gt;&lt;br /&gt;
==Full Game==&lt;br /&gt;
===Official Clients===&lt;br /&gt;
====v1.00====&lt;br /&gt;
* Distributed as rf.exe in all retail versions of the game.&lt;br /&gt;
* Suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** v1.00 North America&lt;br /&gt;
** v1.00 French&lt;br /&gt;
** v1.00 German&lt;br /&gt;
&lt;br /&gt;
====v1.10====&lt;br /&gt;
* Created by using the corresponding officially-distributed patching utility on a v1.00 rf.exe.&lt;br /&gt;
* Small bug fix version. Ironically, at least one [[Red_Faction_FAQ#Character_reflection_in_mirrors_is_broken|known issue]] was introduced in this version.&lt;br /&gt;
* Still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** v1.10 North America&lt;br /&gt;
** v1.10 French&lt;br /&gt;
** v1.10 German&lt;br /&gt;
&lt;br /&gt;
====v1.20====&lt;br /&gt;
* Created by using the corresponding officially-distributed patching utility on a v1.00 or v1.10 rf.exe.&lt;br /&gt;
* Latest officially released version for the retail game.&lt;br /&gt;
* Fixes some bugs, makes some balance changes.&lt;br /&gt;
* While some issues were fixed, still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** v1.20 North America&lt;br /&gt;
** v1.20 French&lt;br /&gt;
** v1.20 German&lt;br /&gt;
&lt;br /&gt;
====v1.21====&lt;br /&gt;
* Distributed as rf.exe in all digital versions of the game.&lt;br /&gt;
* Recompiled version of v1.20 North America with a small number of bugs fixed. Ironically, at least one [[Red_Faction_FAQ#Game_crashes_when_I_pick_up_items|known issue]] was introduced in this version.&lt;br /&gt;
* Some major compatibility issues were fixed, and this version will launch on most modern systems.&lt;br /&gt;
* 2 known variants available:&lt;br /&gt;
** v1.21 Steam&lt;br /&gt;
** v1.21 GoG&lt;br /&gt;
&lt;br /&gt;
===Community-Made Clients===&lt;br /&gt;
====Alpine Faction====&lt;br /&gt;
[[File:Alpinelogo1.png]]&lt;br /&gt;
* [https://alpinefaction.com Alpine Faction Website]&lt;br /&gt;
* Created by Goober. Is an open source project, and a fork of [[#Dash Faction|Dash Faction]]&lt;br /&gt;
* Distributed as an installer.&lt;br /&gt;
* Consists of a custom launcher and 2 .dll files - AlpineFaction.dll and AlpineEditor.dll. When the game or editor is launched via the custom launcher, it injects the respective .dll into the v1.20 North America versions of rf.exe or RED.exe.&lt;br /&gt;
* In active development and support is provided.&lt;br /&gt;
* Includes everything offered by [[#Dash Faction|Dash Faction]] plus many additional modern features and bug fixes (see [https://alpinefaction.com Alpine Faction Website] for more information)&lt;br /&gt;
* Optionally [[Link_Alpine_Faction_to_a_FactionFiles_Account|integrates with a FactionFiles account]] to offer additional features, including achievements and in-game multiplayer map ratings.&lt;br /&gt;
* Major version releases (as of April 2026):&lt;br /&gt;
** v1.0.0 Maple (and previously v0.0.4_beta)&lt;br /&gt;
** v1.1.0 Tamarack (and previously v1.1.0_beta1 and v1.1.0_rc1)&lt;br /&gt;
** v1.2.0 Willow (and previously v1.2.0_beta1 and v1.2.0_rc1; subsequently v1.2.1 and v1.2.2)&lt;br /&gt;
** v1.3.0 Bakeapple (and previously v1.3.0_beta1, v1.3.0_beta2, and v1.3.0_beta3)&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
[[File:Dashlogo1.png]]&lt;br /&gt;
* [[Dash Faction Installation Guide]]&lt;br /&gt;
* Created by rafalh, and is an open source project&lt;br /&gt;
* Distributed as an installer since v1.50. Prior, was distributed as a .zip archive.&lt;br /&gt;
* Consists of a custom launcher and 2 .dll files - DashFaction.dll and DashEditor.dll. When the game or editor is launched via the custom launcher, it injects the respective .dll into the v1.20 North America versions of rf.exe or RED.exe.&lt;br /&gt;
* Fixes the vast majority of known issues (including security vulnerabilities and compatibility issues), provides the minimum playable base game experience on modern systems.&lt;br /&gt;
* Some limited support is still provided, but has been virtually completely feature eclipsed by [[RF Clients#Alpine Faction|Alpine Faction]].&lt;br /&gt;
* Major version releases (as of April 2025):&lt;br /&gt;
** v1.2.0&lt;br /&gt;
** v1.3.0&lt;br /&gt;
** v1.4.0 (and subsequently v1.4.1 and v1.4.2)&lt;br /&gt;
** v1.5.0 (and previously v1.5.0-rc1 and v1.5.0-rc2)&lt;br /&gt;
** v1.6.0 (and previously v1.6.0-beta and v1.6.0-rc1; subsequently v1.6.1-rc1 and v1.6.1)&lt;br /&gt;
** v1.7.0 (and previously v1.7.0-beta and v1.7.0-rc1)&lt;br /&gt;
** v1.8.0 (and previously v1.8.0-rc1)&lt;br /&gt;
** v1.9.0&lt;br /&gt;
&lt;br /&gt;
====Pure Faction====&lt;br /&gt;
[[Image:Purelogo.jpg|425px]]&lt;br /&gt;
* De facto standard RF client until roughly 2017, now considered deprecated&lt;br /&gt;
* [[Pure Faction Installation Guide]]&lt;br /&gt;
* Created by TrotSkie and digi, with contributions from S&lt;br /&gt;
* Distributed as an installer&lt;br /&gt;
* Consists of a custom launcher, custom modified version of rf.exe (named PF.exe), custom modified version of RED.exe (named REDPF.exe), and 2 .dll files - PF.dll and REDPF.dll&lt;br /&gt;
* Active development ceased roughly around 2016, last bugfix version (3.0e) released March 2018). Some limited support is still provided, but has been virtually completely feature eclipsed by [[RF Clients#Alpine Faction|Alpine Faction]].&lt;br /&gt;
* Fixes a number of known issues (including most security vulnerabilities and compatibility issues that existed as of cessation of active development), adds features such as custom resolutions, window modes, and automatic map downloader.&lt;br /&gt;
* Major version releases (as of March 2018):&lt;br /&gt;
** v1.0 (and previously b1)&lt;br /&gt;
** v2.1 (and subsequently v2.1qf1 and v2.1qf2)&lt;br /&gt;
** v3.0 (and subsequently v3.0c, v3.0d, v3.0du1, and v3.0e)&lt;br /&gt;
&lt;br /&gt;
====v1.30====&lt;br /&gt;
* Fan-made unofficial patch designed to stop cheating, now considered deprecated&lt;br /&gt;
* Created by harmLE$$, [JD]SubZ, and [JD]TrotSkie&lt;br /&gt;
* Distributed as an edited version of the [[RF Clients#v1.20|v1.20]] rf.exe file&lt;br /&gt;
* Active development ceased roughly around 2003.&lt;br /&gt;
* Fixes a few basic bugs and contains anticheat functionality that, while still rudimentary by modern standards, was enhanced when compared to the latest official retail version ([[RF Clients#v1.20|v1.20]])&lt;br /&gt;
* Still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** (Unofficial) v1.30 North America&lt;br /&gt;
** (Unofficial) v1.30 French&lt;br /&gt;
** (Unofficial) v1.30 German&lt;br /&gt;
* Most recognizable feature was that to v1.3 clients, v1.3 servers would animate in the server list&lt;br /&gt;
&lt;br /&gt;
[[Image:1.3fade.gif|600px|left|thumb|A version 1.3 animated in the serverlist]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Spectator====&lt;br /&gt;
* SubZ&lt;br /&gt;
* Distributed as an edited version of the [[RF Clients#v1.20|v1.20]] rf.exe file (named spect.exe)&lt;br /&gt;
* One-time release with no known continued development&lt;br /&gt;
* When run on a server, allowed joining clients who were also running Spectator to free look spectate&lt;br /&gt;
* Still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
&lt;br /&gt;
[[Category:Red Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=RF_Client_Versions&amp;diff=15170</id>
		<title>RF Client Versions</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=RF_Client_Versions&amp;diff=15170"/>
		<updated>2026-04-22T12:40:41Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Community-Made Clients */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will list all known publicly-available Red Faction versions/clients, both official and community-made.&lt;br /&gt;
&amp;lt;!---==Feature Comparison of Commonly-Used Client Versions==&lt;br /&gt;
* [[RF Client Comparison]]---&amp;gt;&lt;br /&gt;
==Full Game==&lt;br /&gt;
===Official Clients===&lt;br /&gt;
====v1.00====&lt;br /&gt;
* Distributed as rf.exe in all retail versions of the game.&lt;br /&gt;
* Suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** v1.00 North America&lt;br /&gt;
** v1.00 French&lt;br /&gt;
** v1.00 German&lt;br /&gt;
&lt;br /&gt;
====v1.10====&lt;br /&gt;
* Created by using the corresponding officially-distributed patching utility on a v1.00 rf.exe.&lt;br /&gt;
* Small bug fix version. Ironically, at least one [[Red_Faction_FAQ#Character_reflection_in_mirrors_is_broken|known issue]] was introduced in this version.&lt;br /&gt;
* Still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** v1.10 North America&lt;br /&gt;
** v1.10 French&lt;br /&gt;
** v1.10 German&lt;br /&gt;
&lt;br /&gt;
====v1.20====&lt;br /&gt;
* Created by using the corresponding officially-distributed patching utility on a v1.00 or v1.10 rf.exe.&lt;br /&gt;
* Latest officially released version for the retail game.&lt;br /&gt;
* Fixes some bugs, makes some balance changes.&lt;br /&gt;
* While some issues were fixed, still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** v1.20 North America&lt;br /&gt;
** v1.20 French&lt;br /&gt;
** v1.20 German&lt;br /&gt;
&lt;br /&gt;
====v1.21====&lt;br /&gt;
* Distributed as rf.exe in all digital versions of the game.&lt;br /&gt;
* Recompiled version of v1.20 North America with a small number of bugs fixed. Ironically, at least one [[Red_Faction_FAQ#Game_crashes_when_I_pick_up_items|known issue]] was introduced in this version.&lt;br /&gt;
* Some major compatibility issues were fixed, and this version will launch on most modern systems.&lt;br /&gt;
* 2 known variants available:&lt;br /&gt;
** v1.21 Steam&lt;br /&gt;
** v1.21 GoG&lt;br /&gt;
&lt;br /&gt;
===Community-Made Clients===&lt;br /&gt;
====Alpine Faction====&lt;br /&gt;
[[File:Alpinelogo1.png]]&lt;br /&gt;
* [https://alpinefaction.com Alpine Faction Website]&lt;br /&gt;
* Created by Goober. Is an open source project, and a fork of [[#Dash Faction|Dash Faction]]&lt;br /&gt;
* Distributed as an installer.&lt;br /&gt;
* Consists of a custom launcher and 2 .dll files - AlpineFaction.dll and AlpineEditor.dll. When the game or editor is launched via the custom launcher, it injects the respective .dll into the v1.20 North America versions of rf.exe or RED.exe.&lt;br /&gt;
* In active development and support is provided.&lt;br /&gt;
* Includes everything offered by [[#Dash Faction|Dash Faction]] plus many additional modern features and bug fixes (see [https://alpinefaction.com Alpine Faction Website] for more information)&lt;br /&gt;
* Optionally [[Link_Alpine_Faction_to_a_FactionFiles_Account|integrates with a FactionFiles account]] to offer additional features, including achievements and in-game multiplayer map ratings.&lt;br /&gt;
* Major version releases (as of April 2026):&lt;br /&gt;
** v1.0.0 Maple (and previously v0.0.4_beta)&lt;br /&gt;
** v1.1.0 Tamarack (and previously v1.1.0_beta1 and v1.1.0_rc1)&lt;br /&gt;
** v1.2.0 Willow (and previously v1.2.0_beta1 and v1.2.0_rc1)&lt;br /&gt;
** v1.3.0 Bakeapple (and previously v1.3.0_beta1, v1.3.0_beta2, and v1.3.0_beta3)&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
[[File:Dashlogo1.png]]&lt;br /&gt;
* [[Dash Faction Installation Guide]]&lt;br /&gt;
* Created by rafalh, and is an open source project&lt;br /&gt;
* Distributed as an installer since v1.50. Prior, was distributed as a .zip archive.&lt;br /&gt;
* Consists of a custom launcher and 2 .dll files - DashFaction.dll and DashEditor.dll. When the game or editor is launched via the custom launcher, it injects the respective .dll into the v1.20 North America versions of rf.exe or RED.exe.&lt;br /&gt;
* Fixes the vast majority of known issues (including security vulnerabilities and compatibility issues), provides the minimum playable base game experience on modern systems.&lt;br /&gt;
* Some limited support is still provided, but has been virtually completely feature eclipsed by [[RF Clients#Alpine Faction|Alpine Faction]].&lt;br /&gt;
* Major version releases (as of April 2025):&lt;br /&gt;
** v1.2.0&lt;br /&gt;
** v1.3.0&lt;br /&gt;
** v1.4.0 (and subsequently v1.4.1 and v1.4.2)&lt;br /&gt;
** v1.5.0 (and previously v1.5.0-rc1 and v1.5.0-rc2)&lt;br /&gt;
** v1.6.0 (and previously v1.6.0-beta and v1.6.0-rc1, subsequently v1.6.1-rc1 and v1.6.1)&lt;br /&gt;
** v1.7.0 (and previously v1.7.0-beta and v1.7.0-rc1)&lt;br /&gt;
** v1.8.0 (and previously v1.8.0-rc1)&lt;br /&gt;
** v1.9.0&lt;br /&gt;
&lt;br /&gt;
====Pure Faction====&lt;br /&gt;
[[Image:Purelogo.jpg|425px]]&lt;br /&gt;
* De facto standard RF client until roughly 2017, now considered deprecated&lt;br /&gt;
* [[Pure Faction Installation Guide]]&lt;br /&gt;
* Created by TrotSkie and digi, with contributions from S&lt;br /&gt;
* Distributed as an installer&lt;br /&gt;
* Consists of a custom launcher, custom modified version of rf.exe (named PF.exe), custom modified version of RED.exe (named REDPF.exe), and 2 .dll files - PF.dll and REDPF.dll&lt;br /&gt;
* Active development ceased roughly around 2016, last bugfix version (3.0e) released March 2018). Some limited support is still provided, but has been virtually completely feature eclipsed by [[RF Clients#Alpine Faction|Alpine Faction]].&lt;br /&gt;
* Fixes a number of known issues (including most security vulnerabilities and compatibility issues that existed as of cessation of active development), adds features such as custom resolutions, window modes, and automatic map downloader.&lt;br /&gt;
* Major version releases (as of March 2018):&lt;br /&gt;
** v1.0 (and previously b1)&lt;br /&gt;
** v2.1 (and subsequently v2.1qf1 and v2.1qf2)&lt;br /&gt;
** v3.0 (and subsequently v3.0c, v3.0d, v3.0du1, and v3.0e)&lt;br /&gt;
&lt;br /&gt;
====v1.30====&lt;br /&gt;
* Fan-made unofficial patch designed to stop cheating, now considered deprecated&lt;br /&gt;
* Created by harmLE$$, [JD]SubZ, and [JD]TrotSkie&lt;br /&gt;
* Distributed as an edited version of the [[RF Clients#v1.20|v1.20]] rf.exe file&lt;br /&gt;
* Active development ceased roughly around 2003.&lt;br /&gt;
* Fixes a few basic bugs and contains anticheat functionality that, while still rudimentary by modern standards, was enhanced when compared to the latest official retail version ([[RF Clients#v1.20|v1.20]])&lt;br /&gt;
* Still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
* 3 known variants available:&lt;br /&gt;
** (Unofficial) v1.30 North America&lt;br /&gt;
** (Unofficial) v1.30 French&lt;br /&gt;
** (Unofficial) v1.30 German&lt;br /&gt;
* Most recognizable feature was that to v1.3 clients, v1.3 servers would animate in the server list&lt;br /&gt;
&lt;br /&gt;
[[Image:1.3fade.gif|600px|left|thumb|A version 1.3 animated in the serverlist]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Spectator====&lt;br /&gt;
* SubZ&lt;br /&gt;
* Distributed as an edited version of the [[RF Clients#v1.20|v1.20]] rf.exe file (named spect.exe)&lt;br /&gt;
* One-time release with no known continued development&lt;br /&gt;
* When run on a server, allowed joining clients who were also running Spectator to free look spectate&lt;br /&gt;
* Still suffers from many known issues ranging from security vulnerabilities, to compatibility issues, to multiplayer cheating potential.&lt;br /&gt;
&lt;br /&gt;
[[Category:Red Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15169</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15169"/>
		<updated>2026-04-22T02:59:27Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Released 22 Apr 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Fix players being able to stand up into geometry when they should be forced to stay crouched&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* Add &amp;quot;Hold Open&amp;quot; setting to movers&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Fix Decal alpha parameter (D3D11 only)&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Fix mesh collision not properly updating when meshes are hidden/unhidden&lt;br /&gt;
* Fix modern (ie. non-Legacy) movers sometimes maintaining momentum even after stopping/pausing&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15168</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15168"/>
		<updated>2026-04-22T02:30:38Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.3.0 released: Apr 22, '26&lt;br /&gt;
- RF Game Night 183: Apr 25, '26&lt;br /&gt;
- RF Game Night 184: May 9, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15166</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15166"/>
		<updated>2026-04-17T14:31:11Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Mod / Map Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Release coming soon&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Fix players being able to stand up into geometry when they should be forced to stay crouched&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* Add &amp;quot;Hold Open&amp;quot; setting to movers&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Fix Decal alpha parameter (D3D11 only)&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Fix mesh collision not properly updating when meshes are hidden/unhidden&lt;br /&gt;
* Fix modern (ie. non-Legacy) movers sometimes maintaining momentum even after stopping/pausing&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15165</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15165"/>
		<updated>2026-04-17T14:30:21Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Mod / Map Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Release coming soon&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Fix players being able to stand up into geometry when they should be forced to stay crouched&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Fix Decal alpha parameter (D3D11 only)&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Fix mesh collision not properly updating when meshes are hidden/unhidden&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15164</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15164"/>
		<updated>2026-04-17T14:29:27Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Alpine Faction 1.3.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Release coming soon&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Fix players being able to stand up into geometry when they should be forced to stay crouched&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Fix Decal alpha parameter (D3D11 only)&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15163</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15163"/>
		<updated>2026-04-17T14:09:55Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Alpine Faction 1.3.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Release coming soon&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Fix Decal alpha parameter (D3D11 only)&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15162</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15162"/>
		<updated>2026-04-17T14:08:43Z</updated>

		<summary type="html">&lt;p&gt;Goober: add 1.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.3.0==&lt;br /&gt;
* Release coming soon&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer is now recommended. High level list of D3D11 renderer improvements:&lt;br /&gt;
** Add GPU accelerated realtime per-pixel lighting for meshes&lt;br /&gt;
** Add full mesh shadows for entities, corpses, and items&lt;br /&gt;
** Support for the gamma video setting&lt;br /&gt;
** Fix &amp;quot;P2T fix&amp;quot; not working properly&lt;br /&gt;
** Fix impact decals not rendering correctly at distance&lt;br /&gt;
** Fix hard cutoff lines on fullbright gradient alpha textures&lt;br /&gt;
** Fix mirror and security monitor textures not being properly self-illuminated&lt;br /&gt;
===General===&lt;br /&gt;
* Revamp FactionFiles link client functionality to be much more user friendly&lt;br /&gt;
* Add speedometer to HUD&lt;br /&gt;
* Add raw/modern (id Tech/Source-style) mouse input scaling&lt;br /&gt;
* Fix first person weapon running animations&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Add server-controlled advanced multiplayer bots&lt;br /&gt;
** Add in-game waypoint file editor&lt;br /&gt;
** Add FactionFiles autodownloader support for waypoint files in custom maps&lt;br /&gt;
* Revamp FactionFiles autodownloader user interface when downloading new maps&lt;br /&gt;
* Add player outlines (D3D11 only)&lt;br /&gt;
* Fix third person footsteps&lt;br /&gt;
* Show server client information on server list&lt;br /&gt;
* Split kill feed from chat box (enable with &amp;quot;ui_gamefeed&amp;quot; console command)&lt;br /&gt;
* Many spectator mode improvements&lt;br /&gt;
** Improved UX for toggling between spectator modes&lt;br /&gt;
** Powerup icons, damage flash, crouch state, rail scanner, and first person weapon animation support in first person spectate&lt;br /&gt;
** Hitsounds and kill feed in first person spectate now apply for the player being spectated&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Add FactionFiles autodownloader support by default for all levels in server rotation (disable with &amp;quot;-nodl&amp;quot; switch)&lt;br /&gt;
* Support rcon profiles (ACLs)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Expanded destruction capabilities available to developers&lt;br /&gt;
** RF2-style (brush-based) geomod&lt;br /&gt;
** Support for non-glass material breakable detail brushes&lt;br /&gt;
** Dynamic debris generation from breakable detail brushes&lt;br /&gt;
** Support breakable detail brushes using ngons&lt;br /&gt;
* New object types: Mesh, Corona, Note&lt;br /&gt;
* Add support for Gas Regions (D3D11 only)&lt;br /&gt;
* Many new events&lt;br /&gt;
* Mirror functions to level editor for brushes and groups&lt;br /&gt;
* Convert brushes to meshes in-editor&lt;br /&gt;
* Several new face/vertex mode operators&lt;br /&gt;
* Support custom texture subcategories (subdirectories)&lt;br /&gt;
* Support loading new textures/meshes (via tools menu - &amp;quot;Reload Textures&amp;quot;, &amp;quot;Reload Meshes&amp;quot;)&lt;br /&gt;
* Fix UV Unwrap window breaking when launching a fullscreen D3D application&lt;br /&gt;
* Fix autosave sometimes making brushes/objects teleport during a rotation&lt;br /&gt;
* Do not fail to create level packfile (ie. 0KB vpp) when assets are missing&lt;br /&gt;
* Include textures, meshes, and animations used in level automatically when creating level packfile&lt;br /&gt;
* New Select Objects and Hide Objects windows with UX improvements&lt;br /&gt;
* &amp;quot;To Mesh Object&amp;quot; button (in Select Objects) to convert clutter to mesh/corona&lt;br /&gt;
* Raised stock limits&lt;br /&gt;
** Lights on a single face: 64 -&amp;gt; 1024&lt;br /&gt;
** Lights per level: 1100 -&amp;gt; 8192&lt;br /&gt;
** Detail rooms: 256 -&amp;gt; 8192&lt;br /&gt;
** Geo cache face list: 16384 -&amp;gt; 65536, batch count: 512 -&amp;gt; 1024, memory pool: 8MB -&amp;gt; 32MB&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15161</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15161"/>
		<updated>2026-04-17T13:39:53Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.2.2 released: Jan 4, '26&lt;br /&gt;
- RF Game Night 183: Apr 25, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=RF1_Engine_and_Level_Editor_Limits&amp;diff=15160</id>
		<title>RF1 Engine and Level Editor Limits</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=RF1_Engine_and_Level_Editor_Limits&amp;diff=15160"/>
		<updated>2026-04-14T18:21:30Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Map Limits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
This page lists all known limitations of the GeoMod engine and maps built using [[RED]] level editor.&lt;br /&gt;
&lt;br /&gt;
==Map Limits==&lt;br /&gt;
* This table lists all known limits that you need to keep in mind when making any type of level.&lt;br /&gt;
* There's no guarantee that your map won't perform poorly or crash for other reasons, even if these limits have not been explicitly exceeded.&lt;br /&gt;
* Please note that only a few of these limits were officially documented by Volition, the rest were discovered through experimentation. It's possible additional limits exist that should be added to this list, we just haven't found them yet.&lt;br /&gt;
* The de facto standard RF server and client version [[Alpine Faction]] removes or increases a number of these limits.&lt;br /&gt;
** In cases where [[Alpine Faction]] and/or [[Dash Faction]] has removed or increased a limit, the default limit is indicated with (RF), and the Alpine and Dash Faction limits are indicated with (AF) and (DF) respectively.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects|Objects]]&lt;br /&gt;
| 1024 (RF), 65536 (AF/DF)&lt;br /&gt;
| General limit on total objects - note though that not all object types count toward this limit. Entities, corpses, clutter, items, triggers, events, keyframes, targets, and possibly more, all do.&lt;br /&gt;
|-&lt;br /&gt;
| Corpses&lt;br /&gt;
| 30 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Dead entities in corpse pose. Counts both pre-placed corpses and corpses created by entities dying during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
| Ambient sounds&lt;br /&gt;
| 25&lt;br /&gt;
| Maximum number of ambient sounds that can play simultaneously. Includes both [[RED Objects#Ambient Sound|Ambient Sound objects]] and entity fly sounds as specified by &amp;quot;$FlySnd&amp;quot; in [[entity.tbl]]. When limit is reached, newly created ambient sounds will not play.&lt;br /&gt;
|-&lt;br /&gt;
| Faces/Polygons&lt;br /&gt;
| 10500&lt;br /&gt;
| Counts all polygons on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| Face Vertices&lt;br /&gt;
| 50400&lt;br /&gt;
| Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| Vertices&lt;br /&gt;
| 13650&lt;br /&gt;
| Counts all vertices on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Light|Lights]]&lt;br /&gt;
| 1100&lt;br /&gt;
| RED will crash if this limit is exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| Lights on a surface&lt;br /&gt;
| 64&lt;br /&gt;
| If more than 64 lights are attempting to illuminate a single surface, that surface will turn pink. You can fix this by reducing the number of lights affecting the surface, or breaking up the surface so it's more than a single lightmap. Note that coplanar faces are merged together at build time to form a single surface, so if you're attempting to break it up for this reason, you must either use portals, or create a minor change in elevation. Also note that the true area of effect for a spotlight is based up on the range being used to determine the diameter (diameter = range X 2).&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Item|Items]]&lt;br /&gt;
| 200&lt;br /&gt;
| Includes pickups, CTF flags/bases, CTF banners, etc. If you exceed 200 items, the game will stop creating them after the 200th. Dropped items by killed players/AI also count as objects, but don't count toward the 200 item limit.&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]]&lt;br /&gt;
| 32&lt;br /&gt;
| If you exceed 32 multiplayer respawn points, the game will ignore any beyond the 32nd.&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Particle Emitter|Particle Emitters]]&lt;br /&gt;
| 128&lt;br /&gt;
| If you exceed 128 particle emitters, your level file will become corrupt.&lt;br /&gt;
|-&lt;br /&gt;
| Green/red boxes around switches&lt;br /&gt;
| 32&lt;br /&gt;
| If you have more than 32 switches in your map that should have green/red boxes, the box will only appear for 32 of them (the others will continue to function properly, just without the visible box).&lt;br /&gt;
|-&lt;br /&gt;
| Total [[RED Objects#Decal|Decals]] in a level&lt;br /&gt;
| 96/128 (RF), 384/512 (AF/DF)&lt;br /&gt;
| *Hard limit is absolute maximum number of decals. Soft limit is the limit after which decals begin to fade away. For decal objects placed in the editor, decals will stop being created after soft limit, and you risk level file corruption if you exceed hard limit.&amp;lt;br /&amp;gt;*For total number of decals, stock game has 96 soft limit, 128 hard limit. AF and DF have 384 soft limit, 512 hard limit.&amp;lt;br /&amp;gt;*Additional limits:&amp;lt;br /&amp;gt;**Total decals in a single room: 40/48 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;**Total weapon impact decals: 14/16 (RF), 48/64 (AF/DF)&amp;lt;br /&amp;gt;**Total GeoMod decals: 30/32 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;**Total decals on solids: 40/48 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;*In the default [[RED]] editor (non-Alpine), you'll get a pop-up warning when saving your level if it contains &amp;gt;64 decal objects. This was a hard limit for PS2 maps.&lt;br /&gt;
|-&lt;br /&gt;
| Killable objects&lt;br /&gt;
| 3200&lt;br /&gt;
| Includes all destructible clutter and mesh objects. Only applies in multiplayer.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Savegame Format Limits==&lt;br /&gt;
* This table lists all limits specific to the savegame file format.&lt;br /&gt;
* If you exceed these limits, your map may still initially load correctly, but players will experience issues when using the savegame system (including quicksaves and autosaves). For this reason, you should ensure any single player maps you create do not exceed these limits.&lt;br /&gt;
* For multiplayer maps, you can effectively ignore this table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Goal_Create events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Alarm_Siren events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| When_Dead events&lt;br /&gt;
| 20&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Cyclic_Timer events&lt;br /&gt;
| 12&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Make_Invulnerable events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| All other events with pending resolution&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Bolt Emitters&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Decals&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Entities&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Items&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Clutter&lt;br /&gt;
| 512&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Triggers&lt;br /&gt;
| 96&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Movers&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Push regions&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Persistent goals&lt;br /&gt;
| 10&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Weapons&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Blood pools&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Corpses&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Geomod craters&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Killed rooms&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Deleted events&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Engine Limits==&lt;br /&gt;
* This table lists game and engine limits that aren't specific to any of the other limit categories above.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Bullets/Projectiles&lt;br /&gt;
| Unknown (RF), Unlimited (AF/DF)&lt;br /&gt;
| Produced by weapon fire (players and AI). Exists until the $Lifetime value is exceeded, the bullet impacts something, or the projectile explodes.&lt;br /&gt;
|-&lt;br /&gt;
| Loaded Packfiles&lt;br /&gt;
| 256 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Includes all .vpp packfiles loaded by the game. These are used to store custom maps, clientside mods, etc. Without AF or DF, the game will ignore any .vpp packfiles after the 256th.&lt;br /&gt;
|-&lt;br /&gt;
| Files within Packfiles&lt;br /&gt;
| 13500 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Includes all files within all .vpp packfiles loaded by the game. Without AF or DF, the game will stop loading files in packfiles after the 13500th.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Object'''&lt;br /&gt;
|'''Specific Limit'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects|Objects]]&lt;br /&gt;
| ---&lt;br /&gt;
|1024 (RF), 65536 (AF/DF)&lt;br /&gt;
|Elements with &amp;quot;Yes&amp;quot; in the &amp;quot;Object&amp;quot; column all count toward this limit. Some objects also have their own specific limits.&lt;br /&gt;
|-&lt;br /&gt;
|Bullets/Projectiles&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown (RF), Unlimited (AF/DF)&lt;br /&gt;
|Produced by weapon fire (players and AI). Exists until the $Lifetime value is exceeded, the bullet impacts something, or the projectile explodes.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Entity|Entities]]&lt;br /&gt;
|Yes&lt;br /&gt;
|64*&lt;br /&gt;
|Includes all players (multiplayer), vehicles, AI, cameras, and turrets. *Limit is not on the number of entities, but rather the number of entities that can be saved in savegame files. If you're mapping for multiplayer, this isn't a concern.&lt;br /&gt;
|-&lt;br /&gt;
|Corpses&lt;br /&gt;
|Yes&lt;br /&gt;
|30 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Dead entities in corpse pose. Counts both pre-placed corpses and corpses created by entities dying during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
|Faces/Polygons&lt;br /&gt;
|No&lt;br /&gt;
|10500&lt;br /&gt;
|Counts all polygons on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|Face Vertices&lt;br /&gt;
|No&lt;br /&gt;
|50400&lt;br /&gt;
|Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|Vertices&lt;br /&gt;
|No&lt;br /&gt;
|13650&lt;br /&gt;
|Counts all vertices on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Light|Lights]]&lt;br /&gt;
|No&lt;br /&gt;
|1100&lt;br /&gt;
|RED will crash if this limit is exceeded.&lt;br /&gt;
|-&lt;br /&gt;
|Lights on a face&lt;br /&gt;
|No&lt;br /&gt;
|64&lt;br /&gt;
|If more than 64 lights are attempting to illuminate a single face, that face will turn pink. You can fix this by reducing the number of lights affecting the face, or breaking up the face so it's more than a single lightmap. Note that coplanar faces are merged together at build time, so if you're attempting to break up a face for this reason, you must either use portals, or create a minor change in elevation. Also note that the true area of effect for a spotlight is based up on the range being used to determine the diameter (diameter = range X 2). &lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Clutter|Clutter]]&lt;br /&gt;
|Yes&lt;br /&gt;
|512*&lt;br /&gt;
|Includes light fixtures, furniture, etc. *Limit is not on the number of clutter objects, but rather the number of them that can be saved in savegame files. If you're mapping for multiplayer, this isn't a concern.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Item|Items]]&lt;br /&gt;
|Yes&lt;br /&gt;
|200&lt;br /&gt;
|Includes pickups, CTF flags/bases, CTF banners, etc. If you exceed 200 items, the game will stop creating them after the 200th. Dropped items by killed players/AI also count as objects, but don't count toward the 200 item limit.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]]&lt;br /&gt;
|No&lt;br /&gt;
|32&lt;br /&gt;
|If you exceed 32 multiplayer respawn points, the game will ignore any beyond the 32nd.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Particle Emitter|Particle Emitters]]&lt;br /&gt;
|No&lt;br /&gt;
|128&lt;br /&gt;
|If you exceed 128 particle emitters, your level file will become corrupt.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Triggers|Triggers]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes Trigger Door, Trigger Auto, and Trigger Event.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Events|Events]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes all types of events.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Keyframe|Keyframes]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes each keyframe object, silver and gold alike.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Target|Targets]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Target objects - primarily used for cutscene cameras and bolt emitters.&lt;br /&gt;
|-&lt;br /&gt;
|Loaded Packfiles&lt;br /&gt;
|No&lt;br /&gt;
|256 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Includes all .vpp packfiles loaded by the game. These are used to store custom maps, clientside mods, etc. Without AF or DF, the game will ignore any .vpp packfiles after the 256th.&lt;br /&gt;
|-&lt;br /&gt;
|Files within Packfiles&lt;br /&gt;
|No&lt;br /&gt;
|13500 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Includes all files within all .vpp packfiles loaded by the game. Without AF or DF, the game will stop loading files in packfiles after the 13500th.&lt;br /&gt;
|-&lt;br /&gt;
|Total [[RED Objects#Decal|Decals]] in a level&lt;br /&gt;
|No&lt;br /&gt;
|96/128 (RF), 384/512 (AF/DF)&lt;br /&gt;
|&lt;br /&gt;
*Hard limit is absolute maximum number of decals. Soft limit is the limit after which decals begin to fade away. For decal objects placed in the editor, decals will stop being created after soft limit, and you risk level file corruption if you exceed hard limit.&lt;br /&gt;
*For total number of decals, stock game has 96 soft limit, 128 hard limit. AF and DF have 384 soft limit, 512 hard limit.&lt;br /&gt;
*Additional limits:&lt;br /&gt;
**Total decals in a single room: 40/48 (RF), 96/127 (AF/DF)&lt;br /&gt;
**Total weapon impact decals: 14/16 (RF), 48/64 (AF/DF)&lt;br /&gt;
**Total GeoMod decals: 30/32 (RF), 96/127 (AF/DF)&lt;br /&gt;
**Total decals on solids: 40/48 (RF), 96/127 (AF/DF)&lt;br /&gt;
*In the default [[RED]] editor (non-Alpine), you'll get a pop-up warning when saving your level if it contains &amp;gt;64 decal objects. This was a hard limit for PS2 maps.&lt;br /&gt;
|-&lt;br /&gt;
|}---&amp;gt;&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=RF1_Engine_and_Level_Editor_Limits&amp;diff=15159</id>
		<title>RF1 Engine and Level Editor Limits</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=RF1_Engine_and_Level_Editor_Limits&amp;diff=15159"/>
		<updated>2026-04-14T18:21:14Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Map Limits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
This page lists all known limitations of the GeoMod engine and maps built using [[RED]] level editor.&lt;br /&gt;
&lt;br /&gt;
==Map Limits==&lt;br /&gt;
* This table lists all known limits that you need to keep in mind when making any type of level.&lt;br /&gt;
* There's no guarantee that your map won't perform poorly or crash for other reasons, even if these limits have not been explicitly exceeded.&lt;br /&gt;
* Please note that only a few of these limits were officially documented by Volition, the rest were discovered through experimentation. It's possible additional limits exist that should be added to this list, we just haven't found them yet.&lt;br /&gt;
* The de facto standard RF server and client version [[Alpine Faction]] removes or increases a number of these limits.&lt;br /&gt;
** In cases where [[Alpine Faction]] and/or [[Dash Faction]] has removed or increased a limit, the default limit is indicated with (RF), and the Alpine and Dash Faction limits are indicated with (AF) and (DF) respectively.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects|Objects]]&lt;br /&gt;
| 1024 (RF), 65536 (AF/DF)&lt;br /&gt;
| General limit on total objects - note though that not all object types count toward this limit. Entities, corpses, clutter, items, triggers, events, keyframes, targets, and possibly more, all do.&lt;br /&gt;
|-&lt;br /&gt;
| Corpses&lt;br /&gt;
| 30 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Dead entities in corpse pose. Counts both pre-placed corpses and corpses created by entities dying during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
| Ambient sounds&lt;br /&gt;
| 25&lt;br /&gt;
| Maximum number of ambient sounds that can play simultaneously. Includes both [[RED Objects#Ambient Sound|Ambient Sound objects]] and entity fly sounds as specified by &amp;quot;$FlySnd&amp;quot; in [[entity.tbl]]. When limit is reached, newly created ambient sounds will not play.&lt;br /&gt;
|-&lt;br /&gt;
| Faces/Polygons&lt;br /&gt;
| 10500&lt;br /&gt;
| Counts all polygons on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| Face Vertices&lt;br /&gt;
| 50400&lt;br /&gt;
| Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| Vertices&lt;br /&gt;
| 13650&lt;br /&gt;
| Counts all vertices on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Light|Lights]]&lt;br /&gt;
| 1100&lt;br /&gt;
| RED will crash if this limit is exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| Lights on a surface&lt;br /&gt;
| 64&lt;br /&gt;
| If more than 64 lights are attempting to illuminate a single surface, that surface will turn pink. You can fix this by reducing the number of lights affecting the surface, or breaking up the surface so it's more than a single lightmap. Note that coplanar faces are merged together at build time to form a single surface, so if you're attempting to break it up for this reason, you must either use portals, or create a minor change in elevation. Also note that the true area of effect for a spotlight is based up on the range being used to determine the diameter (diameter = range X 2).&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Item|Items]]&lt;br /&gt;
| 200&lt;br /&gt;
| Includes pickups, CTF flags/bases, CTF banners, etc. If you exceed 200 items, the game will stop creating them after the 200th. Dropped items by killed players/AI also count as objects, but don't count toward the 200 item limit.&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]]&lt;br /&gt;
| 32&lt;br /&gt;
| If you exceed 32 multiplayer respawn points, the game will ignore any beyond the 32nd.&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Particle Emitter|Particle Emitters]]&lt;br /&gt;
| 128&lt;br /&gt;
| If you exceed 128 particle emitters, your level file will become corrupt.&lt;br /&gt;
|-&lt;br /&gt;
| Green/red boxes around switches&lt;br /&gt;
| 32&lt;br /&gt;
| If you have more than 32 switches in your map that should have green/red boxes, the box will only appear for 32 of them (the others will continue to function properly, just without the visible box).&lt;br /&gt;
|-&lt;br /&gt;
| Total [[RED Objects#Decal|Decals]] in a level&lt;br /&gt;
| 96/128 (RF), 384/512 (AF/DF)&lt;br /&gt;
| *Hard limit is absolute maximum number of decals. Soft limit is the limit after which decals begin to fade away. For decal objects placed in the editor, decals will stop being created after soft limit, and you risk level file corruption if you exceed hard limit.&amp;lt;br /&amp;gt;*For total number of decals, stock game has 96 soft limit, 128 hard limit. AF and DF have 384 soft limit, 512 hard limit.&amp;lt;br /&amp;gt;*Additional limits:&amp;lt;br /&amp;gt;**Total decals in a single room: 40/48 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;**Total weapon impact decals: 14/16 (RF), 48/64 (AF/DF)&amp;lt;br /&amp;gt;**Total GeoMod decals: 30/32 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;**Total decals on solids: 40/48 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;*In the default [[RED]] editor (non-Alpine), you'll get a pop-up warning when saving your level if it contains &amp;gt;64 decal objects. This was a hard limit for PS2 maps.&lt;br /&gt;
| Killable objects&lt;br /&gt;
| 3200&lt;br /&gt;
| Includes all destructible clutter and mesh objects. Only applies in multiplayer.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Savegame Format Limits==&lt;br /&gt;
* This table lists all limits specific to the savegame file format.&lt;br /&gt;
* If you exceed these limits, your map may still initially load correctly, but players will experience issues when using the savegame system (including quicksaves and autosaves). For this reason, you should ensure any single player maps you create do not exceed these limits.&lt;br /&gt;
* For multiplayer maps, you can effectively ignore this table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Goal_Create events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Alarm_Siren events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| When_Dead events&lt;br /&gt;
| 20&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Cyclic_Timer events&lt;br /&gt;
| 12&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Make_Invulnerable events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| All other events with pending resolution&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Bolt Emitters&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Decals&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Entities&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Items&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Clutter&lt;br /&gt;
| 512&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Triggers&lt;br /&gt;
| 96&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Movers&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Push regions&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Persistent goals&lt;br /&gt;
| 10&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Weapons&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Blood pools&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Corpses&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Geomod craters&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Killed rooms&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Deleted events&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Engine Limits==&lt;br /&gt;
* This table lists game and engine limits that aren't specific to any of the other limit categories above.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Bullets/Projectiles&lt;br /&gt;
| Unknown (RF), Unlimited (AF/DF)&lt;br /&gt;
| Produced by weapon fire (players and AI). Exists until the $Lifetime value is exceeded, the bullet impacts something, or the projectile explodes.&lt;br /&gt;
|-&lt;br /&gt;
| Loaded Packfiles&lt;br /&gt;
| 256 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Includes all .vpp packfiles loaded by the game. These are used to store custom maps, clientside mods, etc. Without AF or DF, the game will ignore any .vpp packfiles after the 256th.&lt;br /&gt;
|-&lt;br /&gt;
| Files within Packfiles&lt;br /&gt;
| 13500 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Includes all files within all .vpp packfiles loaded by the game. Without AF or DF, the game will stop loading files in packfiles after the 13500th.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Object'''&lt;br /&gt;
|'''Specific Limit'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects|Objects]]&lt;br /&gt;
| ---&lt;br /&gt;
|1024 (RF), 65536 (AF/DF)&lt;br /&gt;
|Elements with &amp;quot;Yes&amp;quot; in the &amp;quot;Object&amp;quot; column all count toward this limit. Some objects also have their own specific limits.&lt;br /&gt;
|-&lt;br /&gt;
|Bullets/Projectiles&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown (RF), Unlimited (AF/DF)&lt;br /&gt;
|Produced by weapon fire (players and AI). Exists until the $Lifetime value is exceeded, the bullet impacts something, or the projectile explodes.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Entity|Entities]]&lt;br /&gt;
|Yes&lt;br /&gt;
|64*&lt;br /&gt;
|Includes all players (multiplayer), vehicles, AI, cameras, and turrets. *Limit is not on the number of entities, but rather the number of entities that can be saved in savegame files. If you're mapping for multiplayer, this isn't a concern.&lt;br /&gt;
|-&lt;br /&gt;
|Corpses&lt;br /&gt;
|Yes&lt;br /&gt;
|30 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Dead entities in corpse pose. Counts both pre-placed corpses and corpses created by entities dying during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
|Faces/Polygons&lt;br /&gt;
|No&lt;br /&gt;
|10500&lt;br /&gt;
|Counts all polygons on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|Face Vertices&lt;br /&gt;
|No&lt;br /&gt;
|50400&lt;br /&gt;
|Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|Vertices&lt;br /&gt;
|No&lt;br /&gt;
|13650&lt;br /&gt;
|Counts all vertices on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Light|Lights]]&lt;br /&gt;
|No&lt;br /&gt;
|1100&lt;br /&gt;
|RED will crash if this limit is exceeded.&lt;br /&gt;
|-&lt;br /&gt;
|Lights on a face&lt;br /&gt;
|No&lt;br /&gt;
|64&lt;br /&gt;
|If more than 64 lights are attempting to illuminate a single face, that face will turn pink. You can fix this by reducing the number of lights affecting the face, or breaking up the face so it's more than a single lightmap. Note that coplanar faces are merged together at build time, so if you're attempting to break up a face for this reason, you must either use portals, or create a minor change in elevation. Also note that the true area of effect for a spotlight is based up on the range being used to determine the diameter (diameter = range X 2). &lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Clutter|Clutter]]&lt;br /&gt;
|Yes&lt;br /&gt;
|512*&lt;br /&gt;
|Includes light fixtures, furniture, etc. *Limit is not on the number of clutter objects, but rather the number of them that can be saved in savegame files. If you're mapping for multiplayer, this isn't a concern.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Item|Items]]&lt;br /&gt;
|Yes&lt;br /&gt;
|200&lt;br /&gt;
|Includes pickups, CTF flags/bases, CTF banners, etc. If you exceed 200 items, the game will stop creating them after the 200th. Dropped items by killed players/AI also count as objects, but don't count toward the 200 item limit.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]]&lt;br /&gt;
|No&lt;br /&gt;
|32&lt;br /&gt;
|If you exceed 32 multiplayer respawn points, the game will ignore any beyond the 32nd.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Particle Emitter|Particle Emitters]]&lt;br /&gt;
|No&lt;br /&gt;
|128&lt;br /&gt;
|If you exceed 128 particle emitters, your level file will become corrupt.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Triggers|Triggers]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes Trigger Door, Trigger Auto, and Trigger Event.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Events|Events]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes all types of events.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Keyframe|Keyframes]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes each keyframe object, silver and gold alike.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Target|Targets]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Target objects - primarily used for cutscene cameras and bolt emitters.&lt;br /&gt;
|-&lt;br /&gt;
|Loaded Packfiles&lt;br /&gt;
|No&lt;br /&gt;
|256 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Includes all .vpp packfiles loaded by the game. These are used to store custom maps, clientside mods, etc. Without AF or DF, the game will ignore any .vpp packfiles after the 256th.&lt;br /&gt;
|-&lt;br /&gt;
|Files within Packfiles&lt;br /&gt;
|No&lt;br /&gt;
|13500 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Includes all files within all .vpp packfiles loaded by the game. Without AF or DF, the game will stop loading files in packfiles after the 13500th.&lt;br /&gt;
|-&lt;br /&gt;
|Total [[RED Objects#Decal|Decals]] in a level&lt;br /&gt;
|No&lt;br /&gt;
|96/128 (RF), 384/512 (AF/DF)&lt;br /&gt;
|&lt;br /&gt;
*Hard limit is absolute maximum number of decals. Soft limit is the limit after which decals begin to fade away. For decal objects placed in the editor, decals will stop being created after soft limit, and you risk level file corruption if you exceed hard limit.&lt;br /&gt;
*For total number of decals, stock game has 96 soft limit, 128 hard limit. AF and DF have 384 soft limit, 512 hard limit.&lt;br /&gt;
*Additional limits:&lt;br /&gt;
**Total decals in a single room: 40/48 (RF), 96/127 (AF/DF)&lt;br /&gt;
**Total weapon impact decals: 14/16 (RF), 48/64 (AF/DF)&lt;br /&gt;
**Total GeoMod decals: 30/32 (RF), 96/127 (AF/DF)&lt;br /&gt;
**Total decals on solids: 40/48 (RF), 96/127 (AF/DF)&lt;br /&gt;
*In the default [[RED]] editor (non-Alpine), you'll get a pop-up warning when saving your level if it contains &amp;gt;64 decal objects. This was a hard limit for PS2 maps.&lt;br /&gt;
|-&lt;br /&gt;
|}---&amp;gt;&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15158</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15158"/>
		<updated>2026-03-30T02:57:45Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.2.2 released: Jan 4, '26&lt;br /&gt;
- RF Game Night 182: Apr 11, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15157</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15157"/>
		<updated>2026-03-28T03:57:12Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.2.2 released: Jan 4, '26&lt;br /&gt;
- RF Game Night 181: Mar 28, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15153</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15153"/>
		<updated>2026-02-01T16:17:55Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.2.2 released: Jan 4, '26&lt;br /&gt;
- RF Game Night 178: Feb 14, '26&lt;br /&gt;
- RF Game Night 179: Feb 28, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=RF1_Engine_and_Level_Editor_Limits&amp;diff=15151</id>
		<title>RF1 Engine and Level Editor Limits</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=RF1_Engine_and_Level_Editor_Limits&amp;diff=15151"/>
		<updated>2026-01-18T14:10:33Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Savegame Format Limits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
This page lists all known limitations of the GeoMod engine and maps built using [[RED]] level editor.&lt;br /&gt;
&lt;br /&gt;
==Map Limits==&lt;br /&gt;
* This table lists all known limits that you need to keep in mind when making any type of level.&lt;br /&gt;
* There's no guarantee that your map won't perform poorly or crash for other reasons, even if these limits have not been explicitly exceeded.&lt;br /&gt;
* Please note that only a few of these limits were officially documented by Volition, the rest were discovered through experimentation. It's possible additional limits exist that should be added to this list, we just haven't found them yet.&lt;br /&gt;
* The de facto standard RF server and client version [[Alpine Faction]] removes or increases a number of these limits.&lt;br /&gt;
** In cases where [[Alpine Faction]] and/or [[Dash Faction]] has removed or increased a limit, the default limit is indicated with (RF), and the Alpine and Dash Faction limits are indicated with (AF) and (DF) respectively.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects|Objects]]&lt;br /&gt;
| 1024 (RF), 65536 (AF/DF)&lt;br /&gt;
| General limit on total objects - note though that not all object types count toward this limit. Entities, corpses, clutter, items, triggers, events, keyframes, targets, and possibly more, all do.&lt;br /&gt;
|-&lt;br /&gt;
| Corpses&lt;br /&gt;
| 30 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Dead entities in corpse pose. Counts both pre-placed corpses and corpses created by entities dying during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
| Ambient sounds&lt;br /&gt;
| 25&lt;br /&gt;
| Maximum number of ambient sounds that can play simultaneously. Includes both [[RED Objects#Ambient Sound|Ambient Sound objects]] and entity fly sounds as specified by &amp;quot;$FlySnd&amp;quot; in [[entity.tbl]]. When limit is reached, newly created ambient sounds will not play.&lt;br /&gt;
|-&lt;br /&gt;
| Faces/Polygons&lt;br /&gt;
| 10500&lt;br /&gt;
| Counts all polygons on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| Face Vertices&lt;br /&gt;
| 50400&lt;br /&gt;
| Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| Vertices&lt;br /&gt;
| 13650&lt;br /&gt;
| Counts all vertices on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Light|Lights]]&lt;br /&gt;
| 1100&lt;br /&gt;
| RED will crash if this limit is exceeded.&lt;br /&gt;
|-&lt;br /&gt;
| Lights on a surface&lt;br /&gt;
| 64&lt;br /&gt;
| If more than 64 lights are attempting to illuminate a single surface, that surface will turn pink. You can fix this by reducing the number of lights affecting the surface, or breaking up the surface so it's more than a single lightmap. Note that coplanar faces are merged together at build time to form a single surface, so if you're attempting to break it up for this reason, you must either use portals, or create a minor change in elevation. Also note that the true area of effect for a spotlight is based up on the range being used to determine the diameter (diameter = range X 2).&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Item|Items]]&lt;br /&gt;
| 200&lt;br /&gt;
| Includes pickups, CTF flags/bases, CTF banners, etc. If you exceed 200 items, the game will stop creating them after the 200th. Dropped items by killed players/AI also count as objects, but don't count toward the 200 item limit.&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]]&lt;br /&gt;
| 32&lt;br /&gt;
| If you exceed 32 multiplayer respawn points, the game will ignore any beyond the 32nd.&lt;br /&gt;
|-&lt;br /&gt;
| [[RED Objects#Particle Emitter|Particle Emitters]]&lt;br /&gt;
| 128&lt;br /&gt;
| If you exceed 128 particle emitters, your level file will become corrupt.&lt;br /&gt;
|-&lt;br /&gt;
| Green/red boxes around switches&lt;br /&gt;
| 32&lt;br /&gt;
| If you have more than 32 switches in your map that should have green/red boxes, the box will only appear for 32 of them (the others will continue to function properly, just without the visible box).&lt;br /&gt;
|-&lt;br /&gt;
| Total [[RED Objects#Decal|Decals]] in a level&lt;br /&gt;
| 96/128 (RF), 384/512 (AF/DF)&lt;br /&gt;
| *Hard limit is absolute maximum number of decals. Soft limit is the limit after which decals begin to fade away. For decal objects placed in the editor, decals will stop being created after soft limit, and you risk level file corruption if you exceed hard limit.&amp;lt;br /&amp;gt;*For total number of decals, stock game has 96 soft limit, 128 hard limit. AF and DF have 384 soft limit, 512 hard limit.&amp;lt;br /&amp;gt;*Additional limits:&amp;lt;br /&amp;gt;**Total decals in a single room: 40/48 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;**Total weapon impact decals: 14/16 (RF), 48/64 (AF/DF)&amp;lt;br /&amp;gt;**Total GeoMod decals: 30/32 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;**Total decals on solids: 40/48 (RF), 96/127 (AF/DF)&amp;lt;br /&amp;gt;*In the default [[RED]] editor (non-Alpine), you'll get a pop-up warning when saving your level if it contains &amp;gt;64 decal objects. This was a hard limit for PS2 maps.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Savegame Format Limits==&lt;br /&gt;
* This table lists all limits specific to the savegame file format.&lt;br /&gt;
* If you exceed these limits, your map may still initially load correctly, but players will experience issues when using the savegame system (including quicksaves and autosaves). For this reason, you should ensure any single player maps you create do not exceed these limits.&lt;br /&gt;
* For multiplayer maps, you can effectively ignore this table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Goal_Create events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Alarm_Siren events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| When_Dead events&lt;br /&gt;
| 20&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Cyclic_Timer events&lt;br /&gt;
| 12&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Make_Invulnerable events&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| All other events with pending resolution&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Bolt Emitters&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Decals&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Entities&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Items&lt;br /&gt;
| 64&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Clutter&lt;br /&gt;
| 512&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Triggers&lt;br /&gt;
| 96&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Movers&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Push regions&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Persistent goals&lt;br /&gt;
| 10&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Weapons&lt;br /&gt;
| 8&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Blood pools&lt;br /&gt;
| 16&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Corpses&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Geomod craters&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Killed rooms&lt;br /&gt;
| 128&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| Deleted events&lt;br /&gt;
| 32&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==General Engine Limits==&lt;br /&gt;
* This table lists game and engine limits that aren't specific to any of the other limit categories above.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! '''Element'''&lt;br /&gt;
! '''Limit'''&lt;br /&gt;
! '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| Bullets/Projectiles&lt;br /&gt;
| Unknown (RF), Unlimited (AF/DF)&lt;br /&gt;
| Produced by weapon fire (players and AI). Exists until the $Lifetime value is exceeded, the bullet impacts something, or the projectile explodes.&lt;br /&gt;
|-&lt;br /&gt;
| Loaded Packfiles&lt;br /&gt;
| 256 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Includes all .vpp packfiles loaded by the game. These are used to store custom maps, clientside mods, etc. Without AF or DF, the game will ignore any .vpp packfiles after the 256th.&lt;br /&gt;
|-&lt;br /&gt;
| Files within Packfiles&lt;br /&gt;
| 13500 (RF), Unlimited (AF/DF)&lt;br /&gt;
| Includes all files within all .vpp packfiles loaded by the game. Without AF or DF, the game will stop loading files in packfiles after the 13500th.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!---&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Element'''&lt;br /&gt;
|'''Object'''&lt;br /&gt;
|'''Specific Limit'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects|Objects]]&lt;br /&gt;
| ---&lt;br /&gt;
|1024 (RF), 65536 (AF/DF)&lt;br /&gt;
|Elements with &amp;quot;Yes&amp;quot; in the &amp;quot;Object&amp;quot; column all count toward this limit. Some objects also have their own specific limits.&lt;br /&gt;
|-&lt;br /&gt;
|Bullets/Projectiles&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown (RF), Unlimited (AF/DF)&lt;br /&gt;
|Produced by weapon fire (players and AI). Exists until the $Lifetime value is exceeded, the bullet impacts something, or the projectile explodes.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Entity|Entities]]&lt;br /&gt;
|Yes&lt;br /&gt;
|64*&lt;br /&gt;
|Includes all players (multiplayer), vehicles, AI, cameras, and turrets. *Limit is not on the number of entities, but rather the number of entities that can be saved in savegame files. If you're mapping for multiplayer, this isn't a concern.&lt;br /&gt;
|-&lt;br /&gt;
|Corpses&lt;br /&gt;
|Yes&lt;br /&gt;
|30 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Dead entities in corpse pose. Counts both pre-placed corpses and corpses created by entities dying during gameplay.&lt;br /&gt;
|-&lt;br /&gt;
|Faces/Polygons&lt;br /&gt;
|No&lt;br /&gt;
|10500&lt;br /&gt;
|Counts all polygons on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|Face Vertices&lt;br /&gt;
|No&lt;br /&gt;
|50400&lt;br /&gt;
|Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|Vertices&lt;br /&gt;
|No&lt;br /&gt;
|13650&lt;br /&gt;
|Counts all vertices on geometry (brushes) in a level. Note that this is a &amp;quot;soft limit&amp;quot;, and nothing bad will necessarily happen simply as a result of exceeding this limit. (the RED console will turn red in color, though)&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Light|Lights]]&lt;br /&gt;
|No&lt;br /&gt;
|1100&lt;br /&gt;
|RED will crash if this limit is exceeded.&lt;br /&gt;
|-&lt;br /&gt;
|Lights on a face&lt;br /&gt;
|No&lt;br /&gt;
|64&lt;br /&gt;
|If more than 64 lights are attempting to illuminate a single face, that face will turn pink. You can fix this by reducing the number of lights affecting the face, or breaking up the face so it's more than a single lightmap. Note that coplanar faces are merged together at build time, so if you're attempting to break up a face for this reason, you must either use portals, or create a minor change in elevation. Also note that the true area of effect for a spotlight is based up on the range being used to determine the diameter (diameter = range X 2). &lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Clutter|Clutter]]&lt;br /&gt;
|Yes&lt;br /&gt;
|512*&lt;br /&gt;
|Includes light fixtures, furniture, etc. *Limit is not on the number of clutter objects, but rather the number of them that can be saved in savegame files. If you're mapping for multiplayer, this isn't a concern.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Item|Items]]&lt;br /&gt;
|Yes&lt;br /&gt;
|200&lt;br /&gt;
|Includes pickups, CTF flags/bases, CTF banners, etc. If you exceed 200 items, the game will stop creating them after the 200th. Dropped items by killed players/AI also count as objects, but don't count toward the 200 item limit.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]]&lt;br /&gt;
|No&lt;br /&gt;
|32&lt;br /&gt;
|If you exceed 32 multiplayer respawn points, the game will ignore any beyond the 32nd.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Particle Emitter|Particle Emitters]]&lt;br /&gt;
|No&lt;br /&gt;
|128&lt;br /&gt;
|If you exceed 128 particle emitters, your level file will become corrupt.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Triggers|Triggers]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes Trigger Door, Trigger Auto, and Trigger Event.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Events|Events]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes all types of events.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Keyframe|Keyframes]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Includes each keyframe object, silver and gold alike.&lt;br /&gt;
|-&lt;br /&gt;
|[[RED Objects#Target|Targets]]&lt;br /&gt;
|Yes&lt;br /&gt;
|Unknown&lt;br /&gt;
|Target objects - primarily used for cutscene cameras and bolt emitters.&lt;br /&gt;
|-&lt;br /&gt;
|Loaded Packfiles&lt;br /&gt;
|No&lt;br /&gt;
|256 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Includes all .vpp packfiles loaded by the game. These are used to store custom maps, clientside mods, etc. Without AF or DF, the game will ignore any .vpp packfiles after the 256th.&lt;br /&gt;
|-&lt;br /&gt;
|Files within Packfiles&lt;br /&gt;
|No&lt;br /&gt;
|13500 (RF), Unlimited (AF/DF)&lt;br /&gt;
|Includes all files within all .vpp packfiles loaded by the game. Without AF or DF, the game will stop loading files in packfiles after the 13500th.&lt;br /&gt;
|-&lt;br /&gt;
|Total [[RED Objects#Decal|Decals]] in a level&lt;br /&gt;
|No&lt;br /&gt;
|96/128 (RF), 384/512 (AF/DF)&lt;br /&gt;
|&lt;br /&gt;
*Hard limit is absolute maximum number of decals. Soft limit is the limit after which decals begin to fade away. For decal objects placed in the editor, decals will stop being created after soft limit, and you risk level file corruption if you exceed hard limit.&lt;br /&gt;
*For total number of decals, stock game has 96 soft limit, 128 hard limit. AF and DF have 384 soft limit, 512 hard limit.&lt;br /&gt;
*Additional limits:&lt;br /&gt;
**Total decals in a single room: 40/48 (RF), 96/127 (AF/DF)&lt;br /&gt;
**Total weapon impact decals: 14/16 (RF), 48/64 (AF/DF)&lt;br /&gt;
**Total GeoMod decals: 30/32 (RF), 96/127 (AF/DF)&lt;br /&gt;
**Total decals on solids: 40/48 (RF), 96/127 (AF/DF)&lt;br /&gt;
*In the default [[RED]] editor (non-Alpine), you'll get a pop-up warning when saving your level if it contains &amp;gt;64 decal objects. This was a hard limit for PS2 maps.&lt;br /&gt;
|-&lt;br /&gt;
|}---&amp;gt;&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=The_Beginner%27s_Guide_to_Red_Faction_Mapping&amp;diff=15150</id>
		<title>The Beginner's Guide to Red Faction Mapping</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=The_Beginner%27s_Guide_to_Red_Faction_Mapping&amp;diff=15150"/>
		<updated>2026-01-16T12:21:13Z</updated>

		<summary type="html">&lt;p&gt;Goober: fix typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{RF1Tutorial|Goober}}&lt;br /&gt;
==Overview==&lt;br /&gt;
===Goal===&lt;br /&gt;
The goal of this Beginner's Guide is to show you how to build a very simple Red Faction map, entirely from scratch. We'll cover basic geometry, texturing, lighting, pickups, nav points, and enemies. You'll also learn the basics of how to navigate in the level editor, and the small number of hotkeys you'll need to use.&lt;br /&gt;
&lt;br /&gt;
===Audience===&lt;br /&gt;
This Beginner's Guide is just that - a guide for beginners. If you've used RED before, you probably know most of this stuff. There's no harm in skimming down through it to see if there's a tip or two for you to pick up, but in general if you're an experienced RED user, you'll probably get more from some of the more advanced tutorials listed on the [[RF1 Editing Main Page]].&lt;br /&gt;
&lt;br /&gt;
===Assumptions===&lt;br /&gt;
If you're reading this tutorial, I'm assuming you've played Red Faction at least a few times and have a basic understanding of how to use software on a computer - that's it! Other than that, we'll take it from the ground floor and build up.&lt;br /&gt;
&lt;br /&gt;
==The Basics==&lt;br /&gt;
===Before we begin===&lt;br /&gt;
[[File:REDBG_AlpineLauncher.jpg|thumb|300px|Click the Level Editor button in the [[Alpine Faction]] launcher to start [[RED]].]]&lt;br /&gt;
Red Faction is the game, Geo-Mod is the engine on which the game runs, and RED is the level editing tool used to create maps for the game.&lt;br /&gt;
&lt;br /&gt;
Red Faction was originally released for the PlayStation 2, then later for the PC - both in 2001. As you can probably imagine, there are a number of issues that can come up when trying to run software written over 20 years ago on a modern computer, not to mention the fact that the game hasn't received an official update since a few months after the initial release. Thankfully, the community stepped in to remedy that situation - Alpine Faction is a community-made patch, which is basically essential for anyone planning to play or develop for the game these days. It adds tons of new modern features to the game and the level editor, fixes all of the most relevant problems the game has, and lets you play the game without issue on modern computers.&lt;br /&gt;
&lt;br /&gt;
If you don't already have Alpine Faction installed, you should go do that before proceeding with this tutorial - it's very simple to install and only take a minute. You can find more information and the download at the [https://alpinefaction.com Alpine Faction website].&lt;br /&gt;
&lt;br /&gt;
===Launching RED===&lt;br /&gt;
Open the Alpine Faction launcher, then click the &amp;quot;Level Editor&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
The RED window will appear, and it should look virtually identical to the screenshot below - a confusing mess of buttons, text, and 4 black panels. Not to worry, it'll start to make sense soon!&lt;br /&gt;
[[File:REDBG_Viewports.jpg|left|thumb|600px|The main window of [[RED]] on first launch.]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Viewports===&lt;br /&gt;
Those 4 black panels in front of you are called viewports. Viewports offer a view into what your map is going to look like once you load it in-game. RED supports two different types of viewports:&lt;br /&gt;
- 3D (perspective - ie. Free Look)&lt;br /&gt;
- 2D (orthographic - ie. Top, Right, Front, etc.)&lt;br /&gt;
&lt;br /&gt;
The active viewport at any given time is the viewport outlined with a red border. You can change the active viewport simply by hovering over a viewport with your cursor. Some hotkeys and other RED functions behave differently depending on which viewport is active, such as the movement and rotation of objects.&lt;br /&gt;
&lt;br /&gt;
====Moving around in the viewports====&lt;br /&gt;
When looking at a viewport, you are viewing through a camera that you can control. RED offers the ability to move the camera around using the keyboard or the mouse. Generally, the keyboard camera controls are more user-friendly than the mouse controls. That said, most keyboard controls do require a numpad, so if your keyboard doesn't have a numpad, you'll need to use the mouse controls.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Keyboard camera controls&lt;br /&gt;
|-&lt;br /&gt;
!Hotkey&lt;br /&gt;
!Function&lt;br /&gt;
|-&lt;br /&gt;
|A&lt;br /&gt;
|Zoom in&lt;br /&gt;
|-&lt;br /&gt;
|Z&lt;br /&gt;
|Zoom out&lt;br /&gt;
|-&lt;br /&gt;
|Numpad &amp;lt;nowiki&amp;gt;+&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Slide up&lt;br /&gt;
|-&lt;br /&gt;
|Numpad Enter&lt;br /&gt;
|Slide down&lt;br /&gt;
|-&lt;br /&gt;
|Numpad 1&lt;br /&gt;
|Slide left&lt;br /&gt;
|-&lt;br /&gt;
|Numpad 3&lt;br /&gt;
|Slide right&lt;br /&gt;
|-&lt;br /&gt;
|Numpad 2&lt;br /&gt;
|Turn down&lt;br /&gt;
|-&lt;br /&gt;
|Numpad 4&lt;br /&gt;
|Turn left&lt;br /&gt;
|-&lt;br /&gt;
|Numpad 6&lt;br /&gt;
|Turn right&lt;br /&gt;
|-&lt;br /&gt;
|Numpad 8&lt;br /&gt;
|Turn up&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''''Note:''''' If you hold '''Shift''' while holding down a keyboard camera control, the camera will move quicker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Mouse camera controls&lt;br /&gt;
|-&lt;br /&gt;
!Hotkey&lt;br /&gt;
!Function&lt;br /&gt;
|-&lt;br /&gt;
|Left Mouse Button + Shift&lt;br /&gt;
|Slide camera up, down, left, right&lt;br /&gt;
|-&lt;br /&gt;
|Right Mouse Button + Shift&lt;br /&gt;
|In 3D viewport, adjusts heading and pitch. &amp;lt;/br&amp;gt; In 2D viewports, same as left mouse button + shift&lt;br /&gt;
|-&lt;br /&gt;
|Left and Right Mouse Buttons + Shift&lt;br /&gt;
|Zoom in and out (freelook only)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===The rest of the UI===&lt;br /&gt;
Rather than explain what every button and panel does right now, let's dive right into creating your first map and I'll explain the functions that you'll need to use along the way.&lt;br /&gt;
&lt;br /&gt;
*'''NOTE''': I'm only going to explain the functions you need to use within the scope of this tutorial. If you're wondering what a function does, and it's not covered in this tutorial, the [[RED User Guide]] has a full and detailed explanation you can reference for each and every button, panel, toolbar option, etc. within RED.&lt;br /&gt;
&lt;br /&gt;
==Enough of that, I want to make a map!==&lt;br /&gt;
===How geometry works===&lt;br /&gt;
In the middle of the free look viewport, you should see a cyan colored wireframe cube. The same cube is represented as a square in the 2D viewports. This is called the Cookie Cutter, and it represents the shape of the geometry you're about to add to your map. You can edit the shape and dimensions of the Cookie Cutter in order to customize the geometry you're adding.&lt;br /&gt;
[[File:REDBG_CookieCutter.jpg|none|frame|The Cookie Cutter is displayed with a cyan wireframe.]]&lt;br /&gt;
&lt;br /&gt;
To get some terms out of the way before we start using them:&lt;br /&gt;
*'''Brush''': a unique piece of geometry. When we refer to &amp;quot;geometry&amp;quot; or &amp;quot;brushwork&amp;quot; in the GeoMod engine, we're talking about the brushes that combine to form the structure of a map. All brushes are one of two unique types: air or solid.&lt;br /&gt;
*'''Air Brush''': these brushes subtract from the world and create usable/walkable space in your map.&lt;br /&gt;
*'''Solid Brush''': these brushes add to the world, creating occupied space.&lt;br /&gt;
&lt;br /&gt;
An easy way to think of air and solid brushes is to imagine a cave in the side of a mountain. The mountain is a solid brush, while the cave is an air brush. You can walk around in the cave - it's cutting out of the space that would otherwise be part of the solid mountain if the cave didn't exist. When you walk through the cave, you find a large boulder on the ground. That boulder is a solid brush, because it (like the mountain) is adding to the world. &lt;br /&gt;
&lt;br /&gt;
One aspect of geometry in the GeoMod engine that frequently causes confusion is the concept of a completely solid world. In Red Faction's GeoMod engine, the entirety of the game world is solid - occupied space - until it is first carved out of by air brushes. Considering an example that relates a little more to Red Faction than our mountain/cave example - consider a case where you want to create a room, and within that room, you want to have a support column as well as a shipping crate. Because the entire world is solid, you must first carve out of the world by creating an air brush (ie. the room), then add to the world by creating two solid brushes (ie. the column and the crate).&lt;br /&gt;
&amp;lt;gallery heights=275px widths=400px mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
File:REDBG_AirSolid1.jpg|Mountain (solid brush) cut into by cave (air brush)&lt;br /&gt;
File:REDBG_AirSolid2.jpg|Column and crate (solid brushes) inside room (air brush)&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Your first room===&lt;br /&gt;
Now, let's make a room! In the brush properties panel on the left side of the screen, let's edit the dimensions of our Cookie Cutter. Let's set the height to 3.00, width to 10.00, and depth to 10.00 as well. Be sure the &amp;quot;Type&amp;quot; field is set to Air, and leave the other settings at their default values as shown in the screenshot below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_1BrushProperties.jpg|none|frame|The Brush Properties panel.]]&lt;br /&gt;
&lt;br /&gt;
You may have noticed as you were setting the values, the size of the Cookie Cutter updated accordingly in each viewport - the values we just set will be used to specify the shape of our new brush once we create it.&lt;br /&gt;
&lt;br /&gt;
Click the &amp;quot;Create Brush&amp;quot; button. You'll notice that where before your Cookie Cutter was displayed as a wireframe cyan cube, now you have a wireframe red cube - this is your new brush! When selected, brushes have a red wireframe outline, and when deselected, the outline is white.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_CreateBrush1.jpg|none|frame|When selected, brushes are represented by a red wireframe.]]&lt;br /&gt;
&lt;br /&gt;
If you're wondering why you're only seeing the outline rather than a room, it's because we haven't yet told RED to &amp;quot;build&amp;quot; our geometry. Yay! New term!&lt;br /&gt;
&lt;br /&gt;
*'''Build''': an operation that constructs your map using the brushes you've created. After you change the brushwork (geometry) of your map in any way - creating, deleting, or editing brushes - you must build before those changes will be reflected in the game world. &lt;br /&gt;
&lt;br /&gt;
For any programmers out there, you can think of building essentially as commiting your changes to the world. &lt;br /&gt;
&lt;br /&gt;
So how do we build? Simple - either press the &amp;quot;Build&amp;quot; button on the left side panel, or just hit the spacebar. So far, we've only been working within Brush Mode - we'll get to some of the other modes later, but just know that the spacebar hotkey for building geometry can be used in all modes.&lt;br /&gt;
&lt;br /&gt;
When you build, you should see the walls, floor, and ceiling that comprise your room! Next, in any one of the viewports, click the black space outside of your room to deselect your new brush. Now you should see your Cookie Cutter once again. &lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_CreateBrush2.jpg|none|frame|After building and deselecting the brush, you'll see textured surfaces and the Cookie Cutter once again.]]&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT NOTE:''' While you can use the brush properties panel on the left to customize your Cookie Cutter, once you create a brush, those options no longer apply to it. If you edit the values in Brush Properties on the left side now, you'll notice the changes are reflected in the Cookie Cutter, but the room you've already created is unchanged. Of course, there are methods that you'll learn later for editing brushes after they've already been created, but for now just understand that changing the settings for the Cookie Cutter after you've already created a brush will have no impact on the brush that was already created. &lt;br /&gt;
&lt;br /&gt;
===Your first hallway===&lt;br /&gt;
Ok, now we've got a room and we can fly around in it. If we wanted to, we could walk around in our room now - but that wouldn't be much fun. Let's make our map a little more complex and then we'll give it a try! Before we make a second room, let's create a small hallway to take us there. In the Brush Properties panel to the left (still in Brush mode), set the height to 2.50, width to 3.00, and depth to 8.00. Confirm that &amp;quot;Type&amp;quot; is still set to Air, and leave the other settings at their defaults as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_BrushProperties2.jpg|none|frame|Brush Properties window for our new hallway.]]&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' We're going to be moving the Cookie Cutter before we create our brush. Your Cookie Cutter should at the moment still be where it began - in the center of your existing room. If you've already moved the Cookie Cutter on your own, hit the following two hotkeys in sequence to reset the Cookie Cutter to the right place.&lt;br /&gt;
*'''Home''': The Home key (in any mode) resets the camera to the position of the Player Start.  By default, this is the center of your map.&lt;br /&gt;
*'''B''': The B key (in Brush mode) sets the Cookie Cutter to the current position of the camera.&lt;br /&gt;
&lt;br /&gt;
Now, let's move our Cookie Cutter to where we want our hallway. Make the top view active by hovering your cursor over it (the active viewport will always have a red outline) and click somewhere in the black space outside of your room to ensure nothing is currently selected. Then, while holding the M key, hit the Up arrow key on your keyboard 9 times - the Cookie Cutter should now be flush with the top edge of your existing room as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_CookieCutter2.jpg|none|frame|Cookie Cutter flush with the upper edge of the room in top view.]]&lt;br /&gt;
&lt;br /&gt;
*'''M''': The move (M) key (in any mode) lets you move whatever you have selected. To use the move function in RED, hold M and use the arrow keys on your keyboard to move your selection. Note that the movement is relative to the currently active viewport - ie. holding M and using the Up arrow key with the top viewport active will move your selection in that direction in top view (Z axis). Doing the same with the front viewport active however, will move your selection in that direction in front view (Y axis). You should avoid moving with the free look viewport active as doing so can often result in a selection becoming unaligned to the world grid.&lt;br /&gt;
&lt;br /&gt;
Next, we need to move our Cookie Cutter down slightly so that when we create our hallway, it'll be flush with the floor rather than centered vertically in the wall. To do so, we'll use the M key yet again to move it, this time in the front viewport. However, before we can do so, we need to adjust our grid size. When you first launch RED, the grid size will always be set to 1.00m, but in this case, we need to set it to 0.250m so we can properly align the Cookie Cutter for our hallway with the floor of our room. To do this, we'll use the bracket keys ([ and ]). Specifically, hit the [ key twice - when you do so, you'll notice the Grid Size setting on the top bar of the RED window now displays our desired grid size of 0.250m.&lt;br /&gt;
&lt;br /&gt;
*'''[ and ]''': The bracket keys are a quick way to control the current grid size for movement. When you use the move (M) key, each time you press an arrow key, the selection moves in the direction you desire, one increment of your current grid size. If your grid size is 1.00m, holding M and hitting the Up key will move your selection 1m up in the active viewport. If however your grid size is set to 0.250m, doing the same thing will move your selection 0.250m (1/4 of a meter) instead.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_GridSizes.jpg|none|frame|Grid sizes can be selected from the Grid Size dropdown or by using the hotkeys.]]&lt;br /&gt;
&lt;br /&gt;
Hold your cursor over the front viewport to set it as active, then, with your grid size set to 0.250m, hold the move (M) key and press the down arrow once - your Cookie Cutter should now be flush with the bottom of your room as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_CookieCutter3.jpg|none|frame|The Cookie Cutter flush with the bottom of the room in front view]]&lt;br /&gt;
&lt;br /&gt;
Hit Create Brush to create your hallway, then press the spacebar to build your geometry. You should now see your room and hallway displayed as below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_RoomHallway1.jpg|none|frame|After creating the hallway brush and building, the room and hallway are displayed with textures.]]&lt;br /&gt;
&lt;br /&gt;
We've learned how to move brushes, but before we can say we're done with our geometry, let's learn how to duplicate and rotate them as well. First, ensure your hallway is still selected (click it in the top viewport if it's not). Next, hold the Ctrl key, and hit C to copy the hallway, then while still holding the Ctrl key, hit V to paste. It may not be immediately obvious since they're both in the same position right now, but we've just duplicated our hallway! Keep your new hallway selected, make the front viewport active, hold the R key, then press the left arrow key 6 times. The new hallway should now have been rotated 90 degrees, and form a cross with the other hallway as shown in the screenshot below.&lt;br /&gt;
&lt;br /&gt;
*'''Ctrl + C''': Copies the current selection to your clipboard (brushes and objects).&lt;br /&gt;
*'''Ctrl + V''': Pastes the clipboard contents into the world. Any brushes and/or objects you had previously copied will be duplicated (and placed in the same position as they were when you copied them).&lt;br /&gt;
*'''R''': The rotate (R) key (in any mode) lets you move whatever you have selected. To use the rotate function in RED, hold R and use the arrow keys on your keyboard to move your selection. Note that, like the move function, the rotate function applies relative to the currently active viewport. As with the move function, you should avoid rotating things with the free look viewport active as doing so can often result in a selection becoming unaligned to the world grid.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_RotateHallway1.jpg|none|frame|Hover over the front viewport and rotate the duplicated hallway 90 degrees.]]&lt;br /&gt;
&lt;br /&gt;
Now that we've got a duplicate of our hallway, let's move it into position - we're going to create a 90 degree turn in our hallway and then make it lead to a second room. First, ensure the new hallway is still selected (if it's not, click it in the top viewport - be sure you don't click the center of the new hallway where it's overlapping the old hallway, as that would select the old hallway instead). Next, set your grid size to 0.5m by hitting ] once. Then, hold the M key, and with the top viewport active, press the up arrow key 11 times and (still holding M), the right arrow key 5 times. Your hallway should now be aligned with the top edge of the old hallway as shown below. &lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_RotateHallway2.jpg|none|frame|The new hallway should be aligned with the top edge of the old hallway as shown.]]&lt;br /&gt;
&lt;br /&gt;
Next we need to make our new hallway a little longer, so let's learn how to resize brushes! With the new hallway still selected, open the Stretch dialog by either pressing the Stretch button in the Brush Operators panel to the left, or with the '''D''' hotkey. In the Stretch properties dialog, leave the height and depth values as-is, but set the width from 8.00 to 11.00 as shown below, then hit OK to apply the change.&lt;br /&gt;
&lt;br /&gt;
*'''D''': Open the Stretch dialog box for resizing brushes.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_StretchWindow1.jpg|none|frame|The stretch dialog.]]&lt;br /&gt;
&lt;br /&gt;
Hit the spacebar to rebuild geometry, and you'll see our room and two hallways in position as shown below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_TexturedHallway2.jpg|none|frame|The room plus both hallways in position after building.]]&lt;br /&gt;
&lt;br /&gt;
Great work! One last step for our geometry before we start applying textures - let's create a second room! The room will be at the end of our new hallway, but I'll leave the specifics for this room up to you - you can either create a new brush by moving and resizing your Cookie Cutter as I've shown you before, or simply duplicate the existing room and move the duplicate.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For my demonstration, I duplicated the existing room and moved it into position (same process as we used for the second hallway). Once you're happy with how your second room looks, hit the spacebar key one last time to build your geometry, then let's test out our map before we head to texture mode.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_TexturedHallway3.jpg|none|frame|Both rooms and hallways - ready for texturing!]]&lt;br /&gt;
&lt;br /&gt;
===Saving, packaging, and testing your map===&lt;br /&gt;
To save your map, either use the Ctrl + S hotkey, or hit the &amp;quot;Save&amp;quot; button on the top bar of the RED window. When the Save dialog appears, navigate to the user_maps directory within your Red Faction folder, then go to the single directory as shown in the screenshot below. The filename is up to you, but you should try to make it fairly unique to avoid conflicts with other maps, and avoid using special characters or spaces. When you've decided on a filename, and navigated to the single folder, hit the Save button to save your map.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_SaveDialog1.jpg|none|frame|The Save dialog - be sure to save your map in the &amp;quot;single&amp;quot; directory within &amp;quot;user_maps&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
*'''IMPORTANT''': Red Faction '''cannot''' load map files (.rfl) directly. First, you need to package your map into a packfile (.vpp) in order for the game to load it.&lt;br /&gt;
&lt;br /&gt;
To package your map, simply hit the &amp;quot;Pack&amp;quot; button on the top bar of the RED window (right next to the &amp;quot;Save&amp;quot; button). That's it - just remember for the future that hitting the pack button doesn't save your map before packaging it, so you need to remember to save your map before you hit the pack button.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once your map is saved and packed, let's give it a try! Hit the &amp;quot;Play&amp;quot; button on the top bar of the RED window to load your map. &lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_TopBarRed.jpg|none|frame|The top bar in [[RED]], showing the Save, Pack, and Play buttons]]&lt;br /&gt;
&lt;br /&gt;
Well done! You can now move around in a world you created yourself - that must feel great! Granted, maps without any textures, lights, or anything to do (or shoot) would get boring pretty quickly - so let's fix that! When you're done running around your map, quit out of the game, come back to RED, and let's learn how to texture our geometry!&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Test1.jpg|none|thumb|Testing your map in-game]]&lt;br /&gt;
&lt;br /&gt;
===Texturing your geometry===&lt;br /&gt;
First, let's swap to texture mode. You can do this either by clicking the &amp;quot;Mode&amp;quot; dropdown menu in the left corner of the window, or by using the Shift + T hotkey. In brush mode, when you click geometry in a viewport, you select the brushes. In texture mode however, clicking in the viewport selects the individual faces of your geometry so you can apply and edit the textures applies to them. Let's start easy - in free look, click the bottom face in your room, then hold the Ctrl key and click the bottom face in the other room. Holding the Ctrl key allows you to select multiple faces to apply textures to them at the same time!&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_SelectedFaces1.jpg|none|frame|Using Ctrl + Click, select the floors in both rooms.]]&lt;br /&gt;
&lt;br /&gt;
Once you've got the floor in both rooms selected, let's focus on the left side panel - this is where we apply textures to geometry and control how that texture is mapped to your geometry (ie. how it's stretched, positioned, etc.). Now, you could use the second dropdown to select a texture category, then select the filename of the texture you want from the first dropdown - but honestly, it's way easier to just view the thumbnails and select the texture you want that way. To do so, click the Browse button and you'll be presented with the window shown below. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=275px widths=400px mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
File:REDBG_TexturePanel1.jpg|The Texture Mode left side panel.&lt;br /&gt;
File:REDBG_TextureBrowser1.jpg|Texture browser.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This window lets you browse through thumbnails for all the default textures available to you - as well as any custom textures you may have imported - and select the one you want to use. Click the Folder dropdown on the left (where &amp;quot;Root&amp;quot; is currently selected), and click &amp;quot;Floor - Metal&amp;quot; to view all the default metal floor textures in the game (you may need to scroll up to find it). Look through the available textures and when you find one you like, double click on it to select it, then hit OK to exit the browse window. From the panel on the left, hit &amp;quot;Apply&amp;quot; to apply the selected texture to the selected faces, then &amp;quot;Apply Map&amp;quot; to apply box UV mapping to the faces. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=275px widths=400px mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
File:REDBG_TextureBrowser2.jpg|Select the metal floor texture you wish to use.&lt;br /&gt;
File:REDBG_AppliedFloor1.jpg|Hit Apply, then Apply Map to map your chosen texture to the floor in each room.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, repeat the process for the ceilings in both rooms as well as the floors and ceilings in the hallways. When you've textured all your floors and ceilings, you should have something that looks similar to the screenshot below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_AppliedFloorCeil1.jpg|none|frame|Apply chosen textures to the floors and ceilings in both rooms and the hallways.]]&lt;br /&gt;
&lt;br /&gt;
Now you may be wondering why we haven't textured our walls yet - I know I would be. The answer is efficiency. Because we're going to give all the walls in our map the same texture, let's take advantage of that to make our lives a little easier. First, select one of the wall faces (it should still have the grey grid texture applied). Next, hit the &amp;quot;Pick Texture&amp;quot; button on the left panel to set your selected texture to the texture already applied to the selected face (Rck_Default.tga). Then, hit the &amp;quot;Select Faces&amp;quot; button to select all faces in your map that have the selected texture applied to them. When you do so, every wall in your map will be selected at once, and when you browse for and apply a wall texture of your choice, it'll be applied to every wall without you needing to go through and click on each one individually. Pretty cool, huh?&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_TexturePanel2.jpg|none|frame|Use Pick Texture, then Select Faces to select all textures in your map that still have the default grid texture applied.]]&lt;br /&gt;
&lt;br /&gt;
Here are some additional hotkeys you can use make your life easier when texturing. I won't go through a use case for each here, but feel free to experiment with and get used to them.&lt;br /&gt;
*'''Shift + S''': If you have one or more faces currently selected, the Shift + S hotkey selects all faces on each brush for which you have at least one face selected.&lt;br /&gt;
*'''Shift + D''': If you have one or more faces currently selected, the Shift + D hotkey selects all faces on each brush for which you have at least one face selected, that have the same texture as one of the faces you have selected.&lt;br /&gt;
*'''I''': If you have one or more faces currently selected, the I hotkey inverts which faces you have selected within each brush for which you have at least one face selected. For example, if you have the top and right faces of a box brush selected and you hit I, those faces become unselected but the other 4 faces on that brush become selected.&lt;br /&gt;
&lt;br /&gt;
Go ahead and follow the same method you just did to apply a texture from the &amp;quot;Wall - Metal&amp;quot; category to the selected wall faces in your map. Note that the scroll wheel won't work when in the browse dialog, but you can use the scroll bar on the right of the window to scroll down through the textures in the category. Once you've apply a texture to your walls (and hit &amp;quot;Apply Map&amp;quot; to apply box UV mapping), you should have something similar to the below screenshot.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_FullyTextured.jpg|none|frame|Apply the metal wall texture of your choice to all the walls in your map.]]&lt;br /&gt;
&lt;br /&gt;
*'''NOTE''': I won't cover UV unwrapping in this tutorial as it's a little outside the scope, but please feel free to check out the [[Basic UV Unwrapping]] tutorial if you want to further refine how the textures are displayed on faces in your map.&lt;br /&gt;
&lt;br /&gt;
===Lighting your map===&lt;br /&gt;
Alright, now we've got a basic map layout with textures applied, let's add some lighting! While lighting can get more complex as you learn more about the engine and the editor, the basics are very, very simple. To start, let's shift over to Object mode by using the Mode dropdown in the top left corner, or the hotkey Shift + O. &lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_ObjectList.jpg|none|frame|Object mode left side panel, showing all available objects.]]&lt;br /&gt;
&lt;br /&gt;
In RED, there are only two types of &amp;quot;things&amp;quot; you can manipulate: brushes and objects. Brushes are geometry as you already know, objects are basically everything else - pickups, enemies, allies, vehicles, triggers, regions, lighting, etc. Once you switch to object mode, you'll see all of the objects that are available to you listed in the panel on the left side of your screen. Light is the one we're looking for right now, but later in this guide, we'll come back here and add some others.&lt;br /&gt;
&lt;br /&gt;
*'''NOTE''': As this is a beginner's guide, we're only going to cover basic usage of a few essential object types. If you're ever wondering what any object does though, the [[RED Objects]] page has a full and detailed explanation you can reference for each object within RED, and a full breakdown of all settings available for them.&lt;br /&gt;
&lt;br /&gt;
To add an object to your world, you simply double-click the object type in the panel on the left. When you do, the object will be added to your world '''at your camera location'''. In our case, we obviously want our light to be inside our map, so either position the camera inside the room using the camera movement keys, or hit the Home key to reset your camera to the Player Start, then double-click on the Light object in the panel on the left. Back up the camera slightly and you'll see your new light object represented by a sprite of a lightbulb with a yellow sphere around it as shown in the below screenshot. This sphere represents the range of the light.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Light1.jpg|none|frame|Double-click Light in the object list to place a new light object at the current camera position.]]&lt;br /&gt;
&lt;br /&gt;
Let's customize our light a little - to edit the properties of the light, right click in the viewport and select Properties, or use the Ctrl + P hotkey.&lt;br /&gt;
&lt;br /&gt;
*'''Ctrl + P''': Open the properties of the selection. In most cases, you can edit the properties of multiple objects at once, but they must be the same type of object. (ie. you can edit the properties of multiple lights at the same time, but you cannot edit the properties of a light and weapon pickup at the same time)&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Light2.jpg|none|frame|Light object properties.]]&lt;br /&gt;
&lt;br /&gt;
When the light properties dialog comes up you will see a lot of different options - not to worry though, we're only concentrating on one for the purposes of this guide: the range. Go and set the range to 6.00 as shown below and hit OK to accept the changes. When you do, you should see the yellow sphere around your light grow to reflect the new range of the light.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Light3.jpg|none|frame|The yellow wireframe sphere representing the light range updates when you set a new range value.]]&lt;br /&gt;
&lt;br /&gt;
To see what your light looks like, click the &amp;quot;Lighting&amp;quot; button on the top bar of the RED window (in between Save/Pack and Play).&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_TopBarRed2.jpg|none|frame|The top bar in [[RED]] showing the Lighting button.]]&lt;br /&gt;
&lt;br /&gt;
Your room should look similar to the screenshot below - yay!&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Light4.jpg|none|frame|After hitting the Lighting button, you will see your light applied to your geometry.]]&lt;br /&gt;
&lt;br /&gt;
Now, go ahead and use this same method to add lights to the other room and your hallway, with a range that seems to make sense. Remember to hit the &amp;quot;Lighting&amp;quot; button again once you're done in order to see your changes reflected in the world. Once you're happy with how your lighting looks, let's move on to nav points!&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Light5.jpg|none|frame|Add more lights to the other room and hallway as they make sense. When you hit the Lighting button, you'll see how your lighting changes are affecting your geometry.]]&lt;br /&gt;
&lt;br /&gt;
===AI navigation===&lt;br /&gt;
Now that we've got a presentable basic map, let's get some enemies for us to shoot. Before we add enemies though, we need to be sure they know how to navigate in the world. In the GeoMod engine, AI navigation is controlled by nav points that are placed throughout the environment and linked together. Nav points are essentially regions within which the AI knows it can move around without obstacles or obstruction. Nav points are linked together to form a nav mesh. Some more advanced navigation principles come into play when your maps get more complex, but for the purposes of this tutorial, you just need to understand that anywhere within a nav point or the link region is walkable space for our guards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firstly, hit the Home key to reset your camera to the player start. Like any other object, nav points are placed by double-clicking on the nav point label in the left panel while in object mode. Go ahead and place a nav point now. When you back up the camera a little, you should see a nav point that looks like the one in the screenshot below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_NavPoint1.jpg|none|frame|Newly created Nav Point object.]]&lt;br /&gt;
&lt;br /&gt;
*'''IMPORTANT''': Before we go any further, click the View menu in the bar at the top of the screen (or hit Alt + V to open it), then click the option at the bottom of the list, labeled '''Show Path Node Connections'''. When you do, you'll notice that the cylinder representing the region of your nav point changes from grey to green. This setting must be enabled for you to view connections between path nodes. The option exists because when you have more complex nav meshes in larger maps, the lines representing all nav points and links can get pretty confusing, so unless you're actively working on your nav mesh for your map, you really don't want to be seeing them. &lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_ShowPathNodes.jpg|none|frame|Be sure to select the &amp;quot;Show Path Node Connections&amp;quot; option to properly display your nav mesh.]]&lt;br /&gt;
&lt;br /&gt;
Next, let's open up the properties of our nav point. Ensure the nav point is selected (click on the sprite in the center of it), then open its properties. Again, don't get overwhelmed with all the options in here - we only care about the radius right now. Go ahead and set that value to 5.00 and hit OK. When you do, you'll see that the cylinder representing the range of your nav point has expanded and now fills the entire room as shown below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery heights=275px widths=400px mode=&amp;quot;traditional&amp;quot;&amp;gt;&lt;br /&gt;
File:REDBG_NavPoint2.jpg|Nav Point properties dialog.&lt;br /&gt;
File:REDBG_NavPoint3.jpg|The green cylinder representing the range of the nav point expands as you change the radius value in its properties.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If we had a guard in here, he'd be able to move around within the room to find us, but he wouldn't be able to chase you into the hallway or the other room if you went there. Let's fix that. First hit the Home button to reset your camera to the Player Start, then move forward until your camera is positioned in the corner formed by the two joining hallways, then double-click nav point again to place a second point. Back the camera up and you'll see a new green cylinder representing the range of this new nav point as shown below.&lt;br /&gt;
&lt;br /&gt;
*'''NOTE''': If the nav point isn't quite in the corner that joins the two hallways, use the move (M + arrow keys) function in the top viewport to adjust its position until it's roughly in the same place as shown in the screenshot below. You may need to reduce the grid size ([) to be able to move it into the right place.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_NavPoint4.jpg|none|frame|Put a second nav point in the corner that joins both hallways.]]&lt;br /&gt;
&lt;br /&gt;
Well done, we now have a second nav point! There's only one problem - while a guard could walk around within either of our nav points, he won't know that he can walk between them, so let's fix that by creating a link. To do so, select one of your nav points, hold Ctrl, and select the other one. Then hit the J key to create a link. &lt;br /&gt;
&lt;br /&gt;
*'''J''': The J key (in object mode) is used to create a link between exactly two nav points. The width of the link will reflect the lesser diameter of the two nav points in the link. While we won't be using any type other than basic bidirectional links in this tutorial, you should be aware that if you continue hitting the J key after creating a link, you'll be changing the type of the link. If you see a green arrow inside the link, continue hitting J until the link disappears, then hit it once more to once again form a basic bidirectional link.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_NavPoint5.jpg|none|frame|The two nav points are now connected with a bidirectional link, allowing AI to walk freely between them.]]&lt;br /&gt;
&lt;br /&gt;
Almost done with our nav mesh! Lastly, put a nav point in your second room (either by duplicating the first one and moving it into the other room, or creating a new one by positioning the camera in the second room and double-clicking nav point from the objects panel). Ensure that the radius you set for this nav point allows it to fit within the second room without overlapping the walls of the room. Once you're happy with your nav point, select it, hold Ctrl, select the nav point in the hallway, then hit J to form a link between them. You should now have a nav mesh consisting of 3 nav points joined by links, as shown in the screenshot below.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_NavPoint6.jpg|none|frame|All nav points are connected together, allowing AI to walk all throughout your map.]]&lt;br /&gt;
&lt;br /&gt;
===Adding enemies and weapon pickups===&lt;br /&gt;
Now that we've got a nav mesh for AI to move around in, let's add some AI! The level of control RED gives level designers over AI and their behaviour is pretty extensive for such an old engine to be honest, but equally it's incredibly simple to set up some basic enemies to shoot. First, position your camera inside your second room, then click the + icon next to Entity on the left panel while in Object mode to expand the entity list, then click the + icon next to Ultor to expand the list of Ultor entities. Double-click &amp;quot;guard2&amp;quot; to add a guard to your room. If you back up your camera, you should see a guard in your room. Next, move your camera to the other side of the second room and double-click &amp;quot;guard1&amp;quot; to add a second guard.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_SelectGuard.jpg|none|frame|Place two entities in the second room - guard1 and guard2.]]&lt;br /&gt;
&lt;br /&gt;
Your room should now look something like the screenshot below - two guards ready to shoot us on sight!&lt;br /&gt;
&lt;br /&gt;
*'''NOTE''': Entity is an object type that includes enemies, allies, and vehicles. Entities are very useful for in single player maps but have no function in multiplayer maps. &lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Guards1.jpg|none|frame|Both guards in position, ready to fight!]]&lt;br /&gt;
&lt;br /&gt;
Before we test our map, let's add some extra firepower for our player who is about to go to battle against these guards - we're outnumbered, after all. To add a weapon pickup, first position your camera in the first room. Next, scroll down the object list until you see Item, and click the + sign next to it to expand the item list. Scroll down the item list until you see &amp;quot;rocket launcher&amp;quot;, and double-click it. If you back your camera up now, you should see a rocket launcher pickup!&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Rocket1.jpg|none|frame|The rocket launcher pickup.]]&lt;br /&gt;
&lt;br /&gt;
Just in case your pickup is turned in a weird direction (like in the screenshot above) because of how your camera was positioned, let's take this opportunity to learn two new hotkeys that will serve you well in the future as you continue exploring and learning RED.&lt;br /&gt;
&lt;br /&gt;
*'''Ctrl + G''': Aligns selected objects and/or brushes to the current world grid. It's not generally important for objects to be grid aligned, but brushes should virtually always be grid aligned.&lt;br /&gt;
*'''O''': Reorients selection to the default rotation direction. If your camera is askew when you place an object and you don't want it to look that way in-game, it's often very useful to just hit the O key to reorient the item and make it look more presentable. You can then use the rotate (R + arrow keys) function to give it the rotation you desire.&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Rocket2.jpg|none|frame|The properly oriented rocket launcher pickup positioned on the floor.]]&lt;br /&gt;
&lt;br /&gt;
===Finishing up and playing your map===&lt;br /&gt;
&lt;br /&gt;
Once your rocket launcher and enemies are placed, let's give our new map a try! Click the Lighting button on the top bar to ensure our lights are properly calculated, then click Save to save your level, then Pack to package it. Once the level is packaged, click Play to try it out!&lt;br /&gt;
&lt;br /&gt;
[[File:REDBG_Test2.jpg|none|thumb|Fighting the guards in the finished map.]]&lt;br /&gt;
&lt;br /&gt;
I hope this tutorial has helped to show you how powerful yet simple RED is to learn. Be sure to check out the [[RF1 Editing Main Page]] for additional reference materials, tutorials, and the link to join the [https://discord.gg/factionfiles Faction Files Community Discord] - which is the largest Red Faction community anywhere, and the best place to ask for help with RED or to show off your creations! It's a welcoming and approachable community, and we'd be more than happy to help you as much as possible in learning the editor. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additionally, please do be sure to upload your created maps to the community database at [https://factionfiles.com FactionFiles.com]! Everyone loves playing new maps, and giving others the chance to play and review your maps can be an incredible learning tool.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15149</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15149"/>
		<updated>2026-01-14T03:57:36Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* HUD Messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Alpine Level Design#Movers|Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Set_Gameplay_Rule|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
Alpine Faction fixes several issues present in the stock game with movers, and adds some new functionality for mappers. All functionality described in this section is subject to the [[#Advanced options|Legacy movers]] option.&lt;br /&gt;
&lt;br /&gt;
===Translating Movers===&lt;br /&gt;
In the stock game, translating movers were never able to move slower than 0.4m/sec. This is now resolved, and movers can move very slow if configured as such. A hard minimum velocity of 0.001m/sec is imposed to handle some obscure framerate-related issues, but in a practical sense this will never be a limiting factor.&lt;br /&gt;
&lt;br /&gt;
In the stock game, travel time is calculated without taking acceleration/deceleration into account, which results in a drift in travel time equal to 50% of the combined acceleration + deceleration time. This is now resolved, and the travel time configured for the keyframe is respected. Note that if the combined acceleration + deceleration time is greater than the configured travel time, the travel time will be increased by Alpine Faction in order to accommodate the provided values.&lt;br /&gt;
&lt;br /&gt;
In the stock game, the way values were applied along the mover path was not always intuitive. In Alpine Faction, the travel, acceleration, and deceleration times for a movement segment are always as configured on the starting keyframe for that segment.&lt;br /&gt;
* For example, if a mover is moving forward from Keyframe A -&amp;gt; B -&amp;gt; C, and is set to &amp;quot;Ping Pong Once&amp;quot;:&lt;br /&gt;
** Time values configured on Keyframe A are used for the movement from A -&amp;gt; B (moving forward, uses &amp;quot;Departing Travel Time&amp;quot;)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; C (moving forward, uses &amp;quot;Departing Travel Time&amp;quot;)&lt;br /&gt;
** The mover hits Keyframe C, and because it's set to &amp;quot;Ping Pong Once&amp;quot;, it reverses direction and begins moving backwards&lt;br /&gt;
** Time values configured on Keyframe C are used for the movement from C -&amp;gt; B (moving backward, uses &amp;quot;Returning Travel Time&amp;quot;)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; A (moving backward, uses &amp;quot;Returning Travel Time&amp;quot;)&lt;br /&gt;
** The mover hits Keyframe A, and because it's set to &amp;quot;Ping Pong Once&amp;quot; and has now reached its starting position, it stops. The next time it is activated, it begins moving forward from Keyframe A -&amp;gt; B again.&lt;br /&gt;
&lt;br /&gt;
===Rotating Movers===&lt;br /&gt;
In the stock game, &amp;quot;Loop Once&amp;quot; and &amp;quot;Loop Infinite&amp;quot; on rotating movers with rotation degrees &amp;lt; 360 just continued looping 360 degrees regardless. This is now resolved, so the mover works as expected - i.e. with rotation degrees 90 and type &amp;quot;Loop Once&amp;quot;, the mover rotates 90 degrees and then snaps back to its starting position.&lt;br /&gt;
&lt;br /&gt;
In the stock game, &amp;quot;Ping Pong Infinite&amp;quot; on rotating movers did not work properly - the behaviour was different than &amp;quot;Ping Pong Once&amp;quot;. This is now resolved, and &amp;quot;Ping Pong Infinite&amp;quot; functions identically to &amp;quot;Ping Pong Once&amp;quot;, just continues going until forcefully stopped.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Lift&amp;quot; Movement Type===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but has functioned the same as the &amp;quot;One Way&amp;quot; type. This has been resolved - &amp;quot;Lift&amp;quot; now works similarly to &amp;quot;One Way&amp;quot;, however whereas &amp;quot;One Way&amp;quot; ensures a one way movement from the starting keyframe to the last keyframe, &amp;quot;Lift&amp;quot; moves just one segment per activation, and then stops and waits to be activated again.&lt;br /&gt;
&lt;br /&gt;
===Force Orient===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but using it would make levels crash when loading. In Alpine Faction, this option now works properly:&lt;br /&gt;
* For translating movers, it ensures the mover faces the direction of movement while moving (resets to base orientation when stopped)&lt;br /&gt;
* For rotating movers, it ensures the mover maintains its base orientation when moving.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' While the Force Orient functionality is restricted to Alpine levels (and subject to the &amp;quot;Legacy Movers&amp;quot; option), Alpine Faction fixes the crash issue across all levels. Older levels will no longer crash when this option is used, but they also won't be able to use the functionality (they will act as though this option was simply not enabled).&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Multiplayer Respawn Points==&lt;br /&gt;
The stock game recognized only the first 32 [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]] placed in a level. Alpine Faction recognizes the first 2048.&lt;br /&gt;
&lt;br /&gt;
In the new KOTH, DC, REV, and ESC gametypes, Multiplayer Respawn Points can be associated with control points. This behaviour is further described in [[Mapping with Control Points#Advanced Mechanics|Mapping with Control Points]].&lt;br /&gt;
&lt;br /&gt;
Multiplayer Respawn Points can now be toggled on/off with [[RED Event List#AF_Utility|Respawn_Point_State]], and the associated team(s) changed with [[RED Event List#AF_General|Modify_Respawn_Point]].&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message'' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15148</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15148"/>
		<updated>2026-01-04T13:58:34Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.2.2 released: Jan 4, '26&lt;br /&gt;
- RF Game Night 176: Jan 17, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15147</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15147"/>
		<updated>2026-01-04T13:58:16Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.2==&lt;br /&gt;
* Released 04 Jan 2026&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Add dynamic light glows from explosions&lt;br /&gt;
** Add dynamic light glows from burning entities&lt;br /&gt;
** Fix crash when very complex levels are loaded&lt;br /&gt;
===Single Player===&lt;br /&gt;
* Fix crash when gibbing corpses&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* New &amp;lt;code&amp;gt;When_Round_Ends&amp;lt;/code&amp;gt; event&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Dedicated_Server_Config&amp;diff=15138</id>
		<title>Alpine Faction Dedicated Server Config</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Dedicated_Server_Config&amp;diff=15138"/>
		<updated>2025-12-31T16:02:30Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This page lists information you may need when hosting an Alpine Faction dedicated server. If you're running into issues customizing your server to your liking, join the [https://discord.gg/factionfiles Red Faction Community Discord] and we'll help you out.&lt;br /&gt;
&lt;br /&gt;
==Config Builder==&lt;br /&gt;
Please visit the [https://dedi.alpinefaction.com Alpine Faction Dedicated Server Config Builder] to build your config.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' All settings are optional. Defaults will be applied for any setting you do not explicitly configure.&lt;br /&gt;
==Descriptions==&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Help|Alpine Faction FAQ]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15137</id>
		<title>Alpine Faction Release Highlights</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_Release_Highlights&amp;diff=15137"/>
		<updated>2025-12-31T03:07:50Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
{|&lt;br /&gt;
|{{AlpineInstallDiscord|Click here to join the FactionFiles Community Discord|If you have any questions or concerns, please join the '''FactionFiles Community Discord''' for assistance. The FactionFiles Discord is also the place to go to participate in organized community game night events, and get help with anything else related to the Red Faction series.}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Below are the most important highlights from each major [https://alpinefaction.com Alpine Faction] release. This page assumes you are already familiar with Red Faction, and prior versions of Alpine Faction, and is intended just as a &amp;quot;quick start guide&amp;quot; to summarize key features for each release.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANT: This is not an exhaustive changelog!'''&lt;br /&gt;
&lt;br /&gt;
This page only has what I feel are the most important aspects of each release. For a full changelog at any given time, visit [https://github.com/GooberRF/alpinefaction/blob/master/docs/CHANGELOG.md CHANGELOG.md] on the Alpine Faction repository.&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2.1==&lt;br /&gt;
* Released 30 Dec 2025&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* Scoreboard is now split into sections as configured by the user. By default, spectators and browsers are split out from all other clients.&lt;br /&gt;
* Gibbing is now supported in multiplayer&lt;br /&gt;
* Reticles, damage notification numbers, and player labels can now be scaled using &amp;lt;code&amp;gt;ui_scale_&amp;lt;/code&amp;gt; console commands&lt;br /&gt;
* Reticles can now be colored using the &amp;lt;code&amp;gt;ui_color_reticle&amp;lt;/code&amp;gt; console command&lt;br /&gt;
* FPS/ping display is improved&lt;br /&gt;
* Free look spectate mode now persist through level loads&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Anti-aliasing can now be selected in the launcher options panel&lt;br /&gt;
** Max dynamic lights 8 -&amp;gt; 32 (now matches D3D9)&lt;br /&gt;
** Fixed multiple instances of a single static mesh sharing lighting data&lt;br /&gt;
** Rotating skyboxes now supported&lt;br /&gt;
** Ambient lighting of third person weapon models held by entities now supported&lt;br /&gt;
** Dynamic lights fixed (previously were far too dim)&lt;br /&gt;
** Rocket Launcher/Fusion IR scanner now renders properly&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Legacy &amp;lt;code&amp;gt;dedicated_server.txt&amp;lt;/code&amp;gt; config method has now been removed, ADS TOML-based configs should be used instead&lt;br /&gt;
* Gibbing can be configured and customized by the server&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* Enlarged UV unwrap workspace&lt;br /&gt;
* &amp;lt;code&amp;gt;Ctrl + K&amp;lt;/code&amp;gt; can now be used to create links between selected objects in the opposite direction from the normal &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; hotkey&lt;br /&gt;
&lt;br /&gt;
==Alpine Faction 1.2==&lt;br /&gt;
* Released 06 Dec 2025&lt;br /&gt;
===General===&lt;br /&gt;
* Suppress autoswitch bind, &amp;lt;code&amp;gt;cl_autoswitchfirewait&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;cl_autoswitchempty&amp;lt;/code&amp;gt; can be used to customize autoswitch behaviour&lt;br /&gt;
* &amp;lt;code&amp;gt;sp_exposuredamage&amp;lt;/code&amp;gt; or the associated option in the advanced options menu can be used to turn off the &amp;quot;take damage when outside&amp;quot; mechanic in single player&lt;br /&gt;
* &amp;lt;code&amp;gt;-afs FILENAME&amp;lt;/code&amp;gt; can be used on the command line to specify a particular ini file to use instead of alpine_settings.ini. Allows players to manage multiple config files launched via different shortcuts&lt;br /&gt;
* You can now use the scroll wheel to scroll through lists in the menus&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
* New gametypes&lt;br /&gt;
** King of the Hill (KOTH)&lt;br /&gt;
** Damage Control (DC)&lt;br /&gt;
** Revolt (REV)&lt;br /&gt;
** Escalation (ESC)&lt;br /&gt;
** Run (RUN)&lt;br /&gt;
* Servers can now configure gametype and most other server settings on a per-level basis. Servers can run multiple gametypes in the same rotation seamlessly.&lt;br /&gt;
* Votes to start a match and change the level can now name rule presets (if configured by the server). This means players can vote for the ruleset they want when voting for a match/level.&lt;br /&gt;
* First-person spectate view now shows the spectated player's name with their team colour&lt;br /&gt;
* Chat menus now scale appropriately when &amp;lt;code&amp;gt;bighud&amp;lt;/code&amp;gt; is enabled&lt;br /&gt;
* The &amp;quot;Remote Server Config&amp;quot; bind can be used to display the server's current ruleset and map rotation&lt;br /&gt;
* &amp;lt;code&amp;gt;mp_handicap&amp;lt;/code&amp;gt; can be used to impose a damage reduction handicap on yourself&lt;br /&gt;
* You can now call gametype votes using &amp;lt;code&amp;gt;vote gametype TYPE MAP&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;vote gt TYPE MAP&amp;lt;/code&amp;gt;, where TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* &amp;quot;One minute remaining&amp;quot; and other countdown sounds will now play a second time if the time is extended after they play (like due to overtime)&lt;br /&gt;
* &amp;quot;Winner&amp;quot; and &amp;quot;Game Over&amp;quot; at the end of the map fixed&lt;br /&gt;
* Scoreboard now identifies players as alive, dead, idle, bot, spectator, browser&lt;br /&gt;
===Graphics===&lt;br /&gt;
* Direct3D 11 Renderer improvements&lt;br /&gt;
** Colorblind mode rendering filter (&amp;lt;code&amp;gt;r_colorblind&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Improved skybox rendering&lt;br /&gt;
** Picmip (&amp;lt;code&amp;gt;r_picmip&amp;lt;/code&amp;gt;)&lt;br /&gt;
** Vertex lighting for meshes&lt;br /&gt;
** Dynamic lighting for meshes and movers&lt;br /&gt;
** Support &amp;lt;code&amp;gt;r_fullbright&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_lightmaps&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;r_nearest&amp;lt;/code&amp;gt;&lt;br /&gt;
===Dedicated Servers===&lt;br /&gt;
* Dedicated servers should now be configured using one or more TOML files - web-based config builder is available [https://dedi.alpinefaction.com here]&lt;br /&gt;
* Framerates are now far more consistent, improving the overall play experience&lt;br /&gt;
* You can now configure gameplay rules (including gametype) on a per-level basis&lt;br /&gt;
* You can use the &amp;lt;code&amp;gt;sv_gametype TYPE MAP&amp;lt;/code&amp;gt; command to change the gametype on your server at any time. TYPE is a gametype abbreviation (i.e. CTF, KOTH, etc.) and MAP is a level filename.&lt;br /&gt;
* Much more useful information is now displayed when new players join your server, and when you run the &amp;lt;code&amp;gt;info&amp;lt;/code&amp;gt; command&lt;br /&gt;
* You can now use the &amp;lt;code&amp;gt;sv_restrict_status&amp;lt;/code&amp;gt; command to display the current client restriction status on the current level, with the current ruleset&lt;br /&gt;
* Clients are now restricted from voting if they are not able to play in your server.&lt;br /&gt;
* Server console now displays attempted joins that were rejected, and the reason for the rejection (e.g. &amp;quot;between levels&amp;quot;, &amp;quot;data incompatible&amp;quot;, etc.)&lt;br /&gt;
* Server console now alerts on failed &amp;lt;code&amp;gt;rcon_request&amp;lt;/code&amp;gt; attempts&lt;br /&gt;
* Vote config now supports &amp;quot;Ignore nonvoters&amp;quot; as an option&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_loadconfig&amp;lt;/code&amp;gt; can be used to reload your server config (after you made changes to the files) without needing a server restart&lt;br /&gt;
* &amp;lt;code&amp;gt;sv_printconfig&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sv_printrules&amp;lt;/code&amp;gt; can be used to display server information at any time&lt;br /&gt;
* &amp;lt;code&amp;gt;-min&amp;lt;/code&amp;gt; can be used on the command line to have your server console display only the minimum amount of information required&lt;br /&gt;
* &amp;lt;code&amp;gt;-log&amp;lt;/code&amp;gt; can be used to log all server console output to a log file in &amp;lt;code&amp;gt;RedFaction/logs&amp;lt;/code&amp;gt;&lt;br /&gt;
* If you run bots in your server, you can use &amp;lt;code&amp;gt;bot_shared_secret&amp;lt;/code&amp;gt; to ensure your bots are properly handled by your server (no spawning after ideal player count reached, exclude from votes, etc.)&lt;br /&gt;
===Mod / Map Development===&lt;br /&gt;
* You can now make maps for all of the new gametypes. For info on how to create control points (for KOTH, DC, REV, and ESC), see [[Mapping with Control Points]]&lt;br /&gt;
* &amp;quot;Play in multi (camera)&amp;quot; added to top toolbar&lt;br /&gt;
* F9 (Play in multi) and F10 (Play in multi (camera)) hotkeys added&lt;br /&gt;
* Playing in multi from RED will now launch on the correct gametype (based on map filename prefix)&lt;br /&gt;
* You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* Respawn points can now be toggled on/off with the Respawn_Point_State event, and the associated team changed with the Modify_Respawn_Point event&lt;br /&gt;
* New settings in Level Properties&lt;br /&gt;
** &amp;quot;Legacy Cyclic_Timers&amp;quot; - If false, Cyclic_Timer events no longer double trigger on their first activation&lt;br /&gt;
** &amp;quot;Legacy movers&amp;quot; - If false, use new Alpine Faction mover functionality: fixed low velocity movers not working, fixed travel and ramp time calculations, fixed &amp;quot;Force Orient&amp;quot;, fixed &amp;quot;Lift&amp;quot; movement type, fixed &amp;quot;Ping Pong Infinite&amp;quot;/&amp;quot;Loop Once&amp;quot;/&amp;quot;Loop Infinite&amp;quot; movement types for rotating movers&lt;br /&gt;
** &amp;quot;Player starts with headlamp&amp;quot; - If false, do not allow the player to use the headlamp (until allowed via Set_Gameplay_Rule event)&lt;br /&gt;
** &amp;quot;Override static mesh ambient light scale&amp;quot; - If true, use the specified scale value. If false, use stock game behaviour (2.0 for SP, 3.2 for MP).&lt;br /&gt;
* New events&lt;br /&gt;
** Capture_Point_Handler&lt;br /&gt;
** Respawn_Point_State&lt;br /&gt;
** Modify_Respawn_Point&lt;br /&gt;
** When_Captured&lt;br /&gt;
** Set_Capture_Point_Owner&lt;br /&gt;
** Owner_Gate&lt;br /&gt;
** Set_Gameplay_Rule&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8155&amp;amp;viewoldrev=1 Alpine Faction 1.1]==&lt;br /&gt;
* Released 19 Apr 2025&lt;br /&gt;
&lt;br /&gt;
==[https://www.factionfiles.com/ff.php?action=file&amp;amp;id=8085&amp;amp;viewoldrev=1 Alpine Faction 1.0]==&lt;br /&gt;
* Released 25 Jan 2025&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
* [[Alpine Faction Information]]&lt;br /&gt;
* [[Link Alpine Faction to a FactionFiles Account|How to Link Alpine Faction to your FactionFiles Account]]&lt;br /&gt;
* [[Red_Faction_Console_Commands#Alpine_Faction|Alpine Faction Console Commands]]&lt;br /&gt;
* [[Alpine Faction Level Design|Alpine Faction Level Design Information]]&lt;br /&gt;
* [[Alpine Faction Mod Development|Alpine Faction Mod Development Information]]&lt;br /&gt;
* [[Alpine Faction Dedicated Server Config]]&lt;br /&gt;
* [[Red_Faction_Command_Line_Parameters#Alpine_Faction|Alpine Faction Command Line Parameters]]&lt;br /&gt;
 &lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15136</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15136"/>
		<updated>2025-12-31T02:17:06Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- Alpine Faction 1.2.1 released: Dec 30, '25&lt;br /&gt;
- RF Game Night 175: Jan 3, '26&lt;br /&gt;
- RF Game Night 176: Jan 17, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15123</id>
		<title>Alpine Faction News Feed</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Faction_News_Feed&amp;diff=15123"/>
		<updated>2025-12-30T12:54:07Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;- RF Game Night 175: Jan 3, '26&lt;br /&gt;
- RF Game Night 176: Jan 17, '26&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15103</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15103"/>
		<updated>2025-12-23T13:07:03Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Translating Movers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Alpine Level Design#Movers|Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Set_Gameplay_Rule|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
Alpine Faction fixes several issues present in the stock game with movers, and adds some new functionality for mappers. All functionality described in this section is subject to the [[#Advanced options|Legacy movers]] option.&lt;br /&gt;
&lt;br /&gt;
===Translating Movers===&lt;br /&gt;
In the stock game, translating movers were never able to move slower than 0.4m/sec. This is now resolved, and movers can move very slow if configured as such. A hard minimum velocity of 0.001m/sec is imposed to handle some obscure framerate-related issues, but in a practical sense this will never be a limiting factor.&lt;br /&gt;
&lt;br /&gt;
In the stock game, travel time is calculated without taking acceleration/deceleration into account, which results in a drift in travel time equal to 50% of the combined acceleration + deceleration time. This is now resolved, and the travel time configured for the keyframe is respected. Note that if the combined acceleration + deceleration time is greater than the configured travel time, the travel time will be increased by Alpine Faction in order to accommodate the provided values.&lt;br /&gt;
&lt;br /&gt;
In the stock game, the way values were applied along the mover path was not always intuitive. In Alpine Faction, the travel, acceleration, and deceleration times for a movement segment are always as configured on the starting keyframe for that segment.&lt;br /&gt;
* For example, if a mover is moving forward from Keyframe A -&amp;gt; B -&amp;gt; C, and is set to &amp;quot;Ping Pong Once&amp;quot;:&lt;br /&gt;
** Time values configured on Keyframe A are used for the movement from A -&amp;gt; B (moving forward, uses &amp;quot;Departing Travel Time&amp;quot;)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; C (moving forward, uses &amp;quot;Departing Travel Time&amp;quot;)&lt;br /&gt;
** The mover hits Keyframe C, and because it's set to &amp;quot;Ping Pong Once&amp;quot;, it reverses direction and begins moving backwards&lt;br /&gt;
** Time values configured on Keyframe C are used for the movement from C -&amp;gt; B (moving backward, uses &amp;quot;Returning Travel Time&amp;quot;)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; A (moving backward, uses &amp;quot;Returning Travel Time&amp;quot;)&lt;br /&gt;
** The mover hits Keyframe A, and because it's set to &amp;quot;Ping Pong Once&amp;quot; and has now reached its starting position, it stops. The next time it is activated, it begins moving forward from Keyframe A -&amp;gt; B again.&lt;br /&gt;
&lt;br /&gt;
===Rotating Movers===&lt;br /&gt;
In the stock game, &amp;quot;Loop Once&amp;quot; and &amp;quot;Loop Infinite&amp;quot; on rotating movers with rotation degrees &amp;lt; 360 just continued looping 360 degrees regardless. This is now resolved, so the mover works as expected - i.e. with rotation degrees 90 and type &amp;quot;Loop Once&amp;quot;, the mover rotates 90 degrees and then snaps back to its starting position.&lt;br /&gt;
&lt;br /&gt;
In the stock game, &amp;quot;Ping Pong Infinite&amp;quot; on rotating movers did not work properly - the behaviour was different than &amp;quot;Ping Pong Once&amp;quot;. This is now resolved, and &amp;quot;Ping Pong Infinite&amp;quot; functions identically to &amp;quot;Ping Pong Once&amp;quot;, just continues going until forcefully stopped.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Lift&amp;quot; Movement Type===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but has functioned the same as the &amp;quot;One Way&amp;quot; type. This has been resolved - &amp;quot;Lift&amp;quot; now works similarly to &amp;quot;One Way&amp;quot;, however whereas &amp;quot;One Way&amp;quot; ensures a one way movement from the starting keyframe to the last keyframe, &amp;quot;Lift&amp;quot; moves just one segment per activation, and then stops and waits to be activated again.&lt;br /&gt;
&lt;br /&gt;
===Force Orient===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but using it would make levels crash when loading. In Alpine Faction, this option now works properly:&lt;br /&gt;
* For translating movers, it ensures the mover faces the direction of movement while moving (resets to base orientation when stopped)&lt;br /&gt;
* For rotating movers, it ensures the mover maintains its base orientation when moving.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' While the Force Orient functionality is restricted to Alpine levels (and subject to the &amp;quot;Legacy Movers&amp;quot; option), Alpine Faction fixes the crash issue across all levels. Older levels will no longer crash when this option is used, but they also won't be able to use the functionality (they will act as though this option was simply not enabled).&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Multiplayer Respawn Points==&lt;br /&gt;
The stock game recognized only the first 32 [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]] placed in a level. Alpine Faction recognizes the first 2048.&lt;br /&gt;
&lt;br /&gt;
In the new KOTH, DC, REV, and ESC gametypes, Multiplayer Respawn Points can be associated with control points. This behaviour is further described in [[Mapping with Control Points#Advanced Mechanics|Mapping with Control Points]].&lt;br /&gt;
&lt;br /&gt;
Multiplayer Respawn Points can now be toggled on/off with [[RED Event List#AF_Utility|Respawn_Point_State]], and the associated team(s) changed with [[RED Event List#AF_General|Modify_Respawn_Point]].&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15102</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15102"/>
		<updated>2025-12-23T13:03:26Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Multiplayer Respawn Points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Alpine Level Design#Movers|Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Set_Gameplay_Rule|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
Alpine Faction fixes several issues present in the stock game with movers, and adds some new functionality for mappers. All functionality described in this section is subject to the [[#Advanced options|Legacy movers]] option.&lt;br /&gt;
&lt;br /&gt;
===Translating Movers===&lt;br /&gt;
In the stock game, translating movers were never able to move slower than 0.4m/sec. This is now resolved, and movers can move very slow if configured as such. A hard minimum velocity of 0.001m/sec is imposed to handle some obscure framerate-related issues, but in a practical sense this will never be a limiting factor.&lt;br /&gt;
&lt;br /&gt;
In the stock game, travel time is calculated without taking acceleration/deceleration into account, which results in a drift in travel time equal to 50% of the combined acceleration + deceleration time. This is now resolved, and the travel time configured for the keyframe is respected. Note that if the combined acceleration + deceleration time is greater than the configured travel time, the travel time will be increased by Alpine Faction in order to accommodate the provided values.&lt;br /&gt;
&lt;br /&gt;
In the stock game, the way values were applied along the mover path was not always intuitive. In Alpine Faction, the travel, acceleration, and deceleration times for a movement segment are always as configured on the starting keyframe for that segment.&lt;br /&gt;
* For example, if a mover is moving forward from Keyframe A -&amp;gt; B -&amp;gt; C, and is set to &amp;quot;Ping Pong Once&amp;quot;:&lt;br /&gt;
** Time values configured on Keyframe A are used for the movement from A -&amp;gt; B (moving forward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; C (moving forward)&lt;br /&gt;
** The mover hits Keyframe C, and because it's set to &amp;quot;Ping Pong Once&amp;quot;, it reverses direction and begins moving backwards&lt;br /&gt;
** Time values configured on Keyframe C are used for the movement from C -&amp;gt; B (moving backward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; A (moving backward)&lt;br /&gt;
** The mover hits Keyframe A, and because it's set to &amp;quot;Ping Pong Once&amp;quot; and has now reached its starting position, it stops. The next time it is activated, it begins moving forward from Keyframe A -&amp;gt; B again.&lt;br /&gt;
&lt;br /&gt;
===Rotating Movers===&lt;br /&gt;
In the stock game, &amp;quot;Loop Once&amp;quot; and &amp;quot;Loop Infinite&amp;quot; on rotating movers with rotation degrees &amp;lt; 360 just continued looping 360 degrees regardless. This is now resolved, so the mover works as expected - i.e. with rotation degrees 90 and type &amp;quot;Loop Once&amp;quot;, the mover rotates 90 degrees and then snaps back to its starting position.&lt;br /&gt;
&lt;br /&gt;
In the stock game, &amp;quot;Ping Pong Infinite&amp;quot; on rotating movers did not work properly - the behaviour was different than &amp;quot;Ping Pong Once&amp;quot;. This is now resolved, and &amp;quot;Ping Pong Infinite&amp;quot; functions identically to &amp;quot;Ping Pong Once&amp;quot;, just continues going until forcefully stopped.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Lift&amp;quot; Movement Type===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but has functioned the same as the &amp;quot;One Way&amp;quot; type. This has been resolved - &amp;quot;Lift&amp;quot; now works similarly to &amp;quot;One Way&amp;quot;, however whereas &amp;quot;One Way&amp;quot; ensures a one way movement from the starting keyframe to the last keyframe, &amp;quot;Lift&amp;quot; moves just one segment per activation, and then stops and waits to be activated again.&lt;br /&gt;
&lt;br /&gt;
===Force Orient===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but using it would make levels crash when loading. In Alpine Faction, this option now works properly:&lt;br /&gt;
* For translating movers, it ensures the mover faces the direction of movement while moving (resets to base orientation when stopped)&lt;br /&gt;
* For rotating movers, it ensures the mover maintains its base orientation when moving.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' While the Force Orient functionality is restricted to Alpine levels (and subject to the &amp;quot;Legacy Movers&amp;quot; option), Alpine Faction fixes the crash issue across all levels. Older levels will no longer crash when this option is used, but they also won't be able to use the functionality (they will act as though this option was simply not enabled).&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Multiplayer Respawn Points==&lt;br /&gt;
The stock game recognized only the first 32 [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]] placed in a level. Alpine Faction recognizes the first 2048.&lt;br /&gt;
&lt;br /&gt;
In the new KOTH, DC, REV, and ESC gametypes, Multiplayer Respawn Points can be associated with control points. This behaviour is further described in [[Mapping with Control Points#Advanced Mechanics|Mapping with Control Points]].&lt;br /&gt;
&lt;br /&gt;
Multiplayer Respawn Points can now be toggled on/off with [[RED Event List#AF_Utility|Respawn_Point_State]], and the associated team(s) changed with [[RED Event List#AF_General|Modify_Respawn_Point]].&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15101</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15101"/>
		<updated>2025-12-23T13:02:11Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Multiplayer Respawn Points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Alpine Level Design#Movers|Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Set_Gameplay_Rule|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
Alpine Faction fixes several issues present in the stock game with movers, and adds some new functionality for mappers. All functionality described in this section is subject to the [[#Advanced options|Legacy movers]] option.&lt;br /&gt;
&lt;br /&gt;
===Translating Movers===&lt;br /&gt;
In the stock game, translating movers were never able to move slower than 0.4m/sec. This is now resolved, and movers can move very slow if configured as such. A hard minimum velocity of 0.001m/sec is imposed to handle some obscure framerate-related issues, but in a practical sense this will never be a limiting factor.&lt;br /&gt;
&lt;br /&gt;
In the stock game, travel time is calculated without taking acceleration/deceleration into account, which results in a drift in travel time equal to 50% of the combined acceleration + deceleration time. This is now resolved, and the travel time configured for the keyframe is respected. Note that if the combined acceleration + deceleration time is greater than the configured travel time, the travel time will be increased by Alpine Faction in order to accommodate the provided values.&lt;br /&gt;
&lt;br /&gt;
In the stock game, the way values were applied along the mover path was not always intuitive. In Alpine Faction, the travel, acceleration, and deceleration times for a movement segment are always as configured on the starting keyframe for that segment.&lt;br /&gt;
* For example, if a mover is moving forward from Keyframe A -&amp;gt; B -&amp;gt; C, and is set to &amp;quot;Ping Pong Once&amp;quot;:&lt;br /&gt;
** Time values configured on Keyframe A are used for the movement from A -&amp;gt; B (moving forward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; C (moving forward)&lt;br /&gt;
** The mover hits Keyframe C, and because it's set to &amp;quot;Ping Pong Once&amp;quot;, it reverses direction and begins moving backwards&lt;br /&gt;
** Time values configured on Keyframe C are used for the movement from C -&amp;gt; B (moving backward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; A (moving backward)&lt;br /&gt;
** The mover hits Keyframe A, and because it's set to &amp;quot;Ping Pong Once&amp;quot; and has now reached its starting position, it stops. The next time it is activated, it begins moving forward from Keyframe A -&amp;gt; B again.&lt;br /&gt;
&lt;br /&gt;
===Rotating Movers===&lt;br /&gt;
In the stock game, &amp;quot;Loop Once&amp;quot; and &amp;quot;Loop Infinite&amp;quot; on rotating movers with rotation degrees &amp;lt; 360 just continued looping 360 degrees regardless. This is now resolved, so the mover works as expected - i.e. with rotation degrees 90 and type &amp;quot;Loop Once&amp;quot;, the mover rotates 90 degrees and then snaps back to its starting position.&lt;br /&gt;
&lt;br /&gt;
In the stock game, &amp;quot;Ping Pong Infinite&amp;quot; on rotating movers did not work properly - the behaviour was different than &amp;quot;Ping Pong Once&amp;quot;. This is now resolved, and &amp;quot;Ping Pong Infinite&amp;quot; functions identically to &amp;quot;Ping Pong Once&amp;quot;, just continues going until forcefully stopped.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Lift&amp;quot; Movement Type===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but has functioned the same as the &amp;quot;One Way&amp;quot; type. This has been resolved - &amp;quot;Lift&amp;quot; now works similarly to &amp;quot;One Way&amp;quot;, however whereas &amp;quot;One Way&amp;quot; ensures a one way movement from the starting keyframe to the last keyframe, &amp;quot;Lift&amp;quot; moves just one segment per activation, and then stops and waits to be activated again.&lt;br /&gt;
&lt;br /&gt;
===Force Orient===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but using it would make levels crash when loading. In Alpine Faction, this option now works properly:&lt;br /&gt;
* For translating movers, it ensures the mover faces the direction of movement while moving (resets to base orientation when stopped)&lt;br /&gt;
* For rotating movers, it ensures the mover maintains its base orientation when moving.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' While the Force Orient functionality is restricted to Alpine levels (and subject to the &amp;quot;Legacy Movers&amp;quot; option), Alpine Faction fixes the crash issue across all levels. Older levels will no longer crash when this option is used, but they also won't be able to use the functionality (they will act as though this option was simply not enabled).&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Multiplayer Respawn Points==&lt;br /&gt;
The stock game recognized only the first 32 [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]] placed in a level. Alpine Faction recognizes the first 2048.&lt;br /&gt;
&lt;br /&gt;
In the new KOTH, DC, REV, and ESC gametypes, Multiplayer Respawn Points can be associated with control points. This behaviour is further described in [[Mapping with Control Points#Advanced Mechanics|Mapping with Control Points]].&lt;br /&gt;
&lt;br /&gt;
Multiplayer Respawn Points can now be toggled on/off with [[RED Event List#Respawn_Point_State|Respawn_Point_State]], and the associated team(s) changed with [[RED Event List#Modify_Respawn_Point|Modify_Respawn_Point]].&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15100</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15100"/>
		<updated>2025-12-23T13:01:34Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Alpine Level Design#Movers|Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Set_Gameplay_Rule|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
Alpine Faction fixes several issues present in the stock game with movers, and adds some new functionality for mappers. All functionality described in this section is subject to the [[#Advanced options|Legacy movers]] option.&lt;br /&gt;
&lt;br /&gt;
===Translating Movers===&lt;br /&gt;
In the stock game, translating movers were never able to move slower than 0.4m/sec. This is now resolved, and movers can move very slow if configured as such. A hard minimum velocity of 0.001m/sec is imposed to handle some obscure framerate-related issues, but in a practical sense this will never be a limiting factor.&lt;br /&gt;
&lt;br /&gt;
In the stock game, travel time is calculated without taking acceleration/deceleration into account, which results in a drift in travel time equal to 50% of the combined acceleration + deceleration time. This is now resolved, and the travel time configured for the keyframe is respected. Note that if the combined acceleration + deceleration time is greater than the configured travel time, the travel time will be increased by Alpine Faction in order to accommodate the provided values.&lt;br /&gt;
&lt;br /&gt;
In the stock game, the way values were applied along the mover path was not always intuitive. In Alpine Faction, the travel, acceleration, and deceleration times for a movement segment are always as configured on the starting keyframe for that segment.&lt;br /&gt;
* For example, if a mover is moving forward from Keyframe A -&amp;gt; B -&amp;gt; C, and is set to &amp;quot;Ping Pong Once&amp;quot;:&lt;br /&gt;
** Time values configured on Keyframe A are used for the movement from A -&amp;gt; B (moving forward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; C (moving forward)&lt;br /&gt;
** The mover hits Keyframe C, and because it's set to &amp;quot;Ping Pong Once&amp;quot;, it reverses direction and begins moving backwards&lt;br /&gt;
** Time values configured on Keyframe C are used for the movement from C -&amp;gt; B (moving backward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; A (moving backward)&lt;br /&gt;
** The mover hits Keyframe A, and because it's set to &amp;quot;Ping Pong Once&amp;quot; and has now reached its starting position, it stops. The next time it is activated, it begins moving forward from Keyframe A -&amp;gt; B again.&lt;br /&gt;
&lt;br /&gt;
===Rotating Movers===&lt;br /&gt;
In the stock game, &amp;quot;Loop Once&amp;quot; and &amp;quot;Loop Infinite&amp;quot; on rotating movers with rotation degrees &amp;lt; 360 just continued looping 360 degrees regardless. This is now resolved, so the mover works as expected - i.e. with rotation degrees 90 and type &amp;quot;Loop Once&amp;quot;, the mover rotates 90 degrees and then snaps back to its starting position.&lt;br /&gt;
&lt;br /&gt;
In the stock game, &amp;quot;Ping Pong Infinite&amp;quot; on rotating movers did not work properly - the behaviour was different than &amp;quot;Ping Pong Once&amp;quot;. This is now resolved, and &amp;quot;Ping Pong Infinite&amp;quot; functions identically to &amp;quot;Ping Pong Once&amp;quot;, just continues going until forcefully stopped.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Lift&amp;quot; Movement Type===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but has functioned the same as the &amp;quot;One Way&amp;quot; type. This has been resolved - &amp;quot;Lift&amp;quot; now works similarly to &amp;quot;One Way&amp;quot;, however whereas &amp;quot;One Way&amp;quot; ensures a one way movement from the starting keyframe to the last keyframe, &amp;quot;Lift&amp;quot; moves just one segment per activation, and then stops and waits to be activated again.&lt;br /&gt;
&lt;br /&gt;
===Force Orient===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but using it would make levels crash when loading. In Alpine Faction, this option now works properly:&lt;br /&gt;
* For translating movers, it ensures the mover faces the direction of movement while moving (resets to base orientation when stopped)&lt;br /&gt;
* For rotating movers, it ensures the mover maintains its base orientation when moving.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' While the Force Orient functionality is restricted to Alpine levels (and subject to the &amp;quot;Legacy Movers&amp;quot; option), Alpine Faction fixes the crash issue across all levels. Older levels will no longer crash when this option is used, but they also won't be able to use the functionality (they will act as though this option was simply not enabled).&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Multiplayer Respawn Points==&lt;br /&gt;
The stock game recognized only the first 32 [[RED Objects#Multiplayer Respawn Point|Multiplayer Respawn Points]] placed in a level. Alpine Faction recognizes the first 2048.&lt;br /&gt;
&lt;br /&gt;
In the new KOTH, DC, REV, and ESC gametypes, Multiplayer Respawn Points can be associated with control points. This behaviour is further described in [[Mapping_with_Control_Points#Linking_to_Respawn_Points|Mapping with Control Points]].&lt;br /&gt;
&lt;br /&gt;
Multiplayer Respawn Points can now be toggled on/off with [[RED Event List#Respawn_Point_State|Respawn_Point_State]], and the associated team(s) changed with [[RED Event List#Modify_Respawn_Point|Modify_Respawn_Point]].&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15099</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15099"/>
		<updated>2025-12-23T12:56:58Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Movers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Alpine Level Design#Movers|Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Set_Gameplay_Rule|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
Alpine Faction fixes several issues present in the stock game with movers, and adds some new functionality for mappers. All functionality described in this section is subject to the [[#Advanced options|Legacy movers]] option.&lt;br /&gt;
&lt;br /&gt;
===Translating Movers===&lt;br /&gt;
In the stock game, translating movers were never able to move slower than 0.4m/sec. This is now resolved, and movers can move very slow if configured as such. A hard minimum velocity of 0.001m/sec is imposed to handle some obscure framerate-related issues, but in a practical sense this will never be a limiting factor.&lt;br /&gt;
&lt;br /&gt;
In the stock game, travel time is calculated without taking acceleration/deceleration into account, which results in a drift in travel time equal to 50% of the combined acceleration + deceleration time. This is now resolved, and the travel time configured for the keyframe is respected. Note that if the combined acceleration + deceleration time is greater than the configured travel time, the travel time will be increased by Alpine Faction in order to accommodate the provided values.&lt;br /&gt;
&lt;br /&gt;
In the stock game, the way values were applied along the mover path was not always intuitive. In Alpine Faction, the travel, acceleration, and deceleration times for a movement segment are always as configured on the starting keyframe for that segment.&lt;br /&gt;
* For example, if a mover is moving forward from Keyframe A -&amp;gt; B -&amp;gt; C, and is set to &amp;quot;Ping Pong Once&amp;quot;:&lt;br /&gt;
** Time values configured on Keyframe A are used for the movement from A -&amp;gt; B (moving forward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; C (moving forward)&lt;br /&gt;
** The mover hits Keyframe C, and because it's set to &amp;quot;Ping Pong Once&amp;quot;, it reverses direction and begins moving backwards&lt;br /&gt;
** Time values configured on Keyframe C are used for the movement from C -&amp;gt; B (moving backward)&lt;br /&gt;
** Time values configured on Keyframe B are used for the movement from B -&amp;gt; A (moving backward)&lt;br /&gt;
** The mover hits Keyframe A, and because it's set to &amp;quot;Ping Pong Once&amp;quot; and has now reached its starting position, it stops. The next time it is activated, it begins moving forward from Keyframe A -&amp;gt; B again.&lt;br /&gt;
&lt;br /&gt;
===Rotating Movers===&lt;br /&gt;
In the stock game, &amp;quot;Loop Once&amp;quot; and &amp;quot;Loop Infinite&amp;quot; on rotating movers with rotation degrees &amp;lt; 360 just continued looping 360 degrees regardless. This is now resolved, so the mover works as expected - i.e. with rotation degrees 90 and type &amp;quot;Loop Once&amp;quot;, the mover rotates 90 degrees and then snaps back to its starting position.&lt;br /&gt;
&lt;br /&gt;
In the stock game, &amp;quot;Ping Pong Infinite&amp;quot; on rotating movers did not work properly - the behaviour was different than &amp;quot;Ping Pong Once&amp;quot;. This is now resolved, and &amp;quot;Ping Pong Infinite&amp;quot; functions identically to &amp;quot;Ping Pong Once&amp;quot;, just continues going until forcefully stopped.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Lift&amp;quot; Movement Type===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but has functioned the same as the &amp;quot;One Way&amp;quot; type. This has been resolved - &amp;quot;Lift&amp;quot; now works similarly to &amp;quot;One Way&amp;quot;, however whereas &amp;quot;One Way&amp;quot; ensures a one way movement from the starting keyframe to the last keyframe, &amp;quot;Lift&amp;quot; moves just one segment per activation, and then stops and waits to be activated again.&lt;br /&gt;
&lt;br /&gt;
===Force Orient===&lt;br /&gt;
This option has always been available in [[RED_Objects#Keyframe|Keyframe]] properties, but using it would make levels crash when loading. In Alpine Faction, this option now works properly:&lt;br /&gt;
* For translating movers, it ensures the mover faces the direction of movement while moving (resets to base orientation when stopped)&lt;br /&gt;
* For rotating movers, it ensures the mover maintains its base orientation when moving.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:''' While the Force Orient functionality is restricted to Alpine levels (and subject to the &amp;quot;Legacy Movers&amp;quot; option), Alpine Faction fixes the crash issue across all levels. Older levels will no longer crash when this option is used, but they also won't be able to use the functionality (they will act as though this option was simply not enabled).&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15098</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15098"/>
		<updated>2025-12-23T12:25:10Z</updated>

		<summary type="html">&lt;p&gt;Goober: /* Advanced options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Alpine Level Design#Movers|Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Set_Gameplay_Rule|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
	<entry>
		<id>https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15097</id>
		<title>Alpine Level Design</title>
		<link rel="alternate" type="text/html" href="https://www.redfactionwiki.com/w/index.php?title=Alpine_Level_Design&amp;diff=15097"/>
		<updated>2025-12-23T12:23:43Z</updated>

		<summary type="html">&lt;p&gt;Goober: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{BubbleNav|RF1Modding}}&lt;br /&gt;
[[File:Alpinelogo1.png|center]]&lt;br /&gt;
&lt;br /&gt;
This page lists all major differences between normal Red Faction level design and level design for Alpine Levels, as featured in Alpine Faction.&lt;br /&gt;
&lt;br /&gt;
*This page is current as of the release of Alpine Faction v1.2.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
===Versioning===&lt;br /&gt;
'''Alpine Levels are playable only using Alpine Faction.'''&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
* '''Troubleshooting goals''' - You can use the &amp;lt;tt&amp;gt;[ dbg_goal GOALNAME ]&amp;lt;/tt&amp;gt; console command at any time to query a goal by name and print its current and initial values.&lt;br /&gt;
* '''Troubleshooting event and trigger links''' - You can use the &amp;lt;tt&amp;gt;[ debug trigger ]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[ debug event ]&amp;lt;/tt&amp;gt; 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.&lt;br /&gt;
&lt;br /&gt;
===Workflow===&lt;br /&gt;
* '''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 in multi''' or '''Play in multi (camera)''' buttons on the top toolbar, the game will launch you into a listen (local) server running your level.&lt;br /&gt;
* '''Hotkeys''' - The F9 hotkey now maps to '''Play in multi''' and F10 maps to '''Play in multi (camera)'''&lt;br /&gt;
* '''Object links''' - You can now link to multiple objects at once. When you select multiple objects and press &amp;quot;K&amp;quot;, the first object you selected will be linked to all other object you have selected.&lt;br /&gt;
* '''Pixels/meter tiling''' - The maximum configurable value in Preference-&amp;gt;Texture has been raised to 8192.&lt;br /&gt;
&lt;br /&gt;
===Level Properties===&lt;br /&gt;
* '''RFL version''' - Is now displayed in the Level Properties window.&lt;br /&gt;
* '''Fog''' - Default fog colour for newly created levels is now (0, 0, 0) full black instead of the stock game default of (40, 40, 40).&lt;br /&gt;
====Advanced options====&lt;br /&gt;
These options allow level designers to access new functionality available only in Alpine Faction. The default values for existing levels ensure functionality continues as it always has (legacy compatible), while the default values for new levels enable the new features. You can control them yourself in the Level Properties window.&lt;br /&gt;
* '''Legacy Cyclic_Timer events''' - Disable Cyclic_Timer fix, see [[#Fixed Cyclic_Timer|Fixed Cyclic_Timer]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Legacy movers''' - Disable new Alpine mover logic, see [[Movers]] for more information. Defaults to true for existing levels, false for new levels.&lt;br /&gt;
* '''Player starts with headlamp''' - If true, players of this level can use their headlamp immediately when the level loads (SP only). If false, the player must first be given a headlamp with [[RED Event List#Cyclic_Timer|Set_Gameplay_Rule]] before they can use their headlamp. Defaults to true for existing and new levels.&lt;br /&gt;
* '''Override static mesh ambient light scale''' - If true, use the specified '''New scale value''' as scalar for ambient light applied to static meshes. If false, use the stock game's behaviour, which is a scale of 2.0 when loaded in SP and 3.2 when loaded in MP. Defaults to false for existing and new levels.&lt;br /&gt;
&lt;br /&gt;
==Geometry==&lt;br /&gt;
When constructing non-Alpine levels, faces are added to &amp;quot;fix ps2 tiling&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Movers==&lt;br /&gt;
WIP&lt;br /&gt;
&lt;br /&gt;
==Lighting==&lt;br /&gt;
===Lightmaps===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
===Dynamic Lights===&lt;br /&gt;
Alpine Levels can utilize dynamic lights - configured via the &amp;quot;Dynamic&amp;quot; checkbox in light properties. Using the ''Anchor_Marker'' event (described below), you can also move dynamic lights using moving groups. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Skyboxes==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;Sky Room&amp;quot; type on the ''Room Effect'' - instead, leave &amp;quot;type&amp;quot; set to &amp;quot;None&amp;quot;. The UID of the ''Room Effect'' is the skybox room UID you will specify in the properties of the ''Set_Skybox'' event.&lt;br /&gt;
&lt;br /&gt;
===Base Functionality===&lt;br /&gt;
Enhanced skyboxes retain all functionality seen in normal skyboxes, but add:&lt;br /&gt;
* '''Lighting''' - Lightmaps are rendered in surfaces in enhanced skyboxes (Direct3D 11 renderer only). If you do not want lightmaps on your skybox faces, you can set them to fullbright in texture properties.&lt;br /&gt;
* '''Liquid''' - You can set the ''Room Effect'' that designates your enhanced skybox room to type &amp;quot;Liquid Room&amp;quot; if you wish to have a liquid surface in your sky room.&lt;br /&gt;
&lt;br /&gt;
===Eye Anchor===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can specify an &amp;quot;eye anchor&amp;quot; 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 &amp;quot;eye anchor&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Caution: Moving the &amp;quot;eye anchor&amp;quot; with keyframes can be very disorienting and take away from your level if you are not careful. In general, you should avoid quick movements.&lt;br /&gt;
&lt;br /&gt;
===Relative Position===&lt;br /&gt;
When setting an enhanced skybox via the ''Set_Skybox'' event, you can turn on &amp;quot;use relative position&amp;quot; and specify a &amp;quot;relative position scale&amp;quot;. If you do, players can move around &amp;quot;inside the sky room&amp;quot; as they play your map. The position of your camera in relation to the world origin (position 0,0,0) is mapped to the &amp;quot;eye&amp;quot; position in the skybox, relative to the &amp;quot;eye anchor&amp;quot; position in the sky room. The position is scaled using the scale.&lt;br /&gt;
&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
* A &amp;quot;relative position scale&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;use relative position&amp;quot; option will have no effect.&lt;br /&gt;
&lt;br /&gt;
==Triggers==&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
The following events are not supported in multiplayer and will not function if triggered:&lt;br /&gt;
* Load_Level&lt;br /&gt;
* Endgame&lt;br /&gt;
* Defuse_Nuke&lt;br /&gt;
* Drop_Point_Marker&lt;br /&gt;
* Go_Undercover&lt;br /&gt;
* Win_PS2_Demo&lt;br /&gt;
* Play_Video&lt;br /&gt;
* When_Picked_Up&lt;br /&gt;
&lt;br /&gt;
==Items==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==HUD Messages==&lt;br /&gt;
Magic words can be used in HUD message display (via the ''HUD_Message''' event, and any other reason HUD messages would be rendered) to display dynamic values to the player. The stock game supported the use of magic words in HUD messages for a subset of the controls in the stock game (used in the training mission), but Alpine Faction expands this capability substantially. To use these magic words, simply include their text exactly as written below in the string for your HUD message.&lt;br /&gt;
&lt;br /&gt;
The following is a list of magic words that are available for use by level designers and mod developers in Alpine Faction, as well as what they are translated to when displayed as a HUD message&lt;br /&gt;
* '''$FIRE$''' - Name of the key or mouse button assigned to the primary fire control&lt;br /&gt;
* '''$ALT_FIRE$''' - Name of the key or mouse button assigned to the alternate fire control&lt;br /&gt;
* '''$USE$''' - Name of the key or mouse button assigned to the use control&lt;br /&gt;
* '''$JUMP$''' - Name of the key or mouse button assigned to the jump control&lt;br /&gt;
* '''$CROUCH$''' - Name of the key or mouse button assigned to the crouch control&lt;br /&gt;
* '''$HOLSTER$''' - Name of the key or mouse button assigned to the holster weapon control&lt;br /&gt;
* '''$RELOAD$''' - Name of the key or mouse button assigned to the reload weapon control&lt;br /&gt;
* '''$NEXT_WEAPON$''' - Name of the key or mouse button assigned to the next weapon control&lt;br /&gt;
* '''$PREV_WEAPON$''' - Name of the key or mouse button assigned to the previous weapon control&lt;br /&gt;
* '''$MESSAGE_LOG$''' - Name of the key or mouse button assigned to the message log control&lt;br /&gt;
* '''$QUICK_SAVE$''' - Name of the key or mouse button assigned to the quick save control&lt;br /&gt;
* '''$QUICK_LOAD$''' - Name of the key or mouse button assigned to the quick load control&lt;br /&gt;
* '''$HEADLAMP$''' - Name of the key or mouse button assigned to the toggle headlamp control&lt;br /&gt;
* '''$SKIP_CUTSCENE$''' - Name of the key or mouse button assigned to the skip cutscene control&lt;br /&gt;
* '''$goal_GOALNAME$''' - Value of the goal with name equal to GOALNAME, if such a goal exists in the current map&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Fixed Delay Parameter===&lt;br /&gt;
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.&lt;br /&gt;
* '''Play_Sound'''&lt;br /&gt;
* '''Cyclic_Timer'''&lt;br /&gt;
* '''Make_Invulnerable'''&lt;br /&gt;
* '''Alarm_Siren'''&lt;br /&gt;
* '''Unhide'''&lt;br /&gt;
&lt;br /&gt;
===Fixed Cyclic_Timer===&lt;br /&gt;
Normally, the [[RED Event List#Cyclic_Timer|Cyclic_Timer]] fires twice on its first activation. In Alpine levels, this is fixed so the first activation (like every other activation_ fires only once. (Subject to [[#Advanced options|Legacy Cyclic_Timer events]] option)&lt;br /&gt;
&lt;br /&gt;
===Enhanced Functionality===&lt;br /&gt;
In Alpine Levels, some stock game events have been improved in various ways:&lt;br /&gt;
* '''Headlamp_State''' - If not linked to any specific entities, applies to the player. Can be used to toggle the player flashlight.&lt;br /&gt;
* '''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.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
====Dash Faction====&lt;br /&gt;
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.&lt;br /&gt;
* '''Set_Liquid_Depth''' - Had no effect in the stock game. Can now be used to smoothly change the depth of a liquid room.&lt;br /&gt;
* '''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.&lt;br /&gt;
&lt;br /&gt;
===Directional Events===&lt;br /&gt;
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:&lt;br /&gt;
* '''Play_VClip''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport''' - (did not display a 3D arrow in stock level editor, does in Alpine level editor)&lt;br /&gt;
* '''Teleport_Player'''&lt;br /&gt;
* '''Clone_Entity'''&lt;br /&gt;
* '''AF_Teleport_Player'''&lt;br /&gt;
* '''Anchor_Marker_Orient'''&lt;br /&gt;
&lt;br /&gt;
===Alpine Events===&lt;br /&gt;
* Alpine Faction adds many brand new event objects for use by level designers. For a full list of the new Alpine events, and a breakdown of the functionality of each, see [[RED_Event_List#Alpine_Faction|Alpine Faction Event List]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Red Faction]]&lt;br /&gt;
[[Category: RF1 Editing]]&lt;br /&gt;
[[Category: Alpine Faction]]&lt;/div&gt;</summary>
		<author><name>Goober</name></author>
	</entry>
</feed>