Behind-the-Scenes of the Phoenix Point Abilities Systems
Hey, hi! I'm Dimitar - gameplay programmer for Phoenix Point's content team, and occasionally (the voice of) a sneaky fishman that runs away when you shoot at him! I wanted to provide a peek behind the curtain regarding the abilities system in the game and answer some frequently asked questions about them.
To understand our systems, I need to dive technically into what makes up a character in Phoenix Point and some of the elements that they are composed of. Characters, also called Actors, carry the data for their Items (items/equipment/weapons), Body Parts (armors/mutations/bionics/etc.), Abilities (shoot/move/fall/die/mind control/etc.), Statuses (bleeding/acid/panic/etc.) and Components, among other things.
You have encountered many of these elements in-game, but you might not be familiar with Components. Components are the logic and behaviors which give additional functionality to a regular Tactical Actor. Some Component examples are Inventory, Equipment, Navigation and Vehicle. It is the connections between an Actor and Items, Abilities, Statuses, Components can be complex at a glance but becomes rather obvious, flowing from one to the others, once you put them together. Here are a few situations of how a character is built from all of these elements and what they can do:
Actor with the Enter Vehicle ability (ex: a Phoenix Operative) can use it on an Actor with the Vehicle Component (the Scarab). Vehicle Components provide slots for their Passengers.
Actor with the Open Crate ability can use it on an Actor with the Crate Component (the crate itself!). That's right, crates are Actors as well!
Actor equipped with the heavy armor Body Part gives them the Jet Jump ability, which is used by the Navigation Component.
Actor with an Inventory Component can use the Inventory Ability to store items and one with an Equipment Component is able to use them. This is how a typical soldier can use the Shoot Ability of their equipped weapons.
Now armed with this knowledge we can proceed to what we in the Tactical team refer to as the Danube river of the Tactical game - a weapon's Shoot Ability. Like the Danube, "shooting" a weapon covers a lot of ground: shooting involves several types of Components, on many Actors and results in damage being inflicted on Items and Body Parts, Statuses being applied to the Actor and reaction Abilities being executed (like Return Fire or Pain Chameleon). Allow me to walk you through a typical scenario in the game to illustrate what a major event shooting can be:
Shoot Ability is activated with the Triton's upper arm as a target
The Soldier steps out, using the Navigation Component
Since stepping out is a Navigation Component action, it triggers the Triton's Overwatch Ability, which activates with its target being the Triton's Shoot Ability.
Triton shoots a projectile hitting the intended target (Soldier’s Torso). Luckily our soldier is not dead and has both their Left Arm and Right Arm Body Parts active so they can continue with their own Shoot Ability
Soldier shoots several projectiles, some hitting the nearby Arthron
Since the Arthron hit has the Return Fire ability it is immediately activated. This is a common Reaction Ability, which uses the Arthron's Weapon to... activate its Shoot Ability with the original shooter as the target!
The Soldier receives the Arthron's damage payload to the torso and left arm.
The Soldier finally steps in for the high cover
Finally, the Triton activates the Pain Chameleon reaction with a nearby position as a target to slink away unseen
As you can see, a lot of things happened after only one input from the player, as Abilities can be triggered by actions (ex. enemy Navigation action, receiving damage) which in turn can trigger other abilities on the Actor (Return Fire -> current weapon's Shoot Ability). In addition to these active abilities, there are other hidden ones which are triggered by special events, like losing one's floor support (Fall Ability) or reaching zero general Hit Points (Die Ability). For each of them to work properly, though, they always require a target. When someone (or something!) enters a vehicle, the target is not the vehicle Actor, but the Vehicle Component. Occasionally targets can carry a context within, like with the Reload Ability - ammo and weapon. When we talk about targets and abilities we usually say something like “Activating/executing Reload Ability with target Phoenix Assault Rifle with context of Phoenix Assault Rifle Ammo.” It can be generalized as “Activating [Ability] with [target] with context of [context]” such as:
Activating Overwatch with position coordinates (0,0,0) with context of Phoenix Sniper Rifle.
Activating Throw Grenade with position coordinates (0,1,1) with context of NJ Incendiary Grenade.
Activating Objective with target Research Console with context of Steal Research.
Activating Mind Control with target Phoenix Soldier with context of Enter Vehicle Ability (with target Soldier Vehicle Component with context Executing Actor). Huh? It’s true, Humans are vehicles as well! And Mindfraggers are our passengers...
As you can see the Abilities and Components systems are quite versatile and with proper settings can be used in a myriad of ways. But with the wrong settings, it can lead to some unfortunate unintended consequences.
Many of the Abilities of Phoenix Point have more than one effect when used in a different context or with a different target. One particular case is the Legacy of the Ancients Cyclops Aura abilities which provide buffs to nearby allies. They are similar to the Priest’s Radiant Hope ability, but under the hood, both the auras and Radiant Hope are the same as Induce Panic (offensive debuff), Quick Aim (personal buff), Under Phoenix Control Status (debatable whether a buff or debuff) and Stand By Ability. They all apply some sort of Status context to an Actor target. In fact, the Priest class is built entirely out of one ability type used in conjunction with different statuses!
If you break down the abilities in the game by function you will start seeing patterns and similarities between them. These similarities are key to gameplay development. For the Tactical programming team, we strive to bring such flexibility to everything we code. By combining the elements that comprise a Character, mainly Abilities, Statuses, Items, and Body Parts, we can quickly iterate upon the design and implementation of the various gameplay mechanics the game designers can dream up.
This was just a short overview of how the Characters and Abilities operate in Phoenix Point. Thanks for reading and next time, I will go into more detail on how our Damage System works.