External Inventory is the first iteration of our grid-based inventory interface that allows players to manage their FPS commodities between their backpack, chest, and leg pockets. As it says in the name, the External Inventory also allows players to directly interact with other storage containers in the world and drag and drop items between them. In Alpha 3.11, this is only enabled for the Greycat ROC storage compartment so players can manage their FPS mineables. But, in the future and once we realise true item storage (underpinned by iCache), this will allow players to store items in compartments, crates, and other such external inventories.
While on the face of it, a new inventory UI and being able to drag and drop items between storage containers may sound simple, we had to overcome several creative and technical challenges. The main creative challenges revolved around having an interface that felt tactile and accessible to use without just feeling like a standard 2D interface that you see in most RPGs. This wasn’t because those inventories are bad, more that we didn’t want players performing inventory Tetris to manage their items; we wanted players to freely move items between storage containers without having to worry about where they dropped the item or if another item was in the way. We were able to achieve the first iteration of this using our Building Blocks technology, which stores the items as a list rather than a 2D grid. This means items fluidly move around your cursor as you drag objects between containers. We still want to further improve on the overall feel, but the team is happy with the initial outing.
While Building Blocks allowed us to deliver on the creative aspects of the design, it also provided the main technical challenge. As the technology is still being developed, it means it doesn’t always support things that you need to deliver a feature. In the case of External Inventory, we wanted the UI to feel diegetic and 3D even though it is not. This meant we wanted all the icons to be holographic, like they were being displayed in AR directly in front of your eyes. Unfortunately, our 3D icons could only support a limited shader which meant we lost a lot of material detail from the items being displayed. At this point we could have delayed the feature, but the team and I felt it was important for us to go live and get as much feedback as we could between now and a true physical inventory. We will definitely be upgrading that shader in an upcoming patch.
At its core, Force Reactions is a system developed to simulate what a character would do when impacted by a force, whether that is a strong gust of wind or a bullet penetrating their shoulder. It can be split into three levels of impacts:
- Low impact: twitches, flinches, and leans
- Medium impact: staggers
- High impact: knockdowns
In Alpha 3.10, we delivered the first iteration of low-impact reactions with the procedural twitches in FPS combat and leaning during sustained winds. In Alpha 3.11, we added more ‘feels’ to the twitches with additional camera and weapon reactions and our first iteration of knockdowns, with the intention for staggers to come later.
The biggest challenge for this system was that it needed to be truly systemic as forces can come from a lot of different places, not just bullets. For this, we broke down the forces into three main categories:
- Direct forces: anything that physically impacts the character, like a box or bullet
- Indirect forces: the force you receive when your ship gets rammed or from a gust of wind
- Sustained forces: where a force is constantly applied, such a g-force or wind
This meant we could compartmentalise different forces with different scales and allow the designers to balance the character’s reaction accordingly, as the forces of being hit by a box compared to the acceleration of a ship in space to 1000m/s are vastly different. While low-impact reactions do not take away any player control, we were very cognizant of the fact that knockdowns would. We spent a lot of time making sure the knockdown animations were very reactive to player control as soon as their character hit the ground. We also implemented a skill-based system that meant if you tried to ADS before touching the floor you would trigger a faster recovery animation, meaning you could get back into the action quicker.
Force Reactions in Alpha 3.11 was our second delivery and will be by no means our last. We are actively working on medium-impact reactions and will be constantly reviewing and tweaking the balance going forward, especially in FPS combat.
Throwing grenades or other objects has always been a bit inconsistent and is even more disappointing when you think you have that perfect multi-kill opportunity for the grenade to just whimper a few feet from you. So, the first thing we wanted to achieve with T1 was to make throwing much more reliable, so that the object you throw (whether a grenade or other object) goes where you expect it to go. The second biggest objective, which is a critical pre-requisite for the physical inventory, was for the throw system to be able to interact and co-exist with the carriable system.
In Alpha 3.10, if you picked up a grenade from the floor and then tried to throw it, there was no way for you to pull the pin. Also, if you pressed the ‘Throw Grenade’ hotkey, you would drop the grenade in your hand and pull a new one from your suit. Obviously, this is not the intended behaviour and was a major reason why we changed throwing to come from an equipped state (i.e. holding the grenade in your hand) rather than directly from your suit. This system will also allow us to deliver gadgets and deployables in the future.
As part of T1, we also added a UI ‘throw arc’ that allows you to see the trajectory of the grenade. While currently this is enabled for all helmets, it will only be accessible from combat helmets once we start to define different armor archetypes in the ‘verse.
Behring Grenade Launcher & Behring BR2 Shotgun
Ever since I have been directing weapons, we have been trying to make sure that every weapon we add to the game has a unique purpose or playstyle that it suits. Currently, we already have several live shotguns that are deadly when up-close-and-personal but ineffective beyond that. With Behring being a manufacturer that we have identified as being middle of the road when it comes to damage, fire rate, and accuracy, we felt the BR2 was our first opportunity to push the range out for a shotgun to provide a bit more oomph in mid-quarter combat without it dominating at close-quarters. While we were happy with the BR2, we are not necessarily happy with shotguns as an overall class as they are outgunned by SMGs and outranged by assault rifles. We will be doing an update to all the shotguns in an upcoming patch to give them greater identity.
The Behring grenade launcher on the other hand presented entirely different problems. A 40mm grenade in real life has a kill radius of about 5m with a casualty radius of about 15m. These are big numbers when you look at our interior spaces and, considering that you can fire several of these over a short space of time, you are left with a pretty powerful weapon. On the one hand we wanted to deliver a weapon that felt heavy and designed to rain down destruction, but on the other hand we didn’t want to massively wreck the balance of FPS combat.
With that aim, we made sure the numbers were slightly less than that of a normal frag grenade for both kill and injury radius. But if I’m being totally honest, I would say the grenade launcher is slightly too powerful in the current game. The main reason is that players have access to an infinite amount of ammo using the PMA, so we had to choose between releasing the weapon as intended or massively nerfing it until the physical inventory comes online. As a team we felt it was more representative of an experience to release the weapon as it’s supposed to work and wait for the other systems, such as physical inventory and physical damage, to balance out its sheer power. Then, players will have to consider how much space they allocate to ammunition and physical damage will cause weapons and armor to lose integrity when they are hit. This means if someone gets blown up by an explosion, a lot of their equipment will be damaged, which lowers the overall value. I have also seen the feedback regarding arming distance and it’s something that we will be working on.
If I look back across all the features that the Core Gameplay Pillar delivered for Alpha 3.11, I am happy with the results. However, this doesn’t mean everything went well or if I had that time again, I would do everything the same.
The main thing I think I would change would be how we implemented Force Reactions in the ships. Rather than treat it the same as all the other forces in the game (wind, bullets, etc) – which on the face of it makes sense – I would have designed it specifically around the gravity generator inside the ships. Currently we take the force that is applied to the ship and then directly apply it to the actor through filters depending on the force so that they react accordingly. Instead, I would have rather had the gravity itself react to the force, which would then cause the actor to react. While there would be no difference to the player, I think it would have been a cleaner implementation and be easier to extend the system in the future. For example, when we add gravity generator items, etc.
In the last two quarters we have also delivered two features (Body Dragging and Knockdowns) that would have really benefited from driven ragdoll. Unfortunately, that feature is not being delivered by someone on my teams, so I wouldn’t have necessarily been able to change anything. But looking back, I would have raised more visibility on the benefits of trying to push that feature forward. That is obviously a challenge with working on a 600-person team that is spread across multiple continents and has different priorities across multiple projects. Everyone is trying to deliver the best features/content/tech that they can to the highest possible quality and sometimes the stars don’t align when it comes to priorities. In this case, it is purely on my shoulders due to a lack of communication. As developers, we don’t always get it right when we’re in the thick of things, but hopefully this gives some insight into our processes and how we are always giving it 100% to try and create the best experiences for you to enjoy.
Core Gameplay Director