TL;DR Still not out yet.
TO: SQUADRON 42 RECRUITS
SUBJ: DEVELOPMENT UPDATE 01:18:2023
REF: CIG UK, CIG DE, CIG LA, CIG TX,
FAO Squadron 42 Recruits.
Welcome to November and December’s Squadron 42 development report. Enclosed you will find details on the latest progress made across the campaign, including crowd control, fire propagation, and alien character development.
Thank you for your continued support of Squadron 42.
Toward the end of the year, the AI Content team completed a significant number of tasks for chapter 15. This included prototyping animations for crowds and combatants alongside developing several usables and animation sets for dejected characters around the level.
The welding engineer also received a lot of improvements; the team made an extensive pass on the animations and progressed with the technical challenges of getting the welding helmet, Multi-Tool parts, and welding effects working together.
Considerable work was also done to get a basic version of an AI character interacting with a variety of usables found in living spaces. The bridge crew behavior and animations also received further iteration and are now starting to look polished.
Animation supported AI Features with box carrying, which resulted in a number of significant visual improvements.
A large amount of production and organization work was done too, resulting in a comprehensive animation schedule that details all the known work required for SQ42 to be content-complete. As part of this, the team will now implement usables and behaviors into the final game levels earlier in the pipeline.
Last year, the team implemented AI functionality into manned turrets. Like other objects that NPCs need to be able to use, the turrets have been set up as usables, which describes the logic and animations required to use them. As with the player, animations are synchronized with the turret movement so that the AI grips the turret by its handles while rotating on the spot to aim horizontally and tilts the turret up and down to aim vertically.
The team also worked on implementing a wide range of panic, cower, and surrender behaviors for both unarmed civilians and enemy NPCs that have run out of ammunition and weapons. If an unarmed civilian sees that an enemy has an unholstered weapon, they will notify characters nearby using a wildline and then panic-run to a hidden point of cover. They will continue to run away from the enemy if their cover is compromised. Unarmed characters that hear this information will turn to react to the enemy and then panic themselves. By randomizing the speed at which the NPCs react, the devs can generate a natural-looking range of behaviors from a crowd responding to a threat.
Armed enemies that have run out of ammo and weapons will run to cover while searching for valid ammo and weapons to pick up. Again, if their cover is exposed, they will reevaluate and run to a new position. If the player aims at an armed or unarmed NPC, they will stay on the spot but turn to face the player and move through a sequence of surrender animations whilst communicating with the player.
As part of combat, the team worked on the medic AI behaviors to allow NPCs to find incapacitated peers that need reviving and use med-pens to get them back into the fight. This involved bringing together numerous existing functionalities from various areas, including the usable system (‘use’ channel to revive), consumable items (the med-pen), synchronized animations (between the two NPCs), ragdoll into animations (to allow characters to stand-up from ragdoll), and Subsumption (to script the behavior). The next stage is integrating this behavior with the standard ‘react to presumed-dead bodies’ behavior to generate more complex behaviors.
AI Features also started work on a new non-human character. This involved creating a new core set of animations for the new creature and slotting it into an existing basic framework. From there, they were able to rapidly develop the core functionality, which was passed to the Design team for feedback.
Toward the end of the year, a few areas of work were revisited to tidy up loose ends. The first of these was the Vanduul investigation behavior. During the ‘cat and mouse’ gameplay section, the Vanduul will now investigate the floor vents in the room with different animations for different alertness levels.
After feedback from the Design team, new functionalities were added for the accuracy calculation. This included adding a mercy timer, firing time, and time-since-seen accuracy modifiers: The mercy timer gives the player a fighting chance to escape from heavy fire by making the AI inaccurate for a set period when the player’s health has reached a certain threshold. The firing-time accuracy modifier reduces the accuracy over firing periods for similar purposes. The time-since-seen accuracy modifier allows the player a grace period after moving out of cover during which the attackers’ accuracy will be lower. The accuracy distance calculation was also changed to be curve-based for greater control.
During the last months of 2022, the AI Tech team progressed with features required for both the Persistent Universe and Squadron 42.
The team continued to iterate on more complex navigation links to extend the capabilities of NPCs and where they’re able to move to, including implementing adapters for airlocks and elevators. Now, NPCs will know that in order to traverse an airlock, they will need to interact with multiple consoles to adjust the pressure and open the door. For Elevators, navigation links were created to connect multiple floors. A navigation link was also created to request a reconnection with the navigation mesh triangles each time an elevator stops at a floor to allow NPCs to transition in and out. Based on navigation link connections, an NPC will now know how to request an elevator to go to a specific floor. New event notifications were also added, sent by the elevator when it arrives at a floor, so that the actor will know to get on or off.
At the end of the year, the base functionality for NPCs driving ground vehicles was completed. NPCs can now move to a vehicle and get into the driver’s seat, find a path suitable for the size of the vehicle, and drive along it. This work involved the creation of a new Subsumption task, a new movement request type, and updating the movement planner to know how to process the request. The team also added new functionality to the navigation systems that marks entities to be ignored during navigation-mesh generation.
NPC perception was another major topic worked on toward the end of the year. The team implemented a new adapter for action areas to specify lightness/darkness, which will influence NPCs‘ visual perception.
A new extender to propagate engine sounds as stimuli was also created, which will make NPCs aware of vehicles in their proximity. This was the first step toward behaviors that react to ground vehicles and spaceships.
While working on perception improvements, the devs fixed AI visual perception through glass. Now, NPCs will be able to detect targets behind glass and also understand that, in order to shoot at them, they need to move to the other side.
For locomotion, improvements continued on the sharp-turn assets and how they’re triggered for alien characters or at walking speeds. Related to this, work began on ‘following’ tech, which will be used in connection with the buddy AI behavior. For this, the team improved soft stops, collision avoidance with players, and speed handling based on the leader’s change in speed.
For the Apollo Subsumption tool, new functionality was added to create and modify the Subsumption mastergraph. A lot of feedback from the designers was implemented, including the addition of an interface to create roles and sub-roles, find reference functionality, improved interaction with functions and the multigraph tab, and improvements to grid snapping.
The Vehicle Feature team worked on significant improvements and features for flight AI, including largely completing their work on several sections involving ships attacking actors on the ground.
This work revolves around a redesign of the core combat logic:
“We’re working toward a more varied and interesting ship combat experience than before, so we are planning out and making changes to combat AI and testing them in SQ42 to get the experience we want.” AI Vehicle Team
The last months of 2022 saw Gameplay Animation working on Vanduul executions, zero-g player movement, and various animation sets for background life. They also added skill-level variation to takedowns alongside new weapons. They then shot mo-cap for a variety of additional scenes and gameplay needs and created facial animation for various story and background characters.
The concept artists worked on tattoo and armor variation concepts for the Screaming Galsons to help fill out the faction, and continued work on a key campaign character.
The artists also worked on the Screaming Galsons’ armors along with the navy-pilot flightsuit and a new creature.
Tech Art skinned the main navy jumpsuit and paired assets for the deck crew, engineers, and gunners.
Environment Art approached content-complete on several chapter locations, including chapters 7 and 11.
Asset kits are currently in progress to help flesh out space-scaping for the flight-based chapters, while Vanduul ship work continues as the team prepares to hand them over to be set up.
November and December were busy months for the Physics team. Aside from plenty of bug fixing and supporting Alpha 3.18, they worked on various optimizations. For example, the cost of performing part OBB vs grid cell overlap checks was amortized by performing them in one call for a grid node instead of cell by cell. Also, sub stepping for attached and AI-controlled NPCs on the server was disabled to bring back actor entity step performance. Several internal data structures were compacted and reordered for a smaller memory footprint and better member alignment.
On the renderer, the team enabled the Gen12 pipeline and scene rendering by default (this will be featured in Alpha 3.18), which is a major milestone on the road toward completing the Gen12 transition and providing a Vulkan backend. Following October’s work on particles, further substantial progress was made. Gen12 refraction and half-resolution rendering support for GPU particles was added, the particle stage and GPU handler refactored, and particle shader background compilation was enabled. Furthermore, particles split for each hierarchy level are now updated in a way that ensures UAV resources stay consistent across each pass and don’t change. Moreover, debug visualization code for various systems was ported to Gen12, and PSO caching for projectiles and particles was improved.
Regarding atmosphere and volumetric clouds, an initial draft of a new temporal render mode was submitted and will continue to be worked on in the coming months to provide better rendering performance of raymarched volumetric clouds and atmosphere. Furthermore, various options for refined cloud shaping were brainstormed with Tech Art and will hopefully find their way into a release soon.
On core engine, the team completed work on v2 of p4k data file support for the engine, game, and tool side. On that note, the system now also provides an efficient lock mechanism for legacy pak files as well as much faster access to files inside pak files (embedded in the main p4k data file), both of which significantly improve the loading of object containers. Additionally, the mapping of threads on Intel CPUs with P/E cores was rewritten – critical threads such as main, render, and network threads are ensured to always run on performance cores to avoid the otherwise poor performance on affected CPUs. These changes are currently being verified on the PTU. Also, support for page sizes larger than 4kb (aka huge pages) was added to the engine (at the moment on Linux only). It’s currently used for stack, text, and data segments, as well as physics allocations. Using huge pages reduces the pressure on the TLB cache, the part of the CPU translating virtual to physical addresses, which should help with performance. With Clang, just moving the text segment to huge pages gave a 7% speedup. Furthermore, the latest version of Bink2 was integrated and a few audio related bugs fixed in video playback (manifesting themselves as random clicks during playback).
Another area that progressed well was the remote shader compile server used to build shader caches, etc. Due to increased usage of the server by development teams and the build process, proper support for fallback agents as well as server throttling was implemented to deal with times of extreme load and to allow for more distributed compilation. At that point, it also made sense to rewrite various parts of the server code to allow for more robustness, better logging, and increased performance. Lastly, shape unification was completed and entity area support was added. A copy/paste bug in the entity aggregate manager that caused a lot of unnecessary memory access was fixed, and vis area loading was refactored to support batch conversion from previous versions of serialized vis area data.
The last two months of the year saw Vehicle Features largely completing a full rework of quantum travel, which is being integrated into Squadron 42 for testing. This continues from the quantum boost feature mentioned in previous reports and significantly improves the overall feature implementation. They also supported the VFX team in integrating new effects for quantum travel.
They also worked on a ‘recall’ feature available to various military ships in the game. This uses the AI pathfinding tech used in the PU and will allow various SQ42 levels to be completed.
Vehicle Features then completed a significant refactor of the aiming system and are currently working with UI to implement new aiming reticles and pips to go alongside it. This will result in huge improvements in aiming accuracy and reliability. It’s currently being tested to improve the combat experience.
Significant time toward the end of 2022 went into the multi-function display (MFD), heads-up display (HUD), and vehicle UI reworks.
“The base MFD system is making huge strides and we’ve partially implemented most of the core MFD screens for ships using the new Building Blocks system. We’re just starting to build the new HUD, which deeply integrates with the MFD system with configuration options and MFD casting options.” Vehicle Features Team
Control surfaces continued development and, in the last two months, the team improved stalling and transitions. For example, when a ship detects it’s about to stall, it can automatically enable thrusters to stop it from falling. Similarly, when a ship has detected it’s going fast enough to sustain control surface flight, it can automatically shut down its maneuvering thrusters and start flying solely with control surfaces. This is greatly improving the atmospheric flight sections of the campaign.
Gameplay Story worked on a range of different tasks during November and December, including preparing and shooting mo-cap to update various scenes. Mo-cap from previous shoots was also used. For example, to help characters climb back into ships after speaking with the player.
A scene in chapter 8 was updated to ensure the character could interact with a variety of props instead of just performing visual inspections. The team made sure the character used AI poses to allow them to break out of the scene if needed. The character also interacts well with the Argo MPUV, meaning they can fly into the Idris before starting their scene.
Another area further explored was unholstering and holstering. This time, the team were able to make a character grab the Multi-Tool and datapad from the exact position it attaches to the character and place it back.
A number of updates were also made to characters in chapters 4 and 8. This involved utilizing the latest female walk cycle to enable the AI to seamlessly enter and exit scenes.
A significant update was made to a scene in chapter 13, with the team adjusting animations to work with the final geometry of the level, making it so the character can speak to the player from a better position.
A major review of scenes that had been worked on throughout the past year was done too. This led to increased animation quality, either by reusing the latest mo-cap or fixing what was already in place. Many new animations were created and polish passes were done on animations to further improve scenes alongside general maintenance and bug fixing.
Graphics & VFX Programming
The VFX Programming team began implementing new quantum travel and boost effects. These effects are now in a basic functional state and are triggering at generally the correct time. Work will continue to expose timing controls and implement the functionality for adapting the effects to any size ship.
Work on the fire hazard system is ramping up again, starting with implementing requests for controlling fire and its propagation for design purposes. On the visual side, the team are currently planning out the work required for reaching the visual goals set by VFX Art.
The Social team progressed well in the final months of 2022, including continued scene work on their assigned chapters. New onboarding documentation was also created to better support new starters.
November and December were busy months for the Narrative team. Firstly, they had a weeklong performance capture shoot in the UK to close out capturing wildlines for one of the enemy factions as well as narrative content scenes for a set piece. They also picked up content to support the new dynamic conversation system that will provide exciting opportunities for NPCs to chat with each other. This opens a lot of opportunities for contextual conversations that can help maintain the illusion of life and storytelling outside of dedicated scripted scenes.
The team continued to hold reviews with the various design teams to develop updated scripts and provide placeholder recordings. This is to ensure lines are not only creating the right dramatic beats but are also clearly indicating what the player is meant to do in order to progress.
Narrative also met with Characters to ensure that all necessary costumes have been requested to support the various chapters that specific NPCs appear in.
“Based on the scope of the script, it shouldn’t come as a surprise that there are a lot of characters that the players will meet over the course of the game. This list is complicated by the fact that some of the characters will have a schedule that will drive them from work to rest, necessitating a variety of clothing to be available.” Narrative Team
Tech Animation spent the end of the year focusing on head-asset processing.
“We’ve been taking some long-overdue actors and starting the internal processing procedure to create their likenesses. This includes creating over 78 scans per head asset and processing them to the neutral head asset. Some of these actors were scanned over seven years ago on the main shoot for SQ42, so they look quite different these days!” Tech Animation Team
The team take these complex scans and break them down into individual muscle movements and apply them to the facial rig asset, ultimately including them in the gene pool to give more variety to the heads and faces seen in-game.
Through November and December, the VFX team progressed with the particle library overhaul. This included creating a custom level showing all available effects, which is useful for other VFX artists to quickly view the effects libraries.
The artists also continued to support the Art and Design teams on key locations and cinematic scenes.
Elsewhere, working alongside the VFX programmers, the new quantum-travel effects were made functional (previously they were in-engine prototypes). Having seen these effects properly working, there is still some tweaking to be done to better match the prototype.