March’s SQ42 report starts with the Combat AI Team, who focused on refactoring the Cover System. This involved utilizing voxelization data (the same process used for navigation mesh creation) to better evaluate the environment and construct cover surfaces and locations. The aim is to simplify the environment and build consistent cover data with the pre-assembled prefabs. This will enable the designers to mark objects as elements that need to be considered in the cover generation phase so the code can handle it efficiently, potentially turning multiple objects into one cover object. They also worked on a new combat tactic for holding positions, which included a polishing pass based on discussions with the designers and feedback from the directors. They also began investigating the work required to introduce the reloading mechanic to NPC
Ship AI dedicated part of the month to addressing bugs and corner cases following the integration of the 3D collision avoidance system. Better collision avoidance enables additional combat maneuvers to be developed to add flare to the dogfighting AI. In particular, they focused on defensive maneuvers (retreat/flee) that tell AI ships to prioritize shaking off attackers to reduce their chances of being hit. Additional work was done to formation flying too. Preliminary design work began on capital ship behaviors and standard dogfight activity was streamlined to accommodate new maneuvers and cope with the growing number of combat requirements.
Social AI worked on new patrol features that can be used for both systemic patrol and environmental scripting. Environmental scripting creates story scene markups used dynamically by Subsumption behaviors to keep actor performances as intact as possible.
The Character Team continued with hair, as it’s “one of the most difficult assets to get right”. They’re making great progress and will use the final pipeline form to create new hairstyles in the future. They finalized the Bridge Officer uniform and worked on the overall Battle Dress Uniform (BDU). Once complete, they’ll move onto the engineer and deck crew. Time was also dedicated to finalizing the Vanduul, including several individual characters and the themes of the Occuri (the Vanduul operate in isolated clans, known as Occuri, each with unique cultures, laws, and visual norms).
March began with the SQ42 Art Team handing over Vanduul weaponry. The Weapons Team made their initial pass, setting them up in the pipeline and expanding the set to incorporate various size options. Once complete, they moved onto several huge S7-S9 Behring lasers due for completion in early April.
The Cinematics Team began implementing the ‘interrupt’ tech mentioned in previous reports into the design sprint tasks for each applicable scene. This enables them to look at a scene and how it plays out before deciding on the time windows available in the performance that a player can interrupt or abandon. This determines whether the existing motion capture (mo-cap) is suitable or if additional animation work is needed. As most scenes are mo-cap based, the team must carefully assign breakout points to allow NPCs to react to the player abandoning them. Once the cinematics and level designers have added their interrupt markup, the animators break up the animation fragments, being careful not to lose interesting elements of the performance. It’s a fine balance, as too many interrupts create excessive work, but not enough could leave an NPC referencing player absence in an unrealistic way.
In the UK, the SQ42 designers implemented a new way to trigger story scenes and conversations, which is more flexible and significantly reduces scripting and setup work. It allows the designers to combine various parameters, such as distance and time nearby, if the player is in the field-of-view of a character. This will make scene triggering feel much more lifelike. The team also supported Cinematics, improving their ability to control and fire weapons.
In Frankfurt, Engineering worked on physics threading and performance. They enabled up to 30 physics threads (defaulting to ¾ of logical cores available); added the option to limit the number of threads per thread task; improved the memory performance and footprint of command queues; defined local queues that can be processed in parallel; moved relevant game code to local physics command queues; created local queues based on the entities’ adam so they can process the joint/part updates in parallel; moved many reposition/recompute calls to queues; and made various other queue related optimizations.
They also added driven ragdoll support for body dragging, gravity adjustments to actor entity ground tracking, per-joint driven ragdoll stiffness, and impulse to the root of a tracking-driven ragdoll.
Regarding unused vertex optimization, all unused vertices in physics meshes are now pruned. Alongside saving 8GB of disk space, it provides better data cache locality on the CPU. Work also continued on part containers/compute bounding box optimization (formerly known as physics geometry instancing). Skinned foliage was found to be missing leaves, which was fixed before being given to the object-container-splitting physics voxel grids.
The Vulcan (G12) render mesh API was refactored for more streamlined and efficient creation and data upload. Unused legacy code was removed and a shader handle was added to the remaining legacy pipeline. For unified raymarching, the initial elements of the adaptive resolution were submitted, work continued on the upsampling of adaptive resolution results, and samples were placed via low discrepancy generators. They also determined screen bounds of planetary atmospheres to further guide sample placement and started R&D into ensuring adaptive resolution raymarching works well with ray jittering and TSAA. They also investigated performance issues with oceans caused by CPU readback and fixed HDR display and D3D debug runtime errors.
For general work, Engineering improved the ECUS update code by fixing a flaw in the update logic that caused unnecessary iterations of aggregate groups. They further improved the logic to reduce scans of entire connection lists and optimized threading.
A significant improvement was made to the large render batch management’s performance. Previously, Engineering had iterated on the list of potential batches, but it grew to over 1000 entries, making clean up computationally expensive (1.5ms). To solve this, they now maintain a list of rendered batches. Subsections of component update functions were added to their batch jobs to improve profiling, as were profiling subsections to batch jobs. For the Zone System, a new interface for updating local bounds was added.
The animation side of Engineering made a prototype of a new skin loader and added support for physical skin proxies. They also moved all relevant World Builder code into its own engine module for faster programming iteration time.
The Gameplay Story Team continued to support the Design Team with the interrupt system, further delivering animations and developing a library of generic body animations to accompany character interrupt lines. These animations look promising and solve a long-term issue around interrupts in general. They continued to add new audio and animations to the Random to NPC scenes and applied the Real Digital Acting parameters to Chapter Four. They’re currently looking closely at the setup of characters seated at the bridge of the Idris and will work with Social AI in the coming weeks to further bring them to life.
The Graphics Team spent the month continuing their crucial work on the Vulkan renderer, converting the existing volumetric fog system and debug tools to the new system. They also began planning and prototyping how to handle interdependencies of resources between shader passes, as the system will need to allocate resources and efficiently schedule work while ensuring it doesn’t read resources before write operations are completed.
The team also investigated how to improve the legibility of holographic/transparent UI screens in extremely bright or dark environments. This involved using the average and maximum screen brightness, or a localized region of the screen, to determine the suitable UI brightness. Several color blending approaches were also investigated.
Additional triggering tech was delivered to the Level Design Team that will ensure scenes trigger in the most realistic way possible. Level Design are still working with FPS AI to integrate prioritized behaviors and the patrolling tech updates, which will allow NPCs to engage in realistic upper-body conversations as they walk. The Dogfight Team are currently layering in updated flight AI features, such as formation flying, as they’re delivered by the AI Team. Both teams synch daily and continue to polish levels with new technology as it becomes available.
The Narrative Team continued reviewing levels and sharing feedback, including identifying background conversations that were missing satisfying conclusions or featured suspiciously quiet participants. To solve this, they wrote and recorded placeholder lines that will be captured at a later date. The team also worked with xenolinguist Britton Watkins to continue developing the Vanduul language, including how physiological features could potentially be incorporated.
QA are currently tasked with capturing client scene recordings of individual chapters, as well as investigating any issues that hinder the Cinematics Team’s workflow. They recently pushed to improve the IRA database by creating filters for better tracking and vision to give more transparency on areas that need work. Combat and ship AI testing continued too.
Alongside training new team members, March saw Tech Animation refactoring the in-house facial rigging and animation suite. This is with a view to supporting next-generation content with a flexible and modular approach to its codebase and rigging platform, which will ultimately be used to further refine the existing facial rigs and create all new ones.
The team also helped implement animations to bring the new cast and crew to life. This has led to the creation of a new toolset to help visualize and apply flowgraph-style animation sets to the non-flowgraph sandbox animation tool suite.
Continued work with the Social AI Team identified the need for Tech Animation to further refine their rigging toolsets to support the vast number of upcoming props. They’re now robust enough and enable a streamlined approach to authoring new animation rigs. They also spring-cleaned their codebase, identifying new pipeline foundations and tools to refactor.
Specifically for SQ42, Tech Animation in Frankfurt created a placeholder entity for Vira Kelso to enable Cinematics to work on scenes she features in. They updated various character and Maya loadouts for the cinematic animators, enabling them to work with the same loadout the characters will use in-engine.
They also developed a tool to enable Character Art to add skeleton extensions from a preset before editing and exporting them to speed up the authoring process. They worked with the Weapons Team on bugs and requests, including rig updates, Mannequin setups, IK target updates, and export errors too.
Finally for March, the VFX Team completed their work on the Aciedo Station interior. They continued to investigate Vanduul VFX, taking on feedback from the Director of Cinematics, and continued planning for the next quarter, identifying several locations now ready for a VFX pass.
They’re also close to phasing out the old CPU particle system. This involves adding the last few remaining core features from the CPU into the GPU system, such as support for the material shaders for effects like refraction, shader triggers, audio entry function calls, and light casting.