May 5th, 2021
What you are about to read is the latest information on the continuing development of Squadron 42 (SCI des: SQ42).
Thanks to the work of dedicated field agents and operatives, we’ve uncovered information on Vanduul combat, Screaming Galsons, and gas clouds.
The information contained in this communication is extremely sensitive and it is of paramount importance that it does not fall into the wrong hands. Purge all records after reading.
UEE Naval High Command
Throughout April, AI Content focused on completing the first pass of the security, tourist, and tour guide behaviors, polishing animations from recent mocap sessions and adjusting the related behaviors.
They also implemented the first version of the landing officer, one of the deck crew that will be used in hangars, landing zones, and capital ships. The landing officer gives players clear directions on how to position their ships in relation to the pad for perfect decents.
Work also continued on the hygiene behavior, with the team completing setups for the toilet and shower cubicles and their relative blockout animations. For sleep behaviors, new animations for beds were set up to support physicalized sheets, and the process of standardizing the proper usage of bed shutters began.
They also progressed with the ongoing goal of propagating vendor behaviors to as many shops as possible. They’re currently designing and blocking out the different elements that will make up the various locations (coffee shops, differing food stalls, etc.) and are enabling the available kiosks to use the hawker behavior too.
April saw AI Features improve the Subsumption tasks used to queue requests in the communication system to link directly to Dataforge entries. This allows the designers to select communication configurations and channel names from a dropdown instead of having to manually type the string names.
Patrol path tech was further developed, while the usable system code was reworked to refresh the usable archetype and use channel archetype flags of an entity post-initialize. The movement blocks that install an NPC to a usable were refactored to rely on the usable component for their internal logic, as the usable component should abstract the AI knowledge of how to interact with the world and not delegate to all other possible components of the game.
Work also progressed on combat behaviors for untrained characters, such as civilians. This involved making sure they react appropriately to combat scenarios and try to preserve their lives as best they can, which is affected by what weapons, if any, they have available to them. The team also improved the reaction distance definition that was causing NPCs to react incorrectly to the player’s presence when fighting in some situations.
Spaceship behaviors related to subcomponent targeting were worked on, with the ability to find the root targetable entities from any targetable object added. The data gathered can be used in flight tasks to perform specific maneuvers, such as allowing a ship to sphere-strafe to attack a subcomponent on a specific sector of a target ship. They also updated the ‘AISeatWeaponControllerComponent’ to handle missiles.
Support began for spawn closets, including implementing handling for the ‘OnDespawnRequest’ event and the initial pass of the despawn activity. Currently, the entity will look for a usable in the spawn closet action area and use it. If that fails, it will move to a random position in the area.
One of the Tech Team’s focuses throughout April was navigation links for the navigation mesh. Work involved restructuring the code to allow navigation link entities to specify extenders, which act as code bridges between game code functionality and the navigation link. This provides navigation-system-specific data in a format that can be correctly used during pathfinding. For example, they can now create an extender that uses an explicit offset to connect two navmesh locations or an animation. The animation can also motion-warp markers in a similar way to how mantle is currently used by players. It’s currently being used in SQ42 to allow the Vanduul to jump on and off objects of varying heights, but it can scale to anything needed for environment traversal by any character type.
For EVA, they completed tasks to allow NPCs to systemically transition from zero-g into a usable (and vice versa). For example, AI characters can leave the cockpit of a ship smoothly and then process a 3D movement in zero gravity. They can filter the appropriate enter/exit animation so that the 3D path correctly starts or ends at the appropriate location too.
April also saw the team convert the Subsumption component to use the ECUS ‘InRangeChanged’ event. This uses the more efficient Entity Component Update System API and improves the assignment handling to ensure that assignment requests are propagated correctly from the queue when changing the in-range state. They also fixed how the mastergraph event queues when propagated into the newly selected activity when handling assignments, which is used to select the appropriate subactivity when the transition is delayed.
Finally for AI, the team continued to improve the flowgraph functionality for requesting a custom function assignment. This was achieved by adding support for dynamic input and output variables defined in the selected global function. Ultimately, this will ensure the team can correctly create feature test levels to validate and test behavior content and their related features in a scalable way.
Throughout April, the Animation Team continued to develop animations for Vanduul combat, the landing officer, zero-g traversal, crouched ‘hurt’ locomotion, male and female mess hall sets, positional blending locomotion tests, MedPen assets, and the firing range.
Mocap was solved for perception reaction data for civilians (surprise, cower, flee) and spec ops (surrender, fake surrender), and useables were worked out for enemies in combat zones. The Facial Team worked on animations for the effort set and security pilots too.
Character Art began R&D and modeling for the Screaming Galsons. A wide variety of characters are needed for this faction, so the team are looking into new modular systems to support efficient ways of mixing armor parts in interesting and performant ways. Following on from previous reports, Trejo’s hair and uniform progressed well, while the team prepared to start development on the Aciedo comm-relay characters.
The Weapons Team continued to move the standalone Greycat tools through the pipeline, with the tractor beam going into final art and the salvage tool going through whitebox. They also iterated on medical tools alongside the UI Design teams, who progressed with wider feature work.
The Audio Team focused on chapter 4a, creating music content to help drive the narrative. This includes identifying key areas for new cinematic cues and defining and tuning music logic to support the gameplay.
Throughout April, Engineering continued to work on the G12 renderer, enabling parts of the new Gen12 render path by default and starting the full transition to the new architecture. They also continued to port render passes alongside the Graphics Team. For example, the scaleform (UI) render path received an initial commitment to port it to Gen12. The shader parser received several new improvements and optimizations too.
Work continued on the volumetric cloud system, with April seeing a pass on efficient empty space skipping in the raymarcher. The SDF generation was further optimized, and a required refinement pass was also implemented. Research continued into ways to generate and apply SDFs and, with the initial SDFs generated, work commenced on integrating them into the raymarch process. For cloud modeling, the artists can now specify a custom set of volume textures per planet to shape clouds, as not every planet has clouds resembling those on earth.
On the core engine side, the job manager received further improvements, with the team introducing an explicit per-thread and fiber info block to reduce contention in some of the threading backends. In the near future, they’ll improve out-lock implementations to make fewer unnecessary thread wakeups and fewer kernel calls when simultaneously waking up more than one thread. Additionally, they removed contention in one of the threading backends by switching the scheduling algorithm from a lock-protected priority queue to a lockless approach of fixed size producer/consumer queues with aging. For post-mortem profiling, they saw the first results in visualizing collected data in a newly written tool that’s more user-friendly and flexible.
Time in April was also dedicated to server meshing. The existing StarHash logic, which is used for server object container streaming, was moved to the network module in preparation for a later move to a server meshing service. The assert pipeline was revamped and streamlined for more effective issue tracking too. This also involved introducing data assets (in case malign data causes code to run in unexpected conditions), allowing issues to be directly assigned to the relevant content team.
Lastly, code was implemented to mark unused texture slots in materials to guide automated asset dependency tracking, which will keep game data bloat in check.
The majority of the team’s work last month was providing support for the internal quarterly milestone. They also implemented the ability to have RTT video comms calls between two NPC characters, which was required for several cinematic sequences, as previously only the player was able to receive them. They also completed the initial implementation of player formation flying, using a hologram to show the desired position and use automated flying to assist if requested.
April saw the team implement all the female player story facial and audio recorded so far, with nearly 140 lines set up, synchronized, incorporated, exported, and tested. They then supported Design with chapter 5.
“It has been great to see all the animations we have already prepared for chapter 5 suddenly being used and working nicely in-game.” -The Gameplay Story Team
Extra variations and polishing animations were then created to further improve the player experience. They were also able to use the new eating and drinking animations to improve gameplay story scenes in the mess hall. Alongside this, they used new motion capture to create bespoke transitions between scenes in the med bay, allowing characters to move naturally and maintain the believability of the area.
Further tasks were completed for chapter 14, including polishing a scene on the bridge and creating prototypes for additional post-combat vignettes.
Graphics & VFX Programming
After a period of bug fixing, the Graphics Team returned to focusing on the Gen12 renderer. Most post effects are now running the Gen12 version by default and, once the final few are enabled, they’ll begin enabling geometry passes. This will start with shadows, followed by opaque geometry, and finally transparent geometry. The geometry passes are already partially complete, though there are still problems to solve before they see the expected performance gains.
Progress was made on the Vulkan backend to achieve parity with DirectX 11, which requires a pass over all shaders to remove a handful of legacy DirectX 9 features that are no longer supported.
The VFX Programmers continued the Gen12 conversion of their code, which is almost complete. Great progress was made on the fire hazard too, while a major overhaul of particle lighting was completed. Finally, the particle lighting is now more physically based, energy-conserving (doesn’t reflect more light than it receives), and gives higher quality results that are more consistent over different lighting scenarios.
The Space/Dogfight Team worked on flight AI for the recent internal milestone, including further work on the traits system mentioned in previous reports. Alongside traits, they progressed many base mechanics such as the formation system and QT linking.
Level Design continued to populate the various gravity-based levels and solidified areas of gameplay with support from the art teams, while Social Design worked through some of the many narrative-driven scenes across the campaign.
Narrative supported several other teams by scripting dialogue for various uses, including gameplay hints, environmental storytelling, and filling in long stretches of travel with character exchanges. As in March, they supported the Audio and Gameplay teams with placeholder recordings for scenes throughout the campaign.
In another production initiative, some of the team worked with the Design and Character teams to help organize and sanity-check the Master Character List by providing context and descriptions for all characters in the game. “As you might expect, it is not a short list!” -The Narrative Team
They also met with the Art Team to talk over initial ideas for adding additional depth and character to some of the locations. Following the meeting, they began building documents to outline potential audio cues, set dressing, and overarching tone ideas to share with the artists.
Cinematics continued to rely on QA for recordings of each level, with further testing done following subsequent changes and updates. QA also tested behavior implementations for the AI Team, running daily checklists and assisting in reproducing issues.
Tech Animation began working on a new area of the facial pipeline that will convert photographs into full head geometry models. The process itself has been used for years, but this initiative sees the team automating as much as possible to enable the artists to focus on the art rather than time-consuming technical processes. This involves utilizing several applications and streamlining all required data through them without user interaction.
The weapons authoring pipeline also received attention to assist its users and automate as much as possible. This will see Maya more intelligently handle engine files and enable a portion of the authoring and validation to be done directly in its environment.
The UI artists spent part of the month upgrading the visuals of background screens in one of the campaign’s key areas, overhauling the design and colors to a level you would see in a sci-fi movie.
On the code side, the team supported various areas, such as the UI visuals for scanning gameplay and expanding the visual tools used to make interactive screens. They also added the ability for developers to add tooltips to give players more info when they hover over an item on certain screens.
Throughout April, the team supported the VFX requirements of gas clouds and put plans in place to take a more active role in the creation of VDBs alongside Art and Design. They also worked on one of the larger ships in the game.
“Further improvements were made to the Bengal’s thruster effects, including its absolutely huge main rear thrusters that dwarf smaller ships like the Gladius!” -The VFX Team