November 10th 2021
TO: SQUADRON 42 RECRUITS
SUBJ: DEVELOPMENT UPDATE 11:03:2021
REF: CIG UK, CIG DE, CIG LA, CIG TX
FAO Squadron 42 recruits.
Welcome to October’s Squadron 42 development report. Enclosed you’ll find details on the latest progress made across the campaign, including updates to vital backend services, AI behaviors, and cockpit communications.
Thank you for your continued support of Squadron 42.
The Simpod usable is a workstation where the player or NPCs can train. Once complete, it will available for NPC gunners to practice turret skills in a safe space.
The Cryopod usable is a cold-storage container for preserving humanoids, with vital signs displayed on external screens. The first iteration allows NPCs to check the occupant’s health on the terminal and clear frost from the pod’s window.
The animators also polished the motion-capture data collected earlier in the year. This is the last step in delivering the usable interactions initially request for the Aciedo level.
New additions include parameters to combo attacks to rapidly prototype faster melee animations by adjusting a scale factor. This allows them to quickly balance the speed of animations, so the pace of close-range combat can be altered to increase or decrease the challenge to the player.
Motion-warp targeting now updates throughout melee attacks so that characters can re-adjust their positioning to correctly hit their targets. The team also improved the way staggers can be triggered. Now, larger characters can have staggers triggering after sustained bullet fire to interrupt their melee attacks.
The team also worked on pre-visualization for the Vanduul cinematic experience, animations for a specific navigation setup to allow NPCs to duck under obstacles, and surrendering and untrained cover usage.
They also spent time working on Vanduul combat alongside the AI Team, blocking out animations for Vanduul breaking through closed or partially closed doorways and breaking equipment. Improvements continued on zero-g gameplay and player ground-based animations.
On the facial side, the team continued their improvement pass on the next set of characters. The development of in-game scenes continued to give narrative life to the environment, including motion-capture pickup as needed.
Elsewhere, the team continued work across numerous chapters, including chapters 5, 12, and 13, and pushed vertical slices to a high visual standard on chapters 7 and 19. Further progress was made on creating stellar-looking spacescapes to bring more vibrancy and wow-factor to cinematic space scenes.
Variants of existing ships like the Bengal were concepted, built, and delivered, while new ships were created for the Vanduul fleet. All bridge scenes featuring Admiral Bishop and his Vanduul counterpart progressed too.
Most scenes received their ‘prop and finger contact pass’. Now, all officers are properly located in their seats, with their hands touching reactive controls and moving as required. For example, fingers grabbing a swivel display properly.
Time also went into creating reusable stunt sequences of ships battling or getting destroyed that might be viewed by the player from a corridor window or on a ship’s bridge during battle.
A key turret sequence was fleshed out, with cutaways created to distinguish waves and different challenges. This led to a lot of navsplines being drawn up and improved on.
Finally for Cinematics, the recent spacescaping, fleet additions, mo-cap polish, and tweaked sun made it possible to rethink the opening shot of the game, making it better and more dynamic.
For the renderer, significant effort was spent on improving the results of the pipeline profiler for Gen12 and legacy render paths. This was done to gain an accurate assessment of how long render and compute passes take to process on CPUs and GPUs without impacting actual frame rate too much (real-time profiling).
Significant progress was also made on the Gen12 transition: Pipeline state objects are now compiled on demand to improve loading times, massive instancing is now supported, and instance buffer management was optimized. The Scaleform render stage used for menu and in-game-world UI was optimized to reduce the average stage count from 2000 states to a maximum of 60, with the pipeline state also being created on demand. Additionally, refactoring was done to the particle code, light atlas stage, and shader parser. Content integrity was tightened by adding data asserts for invalid shaders being used in materials. Support for material texture updates (texture animation) was added too.
Improvements continued to be made to cloud and atmosphere indirect lighting based on the presence of clouds in the atmosphere. The initial part of this work was completed (LUT generation), with work picking up again once planned performance optimizations are in place. To get the latter in place, work on the reprojection and filter chain commenced to allow for temporal and spatial reuse of raymarch results. Specifically for this purpose, R&D work started on performing reprojection without motion vectors (as these can’t represent participating media properly).
The Core Engine team also worked on entity streaming code, which now supports the sphere-based culling needed for SQ42. A large refactor was submitted to the entity component update scheduler. This includes a new API that uses update IDs instead of passes to allow multiple updates per pass. The engine’s frame profiler was updated to include various statistics from heartbeat events as well as a summary of CPU time and memory usage by the dev teams, build info, and a screenshot into the capture. The memory manager was extended to support separate allocation arenas and thread caches per dev team. In cases of invalid memory access, the exception handler can now indicate which arena an inaccessible memory address maps to. This in turn allows debugging memory crashes with more fine-grained memory check enabled, which typically means the build runs much faster and uses less memory as it otherwise would do with memory debugging enabled globally. Additionally, work continued on improving vis area (frustum) culling and functionality to capture and pass around C++ lambdas without heap allocations was added.
With the base character customizer working in-game, the team continued to liaise with related teams to prototype the user experience. Several changes were made to remove some hard-coded limits, such as the number of areas on the face players can amend or the number of heads they can blend between. The team notes that it can be challenging to create an intuitive user interface without hampering the power and freedom of the system.
Polish work was done across chapter 1, with several scenes updated with new audio, while the Graves walk-and-talk in chapter 5 progressed well. A briefing scene in chapter 8 received new mo-cap, while a complicated scene from chapter 12 was completely overhauled.
Tactile interaction progressed too which, though difficult to implement, makes the characters feel more alive and present in the world.
Work also started on changes to the material system to allow shaders to become more modular. This is a stepping stone towards building a new suite of shaders that provide more power and flexibility for the artists without always needing complex re-engineering by the graphics programmers.
Gen12 work continued, with more systems being converted. The team are also looking to complete a large refactor of the texture samplers to make them compatible with Gen12/Vulkan.
Other completed tasks include new light animation features, technical design work for using damage maps for salvage, gamma correction fixes, and general support for the fire feature.
They also worked closely with the Ship AI team to create more realistic and challenging AI behaviors to allow for better close-quarters dogfighting combat.
Having gone through the entire ground-based areas of the game down to opening-door level, the FPS team began fleshing out the spaces with AI and new mechanics.
The Social Design team continued the significant job of implementing all in-game scenes for the various chapters for review and sign-off, which will be the case for many months to come.
As the game is being refined, it’s often a single line of dialogue that needs to be adjusted rather than a whole scene. So, revised tracking documentation was worked on to better help the team monitor the status of additional dialogue requests as they come in.
The team also improved a few tutorial scenes to better instruct the player on key gameplay elements. Scenes that are tied closely to gameplay are often continuously improved as development progresses.
They also continued to support the AI team’s behavior implementations, last month focusing on Vanduul AI improvements and upgrading existing AI functions.
“We have rewritten major parts of the DNA system used to create our in-game actors. Coupled with this, we have added support for creating and editing these head assets in Maya through a plugin that shares the same codebase and a huge amount of tooling to use it efficiently. This has allowed us to move beyond our current gene-pool limits and set our eyes on the future.”- Tech Animation
Now, all types of face rigs are viable (including animals and aliens) along with the prospect of upgrading or customizing the facial animation rigs for whatever is required in the future. This technology is also being prospectively recruited with more complex forms of deformation.
Tech Animation are nearly ready to present the head-authoring pipeline they created in tandem with the DNA system. This will give them the opportunity to create new face rigs for the DNA gene pools and tightly control the quality of assets.
Additional tooling was created throughout the quarter to include alembic cache export in the animation pipeline. It was always supported but including it this way has opened up new opportunities for the Animation and Tech teams to directly include it in their animation pipelines as an export preference. The team are planning to leverage this technology for some impressive showpieces during Squadron 42.
Animation also continued the development of the tools pipeline and refined some older code and tools to keep them working as intended.