October 14th 2020
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 at varying distances, creating dynamic lighting to cinematic moments, and work continues on bringing the Xi’an race to life.
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
Melee utilizes the ‘special attack’ functionality mentioned last month, which allows AI to cache and evaluate the environment to determine which (if any) unique attack is best. Dodging or performing a normal melee attack requires the AI to evaluate how much space is available and decide which animation is best suited. Currently, the team are evaluating which melee attacks to include, with some using body attacks like front kicks or the Vanduul spear. When implemented, the behavior will evaluate which combination of attacks is best for the given scenario. For example, if they want the AI to move back a specific distance from the player and then perform a lance attack, they could create space with a front kick. For ranged attacks, the team ensured the Vanduul can correctly shoot-to-target from any position. This involved setting up ‘aim-poses’ and fire modes for the Vanduul lance.
Regarding realistic human combat, progress was made on accurate ammunition handling. As NPCs won’t have infinite ammo, the behaviors need to account for resources and decide when to attempt to procure more. However, NPCs can deplete their stocks and, should they not have an appropriate melee weapon or the specific set of traits and skills to fight unarmed, may decide that surrender is the best option. The first pass was made, with the team preparing several animation options and embedding surrender in various behaviors. They also added better transitions when exiting and staying in cover under certain conditions.
Visual perception parameters and debug draw were tweaked to allow the designers to better iterate on the values that the AI use to perceive and understand enemies from different distances (and whether the character is in the primary or secondary field-of-view).
The long-term plan is to make extensive use of services to populate the environment and simulate areas when players are not around. This means a lot of these issues will become irrelevant due to the systems being used in a slightly different way.
For example, for the engineer, they are currently focusing on the repair, inspect, and maintenance behaviors. They also continued to work on the mess hall scenario detailed last month. The off-duty behavior currently encapsulates a set of activities that NPCs can do when nothing specific is assigned to them. These ‘leisure’ sub-activities include visiting their bunk, searching for arcade machines to play, taking a walk, and so on. The idea is to allow the state of an actor and their traits to drive what an NPC likes to do and dynamically use the environment to find what best fits its interests.
Specifically for SQ42, the team continued to work on vendor behaviors and functionalities. They extended some of the vendor functionalities to use ‘scooching’ animations to drive specific actor performances into the systemic vendor behavior. They also continued to develop the chow-line sequence mentioned last month that enable NPCs to collect cutlery, plates, and warm-up food.
On the Facial side, work progressed with the female player character, which will be finished this month. A host of other character improvements were made too. They also continued to burndown the motion-capture backlog and supported the Gameplay Story Team.
Major progress was made on the alien characters too. The Xi’an body is in the final stages and is almost ready for rigging. The team are currently in the process of rigging a highly complex Vanduul armor that will look incredible in motion. Concept revisions were also made to some naval uniforms and a trench coat was created that will need cloth simulation from the Physics Team to function as intended.
Cinematics spent part of the month preparing to shoot new motion-capture. They now have a working set of OptiTrack cameras in the Frankfurt studio that they use to shoot small scenes or pickups as needed. This will help with the occasional cinematic scene that requires minor adjustments to half-steps or turns, or minor additions such as a leaning pose against a wall. These tweaks are usually required due to an environmental change or because the state machine requires certain edits.
The animators also polished and pushed scenes through their respective passes, including a set in the brig and Bishop’s war speech to the UEE Senate.
For the ongoing G12 renderer work, the team supported the optional execution of stages, added debug names to all constant buffers (and made it mandatory), and undertook custom material CB and layer-blend support. Legacy pipeline resets were removed from the begin/end render pass to the locations of the legacy Gen12 switch, which currently saves up to 2000 API calls.
Engineering merged the deferred and deferred-display-mapped pipelines, implemented the TSAA stage, and promoted the following stages to ‘stable:’ Tonemapping, DepthOfField, MotionBlur, Optics, Colorgrading, OpticsExposure. They removed save/load resource-binding code on the begin/end render pass, saving around 500 API calls per-frame. Parameterized common depth functions were also added so they don’t access global constants, as was depth down-sampling.
Work on the atmosphere, clouds, and unified raymarcher continued in earnest, which led to cloud data that now properly interacts with the atmosphere segment it injects into (via corrected luminance integration and transmittance evaluation). The team added support for the injection of (existing) spherical clouds into the unified atmospheric raymarcher, now using uniformly distributed sample locations when integrating over hemispheres. This significantly improves LUT integration results, removes several artifacts, and converges much quicker.
A new atmospheric multi-scatter LUT was added that supports infinite scattering orders, while the current multi-scatter LUT was rebalanced due to excessive brightness. The team also refined soft-edge computation for spherical clouds to reduce aliasing and improved the visible sun-disc evaluation when computing sunlight. This evaluation is fully integrated into the wider atmospheric lighting system and impacts direct and indirect lighting. An imbalance of computed brightness between regular and injection passes was completed; now clouds appear with consistent brightness in both regular atmospheres and via unified raymarching. The team provided support for separate Rayleigh and Mie inscatter LUTs in the current atmospheric code path too, which fixes several false color artifacts. The new LUT parameterization better supports high atmospheres and, among other things, fixes the very prominent halo around the silhouette of a planet’s dark side.
The team sped up and unified the optical depth pre-computations in the absorption layers of atmospheres. Among other things, this allows them to add an ozone layer to Earth-like planets, which will emphasize blue skies and enable correct shading during twilight. It also supports the physically plausible fine-tuning of atmospheres. They now use solar irradiance throughout the evaluation of atmospheric lighting to give a much-improved evaluation of sun radiance for points outside of planetary atmospheres. This enables twilight casting, atmospheric scattering, and allows the sun’s angular radius to project objects onto a planet’s penumbra region.
General system work involved several fixes to ISPC integration (a special compiler that generates highly optimized SSE code for heavy duty jobs running on CPUs). The team implemented support for static stationary zone groups and concave geometries as vis areas and fixed the method they find vis areas and portals by name.
They also supported the designers with ‘walk and talk.’ This involved refining the player/NPC speed-match feature and polishing the display screen functionality. Work also started on getting all levels working correctly with Object Container Streaming, which is required for seamless loading throughout the entire game.
The Actor Team started work on a new co-operative locomotion feature, which enables the player to grab another movable prop and move around with it; the example use-case is a wheeled trolley. The prop is moved by the character applying force, so it reacts in a highly realistic manner and responds to factors like mass and the terrain. They also continued to improve the throw mechanic, adding support for underhand throwing.
The remainder of the Graphics Team’s time was spent on the render-to-texture system, with the hookup to the texture-streaming system now complete. This means they can now run-time-generate as many textures as they like and automatically load-balance the memory with the rest of the textures in-game. The organic shader work was also completed.
The Space/Dogfight Team continued with space-scaping and creating general points of interest. They also supported co-operative AI and NPC behaviors around the new additions.
Tasks were completed on various NPC scenes, usables, and behaviors, with Social Design working closely with AI and Animation to ensure everything is as seamless as possible.
The ongoing initiative to create new tools to help implement animations with a graphical user interface continued.
“The UI is looking great and we’re currently writing the technical implementation that will drive the link into our current animation toolset.” Tech Animation Team
They were also heavily involved in the creation of Vanduul animation assets and supported the Art Team in developing the Xi’an.
The VFX and SQ42 artists worked closely on ways to “make empty space interesting.” Together, they achieved great results using meshes with a transparent VFX shader spawned via the particle system. While they need to keep a close eye on performance (overdraw in particular), this is a promising setup that adds interesting layers of parallax while the player traverses space.