October 7th, 2020 Attention Recruits,
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
Character Combat kick off the report with their ongoing work on Vanduul and human combat. Vanduul focus was on two of the alien race's main combat tactics: melee and ranged combat.
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).
Last month, the AI Team fixed more issues with characters standing on top of usables, a lot of which were related to the object container failing to restore characters to the right state.
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.
The Social AI Team focused on several NPC activities and states, including engineer and off-duty. These will be shared between the PU and Squadron 42 and are being designed in a way that will work in any dynamic environment. They’re currently creating the decision-making flow and identifying which usables should be created and how they should expose their functionalities. They will then iterate on the behavior implementation and usable data definition.
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.
September saw the Animation Team working on knockdowns and knockbacks, zero-G movement pre-vis, object push/pull, grenade throwing, Vanduul combat melee and locomotion, AI reloading, the chowline, engineer wall panels, sinks, and armories. They also began looking into mounted guns, a new takedown, and a new Gemini sniper rifle.
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.
Character Art’s major focus last month was the continuing updates to major campaign characters. For example, Morrow went through major revisions that the team are excited about and Vallon’s hair was further iterated on. During the process, they noted issues with old character shaders and are currently awaiting graphics support to resolve and upgrade them.
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.
Weapons Art moved the Vanduul lance through the final-art phase, meaning the weapon is nearing completion. A texture revamp is also under way.
Work on the automatic lighting rig is nearing completion; it's now active in game builds and almost in a release-ready state. The automatic lighting rig is essentially three auto-generated lights around characters used when the player is close. The rig consists of a key, fill, and rim light and parses lights in the environment to figure out what color each should be. It also tries to find the best quadrant around a character to fade the lights in/out and gently updates the rig when the player moves in/out of range. The rig has several active rules to help it get the best results and is mainly used to help light characters in potentially dark corridors or when the player interacts with them in environments not ideally lit for character scenes. If they know the location of a scene, such as a briefing room or the captain's chair of the Idris, the team still manually place lighting rigs. However, they found the auto rig to be a useful boost in these situations as well. The team also had to make the rig work with sudden camera cuts and eliminate a one-frame lag due to calculations in TrackView.
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.
Last month’s physics optimizations included improving the intersection routines for SDF baking and adding further culling to AABB tree traversal. The team added g-force calculation to all rigid entities and the ability to add the mass of rigids inside the grid host mass. They gave initial support to adaptive signed-distance-fields (SDF), added exterior shadow geometry (which enables boundary entities within the hosted zone in interior OCs), and now properly support all primitive physics types for interior grids. They also added external impulses to ‘pe_status_dynamics’ and created a grid without explicit geometry. Support was provided for multiple external accelerations too.
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.
The SQ42 Feature Team continued to support dynamic lighting, working with the Cinematics Team to refine rig creation and optimize the algorithm that determines the color and strength of the lights. For example, before creating a light, they perform a collision check to ensure it won’t be placed behind geometry and shine through it.
They also supported the designers with ‘walk and talk.’ This involved refining the playeNPC 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.
September was a productive month for the Gameplay Story Team who progressed with an important ship tour that is now scheduled for completion in October. They began working on another important ‘walk and talk’ from chapter 5 and continued to support Design with various minor updates to scenes across chapter 4. Progress was also made on several large-scale scenes from chapters 11 and 13, where the focus is on combat and traversal. Lastly for Gameplay Story, they began prototyping additional scenes and vignettes for chapter 1.
The Graphics Team split their time last month between work on the new Gen12 renderer, general features, and bug fixing. Gen12 tasks included converting the game’s post-effects manager, which handles all ‘miscellaneous’ effects such as blurred vision and blackouts. The Gen12 core infrastructure was further developed to be compatible with the configurable graphics pipelines and the constant shader buffers were further polished.
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 Level Design Team kicked off the month bringing four new team members up to speed with the tools and pipelines. They’re currently forging ahead on various FPS spaces, with a focus on locking down some of the sub-routes so they can be passed over for final art.
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.
Last month, the Vanduul and their culture became one of the main focuses for the Narrative Team. This included ongoing work with the Audio Team to brainstorm the unique sounds of the alien race, consulting on how to make their combat behaviors tie in further with their lore and unique physiology, and diving deeper into the backstories of some of the specific Vanduul that players may encounter. In addition, Narrative continued their work on polishing the narrative flow of the game as Design continues to finalize traversal routes. This includes highlighting possible narrative dressing to reward players who take the time to explore levels thoroughly along with scripting potential lines that might need to be recorded in the future.
The Props Team supported SQ42 with dressing assets for Aciedo. A pass on medical props requested by the Gameplay Story Team was completed and support was given to Social AI on the chowline and master-at-arms character.
Cinematics continued to rely on QA for recordings of each of SQ42’s levels to help them ensure scenes are working and are of the expected quality. They also continued to reproduce issues found in tools used by the Cinematics Team, such as TrackView and the batch renderer.
Alongside training new additions to the team, Tech Animation worked to complete the in-house facial rig and tool suite to enable the continued creation of new heads. This precedes the wider push to overhaul the entire head creation pipeline, with the view to future-proofing it for the next few years.
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.
September saw VFX Tech Art complete their texture-sequence creation process, including running a workshop for the wider VFX Team. They also resumed their investigations into the destruction pipeline, mostly in preparation for October’s work, which features a couple of key destruction sequences.
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.