Squadron 42 Monthly Report: April 2020

Undefined Undefined Monthly Reports

Content

This is a cross-post of the report that was recently sent out via the monthly Squadron 42 newsletter. We’re publishing this a second time as a Comm-Link to make it easier for the community to reference back to.
Attention Recruits,

What you are about to read is the latest information on the continuing development of Squadron 42 (SCI des: SQ42).

Our top agents went into deep cover and managed to extract information on work on the Javelin’s weapons and engineering sections, as well as key info on the next step of cinematics.
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 AI (Combat)
The Combat AI Team started the month improving stability and fixing bugs for Alpha 3.9. Afterwards, they began work on realistic firing, initially tackling reload actions for NPCs. They extended the actor state machine to report the results of reloading actions so that NPC behaviors are notified and branch correctly in the decision-making process.

They’re currently working to keep track of NPC bullet quantity so that reloading is triggered at appropriate times. This will include an extension of the current combat behavior that allows NPCs to evaluate the best fire mode for the selected tactic. For example, choosing a mode that consumes less ammo, switching to a different weapon, or looking for ammo in the environment if they run out. They also created the base for the Vanduul character, starting with the entity setup, evaluation of the available locomotion animations, and priorities for the lance AimIK.

AI (Ships)
April saw Ship AI complete their rework of the Defend Target AI, which involves a leader and one or more escort ships:

When out of combat, the in-formation escorts fly alongside the leader and only enter combat when threatened. When flying out-of-formation, the escorts will join the formation if allowed to by the leader. If no formation is supported or all positions are reserved, the escort will utilize the ‘FollowAtDistance’ behavior, where the AI selects a direction and distance relative to the leader and maintains a loose position. Periodically, all escorts will change position or leave the formation depending on the situation.

When in combat, escorts engage enemies governed by an assignment range that can be different for each ship. However, ‘engage’ doesn’t initiate a dogfight immediately and leave the leader undefended; engagement happens gradually. First, escorts gravitate around the leader to ensure they’re between the leader and target. If the enemy is closer (also defined by the assignment), the escorts engage in a dogfight. The overall flow ensures an escort is always in proximity of the leader to protect it and react if other attackers intervene. It’s possible to differentiate the defend dynamic by assigning different engage-ranges to escorts or adjusting how tightly they shadow the leader.

The Defend Target mechanic is also useful for implementing simple convoy behaviors for shipments and peaceful operations.

Ship AI also worked on the ongoing refactor of the Tactical Point system and the creation of the Tactical Targeting system. They’re currently in the last development cycle and are investigating ways to express variations of TTS queries to cope with the mission or scene at hand. They introduced the concept of optional overrides on query parameters, conditions, and weights that are only relevant and applied based on the fulfillment of a specific requirement (such as a tag set on the actor). So, they can define a base query that will be used normally but also introduce variations of specific parts that only affect characters specific to a single scene. For example, encouraging an NPC to target ships with low shields or with a criminal rating instead of the standard selection defined in the base query.

AI (Social)
The Social AI Team spent time improving the performance of the Usable Cache Manager. They added the ability to time-slice the main update to make it easier to control the update usage of different jobs, and began using queued physical ray-casting to validate which usable enter/exit locations are available and not blocked by other objects.

They started work on compound usables, which can inherit functionalities from other usables and override data based on specific setups. For example, maintenance or inspection operations on a Gladius might use generic animations in most locations, but a more complex section of the ship may require specific Mannequin tags.

Functionality and visual quality were further developed for vendors, such as the Bartender. Work went into potentially allowing designers to set up proc clips that stow/unstow objects from a specific inventory pocket. They also extended the Communication system to allow designers to tag different options relating to the same contextual voice line. This will allow a generic behavior to automatically select the right option for a specific context. For example, a shop patron can use a generic ‘order’ communication line to pass the tag of the object they want to order, which selects a relevant voice and animation. If one isn’t present, a generic option might be selected. This, in combination with a pass on wildlines and secondary sub-activities for the vendor behavior, allowed the team to significantly improve the visual fidelity of the behaviors.

They’re currently integrating more functionalities into consumable objects to create an additional layer of customization to the flow, such as enabling AI to differentiate between open and closed bottles and act accordingly.

Focus was also given to improving several aspects of the patrol path tech. This involved moving some of the parallel functionalities trigger-logic to the movement system, which is a big change for several reasons: The team can now send simple requests related to a designer path to the movement system, making the subsumption task much simpler; they can use the same approach that was started for complex usables, such as closed doors, elevators, and the transit system; and the movement planner is now responsible for analyzing the data and creating a plan that can be as complex as needed.

Animation
Last month, Animation supported Social AI with their ship hangar work, general inspection places, bar patron idles and actions, bridge control seats, and lockers. They also worked on reloading and malfunction animations for all weapon classes and progressed with the Vanduul enemy combat style. Development of stumbles, knockdowns, body dragging, and what happens when a player is injured or incapacitated continued.

The Mo-Cap Team improved the motion builder skeleton, which will help the wider team create assets faster, and the ‘take selection’ tool, which will improve post-shoot turnaround. Tools were also created to enable quick data renaming and video conversion. Several team members are temporarily supporting other related areas of development due to the suspension of all mo-cap shoots, including making headway into the large amount of comms calls used throughout the campaign.

Art (Characters)
Art continued their ongoing hair work, which included remodeling some existing hairstyles and working on new shorter styles. They also further improved the fidelity of blonde hair using the latest iteration of the shader.

They’re currently finalizing officer uniforms and will move onto others in the coming weeks. Thanks to the multitude of ranks in the UEE Navy, around fifteen outfits will be created.

“Our focus is ensuring that details hold up during cinematic close-ups, as we do not use separate cinematic meshes. What you see in the game is what you get in the cutscene. By the end of this, they will be looking better than ever.”
- Character Art Team

Art (Environment)
Last month, the Environment Art Team increased the Javelin’s engineering section, which came about after playtesting one of the chapters that takes place on the ship. Lighting work also continued across the ship for this chapter, utilizing the new real-time cubemap feature used for light-state transitions.

They also continued to build up the Aciedo comms array set. The player visits several arrays during the first section of the campaign, so the set needs to serve as the base for multiple stations before the unique art and assets can be added to each. The truck stops are progressing well, with impact damage being introduced to add to the feel of long-term abandonment. Bear in mind these aren’t the truck stops players are familiar with from the PU; all of SQ42’s environments are unique to the campaign.

The team also fleshed out the hangar interiors on one of the mining bases. This is the largest hangar in the game and needs to carry out multiple functions for the station and passersby. Important story moments take place here, which gave the team the opportunity to dress such a large space with interesting narrative-relevant props. Work also began on two new unique locations; one Brutalist in design and another more like a shantytown.

Art (Props)
April saw the Props Team looking into how to approach dressing some of SQ42’s more unique locations. This involved focusing on the dressing asset materials to bed them into the environment and completing some of the storytelling assets from the Narrative Team.

They created new maintenance and electrical spares and revisited the hangar assets to improve their visual quality and prep them for AI interactions. Finally, several props were prepared and rigged in Maya for the animators to use in gameplay story scenes.

Art (Weapons)
The Ship Weapons Team focused on the Javelin’s built-in arsenal, including a new Behring Gatling cannon and a considerably sized Behring torpedo.

Cinematics
In April, the Cinematics Team shifted from scene implementation to the production pass. There are five stages in the pipeline: Pre-vis, Kick-Off, Implementation, Production, and Finalization. After the implementation pass, scenes will work in-game with the correct root for all NPCs, timing and editing is synced for all scene members, the number of animation fragments is decided so the player can interact correctly, poses are roughly matched, and the correct markup for abandon/interrupt is created. While the designers are marking up the abandon/interrupt points, the animators can make their production pass. This stage is all about final pose matching, fixing remaining small gaps in animation, starting proper polish, and making sure the scene state machine is delivered. Once done, mo-cap polish is tackled by the animators. At the same time, the designers work alongside them to ensure cameras are locked and lighting passes progress to show the scene in the best way possible. The LookIK markup is also done at this stage:

LookIK refers to how an NPC, like Captain White, can look at the player and follow them. This can be with 100% strength, meaning he is leaning his upper body and the neck, head, and eyes follow the player with a field-of-view angle of 120°. However, each of these elements can be tweaked to a smaller percentage. For performance captured animation, the team don’t want Captain White to stare down the player at all times as it would override most of what the actor did on set.

For Implementation, the first pass of LookIK is done, meaning the team turn it on/off at appropriate parts of a scene. But at Production, they revisit the markup and spend time evaluating the original on-set reference camera data of the actor and analyze the performance down to the small details. For example: Why did he look away? Was it because he thought about his answer or to give more emphasis? How much of the look utilized his neck and shoulders? The animators then dial in the markup percentages for body, head, eyes, and carefully animate each of the LookIK parameters via a curve editor in Maya. Then, they review the scene to evaluate how successful the markup is in retaining the actor’s intent.

For scenes where the player is ‘locked in’ watching a briefing, a certain percent is still enabled to accommodate the slightly smaller female player model.

“What we’ve found during these reviews is that we need to be careful with the strength of the eyes in LookIK. In real-life, people talking to each other are not completely locked together, so keeping the eyes alive is a small but rather important detail to get right. It helps to keep as much of the performance alive as we can while pushing what was once a linear mo-cap performance into our interactive realm.”
- Cinematics Team

Engineering
Engineering’s April involved working on AFT, adding rotation resistance to the driven articulated entity tracking joint (exposing tuning parameters), making body-dragging-driven ragdoll behavior less framerate dependent, and adding rotation damping for the dragging character (with exposed linear and angular damping factors). They also fixed animation pops, added force reactions, and made the head and neck joints of a drag-driven ragdolls ignore actor entity collisions.

Physics-wise, they made improvements to the load and spawn time for entities, reworked the processing of dead-marked entities, and optimized the CheckAreas function (which is now three-to-five times faster in new grid-OC-split regions). Basic ricochet behavior was also added and made deterministic. They also looked into character physicalization issues for the Cinematics Team and integrated physics into the main development stream too.

Engineering wrapped up the mesh refactor for the Gen12 renderer, moved shader item creation away from the render thread, relocated shader objects to resource containers (to improve material-streaming during OCS), and made headway into permanently enabling certain G12 effects. They added asynchronous shader compilation support to the Gen12 code and refactored the buffer management for render mesh. This means they can now create buffers on any thread instead of deferring it to RT, use a VB stream wrapper object to maintain ref counts for writes and reads on render mesh streams, and run numerous API cleanups. They further cleaned the loading and refreshing of the shader system, ported texture sampler state code, and started porting brush rendering to the new pipeline.

Regarding the shader system, they fixed an issue in cache generation that caused certain combinations of hull, domain, geometry, and compute to not pre-cache. For hair, they created a new slider for creating a ‘salt and pepper’ look and improved scattering for blonde and bright hair.

Engineering bundled the processing of adaptive resolution samples so that lowering adaptive resolution will show GPU perf scaling as expected. They changed the way active sample indices are built to maintain the desired serialization order per sample block. Each sample block can now be processed as a bundle via the thread group to better utilize cache effects. They also looked into deep learning-based de-noising and up-sampling, and worked to implement a guided filter to de-noise and up-sample lower resolution raymarched inscatter and transmittance results. For the ongoing ocean work, the team upgraded buoyancy physics to make it functional with the new changes, fixed motion vectors on deferred oceans, and added sub-surface scattering to improve the appearance of crest waves.

General system worked involved enabling advanced CPU features for Linux DGS (in addition to already enabled Haswell-based code gen in Clang). Batch worker wakeup was improved and optimizations to the aggregate broad phase were made, such as replacing the sphere tree with an optimized radix tree and an optimized state update.

Finally for Engineering, the entity component update scheduler was developed further. To this end, they added a new component update policy based on entity rendering bounds with an optional view ratio and added support for view ratio in component updates. They also fixed a crash in a video driver due to incorrect use of the texture upload path taken for UI/Flash assets. Various frame times were added to important threads (MT, RT, network, physics), with one of the goals being to derive a VSync agnostic frame time. The exception handler and crash dump processing tools now support new cig-trace events and have unique folders to dump debug information into, which streamlines runtime error processing and analysis. The developers can now also mute FPEs until a given date.

Gameplay Story
The Gameplay Story Team continued to support Design as they work through various scenes. They also made significant improvements to their library of generic interrupt animations and now have 14 male and female animations that work well from standing poses. The gameplay story scenes on and around the bridge seats on the Idris underwent iteration and they are now beginning to support the Social AI Team’s work in this location. Lastly, they moved a few scenes for chapter eight through the pipeline. These scenes started life as individual lines of dialogue delivered by a single standing character, though new mo-cap (recorded before the lockdown) meant they could be turned into two-person scenes related to the environment.

Graphics
The Graphics Team continued their crucial work on the Gen12/Vulkan renderer, with focus on getting the first version of a complete graphics pipeline up and running. This is the first of several major milestones in the renderer’s development and will allow the team to deprecate much of the old post-effect code. The organic shader used for vegetation and rocks is currently receiving a long-planned upgrade, which adds many new features and integrates it into Planet Tech v4 and allows for much better integration of assets into planetary terrain.

Level Design
Social Design pushed on with their complex scene work, working closely with Animation to make sure all eventualities involving the player breaking, re-joining, or abandoning scenes are covered.

Level Design worked closely with Art, fleshing out some of the alternate routes that players can take through the levels that allow for more exploration or stealth-type gameplay. They further tuned the pre-combat and patrol work delivered by AI Features.

The Space/Dogfight Team continued ‘space scaping’ various locations in the game, crafting them into believable places with function and identity. They also implemented work from the Vehicle Feature Team on the updated scanning mechanics, making sure they function correctly within SQ42.

QA
Throughout April, QA was tasked with recording client scene captures of individual chapters and investigating any issues hindering the cinematics workflow. To further help the Cinematics Team, they expanded the tools used, such as the subsumption visualizer, to better debug any issues found.

Tech Animation
Tech Animation continued building rigs that will give the animators the ability to sync body and ship animations. They worked with the wider Animation Team to rig up seats for SQ42’s capital ships and built a list of loadouts for the animators to use in Maya, making it easier to minimize clipping. They worked with Social AI on new usables for the hangar behavior and developed a tool to allow the animators to export their state machines straight from Visio to Mannequin, which will significantly speed up the implementation process. They also started work on their own tool to make implementing state machines into Mannequin even faster. They helped rig props for the animators to use in Maya and supported the Animation Team with smaller bug fixes, additions to existing tools, and some smaller new tools.

Tech Art
In April, Tech Art continued work on the RuntimeRig system, further enhancing it by adding functionality to allow the efficient sharing of RigComponents between several instances (typically characters). Certain RigComponent types (such as the BlendShapeComponents or the WrinkleMaskComponents) contain static data that never changes at runtime and is usually identical for all rigs of the same type and tier, such as all human T0-T3 head rigs. In early versions, this data was duplicated for simplicity. However, this isn’t ideal, both maintenance and memory-wise. In the old RigLogic system, it had been fully hard-coded via static arrays in shared C++ header files, which led to a more optimal memory footprint but completely removed flexibility on the tech-art side.

The latest iteration permits resource sharing wherever possible and gives the artists full technical freedom to edit the data and quickly iterate on the deformation and shading-related rig outputs. As with all core systems designed to replace legacy versions, rigorous testing, tech-hardening, and optimization are needed before it can be rolled out across the board. As a first step, they’ll test it on the Maya-side only, using the new Vanduul face rigs. Eventually, it’ll be applied to all the 130+ human head rigs in the DCC and, later, the engine too.

User Interface (UI)
Throughout the first quarter of 2020, the core UI Team progressed with adding 3D support to the Building Blocks UI tool. April’s work will make it easier for designers to add 3D vehicle or character icons to a screen without relying on a programmer. They also finished the first iteration of a new UI kit that makes it easier to set up pages by using ready-made components, which can be easily restyled for different manufacturers.

Currently, many of the UI Team are working closely with other teams: Alongside the Vehicle Team, they worked on improvements to the targeting, missile lock, and landing UI. For the Actor Team, UI supported the creation of the new inventory system. The UI artists also worked on screens and branding for some upcoming environments.

VFX
Last month, VFX made great progress towards finalizing the GPU particle system feature list. This involved developing two new features, alpha erosion and emitter rotations. Alpha erosion allows them to eat away at the edges of a texture to give the appearance of it dissolving instead of simply fading out. Emitter rotations allow the team to rotate the emitter over time using curves, which is useful for making spirals and sweeping side-to-side motions. WE’LL SEE YOU NEXT MONTH…
Dies ist ein Querverweis auf den Bericht, der kürzlich über den monatlichen Newsletter Squadron 42 verschickt wurde. Wir veröffentlichen ihn ein zweites Mal als Comm-Link, um es der Gemeinschaft zu erleichtern, auf ihn zurückzugreifen.
Achtung Rekruten,

Was Sie gleich lesen werden, sind die neuesten Informationen über die weitere Entwicklung der Staffel 42 (SCI des: SQ42).

Unsere Top-Agenten gingen tief in die Deckung und schafften es, Informationen über die Arbeit an den Waffen- und Techniksektionen des Javelin sowie wichtige Informationen über den nächsten Schritt der Filmkunst zu erhalten.
Die in dieser Mitteilung enthaltenen Informationen sind äußerst sensibel, und es ist von größter Wichtigkeit, dass sie nicht in die falschen Hände geraten. Säubern Sie alle Aufzeichnungen nach dem Lesen.

UEE Marine-Oberkommando

AI (Kampf)
Das Kampf-KI-Team begann den Monat mit der Verbesserung der Stabilität und der Behebung von Fehlern für Alpha 3.9. Danach begannen sie mit der Arbeit an realistischen Schüssen, wobei sie sich zunächst mit Nachladeaktionen für NPCs befassten. Sie erweiterten den Akteurszustandsautomaten, um die Ergebnisse von Nachladeaktionen zu melden, so dass das Verhalten der NPCs gemeldet wird und im Entscheidungsprozess korrekt verzweigt wird.
Gegenwärtig arbeiten sie daran, die Menge der NPC-Geschosse zu verfolgen, damit das Nachladen zu geeigneten Zeitpunkten ausgelöst wird. Dazu gehört auch eine Erweiterung des derzeitigen Kampfverhaltens, die es den NVKs ermöglicht, den besten Feuermodus für die gewählte Taktik zu bewerten. Zum Beispiel die Wahl eines Modus, der weniger Munition verbraucht, das Wechseln zu einer anderen Waffe oder die Suche nach Munition in der Umgebung, falls diese zur Neige geht. Sie schufen auch die Grundlage für den Vanduul-Charakter, beginnend mit dem Aufbau der Entität, der Auswertung der verfügbaren Fortbewegungsanimationen und den Prioritäten für das Lanzen-AimIK.
AI (Schiffe)
Im April schloss die Schiffs-KI ihre Überarbeitung der KI des Verteidigungsziels ab, die einen Anführer und ein oder mehrere Begleitschiffe umfasst:
Wenn sie außer Gefecht sind, fliegen die in Formation befindlichen Begleitschiffe an der Seite des Anführers und treten nur in den Kampf ein, wenn sie bedroht werden. Wenn sie außerhalb der Formation fliegen, schließen sich die Begleitschiffe der Formation an, wenn der Anführer dies erlaubt. Wenn keine Formation unterstützt wird oder alle Positionen reserviert sind, wendet die Eskorte das "FollowAtDistance"-Verhalten an, bei dem die KI eine Richtung und Distanz relativ zum Anführer wählt und eine lockere Position beibehält. In regelmäßigen Abständen werden alle Eskorten je nach Situation ihre Position ändern oder die Formation verlassen.
Wenn sie sich im Kampf befinden, greifen die Eskorten Feinde an, die einem Zuweisungsbereich unterliegen, der für jedes Schiff unterschiedlich sein kann. Ein "Gefecht" löst jedoch nicht sofort einen Luftkampf aus und lässt den Anführer unverteidigt; das Gefecht findet schrittweise statt. Zunächst gravitieren die Eskorten um den Anführer herum, um sicherzustellen, dass sie sich zwischen dem Anführer und dem Ziel befinden. Wenn der Feind näher dran ist (auch durch den Auftrag definiert), führen die Eskorten einen Luftkampf durch. Der Gesamtablauf stellt sicher, dass eine Eskorte immer in der Nähe des Führers ist, um ihn zu schützen und zu reagieren, wenn andere Angreifer eingreifen. Es ist möglich, die Verteidigungsdynamik zu differenzieren, indem man den Eskorten unterschiedliche Kampfbereiche zuweist oder anpasst, wie eng sie den Führer beschatten.
Der Defend Target-Mechaniker ist auch nützlich, um einfache Konvoi-Verhaltensweisen für Transporte und friedliche Operationen zu implementieren.
Die Schiffs-KI arbeitete auch an der laufenden Überarbeitung des taktischen Punktesystems und an der Schaffung des taktischen Zielsystems. Sie befinden sich derzeit im letzten Entwicklungszyklus und untersuchen Möglichkeiten, Variationen von TTS-Abfragen auszudrücken, um der jeweiligen Mission oder dem jeweiligen Einsatzort gerecht zu werden. Sie führten das Konzept der optionalen Überschreibungen von Abfrageparametern, Bedingungen und Gewichtungen ein, die nur relevant sind und nur auf der Grundlage der Erfüllung einer bestimmten Anforderung (wie z.B. einer auf den Akteur gesetzten Markierung) angewendet werden. So können sie eine Basisabfrage definieren, die normal verwendet wird, aber auch Variationen spezifischer Teile einführen, die sich nur auf Charaktere beziehen, die spezifisch für eine einzelne Szene sind. Beispielsweise kann ein NPC dazu ermutigt werden, anstelle der in der Basisabfrage definierten Standardauswahl Schiffe mit niedrigen Schilden oder mit einer kriminellen Bewertung ins Visier zu nehmen.
AI (sozial)
Das Social AI Team verbrachte Zeit damit, die Leistung des Usable Cache Managers zu verbessern. Es fügte die Möglichkeit hinzu, das Haupt-Update in Zeitabschnitte zu unterteilen, um die Update-Verwendung verschiedener Jobs leichter kontrollieren zu können, und begann mit physischem Ray-Casting in der Warteschlange, um zu überprüfen, welche benutzbaren Eingangs-/Ausgangsorte verfügbar und nicht durch andere Objekte blockiert sind.
Sie begannen mit der Arbeit an Compound Usables, die Funktionalitäten von anderen Usables erben und Daten, die auf bestimmten Setups basieren, überschreiben können. Beispielsweise können bei Wartungs- oder Inspektionsarbeiten an einer Gladius an den meisten Stellen generische Animationen verwendet werden, aber für einen komplexeren Abschnitt des Schiffes sind möglicherweise spezielle Mannequin-Tags erforderlich.
Funktionalität und visuelle Qualität wurden für Anbieter wie den Bartender weiter entwickelt. Es wurde daran gearbeitet, den Designern die Möglichkeit zu geben, Proc-Clips einzurichten, die Objekte aus einem bestimmten Inventarfach stauen/entstauen. Außerdem wurde das Kommunikationssystem so erweitert, dass Designer verschiedene Optionen in Bezug auf dieselbe kontextbezogene Sprechleitung mit Tags versehen können. Dies ermöglicht es einem generischen Verhalten, automatisch die richtige Option für einen bestimmten Kontext auszuwählen. Beispielsweise kann ein Ladenbesucher eine generische "Bestell"-Kommunikationslinie verwenden, um das Tag des Objekts, das er bestellen möchte, zu übergeben, das eine relevante Stimme und Animation auswählt. Wenn eine solche nicht vorhanden ist, kann eine generische Option ausgewählt werden. Dies, in Kombination mit einer Weitergabe von "wildlines" und sekundären Unteraktivitäten für das Verkäuferverhalten, ermöglichte es dem Team, die visuelle Wiedergabetreue des Verhaltens deutlich zu verbessern.
Derzeit werden weitere Funktionalitäten in Verbrauchsobjekte integriert, um eine zusätzliche Anpassungsebene für den Fluss zu schaffen, wie z.B. die Fähigkeit der KI, zwischen offenen und geschlossenen Flaschen zu unterscheiden und entsprechend zu handeln.
Der Schwerpunkt wurde auch auf die Verbesserung mehrerer Aspekte der Patrouillenpfadtechnik gelegt. Dazu gehörte die Verlagerung einiger der parallelen Funktionalitäten der Trigger-Logik in das Bewegungssystem, was aus mehreren Gründen eine große Veränderung darstellt: Das Team kann jetzt einfache Anfragen in Bezug auf einen Designerpfad an das Bewegungssystem senden, was die Aufgabe der Subsumption wesentlich vereinfacht; es kann denselben Ansatz verwenden, der für komplexe Gebrauchsgegenstände wie geschlossene Türen, Aufzüge und das Transitsystem begonnen wurde; und der Bewegungsplaner ist jetzt für die Analyse der Daten und die Erstellung eines Plans verantwortlich, der so komplex wie nötig sein kann.
Animation
Im vergangenen Monat unterstützte Animation Social AI bei der Arbeit im Schiffshangar, bei der Generalinspektion, bei Barpatron-Idle und Aktionen, Brückenkontrollsitzen und Schließfächern. Sie arbeiteten auch an Nachlade- und Fehlfunktionsanimationen für alle Waffenklassen und machten Fortschritte im Kampfstil des Vanduul-Feindes. Die Entwicklung von Stolpern, Niederschlägen, Körperschleppen und was passiert, wenn ein Spieler verletzt oder kampfunfähig wird, ging weiter.
Das Mo-Cap-Team verbesserte das Skelett des Motion-Builders, mit dem das breitere Team schneller Aktivposten erstellen kann, und das Werkzeug "Take Selection", mit dem sich der Turnaround nach dem Schuss verbessern lässt. Außerdem wurden Tools geschaffen, die eine schnelle Datenumbenennung und Videokonvertierung ermöglichen. Mehrere Teammitglieder unterstützen vorübergehend andere verwandte Entwicklungsbereiche aufgrund der Aussetzung aller Mo-Cap-Shootings, u.a. durch Fortschritte bei der großen Anzahl der während der gesamten Kampagne verwendeten Comms Calls.
Kunst (Charaktere)
Art setzte ihre laufende Haararbeit fort, zu der die Umgestaltung einiger bestehender Frisuren und die Arbeit an neuen kürzeren Frisuren gehörte. Mit der neuesten Iteration des Shaders verbesserten sie auch die Farbtreue von blondem Haar weiter.
Gegenwärtig stellen sie die Offiziersuniformen fertig und werden in den kommenden Wochen zu weiteren Uniformen übergehen. Dank der Vielzahl der Dienstgrade in der UEE Navy werden etwa fünfzehn Uniformen entstehen.
"Unser Schwerpunkt liegt darauf, sicherzustellen, dass die Details bei den filmischen Nahaufnahmen erhalten bleiben, da wir keine separaten filmischen Maschen verwenden. Was Sie im Spiel sehen, ist das, was Sie in der Zwischensequenz bekommen. Am Ende werden sie besser denn je aussehen."
- Charakter-Kunst-Team
Kunst (Umwelt)
Im vergangenen Monat hat das Environment Art Team die technische Sektion des Javelin erweitert, was nach dem Testen eines der Kapitel, die auf dem Schiff stattfinden, zustande kam. Auch die Beleuchtungsarbeiten für dieses Kapitel wurden auf dem ganzen Schiff fortgesetzt, wobei die neue Echtzeit-Kubemap-Funktion für Lichtzustandsübergänge verwendet wurde.
Auch der Aufbau des Aciedo-Comms-Array-Satzes wurde fortgesetzt. Der Spieler besucht während des ersten Abschnitts der Kampagne mehrere Arrays, so dass das Set als Basis für mehrere Stationen dienen muss, bevor die einzigartigen Kunstwerke und Vermögenswerte zu jeder Station hinzugefügt werden können. Die Truckstops kommen gut voran, wobei die Aufprallschäden eingeführt werden, um das Gefühl des langfristigen Verlassenseins noch zu verstärken. Bedenken Sie, dass dies nicht die Truckstops sind, die die Spieler von der PU kennen; alle Umgebungen von SQ42 sind einzigartig für die Kampagne.
Das Team hat auch die Hangar-Innenräume auf einer der Minenbasen ausgearbeitet. Dies ist der größte Hangar im Spiel und muss mehrere Funktionen für den Bahnhof und die Passanten erfüllen. Hier finden wichtige Geschichtsmomente statt, die dem Team die Möglichkeit gaben, einen so großen Raum mit interessanten erzählrelevanten Requisiten auszustatten. Außerdem begannen die Arbeiten an zwei neuen einzigartigen Schauplätzen, von denen der eine brutalistisch und der andere eher wie eine Barackensiedlung gestaltet ist.
Kunst (Requisiten)
Im April untersuchte das Requisiten-Team, wie man einige der einzigartigeren Standorte von SQ42 bekleiden könnte. Dabei konzentrierte man sich auf die Materialien, mit denen man sie in die Umgebung einbettet, und vervollständigte einige der Geschichten des Erzählteams.
Sie schufen neue Wartungs- und Elektroersatzteile und überprüften die Hangaranlagen, um ihre visuelle Qualität zu verbessern und sie für KI-Interaktionen vorzubereiten. Schließlich wurden in Maya mehrere Requisiten vorbereitet und manipuliert, damit die Animatoren sie in den Szenen der Spielgeschichte verwenden konnten.
Kunst (Waffen)
Das Schiffswaffenteam konzentrierte sich auf das im Javelin eingebaute Arsenal, einschließlich einer neuen Behring-Gatling-Kanone und eines beträchtlich großen Behring-Torpedos.
Kinematographie
Im April wechselte das Cinematics-Team von der Szenenimplementierung zum Produktionspass. Es sind fünf Phasen in Vorbereitung: Pre-vis, Kick-Off, Implementierung, Produktion und Fertigstellung. Nach dem Implementierungsdurchgang werden die Szenen im Spiel mit dem korrekten Stamm für alle NSCs funktionieren, Timing und Schnitt werden für alle Szenemitglieder synchronisiert, die Anzahl der Animationsfragmente wird festgelegt, damit der Spieler korrekt interagieren kann, die Posen werden grob aufeinander abgestimmt und das korrekte Markup für Abbruch/Unterbrechung wird erstellt. Während die Designer die Punkte für Abbruch/Unterbrechung markieren, können die Animatoren ihre Produktion durchlaufen lassen. In dieser Phase dreht sich alles um die endgültige Posenanpassung, die Behebung verbleibender kleiner Lücken in der Animation, den richtigen Feinschliff und die Sicherstellung, dass die Zustandsmaschine der Szene geliefert wird. Sobald dies erledigt ist, werden die Animatoren mit dem Polieren der Mo-Caps beginnen. Gleichzeitig arbeiten die Designer mit ihnen zusammen, um sicherzustellen, dass die Kameras gesperrt sind und die Beleuchtung den Fortschritt passiert, um die Szene optimal zu zeigen. In dieser Phase wird auch das LookIK-Markup vorgenommen:
LookIK bezieht sich darauf, wie ein NPC, wie Captain White, den Spieler anschauen und ihm folgen kann. Dies kann mit 100 % Kraft geschehen, d.h. er lehnt seinen Oberkörper an, und Hals, Kopf und Augen folgen dem Spieler mit einem Sichtfeldwinkel von 120°. Jedes dieser Elemente kann jedoch auf einen kleineren Prozentsatz eingestellt werden. Das Team möchte nicht, dass Kapitän White den Spieler zu jeder Zeit in die Tiefe starrt, da dies den Großteil dessen, was der Schauspieler am Set getan hat, außer Kraft setzen würde.
Für die Umsetzung wird der erste Durchgang von LookIK durchgeführt, d.h. das Team schaltet es an den entsprechenden Stellen einer Szene ein/aus. Bei der Produktion jedoch wird das Markup noch einmal überprüft und Zeit damit verbracht, die ursprünglichen Referenzkameradaten des Schauspielers am Set auszuwerten und die Leistung bis ins kleinste Detail zu analysieren. Zum Beispiel Warum hat er weggeschaut? War es, weil er über seine Antwort nachdachte oder um mehr Nachdruck zu verleihen? Wie stark wurden sein Nacken und seine Schultern durch den Blick beansprucht? Die Animatoren wählen dann die Auszeichnungsprozentsätze für Körper, Kopf und Augen und animieren sorgfältig jeden der LookIK-Parameter über einen Kurveneditor in Maya. Dann überprüfen sie die Szene, um zu beurteilen, wie erfolgreich der Markup die Absicht des Schauspielers beibehält.
Bei Szenen, in denen der Spieler bei einem Briefing "eingesperrt" ist, wird ein gewisser Prozentsatz immer noch ermöglicht, um das etwas kleinere weibliche Spielermodell unterzubringen.
"Was wir bei diesen Überprüfungen festgestellt haben, ist, dass wir mit der Stärke der Augen in LookIK vorsichtig sein müssen. Im wirklichen Leben sind die Menschen, die miteinander reden, nicht vollständig ineinander verschlossen, so dass die Augen am Leben zu erhalten ein kleines, aber sehr wichtiges Detail ist, um richtig zu handeln. Es hilft uns, so viel von der Performance am Leben zu erhalten, wie wir können, während wir das, was einmal eine lineare Mo-Cap-Performance war, in unseren interaktiven Bereich verlagern".
- Filmteam
Technik
Im April arbeiteten die Ingenieure an der AFT, indem sie den Rotationswiderstand des angetriebenen, gelenkigen Entity-Tracking-Gelenkes hinzufügten (und dabei die Tuning-Parameter aufdeckten), das durch Body-Dragging angetriebene Ragdoll-Verhalten weniger frameratenabhängig machten und eine Rotationsdämpfung für den Dragging-Charakter hinzufügten (mit aufgedeckten linearen und angularen Dämpfungsfaktoren). Außerdem wurden Animations-Pops fixiert, Kraftreaktionen hinzugefügt und die Kopf- und Halsgelenke einer schleppenden Ragdoll dazu gebracht, Zusammenstöße zwischen den Akteurseinheiten zu ignorieren.
Physikalisch gesehen verbesserten sie die Lade- und Laichzeit für Entitäten, überarbeiteten die Verarbeitung von totmarkierten Entitäten und optimierten die CheckAreas-Funktion (die jetzt in neuen Gitter-OC-Split-Regionen drei- bis fünfmal schneller ist). Ein grundlegendes Querschlägerverhalten wurde ebenfalls hinzugefügt und deterministisch gemacht. Sie untersuchten auch Fragen der Charakterphysikalisierung für das Cinematics-Team und integrierten die Physik ebenfalls in den Hauptentwicklungsstrom.
Die Ingenieure beendeten den Mesh-Refaktor für den Gen12-Renderer, verlagerten die Erstellung von Shader-Objekten vom Render-Thread weg, verlagerten Shader-Objekte in Ressourcen-Container (zur Verbesserung des Materialflusses während der OCS) und machten Fortschritte bei der dauerhaften Aktivierung bestimmter G12-Effekte. Sie fügten dem Gen12-Code Unterstützung für die asynchrone Shader-Kompilierung hinzu und refaktorisierten die Pufferverwaltung für das Render-Mesh. Das bedeutet, dass sie jetzt Puffer für jeden Thread erstellen können, anstatt ihn auf RT zu verschieben, ein VB-Stream-Wrapper-Objekt verwenden können, um die Ref-Counts für Schreib- und Lesevorgänge auf Render-Mesh-Streams beizubehalten, und zahlreiche API-Bereinigungen durchführen können. Sie haben das Laden und Aktualisieren des Shader-Systems weiter bereinigt, den Textur-Sampler-Zustandscode portiert und mit der Portierung des Pinsel-Renderings auf die neue Pipeline begonnen.
In Bezug auf das Shader-System wurde ein Problem bei der Cache-Generierung behoben, das dazu führte, dass bestimmte Kombinationen von Hülle, Domäne, Geometrie und Berechnung nicht im Voraus zwischengespeichert wurden. Für Haare wurde ein neuer Schieberegler zur Erzeugung eines "Salz- und Pfeffer-Looks" erstellt und die Streuung für blondes und helles Haar verbessert.
Die Technik bündelte die Verarbeitung von Proben mit adaptiver Auflösung, so dass eine Verringerung der adaptiven Auflösung die GPU-Leistungsskalierung wie erwartet zeigt. Sie änderten die Art und Weise, wie aktive Probenindizes aufgebaut werden, um die gewünschte Serialisierungsreihenfolge pro Probenblock beizubehalten. Jeder Abtastblock kann jetzt als Bündel über die Thread-Gruppe verarbeitet werden, um Cache-Effekte besser auszunutzen. Sie befassten sich auch mit tiefem, lernbasiertem Entrauschen und Up-Sampling und arbeiteten an der Implementierung eines geführten Filters zum Entrauschen und Up-Sampling von raymarched Instreuungs- und Transmissionsergebnissen mit niedrigerer Auflösung. Für die laufenden Arbeiten auf den Ozeanen verbesserte das Team die Auftriebsphysik, um sie mit den neuen Änderungen, festen Bewegungsvektoren auf verschobenen Ozeanen funktionsfähig zu machen, und fügte Untergrundstreuung hinzu, um das Erscheinungsbild von Wellenbergen zu verbessern.
Bei der Arbeit am allgemeinen System ging es darum, erweiterte CPU-Funktionen für Linux DGS zu ermöglichen (zusätzlich zu dem bereits aktivierten Haswell-basierten Code gen in Clang). Das Aufwachen des Batch Workers wurde verbessert, und es wurden Optimierungen an der Aggregatbreitphase vorgenommen, wie z.B. das Ersetzen des Kugelbaums durch einen optimierten Radix-Baum und eine optimierte Zustandsaktualisierung.
Schließlich wurde für das Engineering der Entitätskomponenten-Aktualisierungsplaner weiterentwickelt. Zu diesem Zweck wurde eine neue Komponentenaktualisierungsrichtlinie hinzugefügt, die auf Entitäts-Rendering-Grenzen mit einem optionalen Ansichtsverhältnis basiert, und es wurde Unterstützung für das Ansichtsverhältnis in Komponentenaktualisierungen hinzugefügt. Außerdem wurde ein Absturz in einem Videotreiber behoben, der auf die falsche Verwendung des Textur-Upload-Pfads für UI-/Flash-Assets zurückzuführen war. Zu wichtigen Threads (MT, RT, Netzwerk, Physik) wurden verschiedene Frame-Zeiten hinzugefügt, wobei eines der Ziele darin bestand, eine agnostische VSync-Frame-Zeit abzuleiten. Die Exception-Handler- und Crash-Dump-Verarbeitungstools unterstützen jetzt neue cig-trace-Ereignisse und verfügen über eindeutige Ordner, in die Debug-Informationen gedumpt werden können, wodurch die Verarbeitung und Analyse von Laufzeitfehlern rationalisiert wird. Die Entwickler können jetzt auch FPEs bis zu einem bestimmten Datum stummschalten.
Spielgeschichte
Das Gameplay Story Team unterstützte Design weiterhin bei der Arbeit durch verschiedene Szenen. Sie haben auch ihre Bibliothek mit generischen Unterbrechungsanimationen erheblich verbessert und verfügen jetzt über 14 männliche und weibliche Animationen, die gut aus stehenden Posen funktionieren. Die Gameplay-Story-Szenen auf und um die Brückensitze auf der Idris wurden iteriert, und sie beginnen nun, die Arbeit des sozialen KI-Teams an diesem Ort zu unterstützen. Schliesslich haben sie einige Szenen für Kapitel acht durch die Pipeline verschoben. Diese Szenen begannen als einzelne Dialogzeilen, die von einer einzigen stehenden Figur vorgetragen wurden, obwohl sie dank der neuen Mo-Kappe (die vor der Abriegelung aufgenommen wurde) in Zwei-Personen-Szenen mit Bezug zur Umgebung umgewandelt werden konnten.
Grafiken
Das Grafikteam setzte seine entscheidende Arbeit am Gen12/Vulkan-Renderer fort und konzentrierte sich darauf, die erste Version einer kompletten Grafik-Pipeline zum Laufen zu bringen. Dies ist der erste von mehreren wichtigen Meilensteinen in der Entwicklung des Renderers und wird es dem Team ermöglichen, einen Großteil des alten Post-Effekt-Codes zu verwerfen. Der organische Shader, der für Vegetation und Felsen verwendet wird, erhält derzeit ein seit langem geplantes Upgrade, das viele neue Funktionen hinzufügt und in Planet Tech v4 integriert und eine viel bessere Integration von Assets in planetarisches Terrain ermöglicht.
Level-Entwurf
Social Design trieb seine komplexe Szenenarbeit voran und arbeitete eng mit der Animation zusammen, um sicherzustellen, dass alle Eventualitäten abgedeckt sind, bei denen der Spieler Szenen abbricht, wieder einfügt oder verlässt.
Das Leveldesign arbeitete eng mit der Kunst zusammen und entwickelte einige der alternativen Routen, die der Spieler durch die Levels nehmen kann, um mehr Erkundung oder Stealth-Gameplay zu ermöglichen. Sie haben die von den KI-Features gelieferten Prä-Kampf- und Patrouillenarbeiten weiter optimiert.
Das Weltraum-/Hundekampf-Team setzte die "Raumgestaltung" an verschiedenen Orten im Spiel fort und gestaltete sie zu glaubwürdigen Orten mit Funktion und Identität. Sie implementierten auch die Arbeit des Vehicle Feature Teams an der aktualisierten Scan-Mechanik und stellten sicher, dass sie innerhalb von SQ42 korrekt funktioniert.
QUALITÄTSSICHERUNG
Während des gesamten Aprils war die Qualitätssicherung damit beauftragt, Szenenaufnahmen von einzelnen Kapiteln des Kunden aufzunehmen und alle Probleme zu untersuchen, die den filmischen Arbeitsablauf behindern. Um das Cinematics-Team weiter zu unterstützen, wurden die verwendeten Tools, wie z.B. der Subsumtionsvisualizer, erweitert, um alle gefundenen Probleme besser beheben zu können.
Technische Animation
Tech Animation setzte den Bau von Rigs fort, die den Animatoren die Möglichkeit geben, Körper- und Schiffsanimationen zu synchronisieren. Sie arbeiteten mit dem breiteren Animationsteam zusammen, um die Sitze für die Großkampfschiffe von SQ42 aufzurüsten, und erstellten eine Liste von Ladevorgängen für die Animatoren, die sie in Maya verwenden können, so dass es einfacher wird, den Ausschnitt zu minimieren. Sie arbeiteten mit Social AI an neuen Verwendungsmöglichkeiten für das Verhalten des Hangars und entwickelten ein Tool, mit dem die Animatoren ihre Zustandsmaschinen direkt von Visio nach Mannequin exportieren können, was den Implementierungsprozess erheblich beschleunigen wird. Sie begannen auch mit der Arbeit an einem eigenen Werkzeug, um die Implementierung der Zustandsautomaten in Mannequin noch schneller zu machen. Sie halfen, Requisiten für die Animatoren zur Verwendung in Maya zu erstellen und unterstützten das Animationsteam mit kleineren Fehlerbehebungen, Ergänzungen zu bestehenden Werkzeugen und einigen kleineren neuen Werkzeugen.
Technische Kunst
Im April setzte Tech Art die Arbeit am RuntimeRig-System fort und verbesserte es weiter, indem es Funktionen hinzufügte, die die effiziente gemeinsame Nutzung von RigComponents zwischen mehreren Instanzen (typischerweise Zeichen) ermöglichen. Bestimmte RigComponent-Typen (wie z.B. die BlendShapeComponents oder die WrinkleMaskComponents) enthalten statische Daten, die sich zur Laufzeit nie ändern und normalerweise für alle Rigs desselben Typs und derselben Ebene identisch sind, wie z.B. alle menschlichen T0-T3 Head-Rigs. In frühen Versionen wurden diese Daten der Einfachheit halber dupliziert. Dies ist jedoch nicht ideal, sowohl was die Wartung als auch was den Speicher betrifft. Im alten RigLogic-System war es über statische Arrays in gemeinsam genutzten C++-Header-Dateien vollständig hartkodiert worden, was zu einem optimaleren Speicherplatzbedarf führte, aber die Flexibilität auf der Tech-Art-Seite vollständig entfernte.
Die neueste Iteration erlaubt die gemeinsame Nutzung von Ressourcen, wo immer dies möglich ist, und gibt den Künstlern die volle technische Freiheit, die Daten zu bearbeiten und schnell auf den deformations- und shading-bezogenen Rig-Ausgaben zu iterieren. Wie bei allen Kernsystemen, die dazu bestimmt sind, ältere Versionen zu ersetzen, sind strenge Tests, technische Härtung und Optimierung erforderlich, bevor das System flächendeckend eingeführt werden kann. In einem ersten Schritt wird es nur auf der Maya-Seite getestet, und zwar mit den neuen Vanduul-Frontprüfständen. Schließlich wird es auf alle mehr als 130 Prüfstände mit menschlichem Kopf im DCC und später auch auf den Motor angewandt werden.
Benutzerschnittstelle (UI)
Im Laufe des ersten Quartals 2020 machte das Kern-UI-Team Fortschritte bei der 3D-Unterstützung des Building Blocks UI-Tools. Aprils Arbeit wird es den Designern erleichtern, 3D-Fahrzeug- oder Charaktersymbole zu einem Bildschirm hinzuzufügen, ohne sich auf einen Programmierer verlassen zu müssen. Sie haben auch die erste Iteration eines neuen UI-Kits abgeschlossen, das das Einrichten von Seiten durch die Verwendung vorgefertigter Komponenten erleichtert, die für verschiedene Hersteller leicht umgestaltet werden können.
Derzeit arbeiten viele Mitglieder des UI-Teams eng mit anderen Teams zusammen: Zusammen mit dem Fahrzeugteam arbeiteten sie an Verbesserungen der Ziel-, Raketenarretierungs- und Lande-UI. Für das Actor-Team unterstützte UI die Schaffung des neuen Inventarsystems. Die UI-Künstler arbeiteten auch an Bildschirmen und dem Branding für einige kommende Umgebungen.
VFX
Im vergangenen Monat machte VFX große Fortschritte bei der Fertigstellung der Feature-Liste des GPU-Partikelsystems. Dazu gehörte die Entwicklung von zwei neuen Features, Alpha-Erosion und Emitter-Rotationen. Die Alpha-Erosion erlaubt es ihnen, an den Rändern einer Textur zu fressen, um den Anschein zu erwecken, dass sie sich auflöst, anstatt einfach auszublenden. Emitterrotationen ermöglichen es dem Team, den Emitter mit Hilfe von Kurven im Laufe der Zeit zu drehen, was für die Herstellung von Spiralen und schwungvollen Bewegungen von Seite zu Seite nützlich ist. WIR SEHEN SIE NÄCHSTEN MONAT...
This is a cross-post of the report that was recently sent out via the monthly Squadron 42 newsletter. We’re publishing this a second time as a Comm-Link to make it easier for the community to reference back to.
Attention Recruits,

What you are about to read is the latest information on the continuing development of Squadron 42 (SCI des: SQ42).

Our top agents went into deep cover and managed to extract information on work on the Javelin’s weapons and engineering sections, as well as key info on the next step of cinematics.
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 AI (Combat)
The Combat AI Team started the month improving stability and fixing bugs for Alpha 3.9. Afterwards, they began work on realistic firing, initially tackling reload actions for NPCs. They extended the actor state machine to report the results of reloading actions so that NPC behaviors are notified and branch correctly in the decision-making process.

They’re currently working to keep track of NPC bullet quantity so that reloading is triggered at appropriate times. This will include an extension of the current combat behavior that allows NPCs to evaluate the best fire mode for the selected tactic. For example, choosing a mode that consumes less ammo, switching to a different weapon, or looking for ammo in the environment if they run out. They also created the base for the Vanduul character, starting with the entity setup, evaluation of the available locomotion animations, and priorities for the lance AimIK.

AI (Ships)
April saw Ship AI complete their rework of the Defend Target AI, which involves a leader and one or more escort ships:

When out of combat, the in-formation escorts fly alongside the leader and only enter combat when threatened. When flying out-of-formation, the escorts will join the formation if allowed to by the leader. If no formation is supported or all positions are reserved, the escort will utilize the ‘FollowAtDistance’ behavior, where the AI selects a direction and distance relative to the leader and maintains a loose position. Periodically, all escorts will change position or leave the formation depending on the situation.

When in combat, escorts engage enemies governed by an assignment range that can be different for each ship. However, ‘engage’ doesn’t initiate a dogfight immediately and leave the leader undefended; engagement happens gradually. First, escorts gravitate around the leader to ensure they’re between the leader and target. If the enemy is closer (also defined by the assignment), the escorts engage in a dogfight. The overall flow ensures an escort is always in proximity of the leader to protect it and react if other attackers intervene. It’s possible to differentiate the defend dynamic by assigning different engage-ranges to escorts or adjusting how tightly they shadow the leader.

The Defend Target mechanic is also useful for implementing simple convoy behaviors for shipments and peaceful operations.

Ship AI also worked on the ongoing refactor of the Tactical Point system and the creation of the Tactical Targeting system. They’re currently in the last development cycle and are investigating ways to express variations of TTS queries to cope with the mission or scene at hand. They introduced the concept of optional overrides on query parameters, conditions, and weights that are only relevant and applied based on the fulfillment of a specific requirement (such as a tag set on the actor). So, they can define a base query that will be used normally but also introduce variations of specific parts that only affect characters specific to a single scene. For example, encouraging an NPC to target ships with low shields or with a criminal rating instead of the standard selection defined in the base query.

AI (Social)
The Social AI Team spent time improving the performance of the Usable Cache Manager. They added the ability to time-slice the main update to make it easier to control the update usage of different jobs, and began using queued physical ray-casting to validate which usable enter/exit locations are available and not blocked by other objects.

They started work on compound usables, which can inherit functionalities from other usables and override data based on specific setups. For example, maintenance or inspection operations on a Gladius might use generic animations in most locations, but a more complex section of the ship may require specific Mannequin tags.

Functionality and visual quality were further developed for vendors, such as the Bartender. Work went into potentially allowing designers to set up proc clips that stow/unstow objects from a specific inventory pocket. They also extended the Communication system to allow designers to tag different options relating to the same contextual voice line. This will allow a generic behavior to automatically select the right option for a specific context. For example, a shop patron can use a generic ‘order’ communication line to pass the tag of the object they want to order, which selects a relevant voice and animation. If one isn’t present, a generic option might be selected. This, in combination with a pass on wildlines and secondary sub-activities for the vendor behavior, allowed the team to significantly improve the visual fidelity of the behaviors.

They’re currently integrating more functionalities into consumable objects to create an additional layer of customization to the flow, such as enabling AI to differentiate between open and closed bottles and act accordingly.

Focus was also given to improving several aspects of the patrol path tech. This involved moving some of the parallel functionalities trigger-logic to the movement system, which is a big change for several reasons: The team can now send simple requests related to a designer path to the movement system, making the subsumption task much simpler; they can use the same approach that was started for complex usables, such as closed doors, elevators, and the transit system; and the movement planner is now responsible for analyzing the data and creating a plan that can be as complex as needed.

Animation
Last month, Animation supported Social AI with their ship hangar work, general inspection places, bar patron idles and actions, bridge control seats, and lockers. They also worked on reloading and malfunction animations for all weapon classes and progressed with the Vanduul enemy combat style. Development of stumbles, knockdowns, body dragging, and what happens when a player is injured or incapacitated continued.

The Mo-Cap Team improved the motion builder skeleton, which will help the wider team create assets faster, and the ‘take selection’ tool, which will improve post-shoot turnaround. Tools were also created to enable quick data renaming and video conversion. Several team members are temporarily supporting other related areas of development due to the suspension of all mo-cap shoots, including making headway into the large amount of comms calls used throughout the campaign.

Art (Characters)
Art continued their ongoing hair work, which included remodeling some existing hairstyles and working on new shorter styles. They also further improved the fidelity of blonde hair using the latest iteration of the shader.

They’re currently finalizing officer uniforms and will move onto others in the coming weeks. Thanks to the multitude of ranks in the UEE Navy, around fifteen outfits will be created.

“Our focus is ensuring that details hold up during cinematic close-ups, as we do not use separate cinematic meshes. What you see in the game is what you get in the cutscene. By the end of this, they will be looking better than ever.”
- Character Art Team

Art (Environment)
Last month, the Environment Art Team increased the Javelin’s engineering section, which came about after playtesting one of the chapters that takes place on the ship. Lighting work also continued across the ship for this chapter, utilizing the new real-time cubemap feature used for light-state transitions.

They also continued to build up the Aciedo comms array set. The player visits several arrays during the first section of the campaign, so the set needs to serve as the base for multiple stations before the unique art and assets can be added to each. The truck stops are progressing well, with impact damage being introduced to add to the feel of long-term abandonment. Bear in mind these aren’t the truck stops players are familiar with from the PU; all of SQ42’s environments are unique to the campaign.

The team also fleshed out the hangar interiors on one of the mining bases. This is the largest hangar in the game and needs to carry out multiple functions for the station and passersby. Important story moments take place here, which gave the team the opportunity to dress such a large space with interesting narrative-relevant props. Work also began on two new unique locations; one Brutalist in design and another more like a shantytown.

Art (Props)
April saw the Props Team looking into how to approach dressing some of SQ42’s more unique locations. This involved focusing on the dressing asset materials to bed them into the environment and completing some of the storytelling assets from the Narrative Team.

They created new maintenance and electrical spares and revisited the hangar assets to improve their visual quality and prep them for AI interactions. Finally, several props were prepared and rigged in Maya for the animators to use in gameplay story scenes.

Art (Weapons)
The Ship Weapons Team focused on the Javelin’s built-in arsenal, including a new Behring Gatling cannon and a considerably sized Behring torpedo.

Cinematics
In April, the Cinematics Team shifted from scene implementation to the production pass. There are five stages in the pipeline: Pre-vis, Kick-Off, Implementation, Production, and Finalization. After the implementation pass, scenes will work in-game with the correct root for all NPCs, timing and editing is synced for all scene members, the number of animation fragments is decided so the player can interact correctly, poses are roughly matched, and the correct markup for abandon/interrupt is created. While the designers are marking up the abandon/interrupt points, the animators can make their production pass. This stage is all about final pose matching, fixing remaining small gaps in animation, starting proper polish, and making sure the scene state machine is delivered. Once done, mo-cap polish is tackled by the animators. At the same time, the designers work alongside them to ensure cameras are locked and lighting passes progress to show the scene in the best way possible. The LookIK markup is also done at this stage:

LookIK refers to how an NPC, like Captain White, can look at the player and follow them. This can be with 100% strength, meaning he is leaning his upper body and the neck, head, and eyes follow the player with a field-of-view angle of 120°. However, each of these elements can be tweaked to a smaller percentage. For performance captured animation, the team don’t want Captain White to stare down the player at all times as it would override most of what the actor did on set.

For Implementation, the first pass of LookIK is done, meaning the team turn it on/off at appropriate parts of a scene. But at Production, they revisit the markup and spend time evaluating the original on-set reference camera data of the actor and analyze the performance down to the small details. For example: Why did he look away? Was it because he thought about his answer or to give more emphasis? How much of the look utilized his neck and shoulders? The animators then dial in the markup percentages for body, head, eyes, and carefully animate each of the LookIK parameters via a curve editor in Maya. Then, they review the scene to evaluate how successful the markup is in retaining the actor’s intent.

For scenes where the player is ‘locked in’ watching a briefing, a certain percent is still enabled to accommodate the slightly smaller female player model.

“What we’ve found during these reviews is that we need to be careful with the strength of the eyes in LookIK. In real-life, people talking to each other are not completely locked together, so keeping the eyes alive is a small but rather important detail to get right. It helps to keep as much of the performance alive as we can while pushing what was once a linear mo-cap performance into our interactive realm.”
- Cinematics Team

Engineering
Engineering’s April involved working on AFT, adding rotation resistance to the driven articulated entity tracking joint (exposing tuning parameters), making body-dragging-driven ragdoll behavior less framerate dependent, and adding rotation damping for the dragging character (with exposed linear and angular damping factors). They also fixed animation pops, added force reactions, and made the head and neck joints of a drag-driven ragdolls ignore actor entity collisions.

Physics-wise, they made improvements to the load and spawn time for entities, reworked the processing of dead-marked entities, and optimized the CheckAreas function (which is now three-to-five times faster in new grid-OC-split regions). Basic ricochet behavior was also added and made deterministic. They also looked into character physicalization issues for the Cinematics Team and integrated physics into the main development stream too.

Engineering wrapped up the mesh refactor for the Gen12 renderer, moved shader item creation away from the render thread, relocated shader objects to resource containers (to improve material-streaming during OCS), and made headway into permanently enabling certain G12 effects. They added asynchronous shader compilation support to the Gen12 code and refactored the buffer management for render mesh. This means they can now create buffers on any thread instead of deferring it to RT, use a VB stream wrapper object to maintain ref counts for writes and reads on render mesh streams, and run numerous API cleanups. They further cleaned the loading and refreshing of the shader system, ported texture sampler state code, and started porting brush rendering to the new pipeline.

Regarding the shader system, they fixed an issue in cache generation that caused certain combinations of hull, domain, geometry, and compute to not pre-cache. For hair, they created a new slider for creating a ‘salt and pepper’ look and improved scattering for blonde and bright hair.

Engineering bundled the processing of adaptive resolution samples so that lowering adaptive resolution will show GPU perf scaling as expected. They changed the way active sample indices are built to maintain the desired serialization order per sample block. Each sample block can now be processed as a bundle via the thread group to better utilize cache effects. They also looked into deep learning-based de-noising and up-sampling, and worked to implement a guided filter to de-noise and up-sample lower resolution raymarched inscatter and transmittance results. For the ongoing ocean work, the team upgraded buoyancy physics to make it functional with the new changes, fixed motion vectors on deferred oceans, and added sub-surface scattering to improve the appearance of crest waves.

General system worked involved enabling advanced CPU features for Linux DGS (in addition to already enabled Haswell-based code gen in Clang). Batch worker wakeup was improved and optimizations to the aggregate broad phase were made, such as replacing the sphere tree with an optimized radix tree and an optimized state update.

Finally for Engineering, the entity component update scheduler was developed further. To this end, they added a new component update policy based on entity rendering bounds with an optional view ratio and added support for view ratio in component updates. They also fixed a crash in a video driver due to incorrect use of the texture upload path taken for UI/Flash assets. Various frame times were added to important threads (MT, RT, network, physics), with one of the goals being to derive a VSync agnostic frame time. The exception handler and crash dump processing tools now support new cig-trace events and have unique folders to dump debug information into, which streamlines runtime error processing and analysis. The developers can now also mute FPEs until a given date.

Gameplay Story
The Gameplay Story Team continued to support Design as they work through various scenes. They also made significant improvements to their library of generic interrupt animations and now have 14 male and female animations that work well from standing poses. The gameplay story scenes on and around the bridge seats on the Idris underwent iteration and they are now beginning to support the Social AI Team’s work in this location. Lastly, they moved a few scenes for chapter eight through the pipeline. These scenes started life as individual lines of dialogue delivered by a single standing character, though new mo-cap (recorded before the lockdown) meant they could be turned into two-person scenes related to the environment.

Graphics
The Graphics Team continued their crucial work on the Gen12/Vulkan renderer, with focus on getting the first version of a complete graphics pipeline up and running. This is the first of several major milestones in the renderer’s development and will allow the team to deprecate much of the old post-effect code. The organic shader used for vegetation and rocks is currently receiving a long-planned upgrade, which adds many new features and integrates it into Planet Tech v4 and allows for much better integration of assets into planetary terrain.

Level Design
Social Design pushed on with their complex scene work, working closely with Animation to make sure all eventualities involving the player breaking, re-joining, or abandoning scenes are covered.

Level Design worked closely with Art, fleshing out some of the alternate routes that players can take through the levels that allow for more exploration or stealth-type gameplay. They further tuned the pre-combat and patrol work delivered by AI Features.

The Space/Dogfight Team continued ‘space scaping’ various locations in the game, crafting them into believable places with function and identity. They also implemented work from the Vehicle Feature Team on the updated scanning mechanics, making sure they function correctly within SQ42.

QA
Throughout April, QA was tasked with recording client scene captures of individual chapters and investigating any issues hindering the cinematics workflow. To further help the Cinematics Team, they expanded the tools used, such as the subsumption visualizer, to better debug any issues found.

Tech Animation
Tech Animation continued building rigs that will give the animators the ability to sync body and ship animations. They worked with the wider Animation Team to rig up seats for SQ42’s capital ships and built a list of loadouts for the animators to use in Maya, making it easier to minimize clipping. They worked with Social AI on new usables for the hangar behavior and developed a tool to allow the animators to export their state machines straight from Visio to Mannequin, which will significantly speed up the implementation process. They also started work on their own tool to make implementing state machines into Mannequin even faster. They helped rig props for the animators to use in Maya and supported the Animation Team with smaller bug fixes, additions to existing tools, and some smaller new tools.

Tech Art
In April, Tech Art continued work on the RuntimeRig system, further enhancing it by adding functionality to allow the efficient sharing of RigComponents between several instances (typically characters). Certain RigComponent types (such as the BlendShapeComponents or the WrinkleMaskComponents) contain static data that never changes at runtime and is usually identical for all rigs of the same type and tier, such as all human T0-T3 head rigs. In early versions, this data was duplicated for simplicity. However, this isn’t ideal, both maintenance and memory-wise. In the old RigLogic system, it had been fully hard-coded via static arrays in shared C++ header files, which led to a more optimal memory footprint but completely removed flexibility on the tech-art side.

The latest iteration permits resource sharing wherever possible and gives the artists full technical freedom to edit the data and quickly iterate on the deformation and shading-related rig outputs. As with all core systems designed to replace legacy versions, rigorous testing, tech-hardening, and optimization are needed before it can be rolled out across the board. As a first step, they’ll test it on the Maya-side only, using the new Vanduul face rigs. Eventually, it’ll be applied to all the 130+ human head rigs in the DCC and, later, the engine too.

User Interface (UI)
Throughout the first quarter of 2020, the core UI Team progressed with adding 3D support to the Building Blocks UI tool. April’s work will make it easier for designers to add 3D vehicle or character icons to a screen without relying on a programmer. They also finished the first iteration of a new UI kit that makes it easier to set up pages by using ready-made components, which can be easily restyled for different manufacturers.

Currently, many of the UI Team are working closely with other teams: Alongside the Vehicle Team, they worked on improvements to the targeting, missile lock, and landing UI. For the Actor Team, UI supported the creation of the new inventory system. The UI artists also worked on screens and branding for some upcoming environments.

VFX
Last month, VFX made great progress towards finalizing the GPU particle system feature list. This involved developing two new features, alpha erosion and emitter rotations. Alpha erosion allows them to eat away at the edges of a texture to give the appearance of it dissolving instead of simply fading out. Emitter rotations allow the team to rotate the emitter over time using curves, which is useful for making spirals and sweeping side-to-side motions. WE’LL SEE YOU NEXT MONTH…

Links

No links available.

Images

11
image/png
source.png
Details
Last Modified
3 years ago
Size
4.67 MB
image/png
source.png
Details
Last Modified
2 years ago
Size
3.65 MB
image/png
source.png
Details
Last Modified
2 years ago
Size
2.88 MB
image/png
source.png
Details
Last Modified
2 years ago
Size
3.37 MB
image/png
source.png
Details
Last Modified
2 years ago
Size
3.07 MB
image/png
source.png
Details
Last Modified
2 years ago
Size
4.54 MB
image/jpeg
source.jpg
Details
Last Modified
2 years ago
Size
571.04 KB
image/jpeg
source.jpg
Details
Last Modified
1 year ago
Size
1.13 MB
image/jpeg
source.jpg
Details
Last Modified
1 year ago
Size
1.69 MB
image/jpeg
source.jpg
Details
Last Modified
1 year ago
Size
1.99 MB
image/png
source.png
Details
Last Modified
10 months ago
Size
5.29 MB

Metadata

CIG ID
17590
Channel
Undefined
Category
Undefined
Series
Monthly Reports
Comments
16
Published
5 years ago (2020-05-13T00:00:00+00:00)