IE11 is no longer supported
We do not support Internet Explorer 11 and below. Please use a different web browser.
Roberts Space Industries ®

Transmission

General

ID:

18025

Comments:

10

Date:

March 10th 2021

Squadron 42 Monthly Report: February 2021

Squadron 42 Monthly Report: February 2021

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).

Thanks to the work of dedicated field agents and operatives, we’ve uncovered information on the Vanduul language, gas-cloud effects, and work continues on character EVA movement.

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 (Content)



Throughout February, AI Content continued with the engineer behavior, which helped identify further low-level improvements that could be extended to other systems to achieve even more complex behaviors (as they did with the bartender). They also started the downstream definitions of the usables required for the engineer, hygiene, and vendor shop extensions. The tier-zero implementations of the hawker, tourist, and tour guide behavior were completed too.



AI (Features)



AI Features made improvements to the communication system. First, they enabled a selection of communication variations to be aware of the animation options setup in Mannequin. This allows them to drive randomization in a way that prevents possible repetitions.

Secondly, they improved the low-level patrol tech code to support the customization of input parameters on the Subsumption logic for each patrol vertex. To achieve this, they extended the serialization code to allow multiple interfaces for variable serializations. So, from the editor code, they can automatically call through the right function for each variable type. Some variable types are plain old data (POD) and the system allows the registration of a global function associated with that type, such as integers and doubles. As with other custom types, the team can now allow calling class member functions to make the code more structured.

For usables, the team extended the crafting dictionary used to understand which items a usable can produce to handle multiple tags. This will enable them to understand which operations can produce multiple objects in one interaction. The routing verification in the query system was extended so that usables that provide or accept items can also be retrieved when slotted into other usables. They continued to improve the automatic testing setup for Subsumption, allowing the flowgraph UI to create a specific popup of only available functions instead of manually typing the function name.

For Character Combat, improvements were made to the fire cadence skill calculation. This was initially done using a global modifier but now uses skill formulas to ensure different character abilities influence the actual ability to use weapons.


Previously AI rate of fire was globally controlled by two cvar(s), basically two global values designers could tweak. We now have transformed this into a proper “formula” that takes into account the weapon proficiency to allow each character to have a different confidence of how many bullets to use, how quickly to press the trigger based on their traits (is the NPC confident, a showoff?) and on their actual ability with the specific weapon.

The team are currently progressing on the sub-component targeting, extending the targeting system to better filter entity sub-targets. This system will be shared across spaceships and characters. For example, NPCs on foot could target a ship engine with a rocket launcher the same way a ship could target the engine with missiles.


In this test environment you can see how ships are now able to fully focus on a specific subcomponent of another ship. In this case one of the trusters are blown away and then the next one is targeted.


In this test environment we setup a character to replenish his magazines. This is a test map to validate the setup of the ammo crates and make sure that the character can correctly find a crate that can provide magazines/ammos for the weapons he currently has and he can then use the usable correctly.



AI (Tech)



Last month, AI Tech supported character EVA movement. The idea is to reuse and extend the 3D pathfinding implemented for spaceships to characters in zero-g. The overall system was designed with this use-case in mind, so current work is to improve and extend the movement system to ensure the right context is available when an EVA or ship control movement is requested. They’re planning to support automatic enters/exits of ships from zero-g using the usable system too.


The team are currently extending the navigation system to give more context when in-game run-time regeneration requests are queued. The current system relies on physics events for regeneration, which makes it harder for the system to understand what entity type is causing a navigation mesh regeneration and what threshold can be tolerated. The new system utilizes an extension that enables the team to better understand ship states. For example, even if a ship is ‘awake’ in physics when landed, unless significant movements occur, they can accumulate modifications and only request a navmesh regeneration when the accumulated difference exceeds a certain threshold.

The team also progressed with porting the Subsumption editor into the game editor to better connect the editing interface with the runtime code. This involved adding a more advanced ‘find’ functionality that globally scans and finds references in Subsumption data.



Animation



Last month, the Animation Team progressed with several cinematic and gameplay story scenes. This involved work on the mess hall life, Vanduul combat, zero-g movement, railings for officers, surrender and maintenance animations, hurt and stumble blockouts and mocap, and staggers. They also began blocking out the MedPen and medical beds, NPCs accessing emergency exits from useables, and ‘stare spots’ used by AI when idle.

The final motion-capture was shot for animations in the blockout phase, including plane directors, like-idles, work zones, and inspects. They also completed mo-cap for stim smoking, conditional deaths (freezing, acid, etc), and all required facial animations for interactable performances.



Art (Characters)



February saw the Character Art Team make significant progress on Trejo, whose head was improved and passed to Tech Animation. Concepting for her Basilisk Advocacy outfit approached completion, while a revision pass began on the main pilot flight suit used by the navy, and some characters were updated that couldn’t be dealt with last year.

The team set up two assets to test the new vertex cloth simulation. Vcloth, as it’s known, was a major dependency for a long time and will significantly improve clothing and hair simulation. The team will soon move onto a full concept pass of the Screaming Galsons faction and the characters required for chapter four.



Engine



In February, the Physics Team finished tier one of geometry instancing, which is the second of three. Further optimizations included an improved way to recompute the mass distribution of rigid bodies. Memory fragmentation related to geometry containers was reduced by allocating memory for all arrays from a single contiguous block. For zero-g traversal, Engineering continued their joint effort with Actor Features on the new passive ragdoll mode. Issues with the communication between the game code, animation system, and physics system were found and fixed. Alongside this, a new passive ragdoll mode was added to skeleton physics.

For cooperative locomotion, an inconsistency was fixed in the damping of engaged movables. Additional support was given to the Planet Tech Team who were looking to improve vegetation touch-bending on shorter asset varieties.

Time was spent improving wheeled-vehicle physics, with the team managing to get the lateral Pacejka tire model to work and further improving the longitudinal model. While they transition to this new model, a few improvements were provided for the legacy mode too. Contact handling for tanks was improved, while improvements were made to the engine and gearbox code. Prototyping started on the logic for polygon cutting, which is used on physics proxy meshes, and general-purpose work was started on the ISPC math library, with the first results being submitted. This will allow the team to port C++ code to ISPC more easily. A potential fix for ships becoming unresponsive after players leave the cockpit was submitted too.

For the renderer, work continued on the Gen12 transition, in particular finalizing the render graph. Support for the remaining secondary vertex streams, such as skinning attributes, velocity, and secondary UV streams, was added. Additionally, the gather-based depth-of-field implementation was optimized. The shaping of volumetric clouds was completed and a first draft is currently with the artists for prototyping and feedback. In the meantime, more improvements to cloud shading and shadowing were implemented. A believable multi-scatter approximation was also added. Cloud shading now includes atmosphere-based ambient light (reflected ground light will be added later), while cloud albedo was reduced at the edges to emphasize shape (it reveals subtle details) and light scattering in clouds is no longer monochromatic and now just as flexible as atmospheric scattering. To reduce aliasing when shaping clouds, proper texture LOD values are now computed at each raymarch step, while shadow rays are now jittered to reduce aliasing under motion. Research into the efficient skipping of empty space between clouds commenced.

The Engine Team continued working on the profiler, adding compatibility for hardware counters and a sampling profiler mode with dedicated Windows and Linux support. Memory tracking data can now be filtered so issues can be more easily delegated to their respective owners. Work and improvements on the entity component update scheduler continued. For the patcher libraries, time was spent investigating infrequent errors in data patching that resulted in corrupt p4k files; some improvements were implemented and more will be rolled out soon. Vis areas received further code updates and support for animated portals was implemented. Moving forward, the team will support work on the Vulkan backend.



Features (Gameplay)



The SQ42 Feature Team continued submitting mission fail conditions. Now, the designers can set up default triggers, such as constantly shooting a friendly within a given time limit. These send an event to say the player has failed the mission and for what reason, with the ability for the designers to script bespoke failures. They can now also script what happens to the player if they fail via other means and display the given reason.

The designers also received the ability to detect what the player is controlling in a ship, which will be used for the in-game tutorial. The distress beacon mechanic was further developed based on feedback during play reviews, so players can now use their scanners to detect weak distress signals.



Gameplay Story



February saw the Gameplay Story Team working through 18 ‘random to NPC’ scenes and adding text-to-speech placeholder audio. The audio will soon be replaced with the team’s scratch recordings before planning for final recordings can begin. They also supported Design on chapters 4a and 14, making incremental improvements and delivering new abandon animations, and some important polish work was completed for the Morrow Tour.

A key focus throughout the month was the development of ‘play anywhere’ scenes, which involve AI characters approaching the player to initiate a conversation. These moments involve integrating scenes with AI locomotion to achieve a natural result. The first of these requires further polish but is currently looking very promising.

Gameplay Story were also heavily involved in animation tech, providing investigation and support into removable helmets, seat standardization, and character walk speeds.



Graphics



Last month, the Graphics Team focused on two main areas – automated testing and the Gen12 renderer. Various improvements were made to automated testing to better reliability, which is crucial as major changes are rolled out to ensure Graphics don’t break anything implemented by other teams. This included a rework of how the timers are set up in the renderer, ensuring they can pause and re-base the different animation systems used for things like lights, shaders, fog, and water.

On the Gen12-front, work continued to reach parity with the old shadow code-path so that it can be enabled by default. Testing of the Vulkan backend was rolled out further across the team to get wider visibility on the new API. Finally, to aid debugging, the font-rendering system was ported to Gen12.



Level Design



The Social Design Team continued to benefit from the updated tech and toolset that allows for a more granular setup of scene work and usable interactions.

Level Design worked closely with Art on several FPS spaces. These locations received a lot of polish from the FPS Design Team to ensure they’re fully realized and believable places.

The push for ‘gold-standard’ pirate AI behavior was continued by the Space/Dogfight Team, while the ‘buddy’ AI support was scoped out to determine its requirements.



Narrative



Last month, Narrative continued to participate in playthrough reviews. These reviews are extremely useful for ensuring narrative content has the desired impact and that the dialogue options cope with the range of player choices and actions.

They also provided feedback to the team’s Xenolinguist as progress continued with the Vanduul language.

“Developing the alien languages has been a very fruitful endeavor for the team because, beyond the language itself, the process has been great for creating cultural details and species behavior as languages often require an additional layer of specifics to be functional.” -The Narrative Team

Lastly, the team wrote the text for interactive props that will be used to dress some of the game environments.



QA



Cinematics continued to rely on QA for recordings of each level, while change and update testing was undertaken across the project. AI testing focused on FPS combat, particularly Vanduul behaviors and animations, while ship combat testing looked at the recent pilot behavior updates. A checklist for each was created to help the team keep on top of changes coming through the pipeline along with any bugs that may arise through development.



Tech Animation



February saw Tech Animation cleaning up assets, as a core change to the in-engine animation pipeline invalidated a large number of them. Development of the in-house animation graph toolset continued, which is going through early user-testing to collate feedback and bugs for the next phase of development.

The team also worked with external options for skinning decomposition and changed them into working solutions. This toolset forms the basis of the technology that will be used to refactor a portion of the asset-authoring pipeline to expedite the whole process.

They also dedicated time to the ongoing creation of Xi’an body and face rigs.



VFX



VFX spend February continuing their work on gas-cloud effects, including support for the creation of the actual gas clouds and interior effects, such as small debris that collides with the ship. They also began testing the recent particle-lighting improvements, which have a more physical-based setup. This makes it easier for the artists to create more natural and realistic-looking effects in a variety of environments and lighting conditions.

Conclusion

WE’LL SEE YOU NEXT MONTH



End Transmission

Part of

Monthly Reports

More in this series

Comments
010.0

Feedback

Loading Additional Feedback