Squadron 42 Monthly Report: July 2022
Feedback Undefined NoneContent
English
Squadron 42 Monthly Report
July 2022
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.
TO: SQUADRON 42 RECRUITS
SUBJ: DEVELOPMENT UPDATE 08:03:2022
REF: CIG UK, CIG DE, CIG LA, CIG TX
FAO Squadron 42 Recruits.
Welcome to July’s Squadron 42 development report. Enclosed you will find details on the latest progress made across the campaign, including updates to Vanduul movement, level design, and character art.
Thank you for your continued support of Squadron 42.
Sincerely,
CIG COMMUNICATIONS
AI (Content)
Last month, AI Content dedicated time to bug-fixing existing features. They identified the top 20 usables that the AI interact with and set out to fix as many issues as possible in two weeks. The issues were triaged and arranged into three categories:
Bugs that the AI designers could solve
Bugs that AI animators could solve
Code issues not solvable by AI Content
By the end, approximately 50 issues had been solved before the team returned to feature work.
July’s feature work included supporting the weapons vendor setup by creating weapon pickup and place animations, progressing with the locomotion polish mentioned last month, and retargeting overlay animations to the female skeleton.
The AI designers continued implementing the dynamic conversations feature, expanding it to the eat-and-drink behavior. Now, NPCs can have conversations between bites or drinks.
“We are pleased with the result, as it makes the AI feel less individual and more connected with other NPCs.” AI Content Team
AI engineers will now also seek out colleagues at wall panels and work zones (e.g. broken pipes) to start conversations. They’re currently working on implementing chatter for AI in bunk beds and arcade machines, too.
AI (Features)
For human combat, AI Features continued to work on tactic selection, including implementing a more data-driven approach to setting up the scoring factors in Data-Forge. This will allow the designers to quickly tweak values to produce the best possible range of combat behaviors for the situation, including with multiple combatants with different setups and ranges. This solution extends the ‘function selection’ in Subsumption to allow the game code to register a custom probability calculator, which will provide benefits in general, not just for combat behaviors.
They also began aligning the existing perception systems to a new design where the perception meter rises depending on different stimuli (hearing footsteps or gunfire, seeing a target, etc.) and falls over time. Once different threshold levels on the meter are hit, they trigger different alertness levels that determine specific reaction animations and behaviors. For example, at the lowest level, the AI will react by simply turning their head toward the stimulus. At the middle level, they will investigate the stimulus and, at the highest, they will enter combat. Stimuli can also impact the meter in different ways based on the conditions of the target, including whether they’re crouched or standing and the location’s lighting.
Work also started on the investigation behavior, with the devs implementing a system to allow NPCs to determine potential enemy hiding spots, check them, and keep track of which ones they’ve seen. The next stage is for NPCs to share information so they can cover a level together.
They’re also working to improve the consistency of cover selection using the automatic cover generation system. They’re also planning to improve the quality of cover and provide more information to the AI so that less decision making has to be made at runtime.
They also blocked out animations for human-AI mantling and vaulting to give NPCs more locomotion options when moving around the environment. Clean-up and timing tasks were also completed for the spec-ops animation sets.
For the Vanduul, the team blocked out several animations, including piloting, and some location-specific animations used to get the Vanduul from their spawn positions (often off the navigation mesh) into the level.
AI (Tech)
During July, AI Tech focused on extending the functionalities required to traverse navigation islands using special actions. This included implementing new adapters for navigation links to include mantling, jumping down, and vaulting.
“The basic idea is that, using all the existing markup, we want to allow NPCs to perform similar actions to the player in the environment. For example, we adjusted the ledge objects to include specifications that evaluate the navmesh and link multiple islands correctly.” AI Tech Team
They also continued R&D on seamless transitions into usables. This time, they implemented a cleaner and more reliable system for sharp-turn animations, giving more natural movement to NPCs following paths around corners. This allows helps NPCs feel ‘heavier’ and show weight balancing when moving over sharp corners.
Progress was also made on the locomotion refactor. Last month, the team began improving how AI actors process movement, which will allow them to decouple movement requests from what processes it. This is an important change to better support multiple path-followers used in different contexts. For example, actors, creatures, or NPCs driving a vehicle or pushing a trolley. They’re currently preparing to integrate into the Squadron 42 branch and verify that everything works as expected.
For the Subsumption editor within the sandbox tool, AI Tech implemented new functionality and stabilized the tool to finally open up the usage to all the designers.
A better AI-debug UI using imGUI is currently being implemented to allow the devs to select and inspect NPC behaviors. The tool can split the NPCs present in each zone, select multiple NPCs, and inspect their properties.
Progress was also made on ship reinforcement for Alpha 3.17.1. The team made the feature more robust by adding better monitoring of the disembarking process from the pilot’s perspective. They also added an abort phase for the dropship in case the drop location is occupied, and the pilot can now monitor the presence of a player inside the cargo area.
They also fixed several bugs relating to slow reaction time and desyncs/teleports. These issues are mostly caused by a low server framerate but the devs optimized the code and implemented tweaks to allow the code to better handle some of those situations.
AI (Vehicles)
In July, the AI Vehicle Team finished enabling AI to use master modes; AI is now fully integrated with the ability to swap master modes when required by the operator mode they want to use. The designers will also soon be able to cycle modes to give AI access to higher SCM speeds when designing behaviors.
Bug fixes were also made throughout the month, including an issue with the ‘FlyTo’ not computing an efficient path and dive attacks not ignoring driverless space ships.
Animation
Last month, the Animation team further developed zero-g movement and navigation, adjusting the feel to give a better overall experience. They also worked on a new SMG, additional weapons for the master-at-arms, ladder interactions, female console use, and locomotion (sharp turns and jukes).
New mobiGlas interactions were developed to give a more realistic feel to characters, and progress was made on the Vanduul, this time searching vents and climbing.
On the facial side, improvements to the facial animations of the named cast members continued.
Art (Characters)
The Character team spent June focusing on the remaining Navy faction outfits and progressed with the Screaming Galsons armors. They’re currently preparing to create the Shubin mining outfits and work with Tech Animation on head scans for various characters.
Art (Weapons)
Weapon Art started the month bug fixing, closing out around half of their backlog of bugs alongside clean-up work. Progress was then made on the Volt shotgun, pistol, assault rifle, and sniper rifle.
Animation work progressed for the Volt weapons too, and first pass animations and reviews of the new melee weapon metrics were completed.
Work also began on some SQ42-faction-specific weapons, beginning with an SMG and shotgun. The military Multi-Tool had its whitebox updated with new screen positions to ensure the UI will work for the intended gameplay too.
Engine
In July, the Physics team made several optimizations to the code. Ray/box overlap checks were implemented in ISPC and are now also used in ray world intersections (RWI) to quickly skip entity parts if there's no overlap of a ray and an entity's local bounds. Further optimizations include using a box pruner to process vehicle wheels and all of their possible colliders (and their parts) more quickly, as well as SSE and AVX2 optimizations in the code that searches parts of a physical entity. Additionally, support for successive pulley attachments to rope entities was added, and the spatial configuration of interior grid types was changed to use more layers of internal nodes that are smaller in dimension. This, for instance, helped in Port Olisar, where a lot of time was spent maintaining thunk lists, which is completely removed by this change.
On the renderer, the Gen12 transition continued. For example, Gen12 Scaleform (UI) rendering was enabled by default, support for MIP map generation passes was added, and material overrides for render nodes are now supported, including for multi materials. The depth pre-pass submission is now skipped if motion vectors are rendered. Thread synchronization code in pipeline state object (PSO) cache refreshing as well as in the shader system was improved, and unnecessary stencil tests for the shadow map stage were removed. The render loading thread was replaced by a video rendering thread, which is needed for the sole purpose of rendering UI while the game is loading. Lastly, a bug that was crashing the video driver was fixed and the entire render code was changed to successfully compile via Include-What-You-Use (IWYU). Various issues in the form of buffer overruns in low-level VFX render code were also fixed.
The Gen12 ports of atmospheric and volumetric cloud rendering continued as look-up table generation for atmosphere, as well as volumetric cloud preprocessing steps, were successfully moved over to execute through the new APIs. The rendering of legacy (spherical) clouds was moved to Gen12 too and can now also render as part of the deferred pipeline’s forward stage (which will be enabled soon). This recent progress also resulted in various suggestions (some of which have already been implemented) to refine the Gen12 APIs for special cases so they can be ported straightforwardly and integrate better. Lastly, work on porting the remaining passes for atmospheric and volumetric clouds will commence in August.
On the core engine, entity lifetime code was adjusted for the new needs of server meshing with the goal of it being easier to use as well as creating a more refined feeling of persistence. A time-sliced entity density manager was implemented as a part of the reworked entity lifetime for server meshing. The background job manager was changed to better cope with very long-running preempted background jobs to reduce runtime stalls. For example, stalls during shader compilation. Furthermore, component lifetime now uses a cheaper custom weak pointer approach that the current std::shared_ptr cannot provide. Moreover, StarHash bind culling of sub-zones was significantly optimized. The ability to set hardware (data) breakpoints from code was fixed and, lastly, Linux thread priority changed to use real-time FIFO scheduling.
Features (Gameplay)
Gameplay Features focused on support and bug fixing throughout July, specifically looking into performance and polishing recently-worked-on features. New functionality was also added to player choice; this feature now utilizes the same setup used for conversations and allows Design to change whether the text is camera facing along with its size and offset.
Features (Vehicle)
Vehicle Features started designing the new multi-function displays alongside the core engineering technology work in the background. The design side is mostly complete, with the focus now on prototypes.
The team also spent time integrating the new resource network that will deliver more interesting and varied engineering gameplay. This will also increase performance as items are used much more efficiently.
Quantum boost was fully integrated into SQ42 and handed over to the designers to enable them to feedback on further level-design requirements. Finally on the tech side, the team continued to support persistent streaming with a transit refactor alongside bug fixing.
Missiles received a complete flight retune after some bug-fixing highlighted problems with the way the missiles were set up. Now, focus is on the intercept portion of flight and controlling accelerations rather than allowing them to be controlled as dynamically as they were before.
The team also began balancing what speeds and tunings are required for the new Master Modes feature, ensuring they get the combat speeds right under normal thrust and boost so combat starts to move in the intended direction.
To help with future ship balance and the introduction of the resource network, the team created a master tuning document that will not only act as a reference point for future ship designs but allow them to set out the requirements of the recourse network balance once it’s handed to Design.
Gameplay Story
Gameplay Story received a fresh delivery of motion capture early in July, which allowed them to make great strides in several different areas, including creating a whole new scene in chapter 1 and updating the start of another.
They also make a significant update to scenes in chapter 4G, overhauled a scene in chapter 4, and further polished scenes in chapter 4. Maintenance was also performed across various scenes in several different chapters.
The team also looked at the later chapters and began prototyping two new scenes in chapter 10 and made some minor updates to chapter 12.
Graphics & VFX Programming
July saw the implementation of a dynamic bitset data structure, which replaces the TJointBitSet, as well as the investigation and testing of offline damage maps with persistence. The team also worked on separating CPU & GPU implementation, ensuring they result in the same damage map.
The team finished porting Gas Clouds to Gen12 and fixed several issues, including a GPU crash related to this feature. Work began on Vulkan scaleform functionality and particle mesh rendering in Gen12. Progress was also made on porting refraction and light beams to Gen12.
Canvas decal texture streaming was sped up and image testing now waits for it to complete. Support for silhouettes on editor entity objects was added alongside improvements to render-item sorting to make it consistent at different runs.
Hair color and specular improvements were finished for the hair shader. There were also updates to tessellation and displacement on the organic shader. For jump points, the team focused on branching tunnels, which included fixing situations where the connecting segments self-intersect.
The Planet Tech team made improvements to the world and biome builder by moving mesh building to background jobs, substantially reducing stutters in-editor. There were also fixes for mismatching physics meshes on servers as well as a refactor of procedural entities, which improved planet loading time. Four-point Bezier curves were also added to river generation alongside general improvements to the river placement tool. Collision detection was added to RaStar to prevent modules from being placed when they overlap with geometry, too.
Narrative
During July, Narrative focused on completing first-pass scripting and recording scratch dialogue for a large section of one of SQ42’s middle chapters. Design refined the gameplay in this section so Narrative frequently played through these updated enemy encounters, puzzles, stealth, and navigation challenges.
“It’s very important to make sure the player always understands what their current goals are and what their next steps should be so, to that end, the writers have been working to balance dialogue hints to ensure that players who need a bit more guidance will be able to get it without spoiling the fun or challenge of a given area.” Narrative Team
Additionally, as gameplay mechanics were iterated on and polished, the Narrative team adjusted the script to ensure that lines referencing those mechanics matched how the gameplay worked. For example, recent improvements to the radar and scanning system allowed them to streamline some of the terminology used by characters in-game.
The team also looked to expand the use of the dynamic conversation system to enhance the background and enemy NPCs that players will come across. While important key conversations are specifically planned for the player to encounter, there are some areas where the player’s freedom to explore has highlighted the need for additional content to bring it to life. Rather than relying on additional bespoke lines, the team is investigating using dynamic conversations to allow for a much broader range of content to fill the space.
Tech Animation
The Tech Animation team continued to invest time into the tools codebase. Years of development and quick fixes are being triaged, consolidated, and revamped to fully conform to their coding standards and modularize the codebase to be more accessible to the technical animators. This will expedite the creation of tools and the pipeline that rely on core processes.
Alongside this, they’re currently developing and integrating several new tool chains: CGA and SKIN loading in Maya, RBF solver development, and SSD & Alembic animation pipeline support. Their future development roadmap is also in planning.
UI
Last month, the UI team continued development of the new Starmap, improving labeling and concepting how to display space clouds in a way that looks great and performs well.
The artists then worked with the game designers to create concepts for several interactive UI screens found around the game.
The team also worked on new doors and airlocks specifically for SQ42, building them to look right in various UI styles and setting them up to support a variety of gameplay scenarios.
VFX
Throughout July, the VFX team continued to work closely with Art and Design, supporting all visual-effect requirements for their Q3 milestones.
They also spent time cleaning up and documenting one of their most crucial pipelines: Rigid Body Destruction. The majority of SQ42’s destruction sequences are created in Houdini, then exported into the engine. The visual requirements of the sequence determine the way it’s exported, with two file formats available: CGA, for animated geometry transforms (e.g. building pieces breaking apart) and Alembic, for animated geometry deformation (e.g. bending metal). So, it’s important that the pipeline is robust enough to handle the varying complexity of the destruction sequences without slowing the artists down.
WE'LL SEE YOU NEXT MONTH...
// END TRANSMISSION
July 2022
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.
TO: SQUADRON 42 RECRUITS
SUBJ: DEVELOPMENT UPDATE 08:03:2022
REF: CIG UK, CIG DE, CIG LA, CIG TX
FAO Squadron 42 Recruits.
Welcome to July’s Squadron 42 development report. Enclosed you will find details on the latest progress made across the campaign, including updates to Vanduul movement, level design, and character art.
Thank you for your continued support of Squadron 42.
Sincerely,
CIG COMMUNICATIONS
AI (Content)
Last month, AI Content dedicated time to bug-fixing existing features. They identified the top 20 usables that the AI interact with and set out to fix as many issues as possible in two weeks. The issues were triaged and arranged into three categories:
Bugs that the AI designers could solve
Bugs that AI animators could solve
Code issues not solvable by AI Content
By the end, approximately 50 issues had been solved before the team returned to feature work.
July’s feature work included supporting the weapons vendor setup by creating weapon pickup and place animations, progressing with the locomotion polish mentioned last month, and retargeting overlay animations to the female skeleton.
The AI designers continued implementing the dynamic conversations feature, expanding it to the eat-and-drink behavior. Now, NPCs can have conversations between bites or drinks.
“We are pleased with the result, as it makes the AI feel less individual and more connected with other NPCs.” AI Content Team
AI engineers will now also seek out colleagues at wall panels and work zones (e.g. broken pipes) to start conversations. They’re currently working on implementing chatter for AI in bunk beds and arcade machines, too.
AI (Features)
For human combat, AI Features continued to work on tactic selection, including implementing a more data-driven approach to setting up the scoring factors in Data-Forge. This will allow the designers to quickly tweak values to produce the best possible range of combat behaviors for the situation, including with multiple combatants with different setups and ranges. This solution extends the ‘function selection’ in Subsumption to allow the game code to register a custom probability calculator, which will provide benefits in general, not just for combat behaviors.
They also began aligning the existing perception systems to a new design where the perception meter rises depending on different stimuli (hearing footsteps or gunfire, seeing a target, etc.) and falls over time. Once different threshold levels on the meter are hit, they trigger different alertness levels that determine specific reaction animations and behaviors. For example, at the lowest level, the AI will react by simply turning their head toward the stimulus. At the middle level, they will investigate the stimulus and, at the highest, they will enter combat. Stimuli can also impact the meter in different ways based on the conditions of the target, including whether they’re crouched or standing and the location’s lighting.
Work also started on the investigation behavior, with the devs implementing a system to allow NPCs to determine potential enemy hiding spots, check them, and keep track of which ones they’ve seen. The next stage is for NPCs to share information so they can cover a level together.
They’re also working to improve the consistency of cover selection using the automatic cover generation system. They’re also planning to improve the quality of cover and provide more information to the AI so that less decision making has to be made at runtime.
They also blocked out animations for human-AI mantling and vaulting to give NPCs more locomotion options when moving around the environment. Clean-up and timing tasks were also completed for the spec-ops animation sets.
For the Vanduul, the team blocked out several animations, including piloting, and some location-specific animations used to get the Vanduul from their spawn positions (often off the navigation mesh) into the level.
AI (Tech)
During July, AI Tech focused on extending the functionalities required to traverse navigation islands using special actions. This included implementing new adapters for navigation links to include mantling, jumping down, and vaulting.
“The basic idea is that, using all the existing markup, we want to allow NPCs to perform similar actions to the player in the environment. For example, we adjusted the ledge objects to include specifications that evaluate the navmesh and link multiple islands correctly.” AI Tech Team
They also continued R&D on seamless transitions into usables. This time, they implemented a cleaner and more reliable system for sharp-turn animations, giving more natural movement to NPCs following paths around corners. This allows helps NPCs feel ‘heavier’ and show weight balancing when moving over sharp corners.
Progress was also made on the locomotion refactor. Last month, the team began improving how AI actors process movement, which will allow them to decouple movement requests from what processes it. This is an important change to better support multiple path-followers used in different contexts. For example, actors, creatures, or NPCs driving a vehicle or pushing a trolley. They’re currently preparing to integrate into the Squadron 42 branch and verify that everything works as expected.
For the Subsumption editor within the sandbox tool, AI Tech implemented new functionality and stabilized the tool to finally open up the usage to all the designers.
A better AI-debug UI using imGUI is currently being implemented to allow the devs to select and inspect NPC behaviors. The tool can split the NPCs present in each zone, select multiple NPCs, and inspect their properties.
Progress was also made on ship reinforcement for Alpha 3.17.1. The team made the feature more robust by adding better monitoring of the disembarking process from the pilot’s perspective. They also added an abort phase for the dropship in case the drop location is occupied, and the pilot can now monitor the presence of a player inside the cargo area.
They also fixed several bugs relating to slow reaction time and desyncs/teleports. These issues are mostly caused by a low server framerate but the devs optimized the code and implemented tweaks to allow the code to better handle some of those situations.
AI (Vehicles)
In July, the AI Vehicle Team finished enabling AI to use master modes; AI is now fully integrated with the ability to swap master modes when required by the operator mode they want to use. The designers will also soon be able to cycle modes to give AI access to higher SCM speeds when designing behaviors.
Bug fixes were also made throughout the month, including an issue with the ‘FlyTo’ not computing an efficient path and dive attacks not ignoring driverless space ships.
Animation
Last month, the Animation team further developed zero-g movement and navigation, adjusting the feel to give a better overall experience. They also worked on a new SMG, additional weapons for the master-at-arms, ladder interactions, female console use, and locomotion (sharp turns and jukes).
New mobiGlas interactions were developed to give a more realistic feel to characters, and progress was made on the Vanduul, this time searching vents and climbing.
On the facial side, improvements to the facial animations of the named cast members continued.
Art (Characters)
The Character team spent June focusing on the remaining Navy faction outfits and progressed with the Screaming Galsons armors. They’re currently preparing to create the Shubin mining outfits and work with Tech Animation on head scans for various characters.
Art (Weapons)
Weapon Art started the month bug fixing, closing out around half of their backlog of bugs alongside clean-up work. Progress was then made on the Volt shotgun, pistol, assault rifle, and sniper rifle.
Animation work progressed for the Volt weapons too, and first pass animations and reviews of the new melee weapon metrics were completed.
Work also began on some SQ42-faction-specific weapons, beginning with an SMG and shotgun. The military Multi-Tool had its whitebox updated with new screen positions to ensure the UI will work for the intended gameplay too.
Engine
In July, the Physics team made several optimizations to the code. Ray/box overlap checks were implemented in ISPC and are now also used in ray world intersections (RWI) to quickly skip entity parts if there's no overlap of a ray and an entity's local bounds. Further optimizations include using a box pruner to process vehicle wheels and all of their possible colliders (and their parts) more quickly, as well as SSE and AVX2 optimizations in the code that searches parts of a physical entity. Additionally, support for successive pulley attachments to rope entities was added, and the spatial configuration of interior grid types was changed to use more layers of internal nodes that are smaller in dimension. This, for instance, helped in Port Olisar, where a lot of time was spent maintaining thunk lists, which is completely removed by this change.
On the renderer, the Gen12 transition continued. For example, Gen12 Scaleform (UI) rendering was enabled by default, support for MIP map generation passes was added, and material overrides for render nodes are now supported, including for multi materials. The depth pre-pass submission is now skipped if motion vectors are rendered. Thread synchronization code in pipeline state object (PSO) cache refreshing as well as in the shader system was improved, and unnecessary stencil tests for the shadow map stage were removed. The render loading thread was replaced by a video rendering thread, which is needed for the sole purpose of rendering UI while the game is loading. Lastly, a bug that was crashing the video driver was fixed and the entire render code was changed to successfully compile via Include-What-You-Use (IWYU). Various issues in the form of buffer overruns in low-level VFX render code were also fixed.
The Gen12 ports of atmospheric and volumetric cloud rendering continued as look-up table generation for atmosphere, as well as volumetric cloud preprocessing steps, were successfully moved over to execute through the new APIs. The rendering of legacy (spherical) clouds was moved to Gen12 too and can now also render as part of the deferred pipeline’s forward stage (which will be enabled soon). This recent progress also resulted in various suggestions (some of which have already been implemented) to refine the Gen12 APIs for special cases so they can be ported straightforwardly and integrate better. Lastly, work on porting the remaining passes for atmospheric and volumetric clouds will commence in August.
On the core engine, entity lifetime code was adjusted for the new needs of server meshing with the goal of it being easier to use as well as creating a more refined feeling of persistence. A time-sliced entity density manager was implemented as a part of the reworked entity lifetime for server meshing. The background job manager was changed to better cope with very long-running preempted background jobs to reduce runtime stalls. For example, stalls during shader compilation. Furthermore, component lifetime now uses a cheaper custom weak pointer approach that the current std::shared_ptr cannot provide. Moreover, StarHash bind culling of sub-zones was significantly optimized. The ability to set hardware (data) breakpoints from code was fixed and, lastly, Linux thread priority changed to use real-time FIFO scheduling.
Features (Gameplay)
Gameplay Features focused on support and bug fixing throughout July, specifically looking into performance and polishing recently-worked-on features. New functionality was also added to player choice; this feature now utilizes the same setup used for conversations and allows Design to change whether the text is camera facing along with its size and offset.
Features (Vehicle)
Vehicle Features started designing the new multi-function displays alongside the core engineering technology work in the background. The design side is mostly complete, with the focus now on prototypes.
The team also spent time integrating the new resource network that will deliver more interesting and varied engineering gameplay. This will also increase performance as items are used much more efficiently.
Quantum boost was fully integrated into SQ42 and handed over to the designers to enable them to feedback on further level-design requirements. Finally on the tech side, the team continued to support persistent streaming with a transit refactor alongside bug fixing.
Missiles received a complete flight retune after some bug-fixing highlighted problems with the way the missiles were set up. Now, focus is on the intercept portion of flight and controlling accelerations rather than allowing them to be controlled as dynamically as they were before.
The team also began balancing what speeds and tunings are required for the new Master Modes feature, ensuring they get the combat speeds right under normal thrust and boost so combat starts to move in the intended direction.
To help with future ship balance and the introduction of the resource network, the team created a master tuning document that will not only act as a reference point for future ship designs but allow them to set out the requirements of the recourse network balance once it’s handed to Design.
Gameplay Story
Gameplay Story received a fresh delivery of motion capture early in July, which allowed them to make great strides in several different areas, including creating a whole new scene in chapter 1 and updating the start of another.
They also make a significant update to scenes in chapter 4G, overhauled a scene in chapter 4, and further polished scenes in chapter 4. Maintenance was also performed across various scenes in several different chapters.
The team also looked at the later chapters and began prototyping two new scenes in chapter 10 and made some minor updates to chapter 12.
Graphics & VFX Programming
July saw the implementation of a dynamic bitset data structure, which replaces the TJointBitSet, as well as the investigation and testing of offline damage maps with persistence. The team also worked on separating CPU & GPU implementation, ensuring they result in the same damage map.
The team finished porting Gas Clouds to Gen12 and fixed several issues, including a GPU crash related to this feature. Work began on Vulkan scaleform functionality and particle mesh rendering in Gen12. Progress was also made on porting refraction and light beams to Gen12.
Canvas decal texture streaming was sped up and image testing now waits for it to complete. Support for silhouettes on editor entity objects was added alongside improvements to render-item sorting to make it consistent at different runs.
Hair color and specular improvements were finished for the hair shader. There were also updates to tessellation and displacement on the organic shader. For jump points, the team focused on branching tunnels, which included fixing situations where the connecting segments self-intersect.
The Planet Tech team made improvements to the world and biome builder by moving mesh building to background jobs, substantially reducing stutters in-editor. There were also fixes for mismatching physics meshes on servers as well as a refactor of procedural entities, which improved planet loading time. Four-point Bezier curves were also added to river generation alongside general improvements to the river placement tool. Collision detection was added to RaStar to prevent modules from being placed when they overlap with geometry, too.
Narrative
During July, Narrative focused on completing first-pass scripting and recording scratch dialogue for a large section of one of SQ42’s middle chapters. Design refined the gameplay in this section so Narrative frequently played through these updated enemy encounters, puzzles, stealth, and navigation challenges.
“It’s very important to make sure the player always understands what their current goals are and what their next steps should be so, to that end, the writers have been working to balance dialogue hints to ensure that players who need a bit more guidance will be able to get it without spoiling the fun or challenge of a given area.” Narrative Team
Additionally, as gameplay mechanics were iterated on and polished, the Narrative team adjusted the script to ensure that lines referencing those mechanics matched how the gameplay worked. For example, recent improvements to the radar and scanning system allowed them to streamline some of the terminology used by characters in-game.
The team also looked to expand the use of the dynamic conversation system to enhance the background and enemy NPCs that players will come across. While important key conversations are specifically planned for the player to encounter, there are some areas where the player’s freedom to explore has highlighted the need for additional content to bring it to life. Rather than relying on additional bespoke lines, the team is investigating using dynamic conversations to allow for a much broader range of content to fill the space.
Tech Animation
The Tech Animation team continued to invest time into the tools codebase. Years of development and quick fixes are being triaged, consolidated, and revamped to fully conform to their coding standards and modularize the codebase to be more accessible to the technical animators. This will expedite the creation of tools and the pipeline that rely on core processes.
Alongside this, they’re currently developing and integrating several new tool chains: CGA and SKIN loading in Maya, RBF solver development, and SSD & Alembic animation pipeline support. Their future development roadmap is also in planning.
UI
Last month, the UI team continued development of the new Starmap, improving labeling and concepting how to display space clouds in a way that looks great and performs well.
The artists then worked with the game designers to create concepts for several interactive UI screens found around the game.
The team also worked on new doors and airlocks specifically for SQ42, building them to look right in various UI styles and setting them up to support a variety of gameplay scenarios.
VFX
Throughout July, the VFX team continued to work closely with Art and Design, supporting all visual-effect requirements for their Q3 milestones.
They also spent time cleaning up and documenting one of their most crucial pipelines: Rigid Body Destruction. The majority of SQ42’s destruction sequences are created in Houdini, then exported into the engine. The visual requirements of the sequence determine the way it’s exported, with two file formats available: CGA, for animated geometry transforms (e.g. building pieces breaking apart) and Alembic, for animated geometry deformation (e.g. bending metal). So, it’s important that the pipeline is robust enough to handle the varying complexity of the destruction sequences without slowing the artists down.
WE'LL SEE YOU NEXT MONTH...
// END TRANSMISSION
German
Geschwader 42 Monatsbericht
Juli 2022
Dies ist ein Querverweis auf den Bericht, der kürzlich über den monatlichen Squadron 42 Newsletter verschickt wurde. Wir veröffentlichen ihn ein zweites Mal als Comm-Link, damit die Community leichter darauf zurückgreifen kann.
TO: REKRUTEN DES GESCHWADERS 42
SUBJ: ENTWICKLUNG UPDATE 08:03:2022
REF: CIG UK, CIG DE, CIG LA, CIG TX
FAO-Geschwader 42 Rekruten.
Willkommen zum Entwicklungsbericht für Squadron 42 im Juli. Anbei findest du Details zu den neuesten Fortschritten in der Kampagne, einschließlich Updates zur Bewegung der Vanduul, zum Leveldesign und zur Charakterzeichnung.
Wir danken euch für eure anhaltende Unterstützung von Squadron 42.
Mit freundlichen Grüßen,
CIG COMMUNICATIONS
AI (Inhalt)
Letzten Monat widmete sich AI Content der Fehlerbehebung bei bestehenden Funktionen. Sie identifizierten die 20 wichtigsten Funktionen, mit denen die KI interagiert, und machten sich daran, in zwei Wochen so viele Probleme wie möglich zu beheben. Die Probleme wurden sortiert und in drei Kategorien eingeteilt:
Bugs, die die KI-Designer lösen konnten
Bugs, die die KI-Animatoren lösen können
Code-Probleme, die nicht von der KI gelöst werden können Inhalt
Am Ende waren etwa 50 Probleme gelöst, bevor das Team zur Arbeit an den Features zurückkehrte.
Im Juli wurde unter anderem das Setup des Waffenhändlers durch die Erstellung von Animationen zum Aufnehmen und Ablegen von Waffen unterstützt, die im letzten Monat erwähnte Überarbeitung der Fortbewegung vorangetrieben und die Overlay-Animationen für das weibliche Skelett neu ausgerichtet.
Die KI-Designer setzten die Implementierung der dynamischen Gesprächsfunktion fort und erweiterten sie auf das Essen-und-Trinken-Verhalten. Jetzt können NSCs zwischen zwei Bissen oder Getränken Gespräche führen.
"Wir sind mit dem Ergebnis sehr zufrieden, da sich die KI dadurch weniger individuell und mehr mit anderen NSCs verbunden fühlt." KI-Inhaltsteam
KI-Ingenieure suchen jetzt auch Kollegen an Wandtafeln und Arbeitsbereichen (z. B. gebrochene Rohre) auf, um Gespräche zu beginnen. Derzeit arbeiten sie daran, auch in Stockbetten und Arcade-Automaten Chatter für die KI zu implementieren.
KI (Features)
Im Bereich KI-Features wurde die Arbeit an der Taktikauswahl für menschliche Kämpfe fortgesetzt, einschließlich der Einführung eines datengesteuerten Ansatzes für die Einstellung der Wertungsfaktoren in Data-Forge. So können die Designer die Werte schnell anpassen, um das bestmögliche Kampfverhalten für die jeweilige Situation zu erreichen, auch bei mehreren Kämpfern mit unterschiedlichen Aufstellungen und Reichweiten. Diese Lösung erweitert die "Funktionsauswahl" in Subsumption, damit der Spielcode einen benutzerdefinierten Wahrscheinlichkeitsrechner registrieren kann, was nicht nur für das Kampfverhalten, sondern generell Vorteile bringt.
Außerdem wurde damit begonnen, die bestehenden Wahrnehmungssysteme an ein neues Design anzupassen, bei dem die Wahrnehmungsanzeige in Abhängigkeit von verschiedenen Reizen (Schritte oder Schüsse hören, ein Ziel sehen usw.) ansteigt und mit der Zeit abfällt. Sobald verschiedene Schwellenwerte auf der Anzeige erreicht werden, lösen sie verschiedene Wachsamkeitsstufen aus, die bestimmte Reaktionsanimationen und Verhaltensweisen bestimmen. Auf der niedrigsten Stufe reagiert die KI zum Beispiel, indem sie einfach ihren Kopf in Richtung des Reizes dreht. Auf der mittleren Stufe wird sie den Reiz untersuchen und auf der höchsten Stufe wird sie in den Kampf eingreifen. Die Reize können sich auch unterschiedlich auf den Zähler auswirken, je nachdem, ob das Ziel geduckt oder stehend ist und wie die Lichtverhältnisse vor Ort sind.
Außerdem wurde mit der Arbeit am Erkundungsverhalten begonnen. Die Entwickler haben ein System implementiert, mit dem NSCs potenzielle feindliche Verstecke ausfindig machen, sie überprüfen und verfolgen können, welche sie gesehen haben. Als Nächstes werden die NSCs Informationen austauschen, damit sie gemeinsam ein Level abdecken können.
Außerdem arbeiten sie daran, die Konsistenz der Deckungsauswahl mit Hilfe des automatischen Deckungsgenerierungssystems zu verbessern. Außerdem ist geplant, die Qualität der Deckung zu verbessern und der KI mehr Informationen zur Verfügung zu stellen, damit zur Laufzeit weniger Entscheidungen getroffen werden müssen.
Außerdem wurden die Animationen für das Manteln und Springen der KI geblockt, um den NSCs mehr Bewegungsmöglichkeiten zu geben, wenn sie sich in der Umgebung bewegen. Außerdem wurden Aufräum- und Timing-Aufgaben für die Spec-Ops-Animationssets erledigt.
Für die Vanduul blockte das Team mehrere Animationen aus, darunter die Steuerung und einige ortsspezifische Animationen, mit denen die Vanduul von ihren Spawn-Positionen (oft außerhalb des Navigationsmeshs) in den Level gelangen.
KI (Tech)
Im Juli konzentrierte sich die KI-Abteilung darauf, die Funktionen zu erweitern, die für das Überqueren von Navigationsinseln mit Hilfe spezieller Aktionen erforderlich sind. Dazu gehörte die Implementierung neuer Adapter für Navigationsverbindungen, die das Mantelziehen, Abspringen und Springen ermöglichen.
"Die Grundidee ist, dass wir mit dem bestehenden Markup den NSCs ermöglichen wollen, ähnliche Aktionen wie der Spieler in der Umgebung durchzuführen. Wir haben zum Beispiel die Sims-Objekte so angepasst, dass sie Spezifikationen enthalten, die das Navmesh auswerten und mehrere Inseln korrekt miteinander verbinden." AI Tech Team
Das Team hat auch weiter an nahtlosen Übergängen in die Nutzbarkeit gearbeitet. Diesmal haben sie ein saubereres und zuverlässigeres System für scharfe Kurvenanimationen implementiert, das NSCs, die Pfaden um Kurven folgen, eine natürlichere Bewegung verleiht. Dadurch fühlen sich NSCs "schwerer" an und können ihr Gewicht besser ausbalancieren, wenn sie sich um scharfe Ecken bewegen.
Auch bei der Überarbeitung der Fortbewegung wurden Fortschritte gemacht. Letzten Monat hat das Team damit begonnen, die Art und Weise zu verbessern, wie KI-Akteure Bewegungen verarbeiten, damit sie die Bewegungsanfragen von dem entkoppeln können, was sie verarbeitet. Dies ist eine wichtige Änderung, um mehrere Wegverfolger in verschiedenen Kontexten besser zu unterstützen. Zum Beispiel Schauspieler, Kreaturen oder NSCs, die ein Fahrzeug fahren oder einen Wagen schieben. Sie bereiten sich derzeit auf die Integration in den Squadron 42-Zweig vor und überprüfen, ob alles wie erwartet funktioniert.
Für den Subsumption-Editor im Sandbox-Tool hat AI Tech neue Funktionen implementiert und das Tool stabilisiert, damit es endlich von allen Designern genutzt werden kann.
Eine bessere KI-Debug-UI mit imGUI wird derzeit implementiert, damit die Entwickler/innen das Verhalten der NSCs auswählen und untersuchen können. Das Tool kann die NSCs in jeder Zone aufteilen, mehrere NSCs auswählen und ihre Eigenschaften untersuchen.
Auch bei der Schiffsverstärkung für Alpha 3.17.1 wurden Fortschritte gemacht. Das Team hat die Funktion robuster gemacht, indem es eine bessere Überwachung des Ausschiffungsprozesses aus der Perspektive des Piloten hinzugefügt hat. Außerdem wurde eine Abbruchphase für das Absetzschiff hinzugefügt, falls der Absetzort besetzt ist, und der Pilot kann nun die Anwesenheit eines Spielers im Frachtraum überwachen.
Außerdem wurden mehrere Fehler in Bezug auf langsame Reaktionszeiten und Desyncs/Teleports behoben. Diese Probleme werden meist durch eine niedrige Framerate des Servers verursacht, aber die Entwickler haben den Code optimiert und Optimierungen vorgenommen, damit der Code mit einigen dieser Situationen besser umgehen kann.
KI (Fahrzeuge)
Im Juli hat das KI-Fahrzeugteam die Verwendung von Master-Modi für die KI fertiggestellt; die KI ist jetzt vollständig integriert und kann den Master-Modus wechseln, wenn der gewünschte Operator-Modus dies erfordert. Die Designer/innen werden auch bald in der Lage sein, die Modi zu wechseln, um der KI Zugang zu höheren SCM-Geschwindigkeiten beim Entwerfen von Verhaltensweisen zu geben.
Im Laufe des Monats wurden außerdem einige Fehler behoben, z. B. ein Problem mit dem "FlyTo", das keinen effizienten Pfad berechnete, und Tauchangriffe, die fahrerlose Raumschiffe nicht ignorierten.
Animation
Im letzten Monat hat das Animationsteam die Null-G-Bewegung und die Navigation weiterentwickelt und das Spielgefühl verbessert, um ein besseres Gesamterlebnis zu schaffen. Außerdem arbeiteten sie an einer neuen SMG, zusätzlichen Waffen für den Waffenmeister, Interaktionen mit Leitern, der Benutzung der weiblichen Konsole und der Fortbewegung (scharfe Kurven und Ausweichmanöver).
Neue MobiGlas-Interaktionen wurden entwickelt, um den Charakteren ein realistischeres Gefühl zu geben, und es wurden Fortschritte bei den Vanduul gemacht, diesmal beim Suchen von Schächten und beim Klettern.
Auf der Gesichtsseite wurden Verbesserungen an den Gesichtsanimationen der genannten Darsteller/innen vorgenommen.
Kunst (Charaktere)
Das Charakterteam hat sich im Juni auf die verbleibenden Outfits der Navy-Fraktion konzentriert und Fortschritte bei den Rüstungen der Screaming Galsons gemacht. Zurzeit bereiten sie sich auf die Erstellung der Shubin-Minen-Outfits vor und arbeiten mit Tech Animation an den Kopfscans für verschiedene Charaktere.
Kunst (Waffen)
Die Waffenkunst begann den Monat mit der Behebung von Fehlern und schloss etwa die Hälfte ihres Rückstandes an Fehlern ab. Dann wurden Fortschritte bei der Volt-Schrotflinte, der Pistole, dem Sturmgewehr und dem Scharfschützengewehr gemacht.
Die Animationsarbeit für die Volt-Waffen wurde ebenfalls vorangetrieben und die ersten Animationen und Überprüfungen der neuen Nahkampfwaffen-Metriken wurden abgeschlossen.
Außerdem wurde mit der Arbeit an einigen SQ42-fraktionsspezifischen Waffen begonnen, angefangen mit einer SMG und einer Schrotflinte. Die Whitebox des militärischen Multi-Tools wurde mit neuen Bildschirmpositionen aktualisiert, um sicherzustellen, dass die Benutzeroberfläche auch für das geplante Gameplay funktioniert.
Engine
Im Juli hat das Physikteam mehrere Optimierungen am Code vorgenommen. Überschneidungsprüfungen von Rays und Boxen wurden in ISPC implementiert und werden jetzt auch in den Ray-World-Intersections (RWI) verwendet, um Entity-Teile schnell zu überspringen, wenn es keine Überschneidung zwischen einem Ray und den lokalen Grenzen eines Entities gibt. Weitere Optimierungen umfassen die Verwendung eines Box Pruners, um Fahrzeugräder und alle ihre möglichen Kollider (und deren Teile) schneller zu verarbeiten, sowie SSE- und AVX2-Optimierungen im Code, der Teile eines physischen Objekts sucht. Außerdem wurde die Unterstützung für aufeinanderfolgende Seilrollen hinzugefügt und die räumliche Konfiguration der inneren Gittertypen wurde geändert, um mehr Schichten von inneren Knoten zu verwenden, die kleiner dimensioniert sind. Das hat zum Beispiel in Port Olisar geholfen, wo viel Zeit mit der Pflege von Thunk-Listen verbracht wurde, was durch diese Änderung komplett wegfällt.
Beim Renderer wurde die Gen12-Umstellung fortgesetzt. So wurde zum Beispiel das Gen12-Skalenform-Rendering (UI) standardmäßig aktiviert, die Unterstützung für MIP-Map-Generierungspässe wurde hinzugefügt und Material-Overrides für Renderknoten werden jetzt unterstützt, auch für Multi-Materialien. Die Übermittlung des Tiefen-Pre-Passes wird jetzt übersprungen, wenn Bewegungsvektoren gerendert werden. Der Thread-Synchronisierungscode in der Pipeline State Object (PSO) Cache-Aktualisierung sowie im Shader-System wurde verbessert und unnötige Stencil-Tests für die Shadow Map Stage wurden entfernt. Der Rendering-Ladethread wurde durch einen Video-Rendering-Thread ersetzt, der nur für das Rendering der Benutzeroberfläche benötigt wird, während das Spiel geladen wird. Schließlich wurde ein Fehler behoben, der den Grafiktreiber zum Absturz brachte, und der gesamte Rendercode wurde so geändert, dass er erfolgreich über Include-What-You-Use (IWYU) kompiliert wurde. Verschiedene Probleme in Form von Pufferüberläufen im Low-Level-VFX-Rendercode wurden ebenfalls behoben.
Die Gen12-Portierung des Renderings von atmosphärischen und volumetrischen Wolken wurde fortgesetzt, da die Generierung von Look-up-Tabellen für die Atmosphäre und die Vorverarbeitungsschritte für volumetrische Wolken erfolgreich auf die neuen APIs umgestellt wurden. Das Rendering der alten (sphärischen) Wolken wurde ebenfalls auf Gen12 umgestellt und kann jetzt auch als Teil der Vorwärtsphase der Deferred Pipeline gerendert werden (was bald aktiviert wird). Diese jüngsten Fortschritte führten auch zu verschiedenen Vorschlägen (von denen einige bereits umgesetzt wurden), um die Gen12-APIs für spezielle Fälle zu verfeinern, damit sie einfach portiert werden können und sich besser integrieren lassen. Schließlich wird im August mit der Portierung der verbleibenden Pässe für atmosphärische und volumetrische Wolken begonnen.
In der Core-Engine wurde der Code für die Lebensdauer der Entitäten an die neuen Anforderungen des Server-Meshings angepasst, um die Bedienung zu vereinfachen und ein besseres Gefühl für die Persistenz zu schaffen. Als Teil der überarbeiteten Entity-Lifetime für das Server-Meshing wurde ein zeitlich abgestimmter Entity-Density-Manager implementiert. Der Manager für Hintergrundjobs wurde geändert, um mit sehr lang laufenden Preempted-Hintergrundjobs besser zurechtzukommen und Laufzeitstillstände zu reduzieren. Dies betrifft zum Beispiel die Verzögerungen bei der Shader-Kompilierung. Außerdem verwendet die Komponentenlebensdauer jetzt einen billigeren benutzerdefinierten weak pointer Ansatz, den der aktuelle std::shared_ptr nicht bieten kann. Außerdem wurde das StarHash Bind Culling von Sub-Zonen deutlich optimiert. Die Möglichkeit, Hardware-(Daten-)Haltepunkte vom Code aus zu setzen, wurde behoben und schließlich wurde die Linux-Thread-Priorität geändert, um Echtzeit-FIFO-Scheduling zu verwenden.
Features (Gameplay)
Die Gameplay-Features konzentrierten sich im Juli auf Support und Fehlerbehebung, insbesondere auf die Leistung und den Feinschliff an kürzlich überarbeiteten Features. Außerdem wurde eine neue Funktion für die Spielerauswahl hinzugefügt. Diese Funktion nutzt nun dasselbe Setup wie die Konversation und ermöglicht es dem Design, die Ausrichtung des Textes auf die Kamera sowie seine Größe und seinen Versatz zu ändern.
Features (Fahrzeug)
In der Abteilung Fahrzeugeigenschaften wurde mit dem Design der neuen Multifunktionsdisplays begonnen, während im Hintergrund an der Kerntechnologie gearbeitet wird. Das Design ist größtenteils abgeschlossen und der Schwerpunkt liegt jetzt auf den Prototypen.
Das Team hat auch Zeit damit verbracht, das neue Ressourcennetzwerk zu integrieren, das für ein interessanteres und abwechslungsreicheres Ingenieursspiel sorgen wird. Dadurch wird auch die Leistung gesteigert, da die Gegenstände viel effizienter genutzt werden.
Der Quantenboost wurde vollständig in SQ42 integriert und den Designern übergeben, damit sie Feedback zu weiteren Anforderungen an das Leveldesign geben können. Auf der technischen Seite unterstützte das Team weiterhin das persistente Streaming mit einem Transit-Refactor und der Behebung von Fehlern.
Die Raketen wurden komplett überarbeitet, nachdem einige Fehlerbehebungen Probleme mit der Art und Weise, wie die Raketen eingestellt waren, aufgedeckt hatten. Jetzt liegt der Fokus auf dem Abfangteil des Fluges und der Steuerung der Beschleunigung, anstatt sie so dynamisch wie zuvor zu steuern.
Das Team hat außerdem damit begonnen, die Geschwindigkeiten und Einstellungen für das neue Feature "Master Modes" auszugleichen, um sicherzustellen, dass die Kampfgeschwindigkeiten bei normalem Schub und Boost richtig eingestellt sind, damit sich der Kampf in die gewünschte Richtung bewegt.
Um die zukünftige Schiffsbalance und die Einführung des Ressourcennetzwerks zu unterstützen, hat das Team ein Master-Tuning-Dokument erstellt, das nicht nur als Referenzpunkt für zukünftige Schiffsdesigns dient, sondern auch die Anforderungen an die Balance des Ressourcennetzwerks festlegt, sobald es dem Design übergeben wird.
Gameplay Story
Gameplay Story erhielt Anfang Juli eine neue Lieferung von Motion Capture, die es dem Team ermöglichte, in verschiedenen Bereichen große Fortschritte zu machen, z. B. bei der Erstellung einer völlig neuen Szene in Kapitel 1 und der Aktualisierung des Beginns einer anderen.
Außerdem wurden Szenen in Kapitel 4G aktualisiert, eine Szene in Kapitel 4 überarbeitet und weitere Szenen in Kapitel 4 aufpoliert. Außerdem wurden verschiedene Szenen in mehreren Kapiteln überarbeitet.
Das Team sah sich auch die späteren Kapitel an und begann mit dem Prototyping von zwei neuen Szenen in Kapitel 10 und nahm einige kleinere Aktualisierungen in Kapitel 12 vor.
Grafik- und VFX-Programmierung
Im Juli wurde eine dynamische Bitset-Datenstruktur implementiert, die das TJointBitSet ersetzt, und es wurden Offline-Schadenskarten mit Persistenz untersucht und getestet. Das Team hat auch an der Trennung von CPU- und GPU-Implementierung gearbeitet, um sicherzustellen, dass beide dieselbe Schadenskarte ergeben.
Das Team hat die Portierung von Gas Clouds auf Gen12 abgeschlossen und mehrere Probleme behoben, darunter einen GPU-Absturz im Zusammenhang mit dieser Funktion. Die Arbeit an der Vulkan-Scaleform-Funktionalität und dem Rendering von Partikelmeshs in Gen12 wurde aufgenommen. Auch bei der Portierung von Brechung und Lichtstrahlen auf Gen12 wurden Fortschritte erzielt.
Das Streaming von Canvas-Decal-Texturen wurde beschleunigt und das Testen von Bildern wartet nun auf seine Fertigstellung. Die Unterstützung für Silhouetten auf Editor-Entity-Objekten wurde zusammen mit Verbesserungen an der Sortierung von Render-Elementen hinzugefügt, um sie bei verschiedenen Runs konsistent zu machen.
Der Haar-Shader wurde in Bezug auf Haarfarbe und Spiegelung verbessert. Außerdem wurden Tesselation und Displacement für den organischen Shader aktualisiert. Bei den Sprungpunkten konzentrierte sich das Team auf die Verzweigung von Tunneln, wobei auch Situationen behoben wurden, in denen sich die Verbindungssegmente selbst überschneiden.
Das Planet Tech Team hat den Welten- und Biome-Builder verbessert, indem es die Mesh-Erstellung in den Hintergrund verlagert hat, was die Stotterer im Editor deutlich reduziert. Außerdem wurden Fehler bei nicht übereinstimmenden Physikmeshes auf Servern behoben und prozedurale Entitäten überarbeitet, was die Ladezeit der Planeten verbesserte. Außerdem wurden Vier-Punkt-Bezier-Kurven bei der Flussgenerierung hinzugefügt und allgemeine Verbesserungen am Flussplatzierungswerkzeug vorgenommen. RaStar wurde eine Kollisionserkennung hinzugefügt, um zu verhindern, dass Module platziert werden, wenn sie sich mit Geometrie überschneiden.
Narrative
Im Juli konzentrierte sich Narrative auf die Fertigstellung des First-Pass-Skripts und die Aufnahme von Scratch-Dialogen für einen großen Teil des mittleren Kapitels von SQ42. Das Design hat das Gameplay in diesem Abschnitt verfeinert, so dass Narrative diese aktualisierten Feindbegegnungen, Rätsel, Stealth- und Navigationsherausforderungen häufig durchgespielt hat.
"Es ist sehr wichtig, dass der Spieler immer weiß, was sein aktuelles Ziel ist und was er als Nächstes tun sollte. Deshalb haben die Autoren daran gearbeitet, die Dialoghinweise so auszubalancieren, dass Spieler, die etwas mehr Anleitung brauchen, diese auch bekommen können, ohne dass der Spaß oder die Herausforderung eines bestimmten Bereichs darunter leiden." Narrative Team
Außerdem hat das Narrative Team das Skript angepasst, um sicherzustellen, dass die Texte, die sich auf die Spielmechanik beziehen, mit dem Gameplay übereinstimmen, wenn die Spielmechanik verbessert wurde. Durch die jüngsten Verbesserungen am Radar- und Scansystem konnten sie zum Beispiel einige der von den Charakteren im Spiel verwendeten Begriffe vereinfachen.
Das Team hat auch versucht, das dynamische Konversationssystem zu erweitern, um den Hintergrund und die gegnerischen NSCs, denen die Spieler/innen begegnen, zu verbessern. Während wichtige Schlüsselgespräche für den Spieler speziell geplant sind, gibt es einige Bereiche, in denen die Freiheit des Spielers, sie zu erkunden, den Bedarf an zusätzlichen Inhalten deutlich gemacht hat, um sie mit Leben zu füllen. Anstatt sich auf zusätzliche maßgeschneiderte Zeilen zu verlassen, untersucht das Team den Einsatz von dynamischen Gesprächen, um den Raum mit einer viel breiteren Palette von Inhalten zu füllen.
Technische Animation
Das Team von Tech Animation hat weiterhin Zeit in die Codebasis der Tools investiert. Die jahrelange Entwicklung und die Schnellkorrekturen werden überprüft, konsolidiert und überarbeitet, um den Code-Standards vollständig zu entsprechen und die Code-Basis zu modularisieren, damit sie für die technischen Animatoren leichter zugänglich ist. Dies wird die Entwicklung von Tools und der Pipeline, die auf Kernprozessen basieren, beschleunigen.
Parallel dazu werden derzeit mehrere neue Toolketten entwickelt und integriert: CGA- und SKIN-Laden in Maya, Entwicklung von RBF-Solvern und Unterstützung der SSD- und Alembic-Animationspipeline. Ihre zukünftige Entwicklungs-Roadmap ist ebenfalls in Planung.
UI
Im letzten Monat hat das UI-Team die Entwicklung der neuen Starmap fortgesetzt, die Beschriftung verbessert und ein Konzept entwickelt, wie man Weltraumwolken so darstellen kann, dass sie gut aussehen und gut funktionieren.
Die Künstler arbeiteten dann mit den Spieldesignern zusammen, um Konzepte für verschiedene interaktive UI-Bildschirme zu erstellen, die im Spiel zu finden sind.
Das Team arbeitete auch an neuen Türen und Luftschleusen speziell für SQ42. Sie wurden so gestaltet, dass sie in verschiedenen UI-Stilen gut aussehen und eine Vielzahl von Spielszenarien unterstützen.
VFX
Im Juli arbeitete das VFX-Team weiterhin eng mit Art und Design zusammen und unterstützte alle Anforderungen an die visuellen Effekte für die Q3-Meilensteine.
Sie verbrachten auch Zeit damit, eine ihrer wichtigsten Pipelines aufzuräumen und zu dokumentieren: Rigid Body Destruction. Der Großteil der Zerstörungssequenzen von SQ42 wird in Houdini erstellt und dann in die Engine exportiert. Die visuellen Anforderungen der Sequenz bestimmen die Art des Exports, wobei zwei Dateiformate zur Verfügung stehen: CGA für animierte Geometrietransformationen (z. B. das Auseinanderbrechen von Gebäudeteilen) und Alembic für animierte Geometrieverformungen (z. B. das Verbiegen von Metall). Es ist also wichtig, dass die Pipeline robust genug ist, um die unterschiedliche Komplexität der Zerstörungssequenzen zu bewältigen, ohne die Künstler/innen zu verlangsamen.
WIR SEHEN UNS NÄCHSTEN MONAT...
// ENDE DER ÜBERTRAGUNG
Juli 2022
Dies ist ein Querverweis auf den Bericht, der kürzlich über den monatlichen Squadron 42 Newsletter verschickt wurde. Wir veröffentlichen ihn ein zweites Mal als Comm-Link, damit die Community leichter darauf zurückgreifen kann.
TO: REKRUTEN DES GESCHWADERS 42
SUBJ: ENTWICKLUNG UPDATE 08:03:2022
REF: CIG UK, CIG DE, CIG LA, CIG TX
FAO-Geschwader 42 Rekruten.
Willkommen zum Entwicklungsbericht für Squadron 42 im Juli. Anbei findest du Details zu den neuesten Fortschritten in der Kampagne, einschließlich Updates zur Bewegung der Vanduul, zum Leveldesign und zur Charakterzeichnung.
Wir danken euch für eure anhaltende Unterstützung von Squadron 42.
Mit freundlichen Grüßen,
CIG COMMUNICATIONS
AI (Inhalt)
Letzten Monat widmete sich AI Content der Fehlerbehebung bei bestehenden Funktionen. Sie identifizierten die 20 wichtigsten Funktionen, mit denen die KI interagiert, und machten sich daran, in zwei Wochen so viele Probleme wie möglich zu beheben. Die Probleme wurden sortiert und in drei Kategorien eingeteilt:
Bugs, die die KI-Designer lösen konnten
Bugs, die die KI-Animatoren lösen können
Code-Probleme, die nicht von der KI gelöst werden können Inhalt
Am Ende waren etwa 50 Probleme gelöst, bevor das Team zur Arbeit an den Features zurückkehrte.
Im Juli wurde unter anderem das Setup des Waffenhändlers durch die Erstellung von Animationen zum Aufnehmen und Ablegen von Waffen unterstützt, die im letzten Monat erwähnte Überarbeitung der Fortbewegung vorangetrieben und die Overlay-Animationen für das weibliche Skelett neu ausgerichtet.
Die KI-Designer setzten die Implementierung der dynamischen Gesprächsfunktion fort und erweiterten sie auf das Essen-und-Trinken-Verhalten. Jetzt können NSCs zwischen zwei Bissen oder Getränken Gespräche führen.
"Wir sind mit dem Ergebnis sehr zufrieden, da sich die KI dadurch weniger individuell und mehr mit anderen NSCs verbunden fühlt." KI-Inhaltsteam
KI-Ingenieure suchen jetzt auch Kollegen an Wandtafeln und Arbeitsbereichen (z. B. gebrochene Rohre) auf, um Gespräche zu beginnen. Derzeit arbeiten sie daran, auch in Stockbetten und Arcade-Automaten Chatter für die KI zu implementieren.
KI (Features)
Im Bereich KI-Features wurde die Arbeit an der Taktikauswahl für menschliche Kämpfe fortgesetzt, einschließlich der Einführung eines datengesteuerten Ansatzes für die Einstellung der Wertungsfaktoren in Data-Forge. So können die Designer die Werte schnell anpassen, um das bestmögliche Kampfverhalten für die jeweilige Situation zu erreichen, auch bei mehreren Kämpfern mit unterschiedlichen Aufstellungen und Reichweiten. Diese Lösung erweitert die "Funktionsauswahl" in Subsumption, damit der Spielcode einen benutzerdefinierten Wahrscheinlichkeitsrechner registrieren kann, was nicht nur für das Kampfverhalten, sondern generell Vorteile bringt.
Außerdem wurde damit begonnen, die bestehenden Wahrnehmungssysteme an ein neues Design anzupassen, bei dem die Wahrnehmungsanzeige in Abhängigkeit von verschiedenen Reizen (Schritte oder Schüsse hören, ein Ziel sehen usw.) ansteigt und mit der Zeit abfällt. Sobald verschiedene Schwellenwerte auf der Anzeige erreicht werden, lösen sie verschiedene Wachsamkeitsstufen aus, die bestimmte Reaktionsanimationen und Verhaltensweisen bestimmen. Auf der niedrigsten Stufe reagiert die KI zum Beispiel, indem sie einfach ihren Kopf in Richtung des Reizes dreht. Auf der mittleren Stufe wird sie den Reiz untersuchen und auf der höchsten Stufe wird sie in den Kampf eingreifen. Die Reize können sich auch unterschiedlich auf den Zähler auswirken, je nachdem, ob das Ziel geduckt oder stehend ist und wie die Lichtverhältnisse vor Ort sind.
Außerdem wurde mit der Arbeit am Erkundungsverhalten begonnen. Die Entwickler haben ein System implementiert, mit dem NSCs potenzielle feindliche Verstecke ausfindig machen, sie überprüfen und verfolgen können, welche sie gesehen haben. Als Nächstes werden die NSCs Informationen austauschen, damit sie gemeinsam ein Level abdecken können.
Außerdem arbeiten sie daran, die Konsistenz der Deckungsauswahl mit Hilfe des automatischen Deckungsgenerierungssystems zu verbessern. Außerdem ist geplant, die Qualität der Deckung zu verbessern und der KI mehr Informationen zur Verfügung zu stellen, damit zur Laufzeit weniger Entscheidungen getroffen werden müssen.
Außerdem wurden die Animationen für das Manteln und Springen der KI geblockt, um den NSCs mehr Bewegungsmöglichkeiten zu geben, wenn sie sich in der Umgebung bewegen. Außerdem wurden Aufräum- und Timing-Aufgaben für die Spec-Ops-Animationssets erledigt.
Für die Vanduul blockte das Team mehrere Animationen aus, darunter die Steuerung und einige ortsspezifische Animationen, mit denen die Vanduul von ihren Spawn-Positionen (oft außerhalb des Navigationsmeshs) in den Level gelangen.
KI (Tech)
Im Juli konzentrierte sich die KI-Abteilung darauf, die Funktionen zu erweitern, die für das Überqueren von Navigationsinseln mit Hilfe spezieller Aktionen erforderlich sind. Dazu gehörte die Implementierung neuer Adapter für Navigationsverbindungen, die das Mantelziehen, Abspringen und Springen ermöglichen.
"Die Grundidee ist, dass wir mit dem bestehenden Markup den NSCs ermöglichen wollen, ähnliche Aktionen wie der Spieler in der Umgebung durchzuführen. Wir haben zum Beispiel die Sims-Objekte so angepasst, dass sie Spezifikationen enthalten, die das Navmesh auswerten und mehrere Inseln korrekt miteinander verbinden." AI Tech Team
Das Team hat auch weiter an nahtlosen Übergängen in die Nutzbarkeit gearbeitet. Diesmal haben sie ein saubereres und zuverlässigeres System für scharfe Kurvenanimationen implementiert, das NSCs, die Pfaden um Kurven folgen, eine natürlichere Bewegung verleiht. Dadurch fühlen sich NSCs "schwerer" an und können ihr Gewicht besser ausbalancieren, wenn sie sich um scharfe Ecken bewegen.
Auch bei der Überarbeitung der Fortbewegung wurden Fortschritte gemacht. Letzten Monat hat das Team damit begonnen, die Art und Weise zu verbessern, wie KI-Akteure Bewegungen verarbeiten, damit sie die Bewegungsanfragen von dem entkoppeln können, was sie verarbeitet. Dies ist eine wichtige Änderung, um mehrere Wegverfolger in verschiedenen Kontexten besser zu unterstützen. Zum Beispiel Schauspieler, Kreaturen oder NSCs, die ein Fahrzeug fahren oder einen Wagen schieben. Sie bereiten sich derzeit auf die Integration in den Squadron 42-Zweig vor und überprüfen, ob alles wie erwartet funktioniert.
Für den Subsumption-Editor im Sandbox-Tool hat AI Tech neue Funktionen implementiert und das Tool stabilisiert, damit es endlich von allen Designern genutzt werden kann.
Eine bessere KI-Debug-UI mit imGUI wird derzeit implementiert, damit die Entwickler/innen das Verhalten der NSCs auswählen und untersuchen können. Das Tool kann die NSCs in jeder Zone aufteilen, mehrere NSCs auswählen und ihre Eigenschaften untersuchen.
Auch bei der Schiffsverstärkung für Alpha 3.17.1 wurden Fortschritte gemacht. Das Team hat die Funktion robuster gemacht, indem es eine bessere Überwachung des Ausschiffungsprozesses aus der Perspektive des Piloten hinzugefügt hat. Außerdem wurde eine Abbruchphase für das Absetzschiff hinzugefügt, falls der Absetzort besetzt ist, und der Pilot kann nun die Anwesenheit eines Spielers im Frachtraum überwachen.
Außerdem wurden mehrere Fehler in Bezug auf langsame Reaktionszeiten und Desyncs/Teleports behoben. Diese Probleme werden meist durch eine niedrige Framerate des Servers verursacht, aber die Entwickler haben den Code optimiert und Optimierungen vorgenommen, damit der Code mit einigen dieser Situationen besser umgehen kann.
KI (Fahrzeuge)
Im Juli hat das KI-Fahrzeugteam die Verwendung von Master-Modi für die KI fertiggestellt; die KI ist jetzt vollständig integriert und kann den Master-Modus wechseln, wenn der gewünschte Operator-Modus dies erfordert. Die Designer/innen werden auch bald in der Lage sein, die Modi zu wechseln, um der KI Zugang zu höheren SCM-Geschwindigkeiten beim Entwerfen von Verhaltensweisen zu geben.
Im Laufe des Monats wurden außerdem einige Fehler behoben, z. B. ein Problem mit dem "FlyTo", das keinen effizienten Pfad berechnete, und Tauchangriffe, die fahrerlose Raumschiffe nicht ignorierten.
Animation
Im letzten Monat hat das Animationsteam die Null-G-Bewegung und die Navigation weiterentwickelt und das Spielgefühl verbessert, um ein besseres Gesamterlebnis zu schaffen. Außerdem arbeiteten sie an einer neuen SMG, zusätzlichen Waffen für den Waffenmeister, Interaktionen mit Leitern, der Benutzung der weiblichen Konsole und der Fortbewegung (scharfe Kurven und Ausweichmanöver).
Neue MobiGlas-Interaktionen wurden entwickelt, um den Charakteren ein realistischeres Gefühl zu geben, und es wurden Fortschritte bei den Vanduul gemacht, diesmal beim Suchen von Schächten und beim Klettern.
Auf der Gesichtsseite wurden Verbesserungen an den Gesichtsanimationen der genannten Darsteller/innen vorgenommen.
Kunst (Charaktere)
Das Charakterteam hat sich im Juni auf die verbleibenden Outfits der Navy-Fraktion konzentriert und Fortschritte bei den Rüstungen der Screaming Galsons gemacht. Zurzeit bereiten sie sich auf die Erstellung der Shubin-Minen-Outfits vor und arbeiten mit Tech Animation an den Kopfscans für verschiedene Charaktere.
Kunst (Waffen)
Die Waffenkunst begann den Monat mit der Behebung von Fehlern und schloss etwa die Hälfte ihres Rückstandes an Fehlern ab. Dann wurden Fortschritte bei der Volt-Schrotflinte, der Pistole, dem Sturmgewehr und dem Scharfschützengewehr gemacht.
Die Animationsarbeit für die Volt-Waffen wurde ebenfalls vorangetrieben und die ersten Animationen und Überprüfungen der neuen Nahkampfwaffen-Metriken wurden abgeschlossen.
Außerdem wurde mit der Arbeit an einigen SQ42-fraktionsspezifischen Waffen begonnen, angefangen mit einer SMG und einer Schrotflinte. Die Whitebox des militärischen Multi-Tools wurde mit neuen Bildschirmpositionen aktualisiert, um sicherzustellen, dass die Benutzeroberfläche auch für das geplante Gameplay funktioniert.
Engine
Im Juli hat das Physikteam mehrere Optimierungen am Code vorgenommen. Überschneidungsprüfungen von Rays und Boxen wurden in ISPC implementiert und werden jetzt auch in den Ray-World-Intersections (RWI) verwendet, um Entity-Teile schnell zu überspringen, wenn es keine Überschneidung zwischen einem Ray und den lokalen Grenzen eines Entities gibt. Weitere Optimierungen umfassen die Verwendung eines Box Pruners, um Fahrzeugräder und alle ihre möglichen Kollider (und deren Teile) schneller zu verarbeiten, sowie SSE- und AVX2-Optimierungen im Code, der Teile eines physischen Objekts sucht. Außerdem wurde die Unterstützung für aufeinanderfolgende Seilrollen hinzugefügt und die räumliche Konfiguration der inneren Gittertypen wurde geändert, um mehr Schichten von inneren Knoten zu verwenden, die kleiner dimensioniert sind. Das hat zum Beispiel in Port Olisar geholfen, wo viel Zeit mit der Pflege von Thunk-Listen verbracht wurde, was durch diese Änderung komplett wegfällt.
Beim Renderer wurde die Gen12-Umstellung fortgesetzt. So wurde zum Beispiel das Gen12-Skalenform-Rendering (UI) standardmäßig aktiviert, die Unterstützung für MIP-Map-Generierungspässe wurde hinzugefügt und Material-Overrides für Renderknoten werden jetzt unterstützt, auch für Multi-Materialien. Die Übermittlung des Tiefen-Pre-Passes wird jetzt übersprungen, wenn Bewegungsvektoren gerendert werden. Der Thread-Synchronisierungscode in der Pipeline State Object (PSO) Cache-Aktualisierung sowie im Shader-System wurde verbessert und unnötige Stencil-Tests für die Shadow Map Stage wurden entfernt. Der Rendering-Ladethread wurde durch einen Video-Rendering-Thread ersetzt, der nur für das Rendering der Benutzeroberfläche benötigt wird, während das Spiel geladen wird. Schließlich wurde ein Fehler behoben, der den Grafiktreiber zum Absturz brachte, und der gesamte Rendercode wurde so geändert, dass er erfolgreich über Include-What-You-Use (IWYU) kompiliert wurde. Verschiedene Probleme in Form von Pufferüberläufen im Low-Level-VFX-Rendercode wurden ebenfalls behoben.
Die Gen12-Portierung des Renderings von atmosphärischen und volumetrischen Wolken wurde fortgesetzt, da die Generierung von Look-up-Tabellen für die Atmosphäre und die Vorverarbeitungsschritte für volumetrische Wolken erfolgreich auf die neuen APIs umgestellt wurden. Das Rendering der alten (sphärischen) Wolken wurde ebenfalls auf Gen12 umgestellt und kann jetzt auch als Teil der Vorwärtsphase der Deferred Pipeline gerendert werden (was bald aktiviert wird). Diese jüngsten Fortschritte führten auch zu verschiedenen Vorschlägen (von denen einige bereits umgesetzt wurden), um die Gen12-APIs für spezielle Fälle zu verfeinern, damit sie einfach portiert werden können und sich besser integrieren lassen. Schließlich wird im August mit der Portierung der verbleibenden Pässe für atmosphärische und volumetrische Wolken begonnen.
In der Core-Engine wurde der Code für die Lebensdauer der Entitäten an die neuen Anforderungen des Server-Meshings angepasst, um die Bedienung zu vereinfachen und ein besseres Gefühl für die Persistenz zu schaffen. Als Teil der überarbeiteten Entity-Lifetime für das Server-Meshing wurde ein zeitlich abgestimmter Entity-Density-Manager implementiert. Der Manager für Hintergrundjobs wurde geändert, um mit sehr lang laufenden Preempted-Hintergrundjobs besser zurechtzukommen und Laufzeitstillstände zu reduzieren. Dies betrifft zum Beispiel die Verzögerungen bei der Shader-Kompilierung. Außerdem verwendet die Komponentenlebensdauer jetzt einen billigeren benutzerdefinierten weak pointer Ansatz, den der aktuelle std::shared_ptr nicht bieten kann. Außerdem wurde das StarHash Bind Culling von Sub-Zonen deutlich optimiert. Die Möglichkeit, Hardware-(Daten-)Haltepunkte vom Code aus zu setzen, wurde behoben und schließlich wurde die Linux-Thread-Priorität geändert, um Echtzeit-FIFO-Scheduling zu verwenden.
Features (Gameplay)
Die Gameplay-Features konzentrierten sich im Juli auf Support und Fehlerbehebung, insbesondere auf die Leistung und den Feinschliff an kürzlich überarbeiteten Features. Außerdem wurde eine neue Funktion für die Spielerauswahl hinzugefügt. Diese Funktion nutzt nun dasselbe Setup wie die Konversation und ermöglicht es dem Design, die Ausrichtung des Textes auf die Kamera sowie seine Größe und seinen Versatz zu ändern.
Features (Fahrzeug)
In der Abteilung Fahrzeugeigenschaften wurde mit dem Design der neuen Multifunktionsdisplays begonnen, während im Hintergrund an der Kerntechnologie gearbeitet wird. Das Design ist größtenteils abgeschlossen und der Schwerpunkt liegt jetzt auf den Prototypen.
Das Team hat auch Zeit damit verbracht, das neue Ressourcennetzwerk zu integrieren, das für ein interessanteres und abwechslungsreicheres Ingenieursspiel sorgen wird. Dadurch wird auch die Leistung gesteigert, da die Gegenstände viel effizienter genutzt werden.
Der Quantenboost wurde vollständig in SQ42 integriert und den Designern übergeben, damit sie Feedback zu weiteren Anforderungen an das Leveldesign geben können. Auf der technischen Seite unterstützte das Team weiterhin das persistente Streaming mit einem Transit-Refactor und der Behebung von Fehlern.
Die Raketen wurden komplett überarbeitet, nachdem einige Fehlerbehebungen Probleme mit der Art und Weise, wie die Raketen eingestellt waren, aufgedeckt hatten. Jetzt liegt der Fokus auf dem Abfangteil des Fluges und der Steuerung der Beschleunigung, anstatt sie so dynamisch wie zuvor zu steuern.
Das Team hat außerdem damit begonnen, die Geschwindigkeiten und Einstellungen für das neue Feature "Master Modes" auszugleichen, um sicherzustellen, dass die Kampfgeschwindigkeiten bei normalem Schub und Boost richtig eingestellt sind, damit sich der Kampf in die gewünschte Richtung bewegt.
Um die zukünftige Schiffsbalance und die Einführung des Ressourcennetzwerks zu unterstützen, hat das Team ein Master-Tuning-Dokument erstellt, das nicht nur als Referenzpunkt für zukünftige Schiffsdesigns dient, sondern auch die Anforderungen an die Balance des Ressourcennetzwerks festlegt, sobald es dem Design übergeben wird.
Gameplay Story
Gameplay Story erhielt Anfang Juli eine neue Lieferung von Motion Capture, die es dem Team ermöglichte, in verschiedenen Bereichen große Fortschritte zu machen, z. B. bei der Erstellung einer völlig neuen Szene in Kapitel 1 und der Aktualisierung des Beginns einer anderen.
Außerdem wurden Szenen in Kapitel 4G aktualisiert, eine Szene in Kapitel 4 überarbeitet und weitere Szenen in Kapitel 4 aufpoliert. Außerdem wurden verschiedene Szenen in mehreren Kapiteln überarbeitet.
Das Team sah sich auch die späteren Kapitel an und begann mit dem Prototyping von zwei neuen Szenen in Kapitel 10 und nahm einige kleinere Aktualisierungen in Kapitel 12 vor.
Grafik- und VFX-Programmierung
Im Juli wurde eine dynamische Bitset-Datenstruktur implementiert, die das TJointBitSet ersetzt, und es wurden Offline-Schadenskarten mit Persistenz untersucht und getestet. Das Team hat auch an der Trennung von CPU- und GPU-Implementierung gearbeitet, um sicherzustellen, dass beide dieselbe Schadenskarte ergeben.
Das Team hat die Portierung von Gas Clouds auf Gen12 abgeschlossen und mehrere Probleme behoben, darunter einen GPU-Absturz im Zusammenhang mit dieser Funktion. Die Arbeit an der Vulkan-Scaleform-Funktionalität und dem Rendering von Partikelmeshs in Gen12 wurde aufgenommen. Auch bei der Portierung von Brechung und Lichtstrahlen auf Gen12 wurden Fortschritte erzielt.
Das Streaming von Canvas-Decal-Texturen wurde beschleunigt und das Testen von Bildern wartet nun auf seine Fertigstellung. Die Unterstützung für Silhouetten auf Editor-Entity-Objekten wurde zusammen mit Verbesserungen an der Sortierung von Render-Elementen hinzugefügt, um sie bei verschiedenen Runs konsistent zu machen.
Der Haar-Shader wurde in Bezug auf Haarfarbe und Spiegelung verbessert. Außerdem wurden Tesselation und Displacement für den organischen Shader aktualisiert. Bei den Sprungpunkten konzentrierte sich das Team auf die Verzweigung von Tunneln, wobei auch Situationen behoben wurden, in denen sich die Verbindungssegmente selbst überschneiden.
Das Planet Tech Team hat den Welten- und Biome-Builder verbessert, indem es die Mesh-Erstellung in den Hintergrund verlagert hat, was die Stotterer im Editor deutlich reduziert. Außerdem wurden Fehler bei nicht übereinstimmenden Physikmeshes auf Servern behoben und prozedurale Entitäten überarbeitet, was die Ladezeit der Planeten verbesserte. Außerdem wurden Vier-Punkt-Bezier-Kurven bei der Flussgenerierung hinzugefügt und allgemeine Verbesserungen am Flussplatzierungswerkzeug vorgenommen. RaStar wurde eine Kollisionserkennung hinzugefügt, um zu verhindern, dass Module platziert werden, wenn sie sich mit Geometrie überschneiden.
Narrative
Im Juli konzentrierte sich Narrative auf die Fertigstellung des First-Pass-Skripts und die Aufnahme von Scratch-Dialogen für einen großen Teil des mittleren Kapitels von SQ42. Das Design hat das Gameplay in diesem Abschnitt verfeinert, so dass Narrative diese aktualisierten Feindbegegnungen, Rätsel, Stealth- und Navigationsherausforderungen häufig durchgespielt hat.
"Es ist sehr wichtig, dass der Spieler immer weiß, was sein aktuelles Ziel ist und was er als Nächstes tun sollte. Deshalb haben die Autoren daran gearbeitet, die Dialoghinweise so auszubalancieren, dass Spieler, die etwas mehr Anleitung brauchen, diese auch bekommen können, ohne dass der Spaß oder die Herausforderung eines bestimmten Bereichs darunter leiden." Narrative Team
Außerdem hat das Narrative Team das Skript angepasst, um sicherzustellen, dass die Texte, die sich auf die Spielmechanik beziehen, mit dem Gameplay übereinstimmen, wenn die Spielmechanik verbessert wurde. Durch die jüngsten Verbesserungen am Radar- und Scansystem konnten sie zum Beispiel einige der von den Charakteren im Spiel verwendeten Begriffe vereinfachen.
Das Team hat auch versucht, das dynamische Konversationssystem zu erweitern, um den Hintergrund und die gegnerischen NSCs, denen die Spieler/innen begegnen, zu verbessern. Während wichtige Schlüsselgespräche für den Spieler speziell geplant sind, gibt es einige Bereiche, in denen die Freiheit des Spielers, sie zu erkunden, den Bedarf an zusätzlichen Inhalten deutlich gemacht hat, um sie mit Leben zu füllen. Anstatt sich auf zusätzliche maßgeschneiderte Zeilen zu verlassen, untersucht das Team den Einsatz von dynamischen Gesprächen, um den Raum mit einer viel breiteren Palette von Inhalten zu füllen.
Technische Animation
Das Team von Tech Animation hat weiterhin Zeit in die Codebasis der Tools investiert. Die jahrelange Entwicklung und die Schnellkorrekturen werden überprüft, konsolidiert und überarbeitet, um den Code-Standards vollständig zu entsprechen und die Code-Basis zu modularisieren, damit sie für die technischen Animatoren leichter zugänglich ist. Dies wird die Entwicklung von Tools und der Pipeline, die auf Kernprozessen basieren, beschleunigen.
Parallel dazu werden derzeit mehrere neue Toolketten entwickelt und integriert: CGA- und SKIN-Laden in Maya, Entwicklung von RBF-Solvern und Unterstützung der SSD- und Alembic-Animationspipeline. Ihre zukünftige Entwicklungs-Roadmap ist ebenfalls in Planung.
UI
Im letzten Monat hat das UI-Team die Entwicklung der neuen Starmap fortgesetzt, die Beschriftung verbessert und ein Konzept entwickelt, wie man Weltraumwolken so darstellen kann, dass sie gut aussehen und gut funktionieren.
Die Künstler arbeiteten dann mit den Spieldesignern zusammen, um Konzepte für verschiedene interaktive UI-Bildschirme zu erstellen, die im Spiel zu finden sind.
Das Team arbeitete auch an neuen Türen und Luftschleusen speziell für SQ42. Sie wurden so gestaltet, dass sie in verschiedenen UI-Stilen gut aussehen und eine Vielzahl von Spielszenarien unterstützen.
VFX
Im Juli arbeitete das VFX-Team weiterhin eng mit Art und Design zusammen und unterstützte alle Anforderungen an die visuellen Effekte für die Q3-Meilensteine.
Sie verbrachten auch Zeit damit, eine ihrer wichtigsten Pipelines aufzuräumen und zu dokumentieren: Rigid Body Destruction. Der Großteil der Zerstörungssequenzen von SQ42 wird in Houdini erstellt und dann in die Engine exportiert. Die visuellen Anforderungen der Sequenz bestimmen die Art des Exports, wobei zwei Dateiformate zur Verfügung stehen: CGA für animierte Geometrietransformationen (z. B. das Auseinanderbrechen von Gebäudeteilen) und Alembic für animierte Geometrieverformungen (z. B. das Verbiegen von Metall). Es ist also wichtig, dass die Pipeline robust genug ist, um die unterschiedliche Komplexität der Zerstörungssequenzen zu bewältigen, ohne die Künstler/innen zu verlangsamen.
WIR SEHEN UNS NÄCHSTEN MONAT...
// ENDE DER ÜBERTRAGUNG
Chinese
Squadron 42 Monthly Report
July 2022
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.
TO: SQUADRON 42 RECRUITS
SUBJ: DEVELOPMENT UPDATE 08:03:2022
REF: CIG UK, CIG DE, CIG LA, CIG TX
FAO Squadron 42 Recruits.
Welcome to July’s Squadron 42 development report. Enclosed you will find details on the latest progress made across the campaign, including updates to Vanduul movement, level design, and character art.
Thank you for your continued support of Squadron 42.
Sincerely,
CIG COMMUNICATIONS
AI (Content)
Last month, AI Content dedicated time to bug-fixing existing features. They identified the top 20 usables that the AI interact with and set out to fix as many issues as possible in two weeks. The issues were triaged and arranged into three categories:
Bugs that the AI designers could solve
Bugs that AI animators could solve
Code issues not solvable by AI Content
By the end, approximately 50 issues had been solved before the team returned to feature work.
July’s feature work included supporting the weapons vendor setup by creating weapon pickup and place animations, progressing with the locomotion polish mentioned last month, and retargeting overlay animations to the female skeleton.
The AI designers continued implementing the dynamic conversations feature, expanding it to the eat-and-drink behavior. Now, NPCs can have conversations between bites or drinks.
“We are pleased with the result, as it makes the AI feel less individual and more connected with other NPCs.” AI Content Team
AI engineers will now also seek out colleagues at wall panels and work zones (e.g. broken pipes) to start conversations. They’re currently working on implementing chatter for AI in bunk beds and arcade machines, too.
AI (Features)
For human combat, AI Features continued to work on tactic selection, including implementing a more data-driven approach to setting up the scoring factors in Data-Forge. This will allow the designers to quickly tweak values to produce the best possible range of combat behaviors for the situation, including with multiple combatants with different setups and ranges. This solution extends the ‘function selection’ in Subsumption to allow the game code to register a custom probability calculator, which will provide benefits in general, not just for combat behaviors.
They also began aligning the existing perception systems to a new design where the perception meter rises depending on different stimuli (hearing footsteps or gunfire, seeing a target, etc.) and falls over time. Once different threshold levels on the meter are hit, they trigger different alertness levels that determine specific reaction animations and behaviors. For example, at the lowest level, the AI will react by simply turning their head toward the stimulus. At the middle level, they will investigate the stimulus and, at the highest, they will enter combat. Stimuli can also impact the meter in different ways based on the conditions of the target, including whether they’re crouched or standing and the location’s lighting.
Work also started on the investigation behavior, with the devs implementing a system to allow NPCs to determine potential enemy hiding spots, check them, and keep track of which ones they’ve seen. The next stage is for NPCs to share information so they can cover a level together.
They’re also working to improve the consistency of cover selection using the automatic cover generation system. They’re also planning to improve the quality of cover and provide more information to the AI so that less decision making has to be made at runtime.
They also blocked out animations for human-AI mantling and vaulting to give NPCs more locomotion options when moving around the environment. Clean-up and timing tasks were also completed for the spec-ops animation sets.
For the Vanduul, the team blocked out several animations, including piloting, and some location-specific animations used to get the Vanduul from their spawn positions (often off the navigation mesh) into the level.
AI (Tech)
During July, AI Tech focused on extending the functionalities required to traverse navigation islands using special actions. This included implementing new adapters for navigation links to include mantling, jumping down, and vaulting.
“The basic idea is that, using all the existing markup, we want to allow NPCs to perform similar actions to the player in the environment. For example, we adjusted the ledge objects to include specifications that evaluate the navmesh and link multiple islands correctly.” AI Tech Team
They also continued R&D on seamless transitions into usables. This time, they implemented a cleaner and more reliable system for sharp-turn animations, giving more natural movement to NPCs following paths around corners. This allows helps NPCs feel ‘heavier’ and show weight balancing when moving over sharp corners.
Progress was also made on the locomotion refactor. Last month, the team began improving how AI actors process movement, which will allow them to decouple movement requests from what processes it. This is an important change to better support multiple path-followers used in different contexts. For example, actors, creatures, or NPCs driving a vehicle or pushing a trolley. They’re currently preparing to integrate into the Squadron 42 branch and verify that everything works as expected.
For the Subsumption editor within the sandbox tool, AI Tech implemented new functionality and stabilized the tool to finally open up the usage to all the designers.
A better AI-debug UI using imGUI is currently being implemented to allow the devs to select and inspect NPC behaviors. The tool can split the NPCs present in each zone, select multiple NPCs, and inspect their properties.
Progress was also made on ship reinforcement for Alpha 3.17.1. The team made the feature more robust by adding better monitoring of the disembarking process from the pilot’s perspective. They also added an abort phase for the dropship in case the drop location is occupied, and the pilot can now monitor the presence of a player inside the cargo area.
They also fixed several bugs relating to slow reaction time and desyncs/teleports. These issues are mostly caused by a low server framerate but the devs optimized the code and implemented tweaks to allow the code to better handle some of those situations.
AI (Vehicles)
In July, the AI Vehicle Team finished enabling AI to use master modes; AI is now fully integrated with the ability to swap master modes when required by the operator mode they want to use. The designers will also soon be able to cycle modes to give AI access to higher SCM speeds when designing behaviors.
Bug fixes were also made throughout the month, including an issue with the ‘FlyTo’ not computing an efficient path and dive attacks not ignoring driverless space ships.
Animation
Last month, the Animation team further developed zero-g movement and navigation, adjusting the feel to give a better overall experience. They also worked on a new SMG, additional weapons for the master-at-arms, ladder interactions, female console use, and locomotion (sharp turns and jukes).
New mobiGlas interactions were developed to give a more realistic feel to characters, and progress was made on the Vanduul, this time searching vents and climbing.
On the facial side, improvements to the facial animations of the named cast members continued.
Art (Characters)
The Character team spent June focusing on the remaining Navy faction outfits and progressed with the Screaming Galsons armors. They’re currently preparing to create the Shubin mining outfits and work with Tech Animation on head scans for various characters.
Art (Weapons)
Weapon Art started the month bug fixing, closing out around half of their backlog of bugs alongside clean-up work. Progress was then made on the Volt shotgun, pistol, assault rifle, and sniper rifle.
Animation work progressed for the Volt weapons too, and first pass animations and reviews of the new melee weapon metrics were completed.
Work also began on some SQ42-faction-specific weapons, beginning with an SMG and shotgun. The military Multi-Tool had its whitebox updated with new screen positions to ensure the UI will work for the intended gameplay too.
Engine
In July, the Physics team made several optimizations to the code. Ray/box overlap checks were implemented in ISPC and are now also used in ray world intersections (RWI) to quickly skip entity parts if there's no overlap of a ray and an entity's local bounds. Further optimizations include using a box pruner to process vehicle wheels and all of their possible colliders (and their parts) more quickly, as well as SSE and AVX2 optimizations in the code that searches parts of a physical entity. Additionally, support for successive pulley attachments to rope entities was added, and the spatial configuration of interior grid types was changed to use more layers of internal nodes that are smaller in dimension. This, for instance, helped in Port Olisar, where a lot of time was spent maintaining thunk lists, which is completely removed by this change.
On the renderer, the Gen12 transition continued. For example, Gen12 Scaleform (UI) rendering was enabled by default, support for MIP map generation passes was added, and material overrides for render nodes are now supported, including for multi materials. The depth pre-pass submission is now skipped if motion vectors are rendered. Thread synchronization code in pipeline state object (PSO) cache refreshing as well as in the shader system was improved, and unnecessary stencil tests for the shadow map stage were removed. The render loading thread was replaced by a video rendering thread, which is needed for the sole purpose of rendering UI while the game is loading. Lastly, a bug that was crashing the video driver was fixed and the entire render code was changed to successfully compile via Include-What-You-Use (IWYU). Various issues in the form of buffer overruns in low-level VFX render code were also fixed.
The Gen12 ports of atmospheric and volumetric cloud rendering continued as look-up table generation for atmosphere, as well as volumetric cloud preprocessing steps, were successfully moved over to execute through the new APIs. The rendering of legacy (spherical) clouds was moved to Gen12 too and can now also render as part of the deferred pipeline’s forward stage (which will be enabled soon). This recent progress also resulted in various suggestions (some of which have already been implemented) to refine the Gen12 APIs for special cases so they can be ported straightforwardly and integrate better. Lastly, work on porting the remaining passes for atmospheric and volumetric clouds will commence in August.
On the core engine, entity lifetime code was adjusted for the new needs of server meshing with the goal of it being easier to use as well as creating a more refined feeling of persistence. A time-sliced entity density manager was implemented as a part of the reworked entity lifetime for server meshing. The background job manager was changed to better cope with very long-running preempted background jobs to reduce runtime stalls. For example, stalls during shader compilation. Furthermore, component lifetime now uses a cheaper custom weak pointer approach that the current std::shared_ptr cannot provide. Moreover, StarHash bind culling of sub-zones was significantly optimized. The ability to set hardware (data) breakpoints from code was fixed and, lastly, Linux thread priority changed to use real-time FIFO scheduling.
Features (Gameplay)
Gameplay Features focused on support and bug fixing throughout July, specifically looking into performance and polishing recently-worked-on features. New functionality was also added to player choice; this feature now utilizes the same setup used for conversations and allows Design to change whether the text is camera facing along with its size and offset.
Features (Vehicle)
Vehicle Features started designing the new multi-function displays alongside the core engineering technology work in the background. The design side is mostly complete, with the focus now on prototypes.
The team also spent time integrating the new resource network that will deliver more interesting and varied engineering gameplay. This will also increase performance as items are used much more efficiently.
Quantum boost was fully integrated into SQ42 and handed over to the designers to enable them to feedback on further level-design requirements. Finally on the tech side, the team continued to support persistent streaming with a transit refactor alongside bug fixing.
Missiles received a complete flight retune after some bug-fixing highlighted problems with the way the missiles were set up. Now, focus is on the intercept portion of flight and controlling accelerations rather than allowing them to be controlled as dynamically as they were before.
The team also began balancing what speeds and tunings are required for the new Master Modes feature, ensuring they get the combat speeds right under normal thrust and boost so combat starts to move in the intended direction.
To help with future ship balance and the introduction of the resource network, the team created a master tuning document that will not only act as a reference point for future ship designs but allow them to set out the requirements of the recourse network balance once it’s handed to Design.
Gameplay Story
Gameplay Story received a fresh delivery of motion capture early in July, which allowed them to make great strides in several different areas, including creating a whole new scene in chapter 1 and updating the start of another.
They also make a significant update to scenes in chapter 4G, overhauled a scene in chapter 4, and further polished scenes in chapter 4. Maintenance was also performed across various scenes in several different chapters.
The team also looked at the later chapters and began prototyping two new scenes in chapter 10 and made some minor updates to chapter 12.
Graphics & VFX Programming
July saw the implementation of a dynamic bitset data structure, which replaces the TJointBitSet, as well as the investigation and testing of offline damage maps with persistence. The team also worked on separating CPU & GPU implementation, ensuring they result in the same damage map.
The team finished porting Gas Clouds to Gen12 and fixed several issues, including a GPU crash related to this feature. Work began on Vulkan scaleform functionality and particle mesh rendering in Gen12. Progress was also made on porting refraction and light beams to Gen12.
Canvas decal texture streaming was sped up and image testing now waits for it to complete. Support for silhouettes on editor entity objects was added alongside improvements to render-item sorting to make it consistent at different runs.
Hair color and specular improvements were finished for the hair shader. There were also updates to tessellation and displacement on the organic shader. For jump points, the team focused on branching tunnels, which included fixing situations where the connecting segments self-intersect.
The Planet Tech team made improvements to the world and biome builder by moving mesh building to background jobs, substantially reducing stutters in-editor. There were also fixes for mismatching physics meshes on servers as well as a refactor of procedural entities, which improved planet loading time. Four-point Bezier curves were also added to river generation alongside general improvements to the river placement tool. Collision detection was added to RaStar to prevent modules from being placed when they overlap with geometry, too.
Narrative
During July, Narrative focused on completing first-pass scripting and recording scratch dialogue for a large section of one of SQ42’s middle chapters. Design refined the gameplay in this section so Narrative frequently played through these updated enemy encounters, puzzles, stealth, and navigation challenges.
“It’s very important to make sure the player always understands what their current goals are and what their next steps should be so, to that end, the writers have been working to balance dialogue hints to ensure that players who need a bit more guidance will be able to get it without spoiling the fun or challenge of a given area.” Narrative Team
Additionally, as gameplay mechanics were iterated on and polished, the Narrative team adjusted the script to ensure that lines referencing those mechanics matched how the gameplay worked. For example, recent improvements to the radar and scanning system allowed them to streamline some of the terminology used by characters in-game.
The team also looked to expand the use of the dynamic conversation system to enhance the background and enemy NPCs that players will come across. While important key conversations are specifically planned for the player to encounter, there are some areas where the player’s freedom to explore has highlighted the need for additional content to bring it to life. Rather than relying on additional bespoke lines, the team is investigating using dynamic conversations to allow for a much broader range of content to fill the space.
Tech Animation
The Tech Animation team continued to invest time into the tools codebase. Years of development and quick fixes are being triaged, consolidated, and revamped to fully conform to their coding standards and modularize the codebase to be more accessible to the technical animators. This will expedite the creation of tools and the pipeline that rely on core processes.
Alongside this, they’re currently developing and integrating several new tool chains: CGA and SKIN loading in Maya, RBF solver development, and SSD & Alembic animation pipeline support. Their future development roadmap is also in planning.
UI
Last month, the UI team continued development of the new Starmap, improving labeling and concepting how to display space clouds in a way that looks great and performs well.
The artists then worked with the game designers to create concepts for several interactive UI screens found around the game.
The team also worked on new doors and airlocks specifically for SQ42, building them to look right in various UI styles and setting them up to support a variety of gameplay scenarios.
VFX
Throughout July, the VFX team continued to work closely with Art and Design, supporting all visual-effect requirements for their Q3 milestones.
They also spent time cleaning up and documenting one of their most crucial pipelines: Rigid Body Destruction. The majority of SQ42’s destruction sequences are created in Houdini, then exported into the engine. The visual requirements of the sequence determine the way it’s exported, with two file formats available: CGA, for animated geometry transforms (e.g. building pieces breaking apart) and Alembic, for animated geometry deformation (e.g. bending metal). So, it’s important that the pipeline is robust enough to handle the varying complexity of the destruction sequences without slowing the artists down.
WE'LL SEE YOU NEXT MONTH...
// END TRANSMISSION
July 2022
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.
TO: SQUADRON 42 RECRUITS
SUBJ: DEVELOPMENT UPDATE 08:03:2022
REF: CIG UK, CIG DE, CIG LA, CIG TX
FAO Squadron 42 Recruits.
Welcome to July’s Squadron 42 development report. Enclosed you will find details on the latest progress made across the campaign, including updates to Vanduul movement, level design, and character art.
Thank you for your continued support of Squadron 42.
Sincerely,
CIG COMMUNICATIONS
AI (Content)
Last month, AI Content dedicated time to bug-fixing existing features. They identified the top 20 usables that the AI interact with and set out to fix as many issues as possible in two weeks. The issues were triaged and arranged into three categories:
Bugs that the AI designers could solve
Bugs that AI animators could solve
Code issues not solvable by AI Content
By the end, approximately 50 issues had been solved before the team returned to feature work.
July’s feature work included supporting the weapons vendor setup by creating weapon pickup and place animations, progressing with the locomotion polish mentioned last month, and retargeting overlay animations to the female skeleton.
The AI designers continued implementing the dynamic conversations feature, expanding it to the eat-and-drink behavior. Now, NPCs can have conversations between bites or drinks.
“We are pleased with the result, as it makes the AI feel less individual and more connected with other NPCs.” AI Content Team
AI engineers will now also seek out colleagues at wall panels and work zones (e.g. broken pipes) to start conversations. They’re currently working on implementing chatter for AI in bunk beds and arcade machines, too.
AI (Features)
For human combat, AI Features continued to work on tactic selection, including implementing a more data-driven approach to setting up the scoring factors in Data-Forge. This will allow the designers to quickly tweak values to produce the best possible range of combat behaviors for the situation, including with multiple combatants with different setups and ranges. This solution extends the ‘function selection’ in Subsumption to allow the game code to register a custom probability calculator, which will provide benefits in general, not just for combat behaviors.
They also began aligning the existing perception systems to a new design where the perception meter rises depending on different stimuli (hearing footsteps or gunfire, seeing a target, etc.) and falls over time. Once different threshold levels on the meter are hit, they trigger different alertness levels that determine specific reaction animations and behaviors. For example, at the lowest level, the AI will react by simply turning their head toward the stimulus. At the middle level, they will investigate the stimulus and, at the highest, they will enter combat. Stimuli can also impact the meter in different ways based on the conditions of the target, including whether they’re crouched or standing and the location’s lighting.
Work also started on the investigation behavior, with the devs implementing a system to allow NPCs to determine potential enemy hiding spots, check them, and keep track of which ones they’ve seen. The next stage is for NPCs to share information so they can cover a level together.
They’re also working to improve the consistency of cover selection using the automatic cover generation system. They’re also planning to improve the quality of cover and provide more information to the AI so that less decision making has to be made at runtime.
They also blocked out animations for human-AI mantling and vaulting to give NPCs more locomotion options when moving around the environment. Clean-up and timing tasks were also completed for the spec-ops animation sets.
For the Vanduul, the team blocked out several animations, including piloting, and some location-specific animations used to get the Vanduul from their spawn positions (often off the navigation mesh) into the level.
AI (Tech)
During July, AI Tech focused on extending the functionalities required to traverse navigation islands using special actions. This included implementing new adapters for navigation links to include mantling, jumping down, and vaulting.
“The basic idea is that, using all the existing markup, we want to allow NPCs to perform similar actions to the player in the environment. For example, we adjusted the ledge objects to include specifications that evaluate the navmesh and link multiple islands correctly.” AI Tech Team
They also continued R&D on seamless transitions into usables. This time, they implemented a cleaner and more reliable system for sharp-turn animations, giving more natural movement to NPCs following paths around corners. This allows helps NPCs feel ‘heavier’ and show weight balancing when moving over sharp corners.
Progress was also made on the locomotion refactor. Last month, the team began improving how AI actors process movement, which will allow them to decouple movement requests from what processes it. This is an important change to better support multiple path-followers used in different contexts. For example, actors, creatures, or NPCs driving a vehicle or pushing a trolley. They’re currently preparing to integrate into the Squadron 42 branch and verify that everything works as expected.
For the Subsumption editor within the sandbox tool, AI Tech implemented new functionality and stabilized the tool to finally open up the usage to all the designers.
A better AI-debug UI using imGUI is currently being implemented to allow the devs to select and inspect NPC behaviors. The tool can split the NPCs present in each zone, select multiple NPCs, and inspect their properties.
Progress was also made on ship reinforcement for Alpha 3.17.1. The team made the feature more robust by adding better monitoring of the disembarking process from the pilot’s perspective. They also added an abort phase for the dropship in case the drop location is occupied, and the pilot can now monitor the presence of a player inside the cargo area.
They also fixed several bugs relating to slow reaction time and desyncs/teleports. These issues are mostly caused by a low server framerate but the devs optimized the code and implemented tweaks to allow the code to better handle some of those situations.
AI (Vehicles)
In July, the AI Vehicle Team finished enabling AI to use master modes; AI is now fully integrated with the ability to swap master modes when required by the operator mode they want to use. The designers will also soon be able to cycle modes to give AI access to higher SCM speeds when designing behaviors.
Bug fixes were also made throughout the month, including an issue with the ‘FlyTo’ not computing an efficient path and dive attacks not ignoring driverless space ships.
Animation
Last month, the Animation team further developed zero-g movement and navigation, adjusting the feel to give a better overall experience. They also worked on a new SMG, additional weapons for the master-at-arms, ladder interactions, female console use, and locomotion (sharp turns and jukes).
New mobiGlas interactions were developed to give a more realistic feel to characters, and progress was made on the Vanduul, this time searching vents and climbing.
On the facial side, improvements to the facial animations of the named cast members continued.
Art (Characters)
The Character team spent June focusing on the remaining Navy faction outfits and progressed with the Screaming Galsons armors. They’re currently preparing to create the Shubin mining outfits and work with Tech Animation on head scans for various characters.
Art (Weapons)
Weapon Art started the month bug fixing, closing out around half of their backlog of bugs alongside clean-up work. Progress was then made on the Volt shotgun, pistol, assault rifle, and sniper rifle.
Animation work progressed for the Volt weapons too, and first pass animations and reviews of the new melee weapon metrics were completed.
Work also began on some SQ42-faction-specific weapons, beginning with an SMG and shotgun. The military Multi-Tool had its whitebox updated with new screen positions to ensure the UI will work for the intended gameplay too.
Engine
In July, the Physics team made several optimizations to the code. Ray/box overlap checks were implemented in ISPC and are now also used in ray world intersections (RWI) to quickly skip entity parts if there's no overlap of a ray and an entity's local bounds. Further optimizations include using a box pruner to process vehicle wheels and all of their possible colliders (and their parts) more quickly, as well as SSE and AVX2 optimizations in the code that searches parts of a physical entity. Additionally, support for successive pulley attachments to rope entities was added, and the spatial configuration of interior grid types was changed to use more layers of internal nodes that are smaller in dimension. This, for instance, helped in Port Olisar, where a lot of time was spent maintaining thunk lists, which is completely removed by this change.
On the renderer, the Gen12 transition continued. For example, Gen12 Scaleform (UI) rendering was enabled by default, support for MIP map generation passes was added, and material overrides for render nodes are now supported, including for multi materials. The depth pre-pass submission is now skipped if motion vectors are rendered. Thread synchronization code in pipeline state object (PSO) cache refreshing as well as in the shader system was improved, and unnecessary stencil tests for the shadow map stage were removed. The render loading thread was replaced by a video rendering thread, which is needed for the sole purpose of rendering UI while the game is loading. Lastly, a bug that was crashing the video driver was fixed and the entire render code was changed to successfully compile via Include-What-You-Use (IWYU). Various issues in the form of buffer overruns in low-level VFX render code were also fixed.
The Gen12 ports of atmospheric and volumetric cloud rendering continued as look-up table generation for atmosphere, as well as volumetric cloud preprocessing steps, were successfully moved over to execute through the new APIs. The rendering of legacy (spherical) clouds was moved to Gen12 too and can now also render as part of the deferred pipeline’s forward stage (which will be enabled soon). This recent progress also resulted in various suggestions (some of which have already been implemented) to refine the Gen12 APIs for special cases so they can be ported straightforwardly and integrate better. Lastly, work on porting the remaining passes for atmospheric and volumetric clouds will commence in August.
On the core engine, entity lifetime code was adjusted for the new needs of server meshing with the goal of it being easier to use as well as creating a more refined feeling of persistence. A time-sliced entity density manager was implemented as a part of the reworked entity lifetime for server meshing. The background job manager was changed to better cope with very long-running preempted background jobs to reduce runtime stalls. For example, stalls during shader compilation. Furthermore, component lifetime now uses a cheaper custom weak pointer approach that the current std::shared_ptr cannot provide. Moreover, StarHash bind culling of sub-zones was significantly optimized. The ability to set hardware (data) breakpoints from code was fixed and, lastly, Linux thread priority changed to use real-time FIFO scheduling.
Features (Gameplay)
Gameplay Features focused on support and bug fixing throughout July, specifically looking into performance and polishing recently-worked-on features. New functionality was also added to player choice; this feature now utilizes the same setup used for conversations and allows Design to change whether the text is camera facing along with its size and offset.
Features (Vehicle)
Vehicle Features started designing the new multi-function displays alongside the core engineering technology work in the background. The design side is mostly complete, with the focus now on prototypes.
The team also spent time integrating the new resource network that will deliver more interesting and varied engineering gameplay. This will also increase performance as items are used much more efficiently.
Quantum boost was fully integrated into SQ42 and handed over to the designers to enable them to feedback on further level-design requirements. Finally on the tech side, the team continued to support persistent streaming with a transit refactor alongside bug fixing.
Missiles received a complete flight retune after some bug-fixing highlighted problems with the way the missiles were set up. Now, focus is on the intercept portion of flight and controlling accelerations rather than allowing them to be controlled as dynamically as they were before.
The team also began balancing what speeds and tunings are required for the new Master Modes feature, ensuring they get the combat speeds right under normal thrust and boost so combat starts to move in the intended direction.
To help with future ship balance and the introduction of the resource network, the team created a master tuning document that will not only act as a reference point for future ship designs but allow them to set out the requirements of the recourse network balance once it’s handed to Design.
Gameplay Story
Gameplay Story received a fresh delivery of motion capture early in July, which allowed them to make great strides in several different areas, including creating a whole new scene in chapter 1 and updating the start of another.
They also make a significant update to scenes in chapter 4G, overhauled a scene in chapter 4, and further polished scenes in chapter 4. Maintenance was also performed across various scenes in several different chapters.
The team also looked at the later chapters and began prototyping two new scenes in chapter 10 and made some minor updates to chapter 12.
Graphics & VFX Programming
July saw the implementation of a dynamic bitset data structure, which replaces the TJointBitSet, as well as the investigation and testing of offline damage maps with persistence. The team also worked on separating CPU & GPU implementation, ensuring they result in the same damage map.
The team finished porting Gas Clouds to Gen12 and fixed several issues, including a GPU crash related to this feature. Work began on Vulkan scaleform functionality and particle mesh rendering in Gen12. Progress was also made on porting refraction and light beams to Gen12.
Canvas decal texture streaming was sped up and image testing now waits for it to complete. Support for silhouettes on editor entity objects was added alongside improvements to render-item sorting to make it consistent at different runs.
Hair color and specular improvements were finished for the hair shader. There were also updates to tessellation and displacement on the organic shader. For jump points, the team focused on branching tunnels, which included fixing situations where the connecting segments self-intersect.
The Planet Tech team made improvements to the world and biome builder by moving mesh building to background jobs, substantially reducing stutters in-editor. There were also fixes for mismatching physics meshes on servers as well as a refactor of procedural entities, which improved planet loading time. Four-point Bezier curves were also added to river generation alongside general improvements to the river placement tool. Collision detection was added to RaStar to prevent modules from being placed when they overlap with geometry, too.
Narrative
During July, Narrative focused on completing first-pass scripting and recording scratch dialogue for a large section of one of SQ42’s middle chapters. Design refined the gameplay in this section so Narrative frequently played through these updated enemy encounters, puzzles, stealth, and navigation challenges.
“It’s very important to make sure the player always understands what their current goals are and what their next steps should be so, to that end, the writers have been working to balance dialogue hints to ensure that players who need a bit more guidance will be able to get it without spoiling the fun or challenge of a given area.” Narrative Team
Additionally, as gameplay mechanics were iterated on and polished, the Narrative team adjusted the script to ensure that lines referencing those mechanics matched how the gameplay worked. For example, recent improvements to the radar and scanning system allowed them to streamline some of the terminology used by characters in-game.
The team also looked to expand the use of the dynamic conversation system to enhance the background and enemy NPCs that players will come across. While important key conversations are specifically planned for the player to encounter, there are some areas where the player’s freedom to explore has highlighted the need for additional content to bring it to life. Rather than relying on additional bespoke lines, the team is investigating using dynamic conversations to allow for a much broader range of content to fill the space.
Tech Animation
The Tech Animation team continued to invest time into the tools codebase. Years of development and quick fixes are being triaged, consolidated, and revamped to fully conform to their coding standards and modularize the codebase to be more accessible to the technical animators. This will expedite the creation of tools and the pipeline that rely on core processes.
Alongside this, they’re currently developing and integrating several new tool chains: CGA and SKIN loading in Maya, RBF solver development, and SSD & Alembic animation pipeline support. Their future development roadmap is also in planning.
UI
Last month, the UI team continued development of the new Starmap, improving labeling and concepting how to display space clouds in a way that looks great and performs well.
The artists then worked with the game designers to create concepts for several interactive UI screens found around the game.
The team also worked on new doors and airlocks specifically for SQ42, building them to look right in various UI styles and setting them up to support a variety of gameplay scenarios.
VFX
Throughout July, the VFX team continued to work closely with Art and Design, supporting all visual-effect requirements for their Q3 milestones.
They also spent time cleaning up and documenting one of their most crucial pipelines: Rigid Body Destruction. The majority of SQ42’s destruction sequences are created in Houdini, then exported into the engine. The visual requirements of the sequence determine the way it’s exported, with two file formats available: CGA, for animated geometry transforms (e.g. building pieces breaking apart) and Alembic, for animated geometry deformation (e.g. bending metal). So, it’s important that the pipeline is robust enough to handle the varying complexity of the destruction sequences without slowing the artists down.
WE'LL SEE YOU NEXT MONTH...
// END TRANSMISSION
Links
No links available.
Metadata
- CIG ID
- 18820
- Channel
- Feedback
- Category
- Undefined
- Series
- None
- Comments
- 0
- Published
- 3 years ago (2022-08-11T12:00:00+00:00)