Welcome to October’s PU Monthly Report. With many of the teams having completed their work for the upcoming IAE event and Alpha 3.18 release, progress was made on tasks for early next year and beyond. Read on for the latest developments on AI behaviors, ongoing engine improvements, Arena Commander, and more.
Throughout October, the AI Content team progressed with the vendor and patron behaviors, realizing the full flow of NPCs ordering, carrying, and consuming food and drink. This gives them a sense of life and purpose, as they’re always busy doing something.
Progress continued on the utility behavior, with AI characters opening crates, taking items out, and putting items in. This was a surprisingly complex task but the various elements are now working well together.
Other tasks involved polishing the quartermaster behavior, making animation pose updates, setting up wildlines, overhauling documentation, and prototyping food eating.
Last month, the AI animators continued to refine Vanduul execution animations to ensure they’re perceived as strong and impactful from the first-person perspective, are better suited to be played “on the spot” if the attack occurs in a cramped space, are more believable to be deflectable by the player, and allow players to escape or attack once deflected.
On the perception system side, the AI team implemented functionality to allow them to rate and respond to ‘disruptions,’ which are unexpected scenarios that can be resolved. For example, the lights of a room turning off or an engine being disabled. Players can use this mechanic to try to disrupt NPC behaviors when they haven’t been detected, giving them the opportunity to better infiltrate the level by avoiding patrols and sentries.
Players can also use ‘distractions’ (actions that trigger audio stimuli, such as throwing an object) to cause NPCs to leave their positions to investigate.
“We had to ensure that these events are propagated out to all of the agents within the appropriate area, that they are handled by the perception system, rated against the current threat level, and that the correct behaviors are implemented to resolve the disruptions. The resolution may involve agents going to investigate the source of the disruption, or alternatively, if too many disruptions have occurred, to increase their alertness level. This means that they may take out their weapons, say specific alertness-level wildlines, or respond quicker to subsequent events. We also had to take into consideration that the immediate source of the disruption may not be what the NPC wants to investigate. For example, the agent may perceive that a light goes out, but they would want to investigate the light switch that controls the light, and ultimately, if they don’t encounter the player, turn the light back on again.” AI Features Team
October also saw AI implement rocket launcher and railgun handling. For rocket launchers, NPCs have to consider if the shot will cause explosive splash damage to friendly agents. This check can be disabled using the friendly-fire trait to enable more reckless enemies. For the railgun, they changed how the behavior works in cover. Now, NPCs will start charging the weapon while in cover before emerging to fire. For both of these weapons, the team disabled the standard check to see if the weapon can hit the target, so enemies will continue to fire at the target even when in cover. This allows the player to see that these weapons are being fired nearby and respond accordingly rather than being immediately hit upon leaving cover. As part of this work, they also reviewed the existing shouldered weapon animations.
Continuing with weapon usage, AI Features implemented how NPCs pick up weapons and ammunition during combat. Enemies are under the same ammunition constraints as the player, requiring them to conserve it and use other weapons when they run out. NPCs will evaluate the best course of action in this situation, including switching to their secondary weapon, picking up ammunition, or finding a new weapon altogether. When looking for ammunition, they could take it from boxes, out of loose weapons, or from stowed weapons on dead or incapacitated characters. When looking for weapons, they could get them from racks, find them around the area, or take them from other characters. To implement this, weapons were set up as usables, which allows the AI to search for the best usable that can provide ammo or a weapon. The team had to modify the usable system slightly, including adding support for usables that supply themselves (loose weapons or ammo) and ensuring that usable alignment positions are correctly aligned with gravity when the weapon or ammo falls.
For non-combat AI, the team worked on functionality to support NPCs moving cargo from one location to another, including picking up crates, stacking them on a trolley, moving the trolley to a destination (such as a cargo hold), and then taking them off the trolley and re-stacking them. An existing prototype was also adapted with new tech to provide behaviors that can be used in varying locations to bring them to life.
They also refined their tools to generate better quality cover. This included making cover generation more robust to edge cases and supporting recognition of cover over a certain distance from identified ‘cover edges.’ This allows cover to be generated in a greater range of areas.
Finally, AI Features took the first steps towards implementing ‘buddy AI’ that will support gameplay where the player is accompanied by one or more characters. To begin with, they made a rapid prototype featuring some of the functionality that might be required to generate conversations about what the final form of this would be and how it will fit into gameplay.
Last month, the AI Tech team made several usability improvements to the Apollo Subsumption tool. This included updating the multigraph with feature folders and functions to allow organization from the outline view. For example, the designers are now able to delete and move graphs to different folders directly from the outline view panel. They can also drag a node connection into an empty section of the graph to open the drop-down menu that allows them to create a new task.
Minor usability improvements were made too, including allowing all the entries in the outline view to collapse and the addition of a new filter field in the variable tree view.
They also extended the graph view with a new custom view style. This is currently used to allow Apollo to open, visualize, and edit the Mastegraph files that were previously managed by hand.
For perception, the team worked on supporting audio noise level and audio masking: Audio noise level ensures that audio stimuli that don’t surpass the basic background noise won’t be heard by listeners. New tools were implemented to allow the designers to configure the audio noise level in an area and the type of sounds that should be considered “normal” in that area.
Audio masking makes sure that particular audio stimuli are not perceived as anomalous. For example, explosions in a field where fireworks are tested. This allows the player to use the environment as audio cover when performing actions. For example, firing weapons near a shooting range as to not alert NPCs.
The team implemented light extensions to action areas. These enable the designers to link light groups to an area and automatically calculate whether the state of the environment should be light or dark. This impacts the time NPCs require to perceive a target, making it easier to stay hidden in darker areas.
AI Tech also extended the system that allows the visibility of large objects, such as vehicles.
“Large vehicles can be seen at further distances but we need to avoid approaches that cost too much on the CPU, such as doing raycasts for very long distances. To prevent this, we can now describe the visibility of a large object depending on the degree of visual angle – basically at which distance it has a specific size from the observer’s perspective.” AI Tech Team
This also allows the team to defer the discovery phase of which objects are within range of large objects. This utilizes one query, which then allows each individual to correctly verify the occlusion of the object.
The parameters of the visual field-of-view were also extended to be overridable based on the AI state. For example, allowing pilots to see at a greater distance and visually target on-foot characters.
The team continued extending navigation links to support two main functionalities: Firstly, they enabled usable routing to function with entity links to allow door panels (that are linked to a door) to be correctly used by NPCs. This will allow them to understand which panel they should use to trigger the right interaction.
Secondly, they exposed a way to define the costs of nav-links based on specific conditions, such as increasing the cost for vaulting when a character isn’t alerted or walking. Those costs allow the system to describe how preferable actions are from the NPC’s perspective. For example, a character wouldn’t vault, which is a physically demanding action, if not needed.
Work began to properly allow NPCs to drive ground vehicles. The team are currently verifying the setup of a selection of vehicles to use as reference. They also set up the code to switch to the right nav-mesh when driving a vehicle and select the right path-follower.
Finally for AI Tech, the team worked on the locomotion refactor, which involved integrating current work into different streams to begin stabilizing bugs. They also experimented with foot locking during MoveNet and are currently verifying how to use this functionality on various aspects of locomotion, such as during sharp turns. They also implemented a first frame adjustment for the seamless transition code to improve the entering of usables. This will also play a specific animation at a specific location with a specific pose.
Last month, the Animation team began discussing bringing creatures into the PU.
“Our team had just signed off on the rig for the first creature, meaning we can finally start animating our first interactable creature! Animation Team
The facial team progressed with AI worker animations, including the bartender. They also worked on various performances for IAE and the gameplay for delivering a person from one location to another.
Last month, the Character Art team delivered armor variants for Security Post Kareah. Production started on frontier workwear outfits and undersuits following work by the Character Concept Art team too.
The Ship team progressed with the Argo SRV, moving the exterior through to the final art stage.
Early in October, the Community team supported Day of the Vara, the ‘verse’s take on Halloween. Citizens hunted down in-game masks, picked up Ghoulish Green paints for Drake ships, and entered pumpkin carving and trick-or-treat video contests.
The team then worked on Digital CitizenCon 2022. Alongside the developer panels, they unveiled the new Community Hub and supported the Ship team with their Pick-A-Ship Challenge. Each individual panel and the full show are available to rewatch now.
Following its reveal during CitizenCon, the team released the Crusader Spirit Q&A, with devs answering the community’s questions on the new concept ship.
The Community team also continued their Bar Citizen World Tour, with visits to Chicago, New Jersey, Paris and Madrid.
“As always, the team wants you to know that your hospitality and warm welcomes are greatly appreciated. We love getting to make new friends and celebrate Star Citizen with all of you. We’ll be visiting even more Bar Citizen events in the coming months, so stay tuned!” Community Team
In October, the Physics team worked on various improvements, including brush physicalization, which was put into queues of 32 entries each and forced to be processed in parallel. Spawn batch finalization was reworked to wait for all brush archetypes and their material clones to be fully physicalized before finalizing the spawned entities, and the root spawn batch can now be queried from outside of the entity system. A physics event was added for cluster breakage along with an entity event that detaches the corresponding compounded entity. Additionally, various optimizations were made to improve low-level data access and reduce contention. Also, the physics environment is no longer woken during the bulk destruction of brushes unless they have a collider. Lastly, severe stalls during entity deletion as well as the network aspects of breakability were fixed.
On the renderer, more progress was made on the Gen12 transition. A lot of work was done on particles. Among other things, the light atlas stage was rewritten to make use of the material permutation cache, and a lot of code in the GPU particle system was refactored and cleaned up. The particle submission code and its PSO management were rewritten as well. Furthermore, light lists are now managed per scene pass, which will eventually help simplify the tiled shading stage. Additionally, opaque sun shadows for gas clouds, image ghosting, various game post-effects (water droplets, flash bang, ocular migraine, blood vision), the projectile manager, RTT support functionality, and render target debug viz were ported to Gen12. Support for transient scene render passes was completed, and collision checks for resource sets were added. Offline cube maps now use their own pipeline to allow for different feature sets. Lastly, lots of optimizations and cleanups were made all around.
Regarding atmosphere and volumetric clouds, improvements were made to the Gen12 code by adopting the transient passes made available in September. Furthermore, a preview mode was implemented to help lighting artists setting up planet atmospheres.
On the core engine, the team made additional improvements to entity lifetime management. This involved adding code to group objects for lifetime management and how entity deletion is handled on stream out. All legacy entity lifetime code was removed. The entity allocator was changed to be page based. In-engine file mapping support was completed (i.e., faster p4k file access). Initial steps were done to run all game code through Include-What-You-Use to remove unnecessary header dependencies, which should ultimately lead to faster incremental compile times. Lastly, in case of failed memory allocations, it’s now possible to identify relevant code owners and list them in bug reports automatically to speed up bug processing.
The remainder of the time was spent supporting Alpha 3.18 and the live PU.
Features (Arena Commander)
The Engineering team began the month with quality-of-life and bug fixes. They then added additional post-game score awards and fixed the bleed-out damage type.
The team finished its integration of Alpha 3.18’s deliverables into game-dev, with some minor items pending that will be addressed later. They fixed an issue with the test-runner in cases where the actor died and added Jericho Station and four race maps to the backend, which Design also submitted levels and records for. Support continued for radar and scanning for SQ42, while part of the team supported an issue with vehicles not exploding upon death.
A new concept was made for the Duel Mode pre-game, as the team shifts Arena Commander’s focus to being the primary competitive ranked mode. The new pre-game allows players to select from multiple ships outside of their selected one from the frontend, as well as see what their opponent has picked. This will act as the game’s initial draft system. Following community feedback, additional ways to improve Duel Mode itself were discussed and tasked.
“We are very pleased that the team’s direction already matches public opinions; every topic and issue brought up had already been discussed and scheduled by ACFT.” Arena Commander Feature Team
Feature additions and bug fixing continued for the new Arena Commander 1.5 frontend, including adding video backgrounds per game mode. The team also explored how to improve the first deliverable of the new frontend, including changes to the layout and how to make the scene feel more like a simulation.
Design finished their initial pass on five new racetracks: Snake Pit, Icebreaker, Ratari Station, Dunlow Derby, and Lorville Gateways. A new dogfighting map, Jericho Station, was successfully playtested and is planned for an upcoming patch.
Features (Characters & Weapons)
Last month, the Features team improved various existing features, including the ability to vault or mantle over a ledge, which can now be triggered mid-jump or fall. This adds further options for the level designers when constructing on-foot traversal puzzles.
Players can now also look up and down while moving on a ladder to help them see where they’re going. If they stop, they can look around 360 degrees too. This is done by creating an idle animation with 360 poses. The game then picks the frame from the asset that matches the player’s yaw relative to the ladder. This then becomes the base idle on top of which the team can build other actions. For example, being able to jump away from the ladder in the facing direction.
The ability to move all items from one inventory to another is now in the final internal test sweep.
“A number of the features the team have been working on were on show during CitizenCon and we really appreciate all the positive feedback received.” Features Team
In the US, work continued on the initial implementation of the cargo refactor and new commodity kiosk UI for Alpha 3.18. This will affect buying, selling, and moving around single-SCU resource cargo containers with the tractor beam after purchase and outside green zones. Gameplay Features also continued to support the buying and selling of FPS refillable RMC containers and the containers created by the Vulture and Reclaimer.
Updates were made to the prison, including the kiosk, which received new gameplay items. Alongside this, the setup and inventories were adjusted across all shops for new commodities that come with the cargo refactor. They also updated the shops to support IAE merchandise. The shop setup for Pyro began and is ongoing. UI screens for the commodity kiosk, mission manager, and bounty hunting progressed too.
Planning and documentation began for freight elevators and subsequent cargo refactor updates, which will begin in Q4 2022. Documentation and investigation began into multi- and large-container cargo delivery missions that could coincide with the delivery of T1 cargo.
The Manchester and Frankfurt-based teams progressed with hull scraping, adding the finishing touches and quality-of-life improvements for its balance pass. Additional time was also put into the ‘fresh derelict’ harvestables that can spawn in space to make them look more worn and authentic.
They also worked with the Montreal team to add some not-clearly-identifiable pieces to debris fields, and helped the US team with the cargo refactor.
The team’s work on gravity and life support is approaching final, with the remainder of the work on the resource-management system that will bring it all together.
Mission Features added final polish to various missions, including a new ending to the prison escape that will add further excitement and challenge.
They then worked with Art to further expand the Jumptown drug lab.
“It has doubled in size and includes a second entrance, second drug dispenser, and multiple windows and skylights to see inside. To improve gunplay on the interior, we made it circular and removed most of the doors for longer sight lines.” Mission Feature Team
Trespass areas were also updated so that lawful trespass and entering hostile areas are now different. The name of the org in control of the area is also shown upon entering and, once access to the area is revoked (e.g. at the end of a mission), players are shown a countdown to when they will be trespassing should they remain.
Finally, bugs relating to CrimeStat and ship collisions were identified and fixed.
Last month, Vehicle Features supported the docking and transit features. Both continue to be long-term requirements for the team as each release poses new issues, particularly with transit, which will likely remain until the launch of the new transit system.
Multi-function-displays (MFD) progressed well, with the weapons, emissions, and ship models submitted and working in-game. The self-status screen also made it into the SQ42 UI stream, and tasks were started for the comms and weapon self-status MFDs.
Work also began on the new version of quantum travel, which currently involves refactoring the current feature in preparation for rework.
The team’s AI support increased throughout October. This mostly focused on the ship vs player boss fights in SQ42, with the Cutlass now flying with its new behavior on a spline attacking the player. They also supported the flight team with both AI and non-AI requests.
Support for the Q4 ship releases began too, with tuning currently in progress. Alongside this, the new ground-vehicle tech was further developed and will be enabled in a coming sprint. Before this, issues with the Drake Mule driving like a tank will be resolved.
Master Modes progressed well in testing. The team confirmed the speeds for SCM, boost, and quantum travel and are now testing racing ships and looking into how to balance disabling ships as they change between SCM and QT.
“We also used this opportunity to rebalance a lot of weapons, redoing the differences in behaviors we had reset for the Alpha 3.14 rework.” Vehicle Features Team
Recourse network support continued with the power conversation and initial work on integrating heat components. The team are currently setting out their design support for the feature as a lot of components will need converting once the technical work is complete. Alongside this, the aiming refactor is now almost complete, with the remaining work focusing on implementing the new UI.
A big step was made on control surfaces. Now, ships gliding without thrusters has been reduced over the previous surface model. Finally, the new restricted areas system passed its go/no-go and is now enabled.
Graphics & VFX Programming & Planet Tech
In October, the team continued to focus on damage maps, fixing missing initial damage on debris, incorrect damage map sizes, and inconsistencies between ship sizes. Time was also spent investigating networking and persistence for debris.
Further progress was made on porting gas clouds and CPU particles to Gen12. The Gen12 GPU marker refactor was also completed, and some issues were fixed relating to the hair and hologram shaders.
For the ongoing data-pipeline refactor, the team continued work on SKIN files, allowing compacted, non-split files to be compiled or loaded. They also implemented process groups in support of multiple input formats.
Development of screen space shadows began, which involved adjusting raytracing to account for thin objects. Work was also done on anti-aliased lines for aux geometry (editor debug) and UI (for use on the StarMap). They also added new features for the UIMesh shader (multi-scale texturing, bi/tri-planar projection, smoothing) alongside enabling wetness effects to work with blood, sweat, and tears.
The team closed out RaStar v1 and fixed the remaining bugs and crashes raised by the content teams. There were also various fixes submitted for rivers, and R&D began on water sim and water rendering improvements.
Lighting continued their work on Pyro, Lorville, IAE, Orison’s racetrack, Security Post Kareah, and derelict space settlements.
Lorville received a lighting clean-up to improve certain areas, while the level as a whole was tidied up to bring it back to its originally intended state.
They also closed out various previous locations to ensure that everything is up to scratch.
The EU Locations team continued to work on Pyro’s Rest Stop, making great progress on the internals of the station. They then moved focus toward the station’s external arms.
Work was also closed out on Security Post Kareah, and progress was made on the IAE event halls and cargo. They continued their ongoing task of “adding life to landing zones” too.
As the rush towards IAE and Alpha 3.18 continued, the Narrative team provided additional support to fix bugs and issues that arose through testing. For IAE, they helped deliver new content that was recorded in recent motion-capture sessions.
“This was particularly exciting, as we were able to utilize one of our dedicated narrative designers to build the AI behavior to hand over to Design to implement.” Narrative Team
Narrative also started working with Mission Features on the existing air-traffic-control behavior. This will help fix problems with the existing behavior while also supporting the newest upgrades to the system, which will then be standardized for any additional air-traffic-control characters and scripts in the future.
They also continued to meet with the Mission teams to develop the ‘investigate’ missions featured in Narrative CitizenCon video. After last month’s push, the writers were tasked with coming up with a sample mystery for players to investigate to stress test the foundational system and see how scalable this mission could be.
In addition, they provided text for upcoming missions and opened discussions on a handful of other mission types that will be coming in the next few patches. The team worked closely with the Design and UI teams on some of the upcoming mobiGlas apps that will support new gameplay currently in development.
Throughout October, new content was added to the website, including a Spectrum Spectator that explored the history of CitizenCon, a Portfolio spotlighting Stegman’s, and the return of Old Jegger in an installment of Far from Home. Finally, another installment of Galactapedia articles made their way out of the archives and onto the site.
“This month’s anniversary on CitizenCon marks ten years’ worth of content that has made its way into the Spectrum Dispatch section of the website. From the earliest days of the Time Capsules to Cal Mason, Kid Crimson, and News Updates, these weekly updates have been a great opportunity to dive deep into the Star Citizen universe, so we want to say thank you for all the enthusiasm and support over the years.”
Online Services (Montreal)
The Online Services team spent October completing several remaining features, including the new character repair/reset process and how in-game transactions are handled.
They also improved the new login-flow process to allow for faster entry into the game when a player has a pre-entitled account, as well as the new retry service that will resubmit a message back to the service application for a reattempt.
Lastly, the team made a quality-of-life update that sorts the in-game friends list alphabetically. This is planned to be included in Alpha 3.18.
Live Tools (Montreal)
Throughout October, the Live Tools team focused on features relating to Persistent Entity Streaming, specifically the implementation of the login-flow module in the Network Operation Center. This module gathers different features, including the ability to manage entitlements and rentals. It also provides more detailed and precise information to users about the login details of players, enabling the detection and analysis of issues.
Turbulent (Web Platform)
The Turbulent team began the month supporting CitizenCon 2952, including the main-event, Greycat STV, and Crusader Spirit pages. The team continued to make improvements to the CMS tool, Alexandria, which supports bespoke webpages. The latest improvements were around the ‘explore’ video module, enabling it to add points of interest to video content. A grid module was also created to give another way to display information.
Multiple teams from Turbulent contributed to the IAE promotions coming in November. For example, a new web skin was developed to emulate the expo hall and improvements were made to the promotional ship wall.
Turbulent’s Design team focused on generating brand alignment across the website, losing some of the legacy UI elements and bringing in a new look.
One of Turbulent’s biggest launches in October was the release of the updated Community Hub.
“The Community Hub will emerge slowly as the most relevant place to see contests, events, and what other community members are livestreaming or creating. As more features come online, it will begin to emerge as a social-media platform where you can follow your favorite creators and never miss out on an in-game or live event.” Turbulent Web Platform Team
Finally, the team continued to rework the roles and access controls for improved security.
The UI team continued developing the new StarMap, particularly the underlying tech to allow them to easily display it in different locations. For example, in ships, the mobiGlas, and potentially screens in levels. They also updated the controls and improved the look of planets.
Alongside working on the interaction prompts seen at CitizenCon, UI continued to adapt and bugfix the loadout system to ensure it works with Persistent Streaming.
October saw the VFX team complete their work on the salvage and repair feature.
Two vehicles continued through the VFX production phase, receiving effects for thrusters, damage, atmospheric entry, quantum travel, and shields.
The team also implemented a ‘task pool,’ which allows the artists to tackle various miscellaneous tasks that have accumulated in the backlog.
“This typically consists of minor bugs and quality-of-life improvements, so it has been great to be able to focus on these things while continuing to support major content and features.” VFX Team