In the wake of the explosive XenoThreat event, the developers completed tasks for the upcoming Alpha 3.13, progressed with the content due in Alpha 3.14, and made inroads into the new worlds coming later in the year and beyond. Read on for all the details.
Star Citizen Monthly Report: February 2021
Throughout February, AI Content continued with the engineer behavior, which helped identify further low-level improvements that could be extended to other systems to achieve even more complex behaviors (as they did with the bartender). They also started the downstream definitions of the usables required for the engineer, hygiene, and vendor shop extensions. The tier-zero implementations of the hawker, tourist, and tour guide behavior were completed too.
AI Features made improvements to the communication system. First, they enabled a selection of communication variations to be aware of the animation options setup in Mannequin. This allows them to drive randomization in a way that prevents possible repetitions.
Secondly, they improved the low-level patrol tech code to support the customization of input parameters on the Subsumption logic for each patrol vertex. To achieve this, they extended the serialization code to allow multiple interfaces for variable serializations. So, from the editor code, they can automatically call through the right function for each variable type. Some variable types are plain old data (POD) and the system allows the registration of a global function associated with that type, such as integers and doubles. As with other custom types, the team can now allow calling class member functions to make the code more structured.
For usables, the team extended the crafting dictionary used to understand which items a usable can produce to handle multiple tags. This will enable them to understand which operations can produce multiple objects in one interaction. The routing verification in the query system was extended so that usables that provide or accept items can also be retrieved when slotted into other usables. They continued to improve the automatic testing setup for Subsumption, allowing the flowgraph UI to create a specific popup of only available functions instead of manually typing the function name.
For Character Combat, improvements were made to the fire cadence skill calculation. This was initially done using a global modifier but now uses skill formulas to ensure different character abilities influence the actual ability to use weapons.
Previously AI rate of fire was globally controlled by two cvar(s), basically two global values designers could tweak. We now have transformed this into a proper “formula” that takes into account the weapon proficiency to allow each character to have a different confidence of how many bullets to use, how quickly to press the trigger based on their traits (is the NPC confident, a showoff?) and on their actual ability with the specific weapon.
The team are currently progressing on the sub-component targeting, extending the targeting system to better filter entity sub-targets. This system will be shared across spaceships and characters. For example, NPCs on foot could target a ship engine with a rocket launcher the same way a ship could target the engine with missiles.
In this test environment you can see how ships are now able to fully focus on a specific subcomponent of another ship. In this case one of the trusters are blown away and then the next one is targeted.
In this test environment we setup a character to replenish his magazines. This is a test map to validate the setup of the ammo crates and make sure that the character can correctly find a crate that can provide magazines/ammos for the weapons he currently has and he can then use the usable correctly.
Last month, AI Tech supported character EVA movement. The idea is to reuse and extend the 3D pathfinding implemented for spaceships to characters in zero-g. The overall system was designed with this use-case in mind, so current work is to improve and extend the movement system to ensure the right context is available when an EVA or ship control movement is requested. They’re planning to support automatic enters/exits of ships from zero-g using the usable system too.
The team are currently extending the navigation system to give more context when in-game run-time regeneration requests are queued. The current system relies on physics events for regeneration, which makes it harder for the system to understand what entity type is causing a navigation mesh regeneration and what threshold can be tolerated. The new system utilizes an extension that enables the team to better understand ship states. For example, even if a ship is ‘awake’ in physics when landed, unless significant movements occur, they can accumulate modifications and only request a navmesh regeneration when the accumulated difference exceeds a certain threshold.
The team also progressed with porting the Subsumption editor into the game editor to better connect the editing interface with the runtime code. This involved adding a more advanced ‘find’ functionality that globally scans and finds references in Subsumption data.
The Animation Team began the month shooting motion-capture for several usables, including vending machines and tourists. They also continued with facial animations for various mission-givers and planned out what was needed to start exploring creatures.
Character Art kicked off February finalizing new assets for the refinery decks, with the majority currently in the hands of QA for testing. They also wrapped-up Subscriber items for April and June.
Assets for Alpha 3.14 were added into the pipeline, including a new armor set and outfits for hospitals, which entered the modeling stage. The modeling of the team’s Orison assets is nearing completion too and will pass to Tech Art for skinning shortly.
Lastly, the artists finalized the concepts of two armor sets planned for the second half of the year and several backpacks for Alpha 3.14.
February was a busy month for all the location art teams. The Modular Team completed the final art for the upcoming docking arms, working alongside the Docking Feature Team to finish them to a high standard. Progress was made on the ‘colonialism’ outposts, with whitebox signed off and work beginning on greybox. For space-scaping, the team populated the recently added gas clouds with new asteroid archetypes provided by the Organics Team. The skybox and star-field for the Pyro system were further developed too.
The Landing Zone Team split their time between finalizing the halls for an upcoming event and completing tasks for Orison. Support was also given to the new hacking feature prototype.
Though some time was lost due to the conditions in Texas, great progress was made on the Tumbril Nova Tank. Last month’s work involved preparing it for the upcoming greybox review, where the vehicle is presented to several teams outside of Vehicle Content. The release-prep review gate was also completed for an upcoming new vehicle.
The Constellation Taurus reached the final-art phase and is currently tracking for a quarter-two release. The finishing touches were also added to the new tints scheduled for release in Alpha 3.13.
Support was also given to docking collars, hull degradation, damage updates, SDF shields, and ship serial numbers and naming.
In the UK, the team continued with the Crusader Hercules variants, wrapping-up the final art pass on the jump seats, remote turret seats, armory, and the A2’s MOAB bomb-release mechanism.
The greybox was completed for the Aegis Redeemer’s cockpit and rear ramp section, while the exterior, landing gear, and turrets are all approaching the same point. The update pass on the Aegis Gladius is nearly finished, with only the LODs remaining before it can be signed off.
A ship naming and hull degradation pass started in February with several ships being ticked off, while the Javelin received a docking collar, entrance area, and general lighting pass.
The Weapons Team closed out several tasks last month, starting with the final art for the T0 mounted-gun asset. Work concluded on the MOAB bomb, the first pass on the Volt Parallax energy rifle was completed, and the standalone Greycat Industrial cutting tool went through final art.
The team also made a start on a size 7 Behring ballistic Gatling gun and began exploring a mag stripping and loading device. Investigation was made into potential improvements to the weapon-skin pipeline too.
The Community Team held the first AMA of the year, inviting the Vehicle Experience Team to answer the community’s top questions. Topics included ship balance and tuning, capacitors, and ship roles in combat. They also announced the winners of the 2951 Coramor card contest and kicked off the ‘verse’s Lunar New Year equivalent, the Red Festival.
The Roadmap received further improvements, including a new UI for Release View, while more highlights were covered in the latest Roadmap Roundup.
The team gathered the thoughts on the latest patch release from each team and compiled the Alpha 3.12 Postmortem, covering what went well and what will be improved on going forward.
“We saw lots of activity from player guides, so thank you very much for helping new players feel so welcome! During the Free Fly, the total number of citizens surpassed three million!” -The Community Team
In February, the Physics Team finished tier one of geometry instancing, which is the second of three. Further optimizations included an improved way to recompute the mass distribution of rigid bodies. Memory fragmentation related to geometry containers was reduced by allocating memory for all arrays from a single contiguous block. For zero-g traversal, Engineering continued their joint effort with Actor Features on the new passive ragdoll mode. Issues with the communication between the game code, animation system, and physics system were found and fixed. Alongside this, a new passive ragdoll mode was added to skeleton physics.
For cooperative locomotion, an inconsistency was fixed in the damping of engaged movables. Additional support was given to the Planet Tech Team who were looking to improve vegetation touch-bending on shorter asset varieties.
Time was spent improving wheeled-vehicle physics, with the team managing to get the lateral Pacejka tire model to work and further improving the longitudinal model. While they fully transition to this, a few improvements were provided for the legacy mode. Contact handling for tanks was improved, while improvements were made to the engine and gearbox code. Prototyping started on the logic for polygon cutting, which is used on physics proxy meshes, and general-purpose work was started on the ISPC math library, with the first results being submitted. This will allow the team to port C++ code to ISPC more easily. A potential fix for ships becoming unresponsive after players leave the cockpit was submitted too.
For the renderer, work continued on the Gen12 transition, in particular finalizing the render graph. Support for the remaining secondary vertex streams, such as skinning attributes, velocity, and secondary UV streams, was added. Additionally, the gather-based depth-of-field implementation was optimized. The shaping of volumetric clouds was completed and a first draft is currently with the artists for prototyping and feedback. In the meantime, more improvements to cloud shading and shadowing were implemented. A believable multi-scatter approximation was also added. Cloud shading now includes atmosphere-based ambient light (reflected ground light will be added later), while cloud albedo was reduced at the edges to emphasize shape and light scattering in clouds is no longer monochromatic and now just as flexible as atmospheric scattering. To reduce aliasing when shaping clouds, proper texture LOD values are now computed at each raymarch step, while shadow rays are jittered to reduce aliasing under motion. Research into the efficient skipping of empty space between clouds commenced.
The Engine Team continued working on the profiler, adding compatibility for hardware counters and a sampling profiler mode with dedicated Windows and Linux support. Memory tracking data can now be filtered, so issues can be more easily delegated to their respective owners. Work and improvements on the entity component update scheduler continued. For the patcher libraries, time was spent investigating infrequent errors in data patching that resulted in corrupt p4k files (as reported by PU error tracking code); some improvements were implemented and more will be rolled out soon. Vis areas received further code updates and support for animated portals was implemented. Moving forward, the team will support work on the Vulkan backend.
Features (Characters & Weapons)
One of the major features worked on in February was mounted-gun gameplay, which involves the player taking control of a pre-placed, large-caliber weapon mounted on a 360-degree pivot. This offers an alternative to the rocket launcher or railgun for anti-vehicle combat along with highly effective firepower against infantry. The decision was made early on to opt for a control mechanic like on-foot weapon handling – this gives the most natural feeling yaw and pitch control that’s only slightly constrained by the rotation speed of the weapon. This control scheme also allows the player to enter an aim-down-sight (ADS) state for a better targeting view. On the character-side, several motion-captured idle and moving assets were blended to pose the gunner relative to the weapon based on current pitch and rotation speed. There was some back-and-forth between the content and tech teams to get realistic-looking posing while maintaining a strong first-person camera view. To ensure the character’s hands stay on the weapon grips and fingers squeeze the triggers at the right time, the team leveraged the same IK solver as the food consumption feature released last year. The team is now working on ironing out the last kinks before the next release.
On the technical side, the team looked at character avoidance, which they started by adding additional use-cases for situations seen in the live environment to a simplified test level. The focus was on NPC-to-NPC avoidance without the influence of the player, primarily looking at situations where three or more NPCs cross paths simultaneously or an NPC moves around a corner while avoiding an obstacle. The algorithm used is based on ‘optimal reciprocal collision avoidance’ (ORCA) with some custom code. In this iteration, the team rewrote the custom code along with the response handling to better align with the underlying ORCA logic. Significant time was spent re-reading the ORCA research papers. On top of that, the team revisited the character animation flow to ensure body twist is triggering both at the correct moment and for the right duration. The overall result is much better avoidance resolution for both the old and new use-cases and better-looking body posing. Based on the result, the decision was made to capture additional avoidance animation assets to increase response variation.
The Gameplay Features Teams spent time in February preparing features for the upcoming Alpha 3.13 release, fixing critical bugs, and planning for future initiatives.
The US-based team further developed the mobiGlas apps mentioned in last month’s report: The engineers continued to implement the reputation app and the designers added UI visuals into the Building Blocks canvases. Design iterations were made on the Asset Manager app, which is planned for launch in Alpha 3.13.
They also began to plan for the upcoming cargo refactor, which aims to physicalize items within cargo grids. This requires the team to reevaluate how they deal with volatile cargo, mining, refining, and several other intertwined systems. The refactor will also see the commodity kiosk converted from Flash to Building Blocks and tie into the Asset Manager.
The EU-based teams focused on polishing and bug-fixing the refinement gameplay, correcting various flaws, clunkiness, and exploits and generally making it run smoother. They’re currently implementing mining components that fit into the same slot as mining consumables. However, the components aren’t consumed on activation and act as a sub-component of the mining laser, allowing the player to mix and match components and consumables as they see fit. At the same time, they added a handful of smaller features to the mining UI that didn’t make Alpha 3.12, including a range indicator and animations on the scanned information.
Features (Mission & Live Content)
The Live Content Team completed varying tasks, including polishing new and upcoming missions, prototyping spawn closets, and developing harvestables.
The coders enhanced the bounty system so that bounties outside of monitored zones will inadvertently (or purposefully) give away their location through a variety of actions. The aim is to give bounty hunters the chance to track bounties in unmonitored zones and ensure bounties always feel like they’re on the run.
A new system was worked on to allow the devs to ‘hijack’ advertising screens in locations around the PU to show breaking news or safety alerts. They’re also developing a security system that will allow them to remove the automatic CrimeStats given by trespass zones. Currently in order for the station defenses or security to attack a player they must be given a CrimeStat for trespassing. This is not the intention. The new system will allow players to enter a trespass zone and, as long as they remain, undetected, they will not receive a CrimeStat. In future this will allow us to have security instruct the player to leave and should the player ignore the warning they would be arrested or ultimately killed. Security and automated defenses will engage players without them needing a CrimeStat.
Vehicle Feature’s February focus was on docking, with the Constellation-to-Merlin docking being polished and ship-to-station docking nearing completion. The team also added docking filter tags to let players allow or block certain ships from docking at specific ports, which involved making messaging and quality-of-life changes to the UI. Players are now informed about various things during the docking process, including when docking clamps disengage. A ‘match velocity mode’ was also developed for ships to help when docking to a moving vehicle, which is extremely difficult otherwise. Various networking issues with station docking were discovered but were resolved. There are a few things to be finished, including comms-calling stations for docking permission and spawning ships at docking collars, but station docking is making great progress.
Other things touched on last month include the rework of missile flight dynamics.
“We have missile guidance phases that adjust and change the behavior of the missile as it progresses through its flight to the target. This allows us really fine control over the missile and ensures that it’s best able to reach the target as quickly as possible.” -The Vehicle Features Team
They also improve thruster dust VFX, which will soon be per-thruster and far more dynamic than before. For example, as VTOL thrusters rotate, dust will correctly follow the wind volumes and match the physics forces associated with the thrusters’ wind blast. MFDs continued to be prototyped as the team finalizes out how they’ll be implemented, and jump points received renewed focus as the team worked through some of the associated issues with bringing them to the PU alongside server meshing.
Last month, the Graphics Team focused on two main areas – automated testing and the Gen12 renderer. Various improvements were made to automated testing to better reliability, which is crucial as major changes are rolled out to ensure Graphics don’t break anything implemented by other teams. This included a rework of how the timers are set up in the renderer, ensuring they can pause and re-base the different animation systems used for things like lights, shaders, fog, and water.
On the Gen12-front, work continued to reach parity with the old shadow code-path so that it can be enabled by default. Testing of the Vulkan backend was rolled out further across the team to get wider visibility on the new API. Finally, to aid debugging, the font rendering system was ported to Gen12.
Last month, the team built prototypes for interactive lighting elements in player habs. The aim was to test several interaction systems and see how they work with the existing lighting workflows. Results were promising and the team hopes to improve and implement them in the future.
Lighting also helped set up some basic system-wide settings for Pyro. This involves laying out intensity values for the Pyro star, which affects how bright all planets and locations will appear. These settings are then also applied to all construction levels for the planets and moons so they can have their atmospheric settings tweaked under the correct brightness.
The team also provided lighting support for Orison, with a focus on the habitation rooms, spaceport interior, and Voyager Bar. A lighting pass was also done on the new larger cave entrances along with ship-to-station docking arms.
As more locations and environments are developed, the team worked with the environment teams to help define the language of the signs and environmental storytelling to bring another dimension of character to the spaces. They also continued working with the mission teams in the UK and Austin to develop upcoming content. They also organized another voiceover recording session to capture characters for several future landing zones and events and met with Turbulent to explore a new webpage creation system that provides a lot more design opportunities when creating posts.
Narrative kicked-off discussions with UI and Design on the next steps to transition the vast amount of fictional dispatches into the game. For example, enabling players to receive news updates about events in the system or listen to short stories during long flights. The discussion yielded some great ideas but also a greater understanding of the technical aspects needed to get the feature into the game.
“This past month was a very exciting one for the Narrative Team. The XenoThreat incursion kicked off in Stanton after months of hard work alongside a variety of teams. It was great to watch the community band together to repel the threat and get a sense of how we could potentially build similar content in the future.” -The Narrative Team
Player Relations continued to recruit and add to its Wilmslow team. They also continued to triage bugs for Alpha 3.12 and began preparing for Alpha 3.13 and various events beginning in spring.
The Props Team completed their first pass on props for Orison, including furniture and some larger hero assets. Work began on interactable props for homesteads, such as solar panels and battery packs, while geometry templates were completed for a movable gurney and bed for the hospital locations.
On the publishing side, QA supported Alpha 3.12.1 and XenoThreat in early February. Development-wise, they tested content for Alpha 3.13 in preparation for Evocati testing, including ship-to-ship docking, new harvestables, updates to MedPens, and Force Reactions. QA also updated their test plans, processes, and department structure to better align with the releases and events coming this year.
Systemic Services & Tools
The Systemic Services & Tools Team continued developing tooling to allow the backend to control the flow of gameplay. This involved integrating high-speed positional information for AI spawned in the game to better track how content is deployed and used throughout the PTU. Work was also finished that will allow the team to control, see, and modify critical services, which will ultimately allow for direct intervention and prepare for the integration of Quantum.
“Our art resources are being channeled into a public presentation we plan to give soon. Stay tuned for an update from Tony Zurovec in the near future!” -The Systemic Services & Tools Team
February saw Tech Animation cleaning up assets, as a core change to the in-engine animation pipeline invalidated a large number of them. Development of the in-house animation graph toolset continued, which is going through early user-testing to collate feedback and bugs for the next phase of development.
The team also worked with external options for skinning decomposition and changed them into working solutions. This toolset forms the basis of the technology that will be used to refactor a portion of the asset-authoring pipeline to expedite the whole process.
Turbulent’s Game Services joined forces with several other teams to improve the performance of VOIP & FOIP, which involved implementing a new logging system, adding an improved debug tool, and making minor code centralization.
Coordinating with devs working on the launcher and directly in-engine, they delivered their first milestone in the server-meshing project. A portion of the team shifted to server-meshing project deliveries, with more to be added as the project progresses. Turbulent also delivered additional USPU features for the reputation system to give players the ability to set preferences, get notified when their reputation changes, and visualize their reputation history.
The Live Tools Team solved several bug-fixing issues that were occurring in the error reporting workflow. There were also fixes for the load-testing service that included improvements to logging, support for changing contexts, and assertions.
Vehicle Tech made improvements to the ground vehicle system to support the release of the Tumbril Nova. This involved expanding turreted targeting and weapon usage and implementing realistic tread motion and tread-based vehicle operation.
Further improvements were made to the radar and scanning systems, which will be usable both on-foot and within vehicles. The ping system was the main focus point throughout February. To increase player interaction with the environment, improvements to the underlying interaction system began. For example, allowing the player to press a button or turn a dial within a cockpit to trigger contextual actions.
Finally, support was given to the XenoThreat event, which required new features and bugs to be squashed.
Throughout February, VFX continued their pre-production work on vehicle radar ping effects. They also further developed planetary effects for several locations in Pyro alongside impact effects for a variety of new harvestables.
A new VFX profiling tool was created, giving the team a much clearer view of important performance-related information in graph format. Work continued on gas cloud interior effects too, including small debris that safely collides with ship hulls. They also continued their work on the Crusader Hercules and another upcoming vehicle, while the rollout of SDF shield impact effects continued.