With Alpha 3.13 on the horizon, this month’s report naturally deals with the final steps and polishing tasks completed just before the patch releases. However, work continued in earnest on content coming next quarter and beyond, so read on to for all the details on everything done throughout March.
Star Citizen Monthly Report: March 2021
March’s report starts with the AI Content Team, who spent part of the month working on the engineer behavior, including improving the usable split of the Mannequin tags coming from the use channel and the objects it interacts with.
On-foot security, tourist, and tour guide activities were further developed too. The bed bunks behavior progressed, with the team working towards a better abstraction of bed shutter usage and investigating how to support bed sheets when characters are sleeping. Kick-offs to define the medic, illegal goods dealer, deck crew, and janitor behaviors were done too.
Specifically for the PU, AI Content completed the first pass on the hawker behavior and began modifying the kiosk setup to replace the old activities.
“Our goal is to quickly push through some of the content we can already exploit in Star Citizen based on the existing scenario and allow the players to experience a more interactive environment.” -The AI Content Team
March saw AI Features complete the first pass on subcomponent targeting. This is now integrated into the main game-dev branch and will initially improve the behavior used when smaller vessels attack capital ships, allowing for more effective element targeting, complex attack patterns, and tactics.
The pilot security behavior was also restructured and extended. This is used, among other things, when security spaceships validate illegal content inside ships. Alongside creating a better structured and more scalable activity, it allows the security pilot to request the target surrender and handle different player behaviors. The pilot will also continue to request that the player surrenders during combat, allowing players to end the conflict and be arrested. They also worked to allow AI pilots to correctly dock at any supported location. This functionality is similar to landing, as it allows ships to navigate close to the collar and then perform a docking maneuver.
The eat and drink behavior was further developed, particularly ‘chowline’ usage. In addition to cleaning up the chowline, eating, and drinking animations, the team improved the drinking behavior to make taking a cup a separate action. Plus, the exit animations are now split between taking the tray and exiting the tables so that multiple actions can be performed from specific bounce poses.
The surrender and cowering behaviors used by both trained and untrained agents progressed. This is used in hostile scenarios when NPCs are unable to fight back, are overwhelmed, or don’t have the tools for combat and prioritize preserving their lives.
On the Subsumption-logic side, several new tasks were introduced, including:
HasAnyTagInTagSelection: Evaluates whether an object has tags under specific parent tags
BroadcastInMyActionAreas: Propagates an event in the action areas the agent is contained
MergeMannequinTags: Takes two Mannequin tags variables and merges them into one
They also supported Alpha 3.13 with bug fixes and optimization, including issues causing slow NPC reactions and pilot security to complete flight activity too early.
Throughout March, AI Tech progressed with EVA, creating tech to allow characters to calculate 3D paths and systemically transition out of ships into space.
Last year, code was introduced to give a hierarchical structure to the Subsumption mastergraph, which allows the team to create a state machine that describes the mental state of an NPC and preserves it across multiple activities. For example, surviving in a zero-g environment requires an NPC to have specific knowledge and handle requests differently from when on foot or piloting a ship. The team are utilizing this functionality to allow a better structure for the mastergraph and handle all states with fewer transitions. This groundwork will ultimately provide a better systemic transition into and out of zero-g environments.
Improvements were also made to the navigation links that describe the external linking of navigation mesh triangles (essentially, two disconnected triangles connect and become traversable using animation, explicit locomotion linkage, etc.). In doing so, the NavigationLink component was simplified to allow the explicit instantiation of extensions that can use different types of data to create external links. They currently have support for the following scenarios:
Explicit offsets that can be used to customize enter/exit locations for doors
Animation-driven traversal, such as an animation used to vault over an object or jump up and down
The AI Team began extending the melee system to improve the definition of combo attacks. The goal was to avoid using explicit Mannequin transitions between states to reduce complexity in the setup, since they know the exact flow allowed between melee attacks. To achieve this, they introduced an automatic way to calculate the Mannequin tag of the transitioning attack so that the structure is more straightforward. This also makes it easier to test chaining animations, ensuring poses perfectly match and that timing is easily adjusted.
For patrol tech, ‘hot reload’ was implemented. This means the Subsumption logic edits associated with a path are automatically reloaded in the editor, giving the designers immediate feedback on-screen that they can quickly iterate on. The logic will also be validated if data changes without the editor running. During level loading, the saved data attempts to match with the current updated logic too.
The team also spent time refactoring the usable code to better calculate usable-attached Mannequin tags related to items they want to manipulate. The code is now split to propagate the tags associated with the usable and the use channel, including the one coming from the tool. Once calculated, they’re merged and passed into the animation request to select the appropriate animation.
The unification of the usables and operator seats flow continued, which now only uses two blocks in the movement plan for the usable component. The actor state machine communicates the different states with the component, such as entering a seat or starting idle, which is then propagated and evaluated to understand when to consider the success for entering and exiting the usable.
For the communication system, AI Content fixed the automatic creation of group channels based on the target of dialogue. This allows them to control who is allowed to talk to a specific target to avoid overlapping when the ‘Group’ channel type is specified. They also improved the system allowing communication context to override silence on a specific channel. This gives designers more granular control over the pacing of voice lines used by AI to communicate readability of their actions.
March saw the Animation Team create sets for tourists and tour guides and make plans for creatures. On the facial side, a mo-cap shoot was done for an upcoming event and the pipeline was improved for the mo-cap select tool.
The Character Art Team progressed with refinery decks, assets for Orison, and NPC outfits for Alpha 3.14’s hospitals. A new mining-themed set for an upcoming patch is nearing completion, while armor for Alpha 3.15 moved through the pipeline. Research and development also began for armor props and interiors in support of the physicalized inventory. This involves refactoring old armor sets to add interiors and setting up the tech to allow armor sets to exist as standalone objects that can be carried by the player.
Alongside support for Alpha 3.13, the Modular Team moved the colonial outposts from whitebox to greybox, with gameplay considerations and functionality being added to the various modules. The new docking arms and lobbies were also finalized and will be live in an upcoming event.
The Landing Zone Team progressed with Orison, with the new cloud tech enabling stunning vistas above the Crusader gas cloud. Work on the platforms is nearing completion, with final polish currently being completed. The latest iteration of the exhibition halls was finished too.
The Organics Team finalized the new cave entrances, produced new flora for the Orison habitation platforms, and supported the gas cloud tech needed for Crusader.
In the UK, the Ship Team wrapped up the majority of the Crusader Hercules, with only the A2’s bomb release mechanism requiring further attention. An as-yet-unannounced ship continued through the final art phase, with only one interior area and an exterior polish and damage pass to go. March saw the Aegis Redeemer progress through the final art phase, with the exterior and manned turrets both nearing completion. The greybox phase was finished for the remote turrets and landing gear too.
More ships were converted to the hard-surface shader to make them ‘paint ready,’ and wear and tear was looked at to make it consistent across the ship line-up. The ‘gold-standard’ pass was completed for the Gladius, with the team moving onto the Sabre.
The US-based team continued to focus on the Tumbril Nova, specifically finishing the art alongside Design who worked on movement, treads, and the overall experience. They also worked alongside Vehicle Tech, Vehicle Experience, and QA to ensure the tank is up to standard before release. Progress was made on the Constellation Taurus and bugs were squashed for the vehicles coming in Alpha 3.13.
March saw the Weapons Team progress with the S7 Behring ballistic Gatling gun before completing close-out work and polishing for the mounted-gun asset. The MultiTool salvage attachment and standalone tools went through the first-pass block out and were added to a development build for early testing. The UltiFlex Novia was iterated on, with the team improving the rigging setup and making sure it was working as intended for Animation.
Several other tasks were completed, including support for the Nova’s S5 cannon, bug fixing for Alpha 3.13, and updates to the MedPen and other devices for the upcoming medical gameplay.
Throughout March, the Audio Team worked on content and features for Alpha 3.13 alongside supporting some upcoming trailers.
On the ship side, they focused on the UI and practical SFX for ship-to-ship and ship-to-station docking. They also looked into improving ambience design across all derelict ships following work on the new derelict Freelancer variant.
The Actor Features Team created audio for the trolley push/pull mechanic and crafted Foley and SFX for the mounted turret gameplay.
“We have been very excited to be working on the Nova tank, designing and implementing SFX for vehicle movement, moving parts, turrets, and it’s notable cannon!” -The Audio Team
The team also published a recap of the AMA with the Character Tech Team and detailed upcoming updates to the character customizer and Med Pens functionality and the new FPS Cave Missions. Alongside a variety of miscellaneous tasks, the team has been coordinating efforts on concepting the updated Community Hub which they are very excited about.
In March, Engineering added physics support for multiple solar systems. A new grid type (GT_SOLARSYSTEM) that replicates the configuration of the current root grid was added along with the ability to skip the inside/outside checks to allow multiple instances of such grids to overlap without entities randomly transitioning between them. To ease debugging (which can be difficult without a visual representation of what’s going on in the physical world), a simple debug raytracing framework was added to visualize the results of ray world intersection (RWI) checks. This has been hugely useful already and allowed the team to fix various bugs quickly. The team will also be using this to optimize RWI in general as it accurately uncovers performance issues otherwise hidden in the game’s RWI queries.
March also saw various code optimizations, including the physicalization of planets, ray-bound intersections, and using octrees for ray-occlusion tracing. Furthermore, the velocity limit for explosions and shockwaves was removed, interior grids can now be saved as CGFs to allow proper instancing, and support for kinematic parts (animated parts that get proper velocity estimates) was added. The Physics Team also spent time bug fixing and supporting Alpha 3.13.
Work on the G12 renderer continued, with internal resolution scaling and native resolution rendering being reworked. The render graph that controls the scheduling of render passes and associated resource management was merged into the main development branch. Alongside this, more existing features were ported to Gen12, such as emissive lights and object motion blur, and the shader parser was refactored in parts to allow for faster processing (especially for code dependency tracking).
Engineering made great progress with volumetric clouds last month, with tint support being added to allow more flexibility on the art side when coloring clouds for exotic planets. The multi-scatter solution also received various subtle improvements, including taking an atmosphere’s optical depth along shadow rays into account. Cloud shaping was further improved to provide a better sense of local volume, while support for shadow refinement was added to further contribute to cloud detail. Alongside these visual improvements, initial optimizations were implemented to speed up the raymarching process, and the implementation of an efficient empty space skipping scheme has begun.
On the core-engine side, more work was done on performance analysis and regression. The in-engine profiler received various improvements, including the ability to group samples captured by their respective function. The team also started to look into replacing their current UI solution for postmortem performance analysis based on captured performance telemetry data. Python scripts were written to run performance tests and write corresponding reports. Additionally, the threading logic was refactored to further improve performance and the job system now utilizes specific APIs introduced with Windows 8.1 and Windows 10 (Windows 7 still works but won’t benefit) to allow for much-improved waking of jobs and preventing contention in the fiber system thread. This is particularly noticeable on CPUs with a significant number of cores and will be rolled out in Alpha 3.13. The entity component update scheduler received a profiler and GUI as well as various optimizations.
Finally, C++17 language support was enabled and a performance issue with code generation in MSVC with regards to thread local storage initialization behavior was addressed.
Features (Characters & Weapons)
The Character Features Team reduced the update frequency of certain character components based on their distance from players. This was possible due to the changes made to the underlying update logic by the Engine Team earlier this year. A component can now be told to update every other frame (or every nth frame) and, when it does, it’s informed of how much time has elapsed since the last update. Early prototypes suggest using elapsed rather than frame time allows for a surprisingly early reduction in update frequency of the character state logic (as long as the character visual updates remain at a per-frame frequency). As with any optimization, this is currently being tested before implementation.
One key feature developed in March was the trolley push and pull mechanic, where players can grab movable props and push or pull them around. The Actor and Physics teams worked closely to iterate on the controls and feel of moving these larger props where the weight of the prop, weight of the cargo loaded onto it, and the surface they’re on affects handling and behavior. The input of the player generates acceleration requests on the prop and the player character attempts to keep up with the prop as it moves. If the input is greater than the actual resulting movement, the player character leans into the prop to show the extra effort required. The wheels are physically simulated as a constrained sphere, with a modeled wheel synchronizing with its sphere’s movement to procedurally rotate caster and tire.
The Gameplay Features Team spent March preparing features for Alpha 3.13, fixing critical bugs, and planning for future initiatives.
The US-based team continued to work on two new mobiGlas features: the reputation system app and asset manager. The engineers finalized the TDD for the asset manager and began to create the ‘provider’ that will manage a majority of the application logic. Meanwhile, Design completed polishing tasks and bug fixing for the reputation system app, now known as Delphi, which will be launching with Alpha 3.13.
In the US, the team continued to plan for the upcoming cargo refactor, with the goal of physicalizing cargo contained within the grid. This refactor is quite extensive as the cargo and commodity system is intertwined with several other areas. The team will also convert the commodity kiosk from Flash to Building Blocks and tie it into the asset manager. Progress was also made on the next dynamic event, which is now in the final stages of implementation. The engineers fixed any remaining bugs while the designers focused on audio integration and polishing tasks.
Features (Mission & Live Content)
Alongside content for upcoming events, the Features Team progressed with a new security system that allows them to identify when a player enters a location they don’t have permission to. This allows the AI to act accordingly without the need to give the player a CrimeStat.
They also began working on features for Q2 and beyond, including the new Starfarer and Caterpillar derelict used in Alpha 3.13’s timed delivery missions, and implemented FPS cave missions and new harvestables. Space combat mission locations were also quadrupled around Crusader and progress continued on the Pyro system.
March saw the Vehicle Features Team progress with docking. Merlin-to-Constellation docking is largely complete, with the team dealing with bugs and feedback from Evocati testing. The last step involved finalizing the physics of how the ships connect.
The team heavily refactored and partially rewrote the air traffic control system to account for the docking arms used in ship-to-station docking. Now, docking arms are fully integrated with station control and benefit from all the features of air traffic control, such as loitering around stations, spawning and despawning ships, and hailing for docking through the comms menu.
Changes were also made to align docking arms with the procedural universe tools, which are used to create bases and space stations. Work was also done to integrate docking with other gameplay systems, such as Personal Inner Thought, so players can initiate docking with the interaction wheel. Lastly for docking, a large number of edge cases were worked through to ensure it’s as polished as possible. For example, the Constellation quantum traveling while the Merlin was docking caused the Merlin to get stuck, and players exiting the Merlin while docked to a moving Constellation caused the player to fall into space.
Development of the thruster ground VFX mentioned in last month’s report continued. This has been improved and expanded on since then, with the team working on aerodynamic wake effects that cause dust to be kicked up when ships are flown close to the ground at high speed. Focus was on 3D rendering inside MFD screens to give the team more options in building the MFDs they want.
Finally, the missile guidance and control refactor made great progress, with missiles flying much more predictably in recent playtests.
Graphics & VFX Programming
The Graphics Team spent early March fixing bugs. For example, the Render To Texture (RTT) system didn’t have a fixed memory budget and was dependent on how it was used by the game. However, this could sometimes lead to out-of-memory issues, particularly when running at higher resolutions. Now, the memory reserve for the RTT system is linked to the screen resolution, because higher-resolution outputs require higher resolution intermediate textures. If the fixed budget is exceeded, they now dynamically down-res the RTTs until they fit, which ensures stability in extreme scenarios.
They also began planning for the transition to the Gen12 renderer to better understand when each milestone will be delivered to help determine the balance of staff working on the transition, features, and bugs.
The VFX Programming Team split time between bugs, fire, SDF shields, and particle lighting. The fire feature is a long-term task, with the current focus on fire spreading between rooms, light spawning, and repair. The first iteration of SDF shields was prepared for release. The upcoming update improves the glow effect and how the ‘shaping’ tech works, which is responsible for wrapping the impact effects around the curvature of the hull. Particle lighting is a new model that gives higher quality and more consistent and physically plausible results.
Last month, the Lighting Team supported the upcoming docking feature, providing unique moods for the R&R space stations and more military-minded security docks. Work on the docking arm continued, including prototype animations for the lights as the arm extends and retracts.
They also supported Alpha 3.13 with bug fixing, optimizations to the non-commercial space station overlays, and new cave entrances. Support was also given to the UI Team for the new reputation interface on the mobiGlas.
Work also continued on hospitals for Orison and New Babbage, with the team working closely with Environment Art and Design on the lobbies, pharmacy shop, individual floors, and recovery rooms.
Narrative’s March kicked off with a small motion-capture shoot, the first since the start of the pandemic, to pick up some characters for upcoming events. Members of the LA-based team worked remotely to provide direction and work with the animators, capture specialists, audio team, and actors who were on set in Manchester, UK.
They provided general support for Alpha 3.13, tackling mission fixes and adding names and descriptions for the various new items. They also worked with the mission teams on upcoming content, including future events, general missions, and a voice-over session for future locations too.
There were also several lore releases on the website, including the re-release of the Portfolio for armor manufacturer Caldera, the final installment of Sid & Cyrus, another installment of OP.Net, new Galactapedia entries, and the 100th issue of Jump Point. Members of the Narrative Team also appeared on Star Citizen Live for a Lore Builders episode where they built one of the outlaw factions in Pyro with help from the community.
March saw Player Relations hire additional staff to support the growing needs of the service and backer base. They also worked on ship naming and ran Evocati PTU tests each night for Alpha 3.13.
March saw Props support several locations, including colonialism outposts, with some assets going to greybox. The greybox pass also began for hospitals, including the bed and gurney, which will be a big part of the gameplay experience.
They also worked closely with AI Content and AI Features to produce template geometry for new feature usables, such as the shop keeper and tourist, and fixed a large number of bugs.
The UK team’s main focus was preparing Alpha 3.13 for release, which involved publishing several builds for Evocati testing and ensuring all player-reported issues were properly documented in JIRA. Testing continued for several upcoming features and events too.
In Frankfurt, QA continued to support the feature teams. For AI, they continued to perform sanity checks on the PU and test new locations. Dev requests increased as the team reproduced and investigated issues while providing feedback on the general state of AI.
Engineering focus shifted to server stress-testing and minimum PC spec testing to help improve the overall stability of the game. QA worked alongside the Tools Team in their continued testing of DataForge, StarWords, ExcelCore, and the sandbox editor. Work also began on a new tool that will allow QA to take a more proactive approach to testing.
Systemic Services & Tools
The Systemic Services and Tools Team pushed forward with various resources for their public presentation of Quantum. Service-wise, they put the finishing touches on the AI Info Service that ties directly into Quantum and various other services. Development into new services began in earnest, specifically on new NPC spawning and ATC service systems. General upgrades were also made to various tools and systems to allow for easier workflow for developers.
Most of the Tech Animation Team spent last month iterating on the in-house facial pipeline. They’re aiming for a faster and more intuitive approach to FACS expression authoring for the complicated facial systems, part of which will incorporate the smooth skinning decomposition technology from last month’s R&D.
They maintained and triaged assets from several other departments to ensure the project structure, builds, and animation systems are kept in a stable state, and helped author and refine some head and body assets to enable the animation teams to work directly in Maya. Finally, assets that will be used as the basis in the development of various creatures were completed.
Turbulent Game Services continued working on server meshing, onboarding more team members along the way. They also delivered the first demo of a fleet management system currently deployed on internal development environments. The configuration service, responsible for distributing client configurations to game clients, was also finalized.
The team supported the upcoming Alpha 3.13 release, specifically adding new features to the reputation service, such as the ability to notify players when their reputation changes as well as view, lock, and unlock reputation and view reputation history. Test passes were also performed on services to validate them for the upcoming release.
This month, the Live Tools Team continued work on the crash handling pipeline, with fixes to Sentry and Jira linking, and created a monitor to watch the ‘elasticsearch’ stream for errors and them into Sentry. They also created software in support of tools developed by the Montreal-based Location Team and created code to allow the Hex gateway to talk to the diffusion game services.
The UI Tech Team supported other teams’ user interface work on the reputation app, adding new functionality and fixing bugs as needed, and progressed with several small-but-vital features, including text formatting and tooltips, that will be used throughout future UI. They also further developed the underlying tech for the new map systems and ported some older UI to Building Blocks to help with futureproofing and performance.
The artists entered the pre-production phase for the upcoming medical UI, with visual target concepts signed off and functional prototypes ready for full production in April. The UI was also polished for radar and scanning gameplay (both in vehicles and on foot).
Throughout March, the Vehicle Technical Team progressed with the update to the radar scanning system, focusing on ‘ping’ to make finding distant objects a more satisfying experience. UI and VFX elements are currently being implemented. Locomotion and tread movement for the Tumbril Nova was iterated on to ensure it feels appropriately “tanky” across all planetary bodies.
A project to ensure ship landing gear functions properly in all areas of the game is nearing completion. This involved properly syncing landing gear with the server to make sure they function properly in all non-flight scenarios. They also closed out several tasks for Alpha 3.13 to make the launch as smooth and engaging as possible.
During March, VFX finetuned and optimized the SDF shield impact effects before their release.
“This was a real team effort, with VFX programmers, artists, and QA all working together to bring this important feature work to fruition.” -The VFX Team
Effects were created for the Tumbril Nova, including its main weapon. This included prototyping a subtle shockwave effect that displaces loose surface matter on the ground and on the vehicle itself. While this prototype isn’t guaranteed to make it in time for the tank’s initial release, the groundwork will prove useful for a variety of other effects that utilize physicalized shockwaves. The Crusader Hercule’s effects were completed in March too.
A prototype for thruster wind volume effects was also worked on, which will allow vehicle thrusters to better interact with loose surface matter on planets and other locations to give thrusters a more powerful feel as they hover in locations with gravity.