This time next month, Alpha 3.10 will be well explored and civilians everywhere will be familiar with the latest iteration of the flight model. Naturally, the devs spent part of June tweaking relevant features and polishing assets to ready them for the masses. However, much more has been done, with tasks for Alpha 3.11 and beyond well underway. Check out all the details of what went on last month and what’s coming in the future…
Star Citizen Monthly Report: June 2020
We start June’s report with Character Combat, who tackled several aspects of realistic firing, including improving the code side of triggering and reloading. They made all requests event-based and added proper success notifications and different action results between the actor state machine and AI components. This gives the AI consistent knowledge of the results of requested actions, allowing them to create behaviors that can handle different scenarios correctly. For example, if an NPC is pushing towards an enemy, the team may want them to automatically reload their weapon. However, if no ammunition is available, the behavior will be notified and a new reaction activated. This can happen to NPCs less skilled in evaluating their ability to manage ammunition, while those better skilled can choose not to use that tactic unless enough ammunition is available.
They also began leveraging the usable system functionalities of the bartender in combat scenarios. In the social environment, they created the concept of usables that can produce and accept items:
“An ammo box is nothing else than an item provider. The item itself could produce magazines or it might have magazines attached, similar to how a beer fridge can contain beer bottles, but a mixing station can create the drinks from specific source items. This allows NPCs to search for places in the world that can provide them with magazines of a specific type, relocate to those objects, and refill their loadout. This gives opportunity for the player and forces NPCs to evaluate the environment to decide if and when it’s appropriate to use those refill spots.” Character Combat Team
Time was also spent completing tasks for server mesh implementation.
Ship AI kicked off a single-player version of the Player Group Manager, which is used to manage player parties and group quantum travel. The system relies on a backend service that only exists in a multiplayer context, so to support quantum-travel-linking in SQ42 between the player and NPC characters, a standalone version was created. A set of supporting nodes to allow the Mission Team to create and reference a managed group in Subsumption was also required.
We mention this here as, when complete, players in the PU will be able to use quantum-travel-linking within a group containing both real players and NPCs.
The team also implemented new queries to the Tactical Target System to improve the target selection in the ‘pilot combat’ activity. They also iterated on the sphere strafe movement block by adding speed controls and the ability to lock orbiting ships to a single axis within an acceptable range.
Last month, Social AI focused on the first pass of two new scenarios: bridge crew behaviors and capital ship hangar crews.
The bridge crew behavior allows NPCs to handle the required work of a capital ship. Designers can specify in the NPC schedules which type of role they have (similar to how a player will assign a hired NPC), which will help the ‘generic’ behavior select the right seats and routines they have to perform. The captain will also roam the bridge and supervise other members of the crew.
The hangar crew behavior represents a set of behaviors for all NPCs that work in a hangar, including overseer, fueler, ordnance, mechanic, grunt, and air-traffic controller. In this instance, the ship is an example of a compound usable – a usable that can contain the functionality of other single usables.
The first iteration of the vendor behavior is also nearing completion. June saw the addition of patrons that can order a drink, bring it to a table, and then return it to the counter.
Global focus was on improvements to the various systems used by all AI Team members. Improvements were made to the debug draw of the Subsumption logic, allowing Subsumption functions, use channels, and conversations to display the updated value of their local variables. The range-event dispatcher-debug now easily displays the monitored characters’ distance, orientation, and more. The team also worked on the movement system to provide additional functions to validate the execution of a plan. For example, to correctly consider the movement along a path driven by a cutscene or an animation so that once finished, the character continues their movement smoothly. The ‘LookComponent’ was refactored to correctly handle requests with different priorities too.
Throughout June, the team blocked out animations for various features and improved their ability to efficiently capture, select, and turn-around motion capture. They also worked on knockbacks, staggers, and hit reactions from grenades and other thrown objects.
The team worked with Combat AI on weapon reloads, reloading from locations, and Vanduul locomotion mentioned above. For Social AI, they worked on lockers, smoking, crates, the bartender and bar patrons, and solved an issue with the seated console metric.
Animations for three new weapons were completed, including the two new Lightning Bolt Co. guns. Several mission givers were also worked on. Regarding mo-cap, they worked through the backlog of NPC captures and rebuilt the Take Selection tool, which allows the effective review and selection of completed mo-cap.
Last month, the Planet Art Team moved into full production of Pyro Three and Four. They’re currently producing the required assets, with a lot of new content reaching completion. They’re currently undertaking R&D on touch-bending for vegetation, which will ensure bushes and small vegetation are pushed away more realistically when the player walks through them. Work on Crusader continues too, with further development on the shaders underway.
In the UK, the team continued work on the Crusader Starlifter. “One of the last areas to go in was the impressive front cargo door/ramp that gives it full roll-on, roll-off capability for your ground vehicles.” – Vehicle Team
Other areas completed last month were the rec room and kitchen/dining area. The exterior is in the final art phase and currently receiving a material pass and UV mapping. Two unannounced ships and the Origin 100 series made great progress too.
In the US, the team worked on the turret seat, turret interior, rec room, scanning room, cockpit, foyer, and habs for the Star Runner. It’s now in the final art phase, with feedback being implemented to give it more of a ‘smuggler’s ship’ personality. The Aopoa Khartu-al was also reviewed, which led to its weapons and shields being buffed. This update will be live in Alpha 3.10.
June saw development of the new Lightning Bolt Co. weapons completed. These guns have comparatively complex animation and technical setups, so required more attention than usual. Work continued on the Behring BR-2, while a new weapon entered development that the team is excited to unveil at the end of Q3.
On the UI side, all Gemini weapons now have functioning ammo counters, with work moving onto the Lightning Bolt Co. brand.
The Audio Team closed out all Alpha 3.10 tasks, including the Grim HEX updates and new weapons. Ambiances for a lot of older areas were rebalanced, such as Levski and Lorville. An audio-only rework of the Arclight pistol was completed too.
Last month, the Backend Team added the ability for the diffusion router to record analytic data, which will help live operations monitor the health of all services. Some low-level networking code was updated, fixing a few potential connection issues. They started on the new login flow that supports proper queuing and reporting to connecting players. Work was completed on high-performance dedicated pathways for some of the services to greatly improve network performance. The loadout and persistent variable services were also updated to support a distributed model for better performance and increased up-time reliability.
June saw the Character Team working on adding new mobiGlas variants to in-game shops. Because the mobiGlas is one of the oldest game assets, it’s built on older tech. “Setup for this item is tricky and being able to swap out a mobiGlas without unequipping one permanently was a huge technical challenge that shops had to deal with, even as we started bringing new colors online. This is now in QA and so far, minus a few string bugs, appears promising.” – The Character Team
They also began work on seasonal assets and kicked off tasks on an all-new model for the Pyro system. “We have begun modeling work on what we are calling the ‘Pyro Crab’. We don’t know what the future holds yet for this asset, but we’re excited to work on it.”
The Community Team started the month with the Theaters of War Spectrum AMA, where Sean Tracy, Jonny Jacevicius, Tom Solaru, and Milan Pejcic answered player questions on the upcoming game mode. Following the concept release of the Origin G12 Rover, the team worked with the vehicle’s designers to answer the top-voted community questions in the Origin G12 Q&A.
Last month, Engineering worked on the ISPC compiler for WAF: “Think HLSL for CPUs to write CPU target agnostic vectorized SSE functions that can be invoked from C/C++. This allows us to have bespoke, run-time invoked code paths for different CPU architectures to get the best possible performance for computation of heavy code.” – The Engineering Team
They also began experimenting with a new code-build system to improve quality-of-life for developers. This will feature implemented Python script to fold similar threads when inspecting GDB crash dumps and add a VC 2019 compiler transition to QA test requests.
Optimizations were made to the physics grid, physics instances, and local OBB algorithms. For planet entities, work was done to prevent cell generation under terrain, while the generation of POD entities on terrain patches was improved by moving complex constructors out of tight loops. They removed various methods from the physical entity interface to avoid virtual-function overhead, made box-pruning optimizations, and promoted moment-related variables to double precision so that the solver is more numerically stable in terms of large masses.
Body-dragging was further polished, and work continued on physical damage, this time focusing on deformations. Engineering continued tuning the integrity reduction formula based on the surface types of colliding parts, while ship-to-ship collision detection was tweaked to benefit stability and performance. Ragdoll experiments were also conducted and a quick prototype for cross-section data structure was completed.
Regarding the entity component update-scheduler, the Engineering Team worked on flattening or even removing recursive processing, made improvements to component processing inside an aggregate, and started implementing support for multiple component policies per-update-pass.
Numerous tasks were also completed for the Gen12 Renderer. For planetary atmospheres, they completed the guided filter to de-noise and up-sample lower resolution raymarching results for inscatter and transmittance. Work also began on re-projecting raymarching results to further reduce cost per-frame.
They also implemented a JSON-based profiler data-logger driven by internally collected telemetry, and revamped the HTML generator that utilizes JSON data to build email reports. The goal is to automate performance regression so they can see how it has evolved, both internally and in the PU.
June saw the Gameplay Feature Team continuing work on the player trading app, which is now in the art phase. “We are happy to announce that players will likely see the base functionality in our public test environments very soon, with the hopes that the art pass will be complete for live release soon.” – The Gameplay Feature Team
They also put significant time into the upcoming Alpha 3.10 patch and the ability to purchase ship paint from in-game shops.
The Vehicle Feature Team spent June finishing various features for Alpha 3.10, including the tweaks, improvements, and retuning needed to prepare ships for the new aerodynamic flight model and thruster efficiency curves. They also squashed bugs with thruster balance and other aspects of IFCS. Work also continued on the new targeting system and its associated UI.
Looking ahead, the development of features coming further down the line continued, including docking and improvements to missiles. Further development of the flight model will continue too.
Last month, the Graphics Team continued working on CPU performance improvements, the first being to avoid expensive synchronization events between the CPU and GPU that could occur under certain scenarios and hardware setups. After discovering that the UI code used to rescale and tesselate vector art was highly CPU intensive, they added code to quantize UI screen resolution. This avoids code-path cases where the visual difference would otherwise be unnoticeable or extremely subtle (e.g. if two identical UI screens differ in size by just a few pixels). Another major optimization was to avoid DirectX and graphics-driver CPU overhead by minimizing shader and texture swapping. They also cached buffers that were being needlessly set many times per frame, reducing the overall number of function calls to DirectX by over 30%.
As with Engineering, work on the Gen12 renderer continued, this time with the new deferred graphics pipeline that features faster and easier-to-extend code.
“With some of the fundamentals now falling into place, we hope to ramp up the efforts to convert existing features over to the Gen12 renderer with an aim to enable an early version in the next few months.” – The Graphics Team
The edge-highlight/silhouette feature was upgraded to provide cleaner visuals with customizable line width, which was requested by the Vehicle Team to improve the appearance of various UI features.
Finally for Graphics, they changed how the culling system works for ships to allow them to be visible from much greater distances to aid gameplay. To help mitigate performance impact from the increased viewing distance, they implemented an automated testing system to measure the performance of every ship from every viewing distance to identify any requiring an optimization pass.
June saw the Level Design Team working on new, as-yet-unannounced content and fixed as many bugs as possible for Alpha 3.10. They also closed out tasks on key locations such as Levski and New Babbage and made further progress with Orison.
The Lighting Team wrapped up their key deliverables for Alpha 3.10, including additions to Grim HEX. This involved finalizing the new utilitarian hangars along with polishing and optimizing the asteroid’s exterior. New Babbage’s Hi-Tech hangars also had their lighting pass completed.
After feedback, the final lighting style was implemented across all hangar sizes and door configurations, giving them a unique feel. This was also the team’s first opportunity to implement various states of door lighting depending on whether they’re idle, opening, or closing.
The Factory Line store in New Babbage received its final lighting pass too. Alongside these new locations, bugs were fixed in older locations (such as surface outposts) and the rework of Lorville’s day and night states was completed. Players will now experience a different mood at L19 when the sun goes down.
Narrative worked with Community on the Banu message for Alien Week, while some of the team explored their culinary abilities by designing three alien recipes (here, here, and here). Narrative also joined Audio and AI to discuss the prospect of players fighting the Vanduul.
On the development side, they worked on building additional mission content and worked alongside various other teams to propose an overhaul to the existing mission giver experience. They also created documents outlining the general feel of some upcoming locations alongside potential flora, fauna, and NPCs.
Throughout June, the team continued work on props for the Factory Line, adding additional dressing to the area and making progress with the Muse Simpod. “This turned into a longer-than-expected task. There’s a lot of crossover with Animation, so we’re building the asset with that in mind from the start.” – The Props Team
The team continued to support the bartender feature and time was invested into the skinned asset pipeline; they now have an in-team solution rather than handing props to Tech Animation. “This unlocks us to make more use of these fun reactive assets without worrying about increasing other teams’ workloads, so it’s a big deal for us!”
Finally, white boxing kicked off for the cargo deck props, starting with background assets and storage solutions.
Last month, QA completed several test requests, including one relating to the ongoing Tactical Point System refactor. This involved making sure that enemy NPCs still function properly, will reposition behind cover, and position themselves so they can fire. They also tested that the Social AI was still able to find, move to, and use usables, and that the Ship AI was able to find points to patrol.
QA tested the AI’s use of cover locations when fighting against the player, ensuring they use movement transitions (such as sliding) when going into cover, peeking, shooting, blindfiring, and when partially in cover. They also tested AI reactions to cover being compromised. For example, they needed to verify that the shotgun AI was a lot more aggressive compared to the others.
For Actor Tech, the undertook a test request for case-sensitive CRC32s involving load testing for all areas of the PU, SQ42, ships, vehicles, and editor levels. Once the load tests were completed, they moved to testing the actual features themselves to ensure that functionality was not compromised. A full test of the PU, SQ42, and some basic editor functionality was requested by the Engine Team following their work on the material editor. This was undertaken to ensure no new crashes were introduced and that the correct textures continued to load without issues.
Testing of StarWords v1.2 (the tool that handles most game text) is underway, with various improvements made based on feedback during testing.
Technical Animation spent time with several of the feature teams to iterate on key deliverables for the PU, including the bartender. This involved creating rigging for glasses and liquids, which continues alongside refinement and system iteration to ensure quality and robustness.
The previously reported initiatives to overhaul the skin file setup and physics proxy refactor began to show results. The team is in the final stages of UI and process refinement and aims to deliver the pipeline by the end of the quarter.
The Web Platform Team worked on streamlining the Enlist Now forms, process, and user experience. These changes were deployed on June 10 and include numerous improvements.
“Based on the original Kickstarter campaign, the account creation process grew organically into something fairly complicated. It was a process involving multiple pages, email verification, and so forth. It is now possible to create an account on the website directly in the sidebar without having to leave the current page. All of the legacy and existing accounts have been migrated to the new system to make the transition as seamless as possible for existing users. The account creation form used to have a number of fields that required a lot of explanation for new users. We reduced the number of fields to a minimum and, as a result, enabled login with ‘email and password’ instead of just ‘login ID and password’. This change was done in a way that is completely seamless for existing users.” – The Turbulent Web Platform Team
User Interface (UI)
The UI Team supported the vehicle targeting and turret improvements recently seen in Inside Star Citizen, while the Code Team fixed bugs for Alpha 3.10 and gave 3D support to the building blocks UI tool. On the UI design side, work continued on a new mobiGlas app and the future of the Starmap and radar were iterated on. Screens were also created for the Factory Line store and concept art was created for new versions of scanning and vehicle UI.
One of the VFX Team’s bigger tasks for Alpha 3.10 was the new signed-distance-field-driven atmospheric entry effects. To compensate for the fact that entry effects are physical-based and most ships never reach high enough speeds to generate them, they made slight changes to the code.
“This is progressing well and we are looking forward to seeing beauty shots and videos from the community as they fly towards planets and moons!” – The VFX Team
Work also continued on the fire propagation feature. The team are still in the prototyping phase but can already see the potential and technical challenges of this feature. They also continued supporting the Environment Team with their ongoing gas cloud work. VFX tasks were completed for an upcoming vehicle too.