Star Citizen Monthly Report: August 2020
For human combat, work on realistic firing continued, including the implementation of physical ammo boxes and ammo refill behaviors. They also added functionality to swap weapons so NPCs no longer need to execute the unequip/equip flow to transition from one to another. This also empowers the animators to create smooth transitions when swapping weapons.
The team is currently creating comprehensive documentation to inform realistic combat, such as how character skills and traits influence combat behaviors and how emergent synergy between characters can create a more realistic and flowing combat experience.
The Ship AI Team developed a new version of the accuracy system that relates the skill of an AI character (as set by the designers) to its proficiency when using weapons. Previously, when aiming, an AI gunner would alternate between two states, ‘hit’ and ‘miss’, which led to a poor hit rate regardless of AI ability or target location. Now, the skill determines how rapidly the gunner’s aim moves to a location where a hit is more likely. Aiming error is a dynamic variable that changes depending on how fast the target moves relative to the shooter. For example, if a player is almost stationary, the AI will shoot more consistently, forcing players to perform defensive maneuvers. This system applies to all AI, including all varieties of turrets and FPS combat. Furthermore, ship and turret AI can now use charged weapons correctly providing their fire actions permit it, such as the Idris’ rail gun.
For social AI, they created documentation and examples to allow designers to replicate the bartender functionalities in multiple vendors. This allows them to quickly populate the world with an initial version of interactive characters capable of selling different types of goods.
Multiple fixes for the released bartender scenarios and general PU were also made. They still have several ‘standing on a chair’ bugs to rectify, but iteration has revealed several edge cases on how various systems interact, including networking, streaming, the actor state machine, usables, and navigation.
For general AI work, the team added pause and resume functionality to the movement system. Now, patrol paths can request to wait in a specific location while executing logic. They can also restart the movement at any given time if conditions are met.
The look component code was also rectified to correctly use the target location (not just direction) to enable correct eye convergence, and bugs were identified and fixed in the real digital acting functionality. For Subsumption, the team implemented a generic way to create a ‘C++ enum’ (essentially variables with specific values).
Animation spent the month working on object and grenade throwing, knockdowns and knockbacks, and several new weapons. They also further developed AI interaction with seats in capital ships, the bartender, ship inspections, and progressed with their work on NPC ammo retrieval. They also continued creating female player faces and emotes.
Environment Art spent the month utilizing the tech delivered last month to get Pyro VI to the ‘whitebox complete’ stage. They’re currently placing ground textures, objects, and scattering logic using the paintbrush system. Once the brushes/biomes are finalized, a final painting pass is done to ensure meaningful distribution and a good global read.
Pyro V’s moons also entered into production. “This is great timing for the team, as it lets all the artists grab one moon and go crazy with the new tools. They have a clear idea of how to use the new tech, but this is also a good opportunity to see how the artists go about making a new planet from scratch and use slightly different workflows.” – The Environment Art Team
One of the hopes for this tech is that, along with better visuals, new planets will be created much more quickly than previously possible.
Stanton’s planets and moons are currently being updated with the latest tech too, though this is predominately for technical reasons. Progress was also made on Crusader, with R&D underway into flow maps to bring the gas giant to life.
In the US, the Ship Team continued working through the final art stage of the Crusader Mercury, with some areas heading into the flight-ready phase, including damage geometry. This involves creating a second UV set to paint the damage onto as the ship takes damage. Additional detail is being applied to the interior rooms and a functional dashboard with articulating buttons is in development. This will include independent power control for various systems, weapon controls, and more. Each system is planned to have built-in feedback to allow players to see the state of each system at a glance and identify if damage is preventing a system from working.
The UK-based team continued their work on the Crusader Hercules, with focus on the habitation areas, taking them to the final art stage. The lift and the cargo hold also made progress, and the corridor connecting to the bridge was completed, including suit lockers, escape pods, and several component bays. The Origin 100i series is now art-complete and has been handed off to downstream teams, while the recently unveiled Esperia Talon is in the final art stage and receiving a detail pass.
Work continued on the Behring BR2 shotgun, which received its final game-ready setup and LOD pass. The Behring GP-33 grenade launcher received an additional pass to adjust some of the rig and ammunition setup too. The Behring mk4 frag grenade was updated to support the new throw feature and gained a visual indicator to show the ‘cooking’ time before it’s thrown. Greybox work continued on automatic defense turrets and the team looked into missile and missile-rack metrics, ensuring the props work with all missile variants.
Early in the month, the team tackled the audio for the Behring BR2 shotgun, which led to the significant challenge of finding the right balance between sci-fi and traditional ballistic sounds. They also began composing the music, ambiances, and walla for the upcoming cargo and refinery decks, including the affiliated shops.
“Walla is essentially the sound of crowds – that sort of ‘rabble rabble’ that you might be familiar with. In the cargo deck, there are a bunch of NPCs and walla helps give the area a lot of life and the feeling of business.” – The Audio Team
For music, they’re currently improving the granularity and structure of the system to improve the transition between music based on what’s happening from a gameplay context.
August saw a refactor to the footsteps system to improve the audio on different surfaces, making it more responsive to player movement. They worked on the Origin 100 series, looking at sound effects for moving parts and setting up ambiances and thrusters. The coming month will see them move onto the deathmask and internal damage. Support was also given to the ongoing work on throwing, which involved updated grenade sound effects.
The team is currently in the process of adding additional audio feedback when player ships take damage. For example, when a ship loses a wing, thruster, or weapons, players will hear it happening.
In technical sound design, they evaluated the mix levels across the game and supported the Actor Team with the ‘force reactions’ feature to enable correct audio when players fall and hit different surface types.
As mentioned last month, a new version of Wwise was implemented to give the sound designers more tools and freedom. It could also improve sound stability and prevent a few ongoing audio-related memory issues, meaning that players shouldn’t lose sound in-game. Several bugs in the FOIP & VOIP systems were fixed too.
Last month, changes and fixes were made to the wallet service as it was running ‘hot’ under load, with the entitlement processor updated to support the upcoming super cache. Most of the code for the super cache is finalized, though some reliability and optimization work remains before it can be tested and tuned. The meshed loadout service also went through load testing and is expected to be completed on schedule.
A lot of low-level networking code work was finalized, including network system startup and shutdown, and primary work on the meshed variable service began. This includes the use of direct connections rather than global routing through the diffusion router, which is currently in the test and tuning phase.
August saw the Character Team focusing on several helmets, subscriber items, and a brand-new armor set. A number of fun items were worked on, including a series of seasonal assets. New uniforms were also designed and progress was made on NPC clothing, including outfits for Orison.
The concept artists worked on material variants for upcoming assets, while the Tech Team prepared and rigged assets due for release in Alpha 3.11. Bugs were fixed and support was given for several upcoming events too.
The Community Team kicked off the month with the “Where in the ‘Verse is Pico?” contest, which asked the community to share screenshots of their adventures with microTech’s diminutive mascot. They also gave a detailed look into how development progress will be shared in the future via the Star Citizen & Squadron 42 Roadmap Update.
This month’s Spectrum AMA featured members of the Environment Art Team answering community questions on Pyro, planet tech, and many other topics within their remit.
In the spirit of the Foundation Festival, the top guides in each area of expertise received their prizes, the winners of the “Best Crew in the ‘Verse” contest were chosen, and August’s Infographic detailed the timeline of Humanity’s ascension to the stars.
Finally for the Community Team, the top-voted questions about the recently unveiled Esperia Talon were answered in their latest ship Q&A.
In August, the Engineering Team added support for SDF-based local physics grids and SDF sets, interior grid markup for SDFs in the resource compiler, and g-force calculation for all actor entities. They also added a separate g-force collision calculation to the actor entity, new visualization modes to help development, and ‘inspect’ and ‘modify’ properties of static and rigid entities. The option to export bit-voxel geometry via the mesh setup and save it inside CGF was added too.
Optimization-wise, they worked on multi-threaded RC bit-voxel baking, which saves a few hundred bytes on every CPhysicalEntity instance and improves cache locality by reordering members. They also saved four bytes per physical-placeholder instance, disabled debug validation in the final release, moved large geometry into a dedicated bucket during grid population, improved bit-voxel tree-box calculation by using blocks instead of individual voxels, and optimized tree traversals in grid checks
The Systems Team added an API to the crash handler that allows the dumping of cigprofile data. This will help them analyze what the system was doing shortly before running into a deadlock and watch dog time out and log memory usage at the time of the crash.
Deep analysis was done to resolve the disparity between tracked and system-reported memory use. Several improvements were made on both Windows and Linux to correctly track data moving forward, including low level allocator reserved pages and third-party allocations. They continued looking into the SIMD and memory layout code for zone partitions, implemented faster execution for scoped FPE enable and disable by eliminating linear search through all registered threads, and fixed several issues with ISPC integration. They also reduced the memory use of P4K system and changed the MemoryAddressRange to use CIG API instead of native OS API for memory tracking.
Work on the Gen12 renderer continued, with the team adding support for instancing and a ‘keep alive’ list so that GPUDevice objects are kept active until the end of a frame. Several refactors and optimizations were made too.
Cleanup in the shader system and renderer for thread safety continued, as did G12 brush rendering. They also started to look into DX11.1 API support (Windows 8.1 and up) for binding CBs using offsets for intermediate performance improvements until Vulkan ships. They also added support for custom texture views when using pass resources.
Volumetric fog to PassResource was ported to prevent the shader parser from stripping global symbols. Some severe Alpha 3.10 GPU memory leaks were fixed too.
For planet atmosphere unified raymarching, the team established a general atmosphere context to avoid accessing resources globally. This make it easier and safer to reuse shared code. All related shader code was refactored too. For temporal reprojection, they implemented options for: neighborhood clipping, refining color bbox using neighborhood variance, compression (based on scene luminance), and color space conversion of color data for tighter bbox to reduce errors introduce by clipping and clamping. The depth dilation code was futher developed too.
R&D into volumetric clouds continued and detailed plans for experiments and next steps were drafted. The initial set up for the volumetric cloud render environment was completed, code was restructured to allow it to be shared between planet atmosphere and volumetric cloud shaders, and the initial pass and injection of cloud raymarch results into the unified atmosphere raymarcher was implemented. The team made performance improvements to the terrain displacement mapping and optimized the shader parser to improve turnaround times when editing shader code.
Finally, Engineering implemented fast bicubic b-spline and Catmull Rom spline interpolation variants for two-to-four channel texture data, further bi-cubic spline evaluation optimizations, made a planet terrain shadow pass, and fixed time precision issue in cloud animation.
The beginning of the month saw Gameplay Features focusing on fixing critical bugs and polishing features for the Alpha 3.10.1 patch release. Once complete, they finished converting the front-end screens of the Persistent Universe from Flash to Building Blocks. They’re now focusing on the first art pass, with plans to have secondary and tertiary passes in the future.
The team also looked into the cargo hauling profession. Work is being done to see it in a much broader sense, with aspirations to expanding the system to make it more interactive and exhilarating.
“Cargo haulers will ultimately need to monitor their cargo, checking to make sure it’s stable and in good condition while they travel. Beginner haulers will need to check things like temperature while hauling food, whereas experienced haulers may need to check the stability of volatile shipments. We feel the new design will be a great update for the profession and look forward to seeing the reactions from citizens when it comes online!” – The Gameplay Features Team
Alongside this work, the team is working on a new reputation system. Citizens will soon have a reputation score that changes as they complete missions or tasks around the universe. The system will allow players to earn perks through reputation gains and will tie into player perks. It will also add support for NPC organizations and their rankings. The team also created a new service to track reputation so that it won’t roll back when they push a new build and wipe the databases.
The Vehicle Feature Team spent considerable time throughout August working on much-needed usability features for vehicles, including showing which hangar a player’s ship is in after it’s spawned from an ASOP terminal. For a future release, they’re working on a feature to highlight a ship’s available entrances too, such as ladders, doors, and elevators.
Work on docking continues. Various aspects of the UI were iterated on to adequately detail docking progress and to give suitable guidance to a docking port regardless of its type or orientation. Different IFCS control modes are also being investigated to let players control the ship relative to a port to make docking easier.
The team also worked on the headless client automated testing system that enables restricted area landing splines to be tested automatically as part of the flow.
The Graphics Team predominantly focused on the Gen12 renderer last month, with time dedicated spcifically to the conversion process so that the old renderer code can be deprecated as quickly as possible. Various systems are currently being converted, including gas cloud rendering, shadow masking, and run-time environment probes. Improvements were also made to the rendering API to allow simpler and more robust client code that’s less prone to human error. Work on the Vulkan backend made good progress too. The shaders were cleaned up to remove all unnecessary reliance on CPU uploaded data; modern GPU performance means it’s more important to save the CPU work in the renderer and driver than a few tiny instructions on the GPU.
Work on the organic shader continued too, bringing tighter integration with the planets to enable the artists to use assets in a variety of biomes and have them automatically integrate into their surroundings.
The Level Design Team continued to work on the new Rest Stop interiors, ensuring space for future expansions within each layout. Orison is progressing well and recently transitioned from whitebox to greybox.
Last month, the Lighting Team added the final touches to the upcoming cargo deck module. This involved lighting the interior floor space, accompanying shop location, and new exterior add-on modules, ensuring they visually integrate with the rest of the station.
The Lighting Team also began preliminary work on Orison. In these early stages, the team’s role is to ensure that the space can accommodate the technical requirements for ideal cubemap placement and prevent any performance issues further down the line. Since lighting is one of the most render-intensive elements of the frame, it’s important that locations are set up from the beginning to avoid any potential issues.
R&D work is still ongoing to improve NPC and character lighting in comms calls. New tech is being developed to spawn a dynamic lighting rig onto a character, which takes into account the surrounding environment lighting and re-projects it directly onto the character’s face. Often due to performance or practical reasons, there can’t always be a light source casting perfectly onto a character in all angles and situations. This new tech has the potential to allow for more cinematic lighting on NPC interactions, irrelevant of the environment.
The Narrative Team delivered a wave of new lore to the RSI website. On the Imperator election front, a new interview with candidate Mira Ngo aired on financial news show Kaizen and dozens of new Galactapedia articles were added, including one on the famed Phiyi Tower). on Charon III. The team also hosted a talk for new employees to give them a solid foundational understanding of the story so far.
They also continued to support the ongoing development of Orison, with additional layers of detail being added as work progresses. For Alpha 3.11, new mission contract text, journal entries, and item names and descriptions were handed off to design, along with writeups on a few expanded laws.
With the bartender having received so many recent improvements, the team looked at possible improvements that will hopefully make their way to other shopkeepers and vendors in upcoming releases.
Effort was also spent further fleshing out the narrative timeline mentioned in last month’s report, including plans for expanded mission content for future releases. Finally, the latest round of bugs that made their way to the team via the Issue Council after the release of 3.10 were addressed.
Player Relations spent most of the month supporting and investigating legacy Alpha 3.9 and 3.10 issues, including isolating, identifying, and working with other teams to resolve a variety of persistence bugs. This resulted in 93,000 ships being returned to player accounts. Support for this work will continue throughout the year.
Work continued on the cargo deck props, with consoles and material work completed for various heavy machinery. A pass was completed on the larger cargo containers, adding more branding and creating a less-demanding background dressing set for the Environment Team. A new set of screens was created to support the conversion to Building Block elevator screens, which will replace the old manual buttons.
A set of new volatile cargo assets was kicked off too. Each of the three types requires unique visuals to reinforce their gameplay along with cargo cage assets to help bed them into their surroundings. Props also supported the new push/pull feature work being developed by the Actor Feature Team, which involved the conversion and technical setup of some existing trolley props.
QA focused on numerous QATRs, including a proto head change request that affected how AI were procedurally generated and required the team to check all NPCs in the game. An animation loader QATR meant they had to load into every area and multiple editor levels to ensure objects with moving parts worked as they did before. A SOCS update QATR required the team to load into all the areas to ensure nothing was broken and there were no performance drops.
They also continued to create test maps for the Locations Team to learn about the setups and further test the systems used. The Tools Team were also supported with the testing of DataForge, StarWords, ExcelCore, and the sandbox editor.
Turbulent’s Game Services Team delivered a new iteration of the CigTrace visualizer that enables game masters to easily visualize and compare player movement for given periods. A full rework of how in-game notifications are managed is currently in progress. The notification service has reached its first milestone, which enables other teams to start integrating new notification processes.
Significant effort was invested in building a new backend architecture to facilitate high player concurrency on game servers. The team has been setting up the first steps to enable the onboarding of more developers onto the project. Turbulent’s Web Platform Team also supported the recent initiatives for the Greycat ROC and Esperia Talon pages.
User Interface (UI)
Most ‘visual’ teams have embedded UI artists, all of who have been working on a variety of upcoming features. For the Actor Feature Team, the artists polished the Personal Inner Though system and external inventory, both of which will be used in the PU and SQ42. New concepts for holo-tech were devised for the Vehicle Feature Team, while adverts and branding for the cargo deck were created for the Environment Team.
Feature-wise, the UI Team created new designs for the reworked starmap.“While it shouldn’t be expected any time soon, we know that it’s a piece of core functionality that you all use regularly, so we want to improve the experience of doing so.” – The UI Team
They also began looking at the various fonts used throughout the game with the goal of unifying and updating them.
The UI Tech Team worked on ‘canvas-slicing’ tech, which will give other teams more freedom to add 2D UI to 3D spaces (via Building Blocks). They also began looking into refactoring the color system. The aim is to aid developers by making it easier to adjust colors across various parts of the UI using a stylesheet rather than adjusting RGB values in each element. It will also allow vector gradients to be used in UI.
Last month, the VFX Team progressed with the refinery location effects, including improvements to the molten metal pouring from large containers in the background, which were in pre-production last month. They also made capital ship improvements, specifically the way gradual damage reads across the hull.
Work continued on the fire hazard propagation prototype, this time focusing on networking to make sure it adequately syncs between the client and server. Further concepts were created for shields, including the visual read of impacts to show players the health of the shield, and improvements were made to quantum travel VFX.
WE’LL SEE YOU NEXT MONTH…
Last modified:01.09.2020 21:03:05
Last modified:01.09.2020 21:02:37
Last modified:01.09.2020 21:02:20
Last modified:01.09.2020 21:02:41
Last modified:01.09.2020 21:03:06
Last modified:01.09.2020 21:02:53
Last modified:01.09.2020 21:03:00
Last modified:01.09.2020 21:02:44
Last modified:01.09.2020 21:02:45
Last modified:19.01.2022 10:00:44
Last modified:01.02.2022 11:12:25
Last modified:05.04.2022 13:52:02
Last modified:04.05.2022 07:15:32
Last modified:01.06.2022 14:45:31
Last modified:05.07.2022 16:55:39
Last modified:06.09.2022 12:58:00
Last modified:05.10.2022 09:35:29
Last modified:01.11.2022 14:03:48
Last modified:17.01.2023 10:54:07
Last modified:30.01.2023 20:07:30
Last modified:28.02.2023 10:25:50
Last modified:31.03.2023 09:42:13
Last modified:02.05.2023 18:53:45
Last modified:06.06.2023 16:13:24
Last modified:04.07.2023 13:35:01
Last modified:01.08.2023 14:29:26
Last modified:12.09.2023 14:59:52
Last modified:03.10.2023 12:11:38
Last modified:31.10.2023 19:13:02
- Comm-Link updated through Star Citizen Wiki Api 1 day ago - 02.12.2023 18:30
- Comm-Link updated through Star Citizen Wiki Api 2 months ago - 02.10.2023 18:31
- Comm-Link updated through Star Citizen Wiki Api 3 months ago - 02.09.2023 18:30
- Comm-Link updated through Star Citizen Wiki Api 4 months ago - 02.08.2023 18:30
- Comm-Link updated through Star Citizen Wiki Api 5 months ago - 02.07.2023 18:30
- Comm-Link updated through Star Citizen Wiki Api 6 months ago - 02.06.2023 18:31
- Comm-Link updated through Star Citizen Wiki Api 7 months ago - 03.05.2023 09:45
- Comm-Link updated through Star Citizen Wiki Api 7 months ago - 28.04.2023 10:18
- Comm-Link updated through Star Citizen Wiki Api 8 months ago - 01.04.2023 00:25
- Comm-Link updated through Star Citizen Wiki Api 9 months ago - 01.03.2023 00:24
- Comm-Link updated through Star Citizen Wiki Api 11 months ago - 18.12.2022 16:25
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.12.2022 00:47
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.11.2022 00:39
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.10.2022 00:48
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.09.2022 00:40
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.08.2022 00:39
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 03.06.2022 05:05
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.04.2022 01:31
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.03.2022 01:31
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.02.2022 01:25
- Comm-Link updated through Star Citizen Wiki Api 1 year ago - 01.01.2022 01:25
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.12.2021 01:23
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.11.2021 01:24
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.10.2021 01:23
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.09.2021 01:23
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.08.2021 01:23
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 05.06.2021 14:30
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.06.2021 01:22
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.05.2021 01:22
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.04.2021 01:21
- Comm-Link updated through Star Citizen Wiki Api 2 years ago - 01.03.2021 01:21
- Translation German created by Star Citizen Wiki Api 3 years ago - 06.10.2020 09:32
- Translation English created by Star Citizen Wiki Api 3 years ago - 01.10.2020 00:25
- Comm-Link imported from Star Citizen Wiki Api 3 years ago - 01.10.2020 00:25
No text changes available