Character Combat kicked off the month progressing with Vanduul aiming and shooting. These alien NPCs can now more effectively aim and accurately shoot at targets when standing, idling, or moving to better strategic positions.
The team continued to refine dodge-action triggering, which is currently used during combat when the player is aiming or shooting toward an NPC. Triggering this action requires careful evaluation of different conditions, such as the space within the navigation mesh needed to play the animation or the time spent aiming. The team are currently adding additional adjustability to the frequency that triggers dodge actions and are developing locomotion assets to support different walk speeds and sprinting.
All character types will benefit from ongoing improvements to the AI weapon component. This work exposed all fire modes to the various behaviors, with the team enabling the AI to switch between fire modes the same way the player does.
The team are currently adding ammo box refill functionality to NPCs so that, in combat, any with low or no ammunition can retreat to an ammo box to refill. They’re also implementing urgent enter/exit/rummage animations and are improving the looting mechanism that allows players and NPCs to pick ammunition and store it in their loadouts.
A few bugs were fixed throughout the month too, including one involving raycasts being wrongly validated by the physics engine. Improvements were also made to the animations when NPCs move into and out of cover, and an unwanted behavior was removed that caused NPCs to blind-fire from cover when the player wasn’t there.
Ship AI made several improvements to the Tactical Query System, including optimizing the way it handles queries and structures data. They also extended how keywords are used. For example, in the target selection queries, they added the ‘HasTag’ property to select entities specifically tagged with a role.
The way weight is defined was improved; the team can now configure both the actual weight of a property and the value it must have for correct calculation. A ‘ShipStateMonitorComponent’ was implemented to allow multiple ship states to be easily monitored and cached. This will allow multiple systems to use the data to drive logic.
Last month, Social AI progressed with three key scenarios: bridge crew, hangar crew, and generic vendor. For the bridge crew, they completed the first pass on the behavior described in last month’s report, simplifying some of the dependencies between usables and operator seats and allowing specific characters to override animations. This enables certain actors to have their own versions of generic seat interactions.
The team continued polishing the first pass of the hangar crew behaviors and usable setup. This scenario was used to create a specific test map to easily verify how NPCs interact with the hangar environment.
For the generic vendor, the team supported ‘context polishing.’ They’re currently completing documentation to allow the content groups to use the bartender’s generic functionalities across all shops and vendors in the universe.
The first pass of a feature that connects the different bars to the shop services was also implemented. This will enable the vendor to validate the price of items in relation to the player’s available cash and complete a transaction once goods are delivered.
Away from scenarios, progress was made on the patrol path functionality that allows instant path calculation for short distances. This significantly reduces delays when triggering specific cutscenes or animations for a much smoother experience. Support was also given to speed overrides on setups on the edges of paths.
Bugs-wise, the team fixed several problems causing NPCs to stand on top of usables. The majority of these were a direct consequence of object container streaming preventing characters from reattaching to usables. For example, one was due to the usable code wrongly overriding the deferred attachment request by multiple characters, while another was a wrong navigation mesh validation when streaming back in where no validation was required.
For global AI, the team improved the functionality of the LookComponent. First, they converted the internal look request queue to a more sophisticated priority-based iteration. Each request is now associated with specific semantics that pile on top of each other based on a predefined priority. They currently have the following semantic order, from the lowest to highest priority:
- Look ahead: When moving on a path, an NPC might try to look ahead based on the path it’s following.
- Procedural object discovery: When moving around, interesting things might be noticed by the NPC that can then be looked at.
- Behavior-driven requests: The behavior can sometimes explicitly request the NPC look at something.
- Trackview: During cutscenes, the designers can override targets based on the scene itself.
- Synchronization: In a PU environment, the networked target is used by the NPCs on the clients.
The team also made several optimizations to collision avoidance and subsumption. The component code was adjusted to better support the updated parallelization and server meshing too.
Although a lot of AI work is relevant for both the PU and SQ42, one functionality required specifically for the single-player campaign is the ability for AI to Quantum Link with the player and other NPCs. The full Quantum Linking functionality relies on the PU’s PlayerGroup service, so a single-player version was added. This also allowed the team to refactor some of the subsumption logic and transform the old group variable into a more generic ‘entity tracker.’
Similar to the PU report since this tech is shared, the Animation Team worked on force reactions, such as knockbacks, knockdowns, twitches, and flinches. They completed pre-visual work on zero-g push/pull, further developed grenade and object throwing, and undertook tests for high-gravity moves. Work continued on some new weapons too.
The bartender and bar patrons received attention (specifically bug fixing), as did the useables for flight hangars, cryotanks, and seated consoles. Work on the ‘chowline’ usable began too, which manages NPCs queueing for food.
Combat-wise, the team progressed with locomotion and firing animations for the Vanduul. Facial animations progressed for various pilots, the female player character, gunnery officers, and an as-yet-unannounced character.
They also continued to work through the mo-cap backlog, comms calls, and the Review and Selection pipelines. Time was also dedicated to developing COVID-19 safety plans for when mo-cap shoots can restart.
As always, hair took up a significant portion of the Character Team’s month, with their biggest challenge mastering the extremes of the hairstyle range. For example, bright blonde and afro-textured hair require slightly different tech than is currently used. This work is necessary, as offering this wide a spectrum of choice is one of the team’s primary goals. To complete hair, the Character Team also require physics support, as the hair simulation features elements of the cloth physics currently scheduled for work later in the project.
“We want to make sure that when hair does finally get updated, players are rewarded for their wait. We should also start seeing some of these hairstyles trickle into the PU once the majority of SQ42 hairstyles are complete.” -The Character Team
Alongside hair, the team continued developing the Vanduul with the Animation and Tech teams, while the character artists moved onto the Xi’an race.
The Props Team spent the month supporting Gameplay Story with various dressing and cinematic-specific assets.
The Weapons Art Team further developed the Vanduul lance, polishing and tweaking the rig and animation.
July saw the Audio Team composing new music for several chapters, working on level ambiances, and supporting various props. They also worked on Vanduul dialogue, which will help inform the designers of the best way to edit and implement the alien race’s speech.
July saw the prototype of a large-scale battle getting attention from downstream teams. This led to the reworking of a key turret to ensure the experience of sitting in and using it is both visually and viscerally rewarding.
The Weapon Code Team split the player-controllable turrets into two different firing modes, enabling the bigger STS turret to work as a ‘slave’ to the player-controlled AA guns. They looked at the camera shake of the prototype and emulated it, and VFX are now looking into hull impact effects, including how to get more impactful lighting and increase projectile sizes.
Art was recently completed for a dogfight that also features a longer cinematic. Seeing the finalized art, sun position, and atmosphere come together can lead to tweaks at the white or greybox stage, as camera directions or other small details may not do the visuals justice. For example, sun positioning can cause the team to rethink shot choices to ensure elements like background lighting, silhouettes, and vistas look their best. In this case, the Cinematics Team moved the sequence to the opposite side of the axis between two ships. The exact camera angles will be finalized once the navsplines, approach directions, and overall timing are completed.
“In the end, we are getting a really moody and cool-looking vista to photograph our heroes in, so it’s worth it sometimes to revisit our camera choices.” – The Cinematics Team
Alongside work shared with the PU, Engineering further developed the ‘social’ aspects of SQ42. For the ‘walk and talk’ feature, they implemented a match-speed mechanic to make following a character simpler. This includes an ideal offset that the designers can place along a path so when the player is walking with a character, they’re kept in that relative position.
Further improvements were made to the triggering of interrupts and abandons in story scenes. The team added timers to events so that the designers can specify how long the player needs to be looking at a character before they respond. This means characters don’t always have to respond immediately to the player and the designers can tweak abandons depending on whether the player is leaving or just backing away.
The Actor Team continued with force reactions. Now, when a ship has an impulse applied to it from either maneuvering or an external force such as an explosion, a relative force is applied to the characters inside. This triggers stumbles and potentially knock-backs if the ship is hit with sufficient force.
More improvements were made to throwing, which now accounts for the physical properties of the object and adjusts the exit velocities accordingly. For example, heavy objects can’t be thrown as far as light ones. A more accurate AR throw predication arc is also being worked on.
The Gameplay Story Team progressed well throughout July, managing to implement 8 scenes, leaving just 20 remaining. They also provided animation support for a high-profile section of chapter 4, which is made up of 10 scenes where the player is guided around the Idris. Alongside this, they worked with Design to sign off several gameplay story scenes as ‘greybox complete.’
The Narrative Team used July to further their ongoing level reviews with Design, identifying locations and gameplay scenarios where dialogue adjustments may help with world-building and player understanding. As progress is made across the game, it’s vital for the team to play, refine, and repeat this process. Last month also saw progress on expanding how the Vanduul communicate, with additional meetings between Narrative, Audio, and our Xenolinguist. This work will greatly enhance the combat experience when battling these fierce warriors.
Cinematics continued to rely on QA for recordings of gameplay from each level so they can ensure scenes are working as intended and appear at the intended quality. They also continued to reproduce issues found and created test-maps to perform checks quickly.
Techical Animation made progress with initiatives to overhaul the skin file setup and the 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.
User Interface (UI)
The UI artists spent their SQ42 focus working on the first set of screens for the main capital ships. The Tech Team worked on a 3D layering system to help them make impressive holographic UIs in the future too.
July saw VFX continuing their support of gas clouds alongside the Art and Design teams, in particular fleshing out gas-cloud-themed effects.
They also looked into improving landing and take-off effects, particularly for the Gladius as it launches from the Idris’ hangar. As part of this, tests were done using a signed distance field to enable particles to collide and flow against the blast shield.
In Germany, VFX began looking to further improve particle lighting (which will also apply to the PU). They added decoupled lighting a while ago, however the underlying lighting model wasn’t changed. The old lighting model wasn’t physically accurate, energy-conserving, and multiplied the light up to 6x brighter than it should have been. This resulted in some particles being much brighter than they should have been and broke the energy conservation model. The new lighting model is based on real-world values and take things like diffuse contribution, absorption, and scattering into account to achieve a more balanced result.