February’s roundup starts with the AI Team, whom improved various aspects of dogfighting, which included the addition of evasive maneuvers to enemy ships. Now, when an AI pilot has an enemy on its tail, it will try to utilize ‘break-aways’ with increasingly-varied directions and angles, try to keep momentum, and chain attacks together. The team achieved this by adding new ‘SmoothTurning’ subsumption tasks to the behavior logic.
AI pilots will also attempt to create diversions using evasive maneuvers.
Automatic incoming/outgoing ship traffic over planetary landing areas was implemented this month, too. The team are currently generalizing ship behaviors to enable the designers to easily set up traffic on cities, capital ships, and other required areas.
The AI Team also made improvements to the existing character collision avoidance system. The changes began with adjustments to the smooth locomotion path, with data coming from the collision avoidance calculation to make sure the character has enough free space to move.
Time was spent combining the different features required for dynamic cinematic scenes and dynamic patrolling, with focus on the transitions into and from trackview scenes and generalizing guard behaviors to correctly use ‘walk & talk’ functionality.
For social behaviors, the team refactored vendor behavior to be generic and reusable in multiple contexts, first implementing a way for supporting motion-capture animations to be used as transitions between usables (which they’re temporarily referring to as ‘schooching’). This allows the designers to set up additional animations for specific usables/characters so that an actor’s performance can be maintained alongside the regular systemic behavior. For example, several levels have vendors with animations driven by specific actor performances. These need to be played without creating unique behaviors, so the special transition positions are highlighted within the level to allow the designers to verify the setup of the environment matches the existing animations.
The options that vendors can use were also generalized so that the designers no longer have to write them into their behaviors. Instead, the correct options are automatically selected based on the environment and (eventually) from the shop services.
This month, Character Art revisited the hair development pipeline. With the help of the Graphics Team, they developed new tools and shader tech to improve realism while maintaining quality and performance. They’re currently modeling characters and new hairstyles to test their new pipeline with.
Progress also continues on the Vanduul character model. The head and body mesh are complete, with texturing currently underway.
The internal lighting for scripted events on the Javelin is now completed. Art are currently focusing their efforts on the ship’s exterior, as the player will see certain events play out from both inside and outside of the ship.
Two key campaign areas are now grey-box complete, soft gate reviews have been carried out, and the go-ahead has been given to start planning out the shaders and textures.
As mentioned last month, Archon Station’s exterior is ‘watertight’. And now, all surfaces are complete, with collision meshes added for good measure. The layout does a fantastic job of selling the station’s scale when both far away and up close. The main transit system is also integrated, with all stops and secondary systems being finished throughout March.
A focus-team has moved back onto the Krugeri to help refine several areas with key cinematics. Alongside this, new areas are being added throughout the ship, including medical bays and an armory.
The Retaliator is one of several ships currently receiving tweaks to suit SQ42’s needs. The ship plays an important role in certain missions, so requires some subtle amends to suit. The updated ship will eventually make its way to the Persistent Universe, too.
The Audio Code Team and sound designers finished their collaborative work on the new camera-shake and ship-vibration systems. Now, when an engine kicks in, the ship shakes and hums. This also extends to the player, with events like a ship powering up causing minor camera shake.
The sound designers added new sound samples to a range of ships as part of the rollout of the New Flight Model. By adding ‘one-shot’ samples to each of the various thrusters, they’ve brought out more complexity to the sounds heard during flight. Additionally, they created the sound profiles and samples for the Gemini S71 assault rifle and Kastak Arms CODA pistol, which will both appear in SQ42 and the Persistent Universe (PU).
Currently, everyone from Audio is working towards an updated tool that better allows the sound designers to implement new assets in-engine whilst simultaneously testing how they sound.
The Cinematics Team made substantial progress on major scenes encountered late-on in the campaign and prototyped an important [REDACTED] that will take place at [REDECATED]. This included recording a total of 56 motion capture (mocap) lines and a handful of new wildlines.
Another significant sequence that garnered attention involves the Bengal carrier. A scene in the pilot ready-room required the mocap cast to use a circular table of 1.5m diameter and four chairs that could swivel, had no wheels, but could be pushed around. Although seemingly trivial, specific information like this is carefully shared between all teams involved to ensure the prop dimensions fit into the intended location, animations have enough space to run unimpeded, and the distance between conversing characters is maintained. Compared to the size of SQ42’s ships and planets, relatively small things like table and chairs can be very important for cinematics!
February saw the Engine Team optimize the instance system used in compute skinning. This was achieved through a refactor of it on the CPU and shader for better maintainability, created a budget-based output-buffer system for skinning results (so they only have to skin once per frame), made more tangent reconstruction optimizations, and worked on wrap-deformation using the color stream.
Basic HDR display support was also added to the editor, as was a new hue-preserving display mapping curve suitable for HDR display output. The team provided material layer support for planet tech v4 and continued to improve character hair, which included initial support for edge masking and pixel depth offset. Game physics is progressing with Projectile Manager improvements, as are optimizations to wrapped grids and state updates. Support was added for ocean Fast Fourier Transform (FFT) wave generation to physics buoyancy calculations, as well as exposed optimized terrain meshes. A major system initialization clean-up was completed as part of an initiative to share core engine functionality with PU services, the lockless job manager was worked on (a complete overhaul for faster response in high-load scenarios), and a new load time profiler was created.
The team are currently wrapping up the ‘ImGUI’ integration and are introducing a temporary allocator for more efficiency when containers are used on stack. They made the switch to the Clang 6 compiler to build Linux targets (including compilation cleanup of the entire code base) and plan to switch to the latest stable release (Clang 8.x) in the near future.
Finally, a ‘create compile time’ analysis tool (utilizing new Visual C++ front and backend profiler flags) was completed to gather, condense, and visualize reasons for slow compile and link times. As a result, various improvements have already been submitted and further action items defined.
Most of the vehicle work completing in February will eventually appear in both SQ42 and PU:
Gimbal Assist and its related HUD improvements were finalized and polished to allow for better balancing of this new weapon control scheme. Turrets were also improved, with the team adding a HUD and keybinds for input sensitivity, implementing adjustable speeds for gimbal target-movement based on proximity to center aim, and fixing bugs the caused snapping and erratic movement.
A lot of time went towards scanning improvements, which included adjusting the area for navpoint scanning, adding the ability to utilize the navpoint hierarchy, and adding a Boolean to opt into the scanning data. This endeavor also covered adjustments to make scanning more involving by setting up AI turrets to generate signatures and be scannable and adding specific icons for scanned/unscanned targets. Ping and blob were implemented to display on the radar too, including focus angle and ping fire. They also continued to make item port tech optimizations, developed tech for utilizing geometry component tags in the paint system, and fixed a handful of crash bugs.
Exclusively for SQ42, the team continued to work with the designers to implement various Subsumption callbacks for mission-specific requirements.
A large part of the Graphics Team’s time throughout February was spent closing down the final features for the volumetric rendering of gas clouds. This included unifying the lighting between volumetric effects and opaque objects, which required adding support for deep Fourier shade maps into the general lighting pipeline. Several other changes were made to allow gas clouds to be built from smaller modular pieces, which helps overcome the large storage requirements of volumetric data.
Another focus was adding multi-threaded rendering support to the editor, which will improve the performance for artists and designers working in complex scenes. In some cases, this can almost double the framerate and get much closer to the performance of the optimized ‘shipping’ build of the game. The editor code was written before the engine was multi-threaded and, as a result, there are many bugs that have to be painstakingly found and fixed. However, it is now nearing completion.
Each of the four design teams progressed towards the goal of completing a handover flow for the first third of the game. This involved an in-depth dive into the details of planetary bodies in the Odin system, with the aim to get accurate Quantum Travel distances and create glorious backdrops for the various space battles.
Great progress was made on the social AI and usables technology that allows NPCs to systematically demonstrate different behaviors within the Idris corvette.
The Design Team integrated the Air Traffic Controller feature (which coordinates all take-offs and landings) into the game-flow to help promote the ‘busy’ feel you’d expect when visiting a huge military capital ship. Refinements of both FPS and ground combat in-line with the current roadmap continued, too.
Both Dave and Will spent most of the month visiting the UK office. That time was spent not only reviewing the latest progress on several chapters, but on capturing a few additional pickup performances needed for the completion of the game. This included recording tests for the female player character to ensure the pipeline is working correctly before the team proceeds with recording all of her performances.
The wider Narrative Team made progress on generating the specific text needed for on-screen mission objectives. Previously, this had been placeholder text as designers worked on levels, but moving forward, the hope is to begin using the proper in-lore objectives.
Alongside making more improvements to Vault & Mantle’, work began on Player Jump v2. They’re currently re-evaluating how the animations are set up in the code to help simplify and reduce the number of assets.
The team revisited stealth takedown mechanics and re-evaluated the previous work done on knife takedowns. They continued work on the free-look view limits (where the player’s range of view is restricted depending on their helmet/armor) and separated out the range when weapon aiming from free-look.
SQ42 Features began improving the in-game workflow for iterating on cinematic scenes and evaluated potentially suitable existing tech for suitability. For example, being able to jump to a specific conversation, skip to the end of a scene, replay scenes, etc. They also added additional ways of triggering conversations based on the distance or the direction the player is approaching an NPC from.
While most AI testing took place in the Persistent Universe and Arena Commander (AC), the same systems will also appear in various aspects within SQ42. In most cases, testing in the PU and Arena Commander is sufficient, but QA now regularly undertakes flow testing for those features most relevant to the SQ42 campaign. Any issues encountered are cross-checked with the findings of other testers and JIRA tasks are created accordingly. Usually, the issues tend to be related to setup rather than code, as most code problems are discovered during preliminary testing in the PU/AC.
The testing of various cutscenes from the SQ42 campaign is on-going by a dedicated tester and will support the Cinematics Team with any issues that prevent them from creating Track View sequences.
The System Design Team predominantly focused on AI throughout February:
For Ship AI, they made general improvements throughout, including the way AI ships attempt to avoid the player’s fire. For social AI, they’re working on Duncan Chakma, the Idris’ master at arms. This character has some of the more complex behaviors and solving him should speed up the development of all other characters that encompass complex player choices (such as movement from station to station, interacting with items, and giving/taking back weapons). On the FPS AI side, they focused on restructuring behaviors so that they become more modular, with the goal to make it easier to implement specific chunks of logic and influence the AI’s skillset.
The team also spent time on set filming new animation sets for NPCs that should create a lot more depth and bring them to life.
User Interface (UI)
During February, UI began working on the branding and theming for the Aciedo, Shubin, and OMC environmental UI displays, as well as the GRIN manufacturer.
The VFX Team updated the existing particle lighting system to a more modern iteration. The previous version was based on tessellation, which increased the rendering cost and had limitations on shadow resolution. The new system is a global change that will remove the need for tessellation and improve shadow receiving for a crisper, smoother appearance.
They’re also continuing work on the cinematics for SQ42. This includes a lot of soft/rigid body destruction simulations that will be required for scenes where objects are destroyed (peeling back metal panels, fracturing and breaking of glass, concrete, etc.).
The UK-based team put most of their focus on vehicle damage and destruction, which is always an enjoyable task for the artists. Specifically, they blocked out several destruction sequences after an extended R&D period with Art and Design to help determine exactly where and when certain story-driven destruction sequences should occur.
They also continued to iterate on the lightning effects after receiving several new features from the graphics and game code engineers. For example, a new seed option allows the artist to remove all behavioral randomization from the effect, which makes it much easier to fine tune. This is also beneficial for cinematic sequences to ensure lightning looks the same each time it strikes.
The Weapon Art Team completed the Gemini S71, Kastak Arms Coda, Banu Singe tachyon cannons, Gallenson Tactical ballistic cannon reworks, and five variants of the Aegis Vanguard nose guns.
Ride ‘em in, cut ‘em out