We start January’s report with Combat AI, who improved the cover generation and NPC cover-use mentioned last month. This involved voxelizing the area around the cover locator to better understand which locations have clearance and adequate protection. Behaviour-wise, feedback on shotgun tactics was implemented; now AI actors will find more tactically advantageous positions when shooting. The ability for NPCs to change between locomotion speeds while using a single path was also implemented. For example, NPCs relocating to a new cover location can slowly move and shoot before turning to run without recalculating their path.
The Ship AI Team finalized the last implementation of the new 3D navigation system. This uses a 3D pathfinder and collision avoidance system, with the goal to make AI pilots fully aware of their physical environments. Each environment offers a different challenge: In open space, pilots need to take into account asteroids, communication arrays, and space stations. When flying close to planetary surfaces, pilots need to be aware of the local terrain elevation and physical structures that don’t belong to the procedurally generated surface, such as rocks, buildings, refineries, and towers. In order to obtain and effectively use this information, the AI systems need to query physics in an extremely detailed way and model the information in abstractions that can be processed by their algorithms.
Also, time was dedicated to the routine code clean-up that’s crucial to keeping the ever-growing code base efficient and readable. This clean-up focused mostly on the flight-related Subsumption tasks with heavily repeated (or ‘boilerplate’) code that could be abstracted away to reduce the likelihood of errors when implementing new tasks.
The final days of January saw Ship AI prototyping a new AI system – Tactical Target Selection. Mission requirements (for the PU and SQ42) are getting more sophisticated and the current selection system, based on filters, is not able to fulfill all requested scenarios.
The Social Team are currently focusing on a bar location where players and NPCs can purchase bottled and draft drinks and ask the bartender to mix a cocktail. Players will be able to drink at a table, booth, or the bar itself.
Environment Art kicked off the year in earnest, finalizing microTech’s moons and updating their geology assets. The moons will be some of the harshest environments in Stanton and will offer high risk/reward opportunities for players daring enough to tackle them. With all the recent planet tech improvements, the team wanted to give geology the same treatment to improve the visual quality and create more dynamic assets that better integrate with the various surfaces and biomes.
In the US, Ship Art finalized art for the upcoming Esperia Prowler. Once the Drake Cutlass Red was released, they moved onto the white box for the Cutlass Blue.
In the UK, the team started production on two new ships, which will be announced later this year. The Anvil Carrack is also nearing completion, with the final touches being added to the medical bay, cartography room, and cargo pods. They’re currently tweaking the lighting and making a final polish pass.
January saw the FPS Weapons Team kicking off two new weapons – the Lightning Bolt Co.’s Atzkav sniper rifle and Yubarev pistol. A new anti-personnel turret archetype was started this month. While it shares similarities with the ship-weapon pipeline, it has a more realistic scale and works well from a gameplay point of view. While they’ll initially be used as deterrents in prisons, players can expect to see them cropping up around the rest of the ‘verse soon. Finally, the team fixed a few bugs for the next Alpha release and put the finishing touches on some of the assets mentioned last month.
Audio started off January by spending time scheduling for the quarter. They worked with Game Support in the US to improve their patch notes and started a spectrum thread
looking for audio feedback that they’re analyzing and breaking down into actionable tasks. They also began composing music and creating ambient sounds for prisons, worked on new weapon and tail sounds for the Prowler, and recorded dialogue and vocals for the actor status feature.
Backend Engineering spent early January planning and scheduling for the next quarter’s development. They finished the advanced querying system for iCache and defined the optimal way of working with the game server and star hash services. Changes were also made to the hub server, which will optimize the service-to-client traffic path. Additionally, they supported the account reset tool, wallet changes, and the ongoing development of long-term persistence. Bugs relating to insurance claims, store purchases, and rental ships were fixed too.
The Character Team spent most of the month working on assets for the PU. They’re currently texturing two outfits for microTech and wrapping up the tech implementation for two more, with a focus on cold-weather theming and variation. They’re also creating shop props and finalizing the implementation of the Caldera suit seen at CitizenCon.
The Community Team kicked off 2020 with the Red Festival
. A celebration of renewal and remembrance, the festival has its origins in old Earth customs and observes the end of the Lunar New Year. Evoking the real-world event, red envelopes were hidden around major hubs throughout the ‘verse, which fortunate players were able to find and sell.
The team thoroughly enjoyed this year’s community-organized Daymar Rally
. The “filthiest race in the ‘verse” wouldn’t have been possible without the 72 teams and countless support craft guiding and guarding the 275 competitors.
“Thanks are due to the amazing organizers, cameramen, give-away providers, Twitch hosts, and VIP 890 Jump crew and guests. For the Community Team, it was this month’s highlight to see the results of game development and community dedication come together in this magnificent event!” – The Community Team
Finally, the Cutlass Red was welcomed into the ‘verse alongside the first iteration of medical gameplay.
“We’re looking forward to seeing what everyone will use this new mechanic for, so please share your adventures on the Community Hub!”
Alongside planning and bug fixing, last month saw Design setting up the new shops coming in Alpha 3.9. Higher-level design work began around event-driven content; the goal being to pair up with the USPU Team moving forward. Although more can be said, it’ll be worth the wait…
Tony Zurovec and team also started on the deliverables for the new Quantum editor recently seen at CitizenCon.
January saw the Engineering Team continue with physics threading and performance improvements. This involved increasing concurrency by adding an option to specify the number of worker threads to a maximum of 30. Currently, they overlap with the job system’s worker threads. However, job workers are optimized for latency, so there are always points within a frame where it isn’t entirely busy. Long term, they plan to move the in-thread physics workload to the job system directly, which will require further changes to negate the potential for frequent stalls.
The team also implemented concurrent/immediate queuing for physics, support for fences and barriers to synchronize physics actions/params, and added physics step data to the FPS heartbeat to monitor high-level load. The signed distance field (SDF) system was further developed to accelerate collision checks on complex geometry and increase precision. Support was also given to NPC death reaction animations regarding actor and ragdoll body dragging.
January’s engine work included optimizing the job manager, which is required for entity-component scheduler improvements, and modifying it to run all component updates in batches. The responsiveness of the batch worker was also improved by removing the polling behavior to find jobs done (using direct signals instead), replacing the signaling mechanism with WaitOnAddress functionality for more efficient wake-ups, introducing clusters to prevent unnecessary wakeup for small batches, and replacing work-stealing code with simple atomic decrements.
For the zone system, they implemented support for proximity volumes and moved SZoneHandle data from client objects into the zone system. They also supported the transition to Visual Studio 2019.
Engineering also supported the Gen12 renderer and Vulkan. This involved porting the buffer management code to the Gen12 renderer, generalizing texture views, creating support for LoadOp, changing Map API to make it more C++11-friendly using RAII, and ensuring the UpdateResourceBuffer legacy pipeline now correctly takes in byte offsets in the backend rather than per element-offset.
Work on new experimental hair features began, including a hair color model with base melanin and bleach/dye layers. Ocean rendering moved from a forward to a deferred pass to allow more consistent shading; shadow application is now free and cube map reflections were improved. The unified raymarcher continued development too.
For planet lighting and atmosphere, they added combined planet color LUT to evaluate the local ground albedo and take it into account during irradiance computations. They also applied scene irradiance computations and cloud shading, introduced new sky irradiance LUT for a better approximation of light scattering events within atmosphere, and added support for an alternative jitter method that works alongside TSAA.
Regarding ground fog, they implemented a strictly compute-based method to build the ground height map. This means they’ll be able to ditch fog volume proxy mesh generations which, after a lot of improvements, were still subject to artifacts. This move will save on memory resources as well. They also removed the peel buffer (in preparation to drop the proxy mesh) and fog bounds are now evaluated analytically.
With the quarterly plans locked, the team provided engineering support for the upcoming prison mission feature. They also spent time addressing a few critical crash bugs for Alpha 3.8.1. They’re currently adding functionality for multiple cargo manifests per ship that will allow for more variety when collecting cargo from NPCs. Finally, they started converting the existing shop UI system to the new building blocks tech, which will be a multi-quarter initiative throughout 2020.
The US-based Feature Team began improving radar and ping detection, including simplifying entity detection, reworking the A/R marker display, and allowing low-signature entities. They also implemented vehicle-to-vehicle loadout spawning, which will enable players to store and spawn vehicles within the cargo bays of other vehicles. They worked on sub-targeting improvements to allow players to specifically target weapons and turrets after fully scanning vehicles. Ongoing work to the SDF shields will improve hit detection and effects, including extending shield gameplay to non-vehicle entities.
With the bulk of Planet Tech v4 complete, the Graphics Team began looking into improvements to the organic shader to enable it to take advantage of physical-based shading. This will allow the much wider reuse of assets as they will automatically adapt to the local biome (rock color, surface textures, snow/sand build-up, etc.). The final paint and tint system changes are complete, with the system currently in use by the Environment Team. It’ll be handed over to other teams shortly for them to decide how and when to incorporate it. Work also went into the Gen12/Vulkan renderer, specifically the conversion of post effects to the new system.
Level Design’s January started with location planning, identifying dependencies, and organizing schedules. Most of that work is handled by the leads and production, so the rest of the team can focus on building content. As such, New Babbage is almost complete, with only a few additions and final polish to come. The team continued to work on the modular space stations. The stations currently in-game are known as Tier 0 – a concept to prove the feasibility of the design, approach, and procedural generation. Next, more structured and easily navigable layouts will be created along with procedural signage and future additions.
Last month, the Lighting Team tackled several bugs and polish tasks that had been put on the backburner while release work was prioritized. This involved updating Lorville’s lighting with a city-wide glow previously used on ArcCorp to help give the feeling of light pollution scattering into the atmosphere. This is a subtle effect, but it helps connect the city to the wider atmosphere. The team also updated Levski’s exterior to remove some legacy rot and make better use of prefab objects, which allows for much quicker iteration and large-scale changes. They also took the opportunity to improve the overall quality of the location’s lighting by slightly simplifying the color scheme to make it less visually chaotic.
The team is currently focusing on New Babbage.
“There are lots of visually interesting and distinct areas in the landing zone where we can take advantage of all our latest lighting features and optimizations for the best quality and most dynamic lighting in a landing zone to date.” – The Lighting Team
Work has already been completed on improving the overall city lighting experience, especially during nighttime and when player are in transit.
In addition to supporting various promotions and events, Player Relations worked to stabilize the incremental Alpha 3.8 patches, with focus currently on Alpha 3.8.2.
The Props Team started the year off cleaning up bugs and taking stock of materials and textures in the ongoing process of improving asset quality. Work continued on the prison props, with the oxygen and ore machinery finalized. A boxing ring was also completed that will allow for some much-needed entertainment while the inmates serve their time. Small stashes were also hidden in the prison locations, so incarcerated players should keep an eye out for extra supplies. Some of the team continued work on the hi-tech dressings for New Babbage, this time focusing on the bar and furniture sets and dressing for the many food outlets. Finally, they started on new food assets required for the actor status feature.
Development-wise, QA tested the key elements of the incremental Alpha 3.8 patches, including the Drake Cutlass Red and Anvil Carrack. Some of the team moved back to game dev to test upcoming features, while planning began for the upcoming testing and current best-practice review.
System Design spent time in January finishing mining consumables. Once live, players will be able to activate a consumable to make mining jobs easier or correct mistakes made in the process. Work on volatile cargo progressed too; when extracted, it will need to be taken to a refining kiosk quickly and carefully to prevent it from detonating inside the ship.
Resource distribution is another significant feature currently under development. This will create a unified way to handle resources (power, heat, shields, CPU, etc.) inside a ship, station, or planetary settlement. The ultimate aim is to make the engineer role critical to large ships and to allow attackers to take out (or even sabotage) components.
Tech Animation fixed several small bugs in the animation pipeline and reworked the PlayBlast animation tool in Maya to improve efficiency. They also supported Social AI with Mannequin tasks, implementing animations for the bartender, railings, and bar patron.
Tech Art continued to flesh out the runtime Rig Logic tools for Maya. The previously monolithic code and related data structures were broken down into generic building blocks known as rig components. These components can be chained together almost arbitrarily to provide the functionality required by specific rigs, such as a human body or space whale. BlendShape, linear joint offset, PSD, wrinkle map, and more are currently viable. In the future, support will be extended to RBF, look IK, and other more complex variants. This will allow the team to better develop new runtime rigs, which they’ll need when they start creating the complex rigs for alien races and fauna.
Another important goal is to transition human body rigs from a fully-baked form (where the movement of joints and bones is exported into the game engine from Maya) to a workflow that only bakes and exports the primary joints. This will use a custom body runtime rig logic to determine the translation and rotation of all deformation helper joints. These joints ensure that, regardless of what clothing a character wears or what pose they’re in, attachments always deform correctly without artifacts. By driving them via a runtime rig logic, the memory footprint of the thousands of body animation clips will become much smaller. Also, procedural animation of the primary joints via physicalized ragdolls, runtime IK, and others will not break deformation as the rig logic will adjust the deformation joints according to the final pose.
Turbulent supported the release of the Cutlass Red, working with in-house teams to build the web page and manage the backend. They also supported the Lunar New Year promotion, which gave backers the final chance to pick up (amongst other things) an Anvil Carrack before it becomes flyable.
User Interface (UI)
Much of the UI Art Team’s January focus was on hi-tech environmental screens for New Babbage and developing the visual style of the prison UI screens, which have a more retro-inspired functional look. Final polish was also given to the Actor Status display. The visuals for the personal inner thought made progress too. This popup radial menu lets players perform quick actions (such as turning on a torch) without having to remember keyboard shortcuts.
The UI Tech Team started work on 3D building blocks, which will support multi-layered screens and make it easier to add 3D icons. They also expanded reusability and restyling, which will help implement the new vehicle UI.
The VFX Team further improved Planet Tech v4, specifically wind strength values across each location. This includes a new option to clamp a maximum wind strength for each planet, which allows the team to use fewer wind textures rather than a bespoke asset per location. They’re currently adding effects to several new locations in the Stanton system. Work also continued on effects for New Babbage, mining attachments, the Cutlass Red, and the Carrack. They began looking into atmospheric entry improvements using the anticipated vehicle-specific SDF too.