Brooklyn Sheets
XDefiant
Red Storm Entertainment
co-dev with Ubisoft SF
Role
UI Technical Artist
Engine
Snowdrop (Ubisoft Proprietary)
Platforms
PS5, Xbox Series X/S, PC
XDefiant launch trailer
Weapon Mastery

New UI to show Pyroclastic weapon mastery progress

New UI to show Pyroclastic weapon mastery progress
Weapon mastery skins were available at release, with only 3 tiers: bronze, silver, and gold. Season 1 released three new skins: Titanium Violet, Titanium Azure, and Titanium Prisma. Unlocking these are straightforward - only requiring the player to meet the level requirement to unlock the skin. Pyroclastic was the highest mastery unlock and was introduced in season 2. This new unlock was more complex than the previous ones, and this is where my work focused.
Unlocking the mastery skins bronze through Titanium Prisma required that weapon’s level to reach the required level. With the introduction of Pyroclastic, new requirements were introduced. Unlocking Pyroclastic required a number of other weapons to be level 400+ as well.
This required more work to be done in the data setup since now each weapon needed to have a reference to the level of the other weapons as well. Before the UI Programmer at San Francisco Ubisoft was able to create a data node for us, my coworker and I had cobbled some WIP nodes together so that we could begin testing the feature unblocked. Once the node was ready, it was easy to swap it out and continue working.
The work for this touched multiple screens. My portion of the work was focused on the weapon customization menus in the frontend, adding new information to track Pyroclastic progress. There were mid-match notifications, which were less complex and mostly required data hookups. And the celebration moment after match completion in the last match results, which shared similar information to the weapon menu. Because it was similar information, I worked closely with the UI Tech Artist on the parade screen so that we could align our implementations as closely as possible.
While the new UI was created, we also had to create new thumbnail art for each weapon skin to better fit the smaller boxes.
Faction Mastery
Faction Mastery was released in the final content update for XDefiant. The goal of faction mastery was similar to that of weapon mastery: to allow players to show off the amount of time they’ve put into specific factions and/or characters. However, its interaction was a little different.

This is the Faction Mastery screen in engine

This is the Faction Mastery screen in engine




I attended early meetings about the design of Faction Mastery and provided feedback throughout the iterative design process. This allowed us to move quickly through the development. When it was possible, I implemented rough versions of UX design wireframes or prototypes in the engine so that we could test for quick iterative feedback.
A piece of Faction Mastery was also keeping the last viewed character marked as a “favorite” so that they would be quick to see and return to. Initially the carousel would always reset to the default order, so I needed to create the functionality to specify the starting location of the carousel.
The video is of this feature in progress. Unfortunately, I do not have a video of this feature after its completion. In the video, the carousel is still setting the default carousel order and then “pushing” the favorite order. This was resolved shortly after this recording by setting the current view as the default instead of with my WIP changes that kept the indexes separate for easy comparison.
There were multiple possibilities for how and when the carousel index was saved. Initially the team wanted a manual button for the player to interact with. This was eventually decided against for two reasons. 1) Faction Mastery was wanting a skin preview, and 2) the “favorite” index didn’t affect selections in the game and could possibly confuse players.
So the decision for a “behind the scenes” version was introduced. I suggested having the character index update each time the carousel index changed so that it would update regardless of if the player left the menu. For example, if they were browsing during matchmaking and the game queued while they were still in the menu. This would still save their last viewed character. However, the development team in San Francisco didn’t believe it was worth the extra function call. So to keep it more efficient, the favorite index wasn’t set until the player exited this character view. Which is how it’s working at the time of this video.
Localization Bugs
This gallery contains examples of some of the localization bugs I worked on.

Settings menu differences for English (top) and Arabic (bottom)

Gamemode Selection menu differences for English (top) and Arabic (bottom)

Challenges menu had different functionality for the orientation of the fraction in Arabic. Arabic is the main screenshot, with the English comparrison overlayed on the right.

Settings menu differences for English (top) and Arabic (bottom)