XDEFIANT

UBISOFT, RED STORM ENTERTAINMENT

Technical Designer, Combat and AI | Snowdrop Engine | 2024

Red Storm joined the co-dev team for XDefiant in May 2024. In addition to designing and implementing the VS Bots game mode and owning live updates (improving quality of life, prioritizing bugs, fixing them in Snowdrop, creating patch notes) for the Cleaners faction, I gave playtest feedback on weapons, unreleased factions, and game modes, and shared Snowdrop knowledge with our Red Storm team and co-dev partners.

Top Skills Used

Combat Design, AI Design, UX/UI, Scripting, Balance, Playtests

Designed and Implemented VS Bots Game Mode, Adding AI Player Bots to XDefiant for The First Time

I represented design on team with 3 programmers reporting to the XDefiant Creative Director and Executive Producer.

We met with XDefiant leads biweekly to give updates, receive feedback, and establish new goals. I documented meetings, goals, and tracked current status of all aspects of the feature in Confluence and Jira. Created design tasks for VS Bots in Jira, gave design updates in Daily Scrum meetings, and feature updates in larger team meetings.

I set and enforced the scope for the new VS Bots mode to 6 game maps and 2 game modes (Domination and Escort) for its a bug-free season 3 initial release (achieved.)

I created the 6 map VS Bots playlist in Snowdrop, and limited player voting to supported maps and modes while in VS Bots lobby.

I created new VS Bots gamemode class in Snowdrop. I added to development-only builds until reaching final LOQ, then added to shipped retail build.

I coordinated the new XDefiant Front “Play” Menu and inclusion of VS Bots mode to First Time User Experience with our co-dev UI and UX teams (mostly Ubisoft Osaka.) I wrote the new game mode description.

I identified area for code changes to allow for per-gamemode player XP gain rates. I collaborated with the player progression team (Ubisoft San Francisco) to implement those code changes, and then I tuned the values with data changes in Snowdrop.

Designed User Experience for bot team backfill (replacing empty slots on a player’s team with bots after [X] seconds) and collaborated with engineers to make supporting changes to code.

Designed core principles for PvE combat in XDefiant: expected player and NPC behaviors, definitions of success. These included:

  • Bots should flank players whenever possible

  • Bot combat targeting should be based on active threat, whoever is dealing the most damage to the bot and its teammates while spreading out targets between allies

  • Bots use their hero abilities in appropriate ways (direct damage towards enemies, healing and buffs towards allies) as often as possible

We used these principles as guideline when testing the bots’ interactions with the level design, gamemode objectives, human players, and other bots. I coordinated AI behavior code changes with engineers, while handling data changes in Snowdrop.

Set logic for enemy and ally team bot filling (how many of each faction, skill, difficulty setting,) allowing multiple AI playstyles to balance each other out and create emergent combat scenarios.

Created 72 individual player bot “profiles” with configurations for behavior/combat difficulty, faction, skills, and cosmetic. This achieved XDefiant directors’ aesthetic visions while also achieving our designed combat principles (note: narrative names were due to be provided by narrative team prior to XDefiant cancellation. RSE (I) was not allowed to use our fun robot pun names.)

Orchestrated VS Bots game mode playtests with entire XDefiant Live Service team, wrote playtest questions and parsed feedback.

Coordinated bug tracking with Quality Assurance, determining if anything bot-related was a bug or a feature.

Documented VS Bots design and technical implementation in Confluence.

Owned Live Updates for Cleaners Faction on Factions Live Service Design Team

Operated as Feature Owner for live service updates to the Cleaners faction in XDefiant. Collaborated on a team with three other faction Feature Owners (also technical designers.) Parsed player bug reports and prioritized bugs in Jira. Pushed bug fixes to 1.5 million monthly active users. Decreased bug reports for Cleaners by 90% prior to leaving project.

Fixed high priority bug that existed for years: allowed Incendiary Drone to be Hijacked by DedSec faction hero skill. The intended behavior was for a DedSec player to be able to activate their ability near an active Incendiary Drone, taking ownership of the drone. This would send the drone on a straight path back to its deployment origin, spawning a fire trail beneath it that did damage to the to original drone owner’s team. I achieved this by:

  • Using Snowdrop debugging feature to determine that, when hijacked, the drone’s collision detection line trace was sweeping in a 180 degree half circle as it turned around, causing it to often explode

  • Editing the visual script for the Incendiary Drone to deactivate the line trace while rotating in place, then reactivate once on the correct flight path

  • Implementing the logic for the fire trail to be spawned for the hacking player’s team, using same logic for initial implementation but parameterizing to pass in an “owner” and calling when Hijacked

One of my favorite memories on XDefiant was testing this feature with the Red Storm team. By having two teams of DedSec players and one Cleaner deploying the drone, we were able to successfully ping-pong the drone back and forth as many times as we had the ability to use Hijack.                       

Optimized visual scripts for Firebomb hero skill in Snowdrop. Made it so only server values were used for game art (fire AoE) instead of calculating and spawning from each client, and performed these calculations during skill deployment time. This significantly improved the UX by removing confusion of where in the game world was actually on fire.

Updated UI text for Cleaners faction description page, reducing confusion (and bug reports) about Incendiary Rounds.

Handled complicated manual merge of visual scripts in Snowdrop for Incendiary Drone between two branches of the game, which included many conversations with high-level producers and product managers over several weeks to get approval for my necessary change. I later taught what I learned to the Lead Gameplay Engineer on the Red Storm team, significantly reducing downtime and confusion for his change.

Playtested and gave design feedback for all Live Service XDefiant factions multiple times a week.

Assisted other Red Storm technical designers with debugging their faction’s implementation in Snowdrop.

Old Incendiary Rounds Description

New Incendiary Rounds Description