Custom Game Browser

Role
Senior UX Designer
Design Problem
Create a way for players to find and join games that they wouldn't normally find on their own.
Collaborated With
Design Lead, Engineering, External Implementation Partner (Overseas), Producer, and User Research
UX Ownership
User Flows → Wireframes → Specifications → Implementation Support → User Research → Revisions → Implementation Support → User Research → Post-Launch

PROJECT SUMMARY

Custom Game Browser was a sizeable project delivered by a relatively small team. We were lucky to have an opportunity to revisit the feature after launch.

Phase 1: Creating and standing up the first version of the Custom Game Browser. Post-launch, I was able to work with user research to get player feedback.

Phase 2: Focused on addressing the research feedback that could create the highest player impact with the lowest engineering effort. Rather than redesigning the entire experience we prioritized targeted changes that could improve usability within the budget of our development scope.

Info Gathering

WORKING WITH ENGINEERS

Whiteboard session that I led where we spent the time to visually map and understand how all the content maps and what the best groups of filters would be. (As well as what does our tech / engine support?)

DESIGN

USERFLOW & SPEC

One of the userflows I created for this project and a peek at a small section of the specs that went with these designs.

Document One of my design specs for Custom Game Browser (filters specifically) from 2021, with names and links redacted.

CGB Phase 2: Filter

Flows:

Main Menu → Multiplayer Menu → Custom Game Browser (Main Menu) → Filter
Main Menu → Multiplayer Menu → Custom Game Browser (Main Menu) → Quick Match (Searching) → Edit Filters
Main Menu → Multiplayer Menu → Custom Game Browser (Main Menu) → Browse → Edit Filters

 Flow Diagram

v01 Filters Flow

 Wireframes for Filter PC/STEAM on the left, XBOX on right

v05 PC Filtersv05 XBOX Filters

Functionality

When a user clicks on the Filter menu item from the main Custom Game Browser (CGB) menu, they will land on the Filter screen where they can configure their preferences.

Selecting the "Edit Filter" option from the Quick Match or Browse screens will also bring the user to the Filter screen. 

Options selected on the Filter screen are used for:

  • Determining what games are searched for in Quick Match 
  • Determining what games are displayed in Browse

Selections made on the Filter screen directly relate to the information displayed in the Filter Stats box that appears on the Quick Match screen. 

Saving filter preferences:

The last configured set of options should always be saved even after powering down. These should be written to UserSettings similarly to the reading and writing of session preferences.

Important Note About How Filter Screen is Built

Filter is not a dedicated menu screen, it is an overlay that goes on top of the Browse or Quick Match screens only.

If the user selects Filter from the Custom Game Browser Main Menu, they are actually going to the Browse screen with the Filter overlay on top of it. 

If the user selects Filter from the Custom Game Browser Main Menu and then hits the back button, they will go "back" to the Browse screen. Pressing back from the Browse screen will then take them to the Custom Game Browser Main Menu. 

If the user selects Edit Filters from the Quick Match menu, Filter will overlay over the Quick Match screen. Hitting the back button in this instance will take the user back to the Quick Match screen. 

The UMCCScreenManager currently closes the current screen and clears its context when a new one is pushed. The Store and StoreBundle screens use some bespoke behavior to retain the context of one when pushing the other. Adding a map of screens which follow this pattern to the screen factory data asset and applying similar behavior to the Filters screen is likely the best way to achieve this "overlay" behavior.

UI Elements

 Wireframes for Numbered UI Elements 

v05 PC Filters Numbered UI elementsv05 PC Filters -_ Game Type Numbered UI Elements
  1. Category Title: Tells the user what category they are in
  2. Menu Title: Tells the user what menu they are in
  3. Filter Information: This shows the user how many game sessions match the filter preferences out of how many total game sessions there are
  4. Active Selection Indicator: Helps show the user which option is currently selected
  5. Active Selection Arrow(s) : Arrow(s) can appear in two ways: 
    1. For filter preferences that have additional selection options, this will appear as a single arrow pointing to the right (Example: Games Included in wireframe above)
    2. This will appear as a pair of arrows pointing in opposite directions for filter categories that are using the arrow stepper widget. (Example: Game Type in wireframe above)
  6. Filter Categories: These are the different category of filters that the user can select options for. (See Filter Defaults and individual filter category sections for more details) Each filter category has three parts to their display:
    1. Filter Category name. Example: "Games Included"
    2. The current filter selection. Example: "Any" (In Filter Stats box this is the "Display Option" for each filter category. See Quick Match → Filter Stats Details in this document as an example)
    3. The Active Selection Arrow(s) when the filter category is currently selected. 
  7. Selections Window: For every filter category that has additional selections the user needs to make, the options will appear in this window. Users can check the selections they want applied to their filters, or uncheck ones they don't want.
  8. Game session header
  9. Status Indicator, Rank and Nameplate: Players that have been found and are occupying a slot are displayed with:
    1. Nameplate with their username 
    2. Badge that represents their current rank
    3. If there is a status to display, there is a small icon indicating player's status. Example: Current wireframe shows that the player is away 
  10. Advanced Settings: These are optional settings to help narrow down the game session results even more
    1. Tags are a pre-determined list that users can choose from
  11. Tool Tips: Helps the user understand the current active selection 
  12. Button Bar (See Button Bar Details): Navigation and options available to the user on this screen

Button Bar Details 

Shortcuts and functionality (bottom of screen, See #11 in UI Elements):

PC / STEAM

XBOX

FUNCTION

Back 

image2020-12-7_14-18-30Back | B Button

Backs out to specific screens.

  • If the user came in to the Filter screen from Quick Match, they will return to Quick Match
  • If the user came in to the Filter screen from Browse, they will return to Browse
  • If the user came in from the Custom Game Browser Main Menu, they will return to the Browse screen
Options & Career  

image2020-12-7_14-22-35Options & Career | Menu Button

Opens the Options & Career menu

image2020-12-7_14-23-20Roster | X Button

Shifts focus to the Roster part of the menu where players can invite friends to join their squad
Quick Match

image2020-12-22_10-18-16 Quick Match | Main Menu Button

Takes the user to the Quick Match screen
Browse Games

image2020-12-9_13-41-11Browse Games | Y Button

Takes the user to the Browse screen

image2020-12-7_14-33-20(Steam Icon)


Opens Steam overlay

image2020-12-7_14-33-56(Settings Icon)


Opens Settings menu

image2020-12-7_14-35-31 (Chat Icon)

image2020-12-9_9-46-20Toggle Text Chat | Left Stick

Opens chat 

Filter Defaults & Options

When the user has not configured the filter preferences, Quick Match and Browse functionality will use the built in Filter Defaults. These are the predefined selections made for the user and can be changed when the user navigates to the Filter screen and manually configures new selections.

Here is a summary of the defaults for the filters (used in both quick match and browse):

  • Games Included: Any
  • Game Categories: Any
  • Maps: Any
  • Regions: Any
  • Teams: Any
  • Max Players: 16
  • Tags (Off): Any

Invalid Filter Selections

 Wireframe for Invalid Selections

v05 PC Filters Errors

When a user attempts to go to a different filter category without having made valid selections, they will be prevented from doing so. 

Invalid selection is when a user has not picked ANY options in the filter category. The user must  select at least one option in each filter category. 

It will stay open on the current category that has the invalid selections and the display will say "Invalid Selection" as well as the filter information at the top letting the user know there's an error. 

The message will say "Invalid Selection, please correct errors" 

If the TAGS category is selected / active, then the user still must choose one option within that category in order for it to be a valid selection. This will filter the results accordingly. 

If the TAGS category is not selected, then it will act the same as if "All" or "Any" had been selected and the results will display any tags. 

Games Included

 Wireframe for Games Included PC/STEAM

v05 PC Filtersv05 PC Filters -_ Games Custom
v05 PC Filters -_ Games Single Selection

Allows the user to choose which games they would like to include.

  • If any of the titles are unchecked, the "ALL" also becomes unchecked.
  • This section has an "ALL" option at the top. When toggled on, it selects all of the titles. 
  • If the checked "ALL" is unchecked, the entire list of options is also unchecked. 

These are the possible display options reflected in the filter category: 

  • ANY: If all the game titles are selected
  • CUSTOM: If some of the game titles are selected
  • [Name of Specific Game Title]: If only a single game title is selected 

Game Titles Not Installed

Even if the user does not have a specific game title installed, they will be able to select and include that game title as part of their filter preferences.

This is because we want the user to see that there's a lot of games available, in all sorts of titles in the Browse screen game listings. 

  • Browse screen: When a user attempts to join a game session that has a game title they do not have installed, they will be prompted to install the game.
  • Quick Match: Before the search even begins, as soon as the user enters the Quick Match screen, if they had selected titles in the filter preferences that they don't have installed, they will be prompted to install the games. 

Title Selections Impact Other Category Options

Depending on what game titles the user has selected, it will impact which options are available in the other filter categories. 

For example, if the user has only selected the game title, Halo 3, then: 

  • Only game categories available for Halo 3 will be available for the user to select in the "Game Categories" filter category
  • Only maps available for Halo 3 will be available for the user to select in the "Maps" filter category 

This follows pre-existing patterns of if / then logic surrounding title selections impacting game category and map selection options throughout MCC. 

The CareerDB GameInfo class exposes APIs on the  for retrieving categories (GetSupportedGameCategories) and map ids supported by a given game. 

Game Categories

 Wireframe for Game Categories Filter PC/STEAM

v05 PC Filters -_ Game Modes ANYv05 PC Filters -_ Game Modes Custom
v05 PC Filters -_ Game Modes Singular Selection

There is an option at the top for "ALL" to quickly select all of the game category options. 

  • If game categories from the list are unchecked, the "ALL" also becomes unchecked.
  • If  the checked "ALL" is unchecked by the user, all of the game category options also become unchecked.
  • If "ALL" is checked, all of the map options also become selected. 

Allows the user to choose which base game categories they would like to include. These are the same categories pre-existing in other areas of MCC (such as in Matchmaking)

  • ANY: If all game categories are selected
  • CUSTOM: If some of the game categories are selected, but others are not
  • [Name of Specific Game Category]: If only a single game category is selected 

Game Categories should be displayed alphabetically A - Z. 

Maps

 Wireframe for Maps Filter PC / STEAM

v05 PC Filters -_ Maps Allv05 PC Filters -_ Maps

There is an option at the top for "ALL" to quickly select all of the map options:

  • If maps from the list are unchecked, the "ALL" also becomes unchecked.
  • If  the checked "ALL" is unchecked by the user, all of the map options also become unchecked.
  • If "ALL" is checked, all of the map options also become selected. 

Allows the user to choose which base maps they would like to include. These are the same maps pre-existing in other areas of MCC. 

  • ANY: If all maps selected
  • CUSTOM: If some of the maps are selected, but others are not
  • [Name of Specific Map]: If only a single map is selected 

Maps should be displayed in the established UI display order seen in other parts of MCC.

Regions

 Wireframe for Regions Filter PC / STEAM

v05 PC Filters -_ Regions (Custom)

There is an option at the top for "ALL" to quickly select all of the region options.

  • If regions from the list are unchecked, the "ALL" also becomes unchecked.
  • If  the checked "ALL" is unchecked by the user, all of the region options also become unchecked.
  • If "ALL" is checked, all of the region options also become selected. 

Scrolling list with checkboxes. 

This is a dedicated server specific search. 

  • ANY: If all regions are selected
  • CUSTOM: If some of the regions are selected, but others are not
  • [Name of Specific Region]: If only a single region is selected 

Regions should be displayed alphabetically A - Z. 

Teams

 Wireframe for Teams Filter PC/STEAM

v05 PC Filters -_ Teams

Arrow stepper widget. Should include 3 settings. Specifies whether the game should include teams enabled or not. 

  • ANY
  • ENABLED
  • DISABLED

Max Players

 Wireframe Max Players Filter PC/STEAM

v05 PC Filters -_ Max Players

Arrow stepper widget. Allows the user to specify the maximum number of players they want to play with. 

Options are:

  • 2
  • 4
  • 8
  • 16

Tags

 Wireframe for Tags Filter PC/STEAM

v05 PC Filters -_ Tagsv05 PC Filters -_ Tags Single
v05 PC Filters -_ Tags Active

Tags is an optional filter. By default all of the tags are selected: 

  • If tags from the list are unchecked, the "ALL" also becomes unchecked.
  • If  the checked "ALL" is unchecked by the user, all of the tag options also become unchecked.
  • If "ALL" is checked, all of the tag options also become selected. 

Users can select which tags they would like to include in their filter preferences.

  • The list of tags is a predetermined list that users can choose from. 
  • Users will not be able to create their own tags.
  • Users will not be able to edit the list of tags. 
  • The list of tags will need to be able to be easily modified / updated / configured. 

When tags is "active" or checked, then these selections will affect the results in Quick Match and the Browse screen.

If tags is not active or unchecked, then the selections will not affect the results. 

  • ANY: If all tags are selected
  • CUSTOM: If some of the tags are selected, but others are not
  • [Name of Specific Tag]: If only a single tag is selected 

Tags should be displayed alphabetically A - Z. 

Tags (Predetermined List, Technical Details)

The following tags will be supported.

  • Core Casual
  • Core Competitive
  • Mini Game

When creating a session, a user will choose a single tag to apply to a CGB Playlist Variant. These are an additional filtering axis which layer on top of the others. For example, Fiesta and MLG are both variants of Slayer with very different audiences. The former would be a Core Casual type of Slayer while the latter would be Core Competitive.

These tags should be defined by an enum in the UUIInterface namespace within UUICustomGamesBrowserInterface.hpp. We may add additional values to this enumeration over time based on feedback and player patterns.


enum class CGBPlaylistVariantTag

{

CoreCasual = 0,

CoreCompetitive,

MiniGame,

Count

};

Tags between CGB Variant Versions

CGB Variants that were created before Tags are implemented, will receive "Core Casual" as a default tag.

They will be informed through the build notes, and what other forms of messaging channels we can manage to let the users know that they need to update their CGB Variants if they wish to select one of the other tags to represent their CGB Variants. 


Adjustments to Existing Screens or Flows

CGB Main Menu

 Wireframe for Main Menu update PC/STEAM

v01 Filter

Filter needs to be added to the main menu.

Browse Screen (Main)

 Wireframe for main Browse screen update PC/STEAM

v06 PC Browse with Titlev06 XBOX Browse with Title
  • Edit Filters button needs to be added to the Browse Screen 
  • When the user is using default filters, the tooltip at the bottom will let them know
  • When the user is using custom filter preferences, the tooltip at the bottom will let them know
  • Edit Filters button on PC , Right Bumper | Edit Filters button on XBOX

Browse Screen (Main - No Sessions Found)

 Wireframe for Browse Screen when no sessions are found PC/STEAM

v04 PC Phase 1_ Game List is Empty

When a session can not be found and the session list on the Browse screen comes up empty, users will get a prompt letting them know that their session preferences may be too specific. 

They will be able to take the following actions: 

  • Refresh the list: Tries again with the current filter preferences) 
  • Use default filters: Tries again with the default filter preferences and doesn't overwrite the user's custom filters if they had made changes to the filter preferences) 
  • Create Game: Takes the user to the create flow, starting from the game title selections screen) 
  • Back: Returns the user to the browse screen

Session Details Screen

 Wireframe for Session Details Screen update PC/STEAM

v04 PC Session Detail Description

Session Details Screen has several updates, which are outlined in a separate spec. 

But the change related to the Filters, is the addition of tag information in the session detail screen, as part of the variant details on the right hand side. 

Create Screen

  Wireframe for Create Screen update PC/STEAM

Variants

There's a few updates to the Create screen outlined in a separate spec, but one change specific to the Filters, is the addition of Tag information in the variant information display on the right hand side. 

Create Flow - Select Tags

 Wireframe for Select Tags screen update PC/STEAM

v08 PC_ Create Flow Select Tags

There's a few updates to the Create flow, outlined in a separate spec, but one change specific to the Filters, is the addition of the "Select Tags" screen in the Create Flow.

This will appear after the user has selected a Game Variant for their CGB Variant. 

Quick Match

 Wireframe for Quick Match screen PC/STEAM

v06 PC Quick Match -_ Searching

Edit Filters button is also available to users on the Quick Match screen

Feedback & Update Notes

 

  1. Deleted the "Limits the search to user specified regions from regions offered in Network options" line under filters. 

 

  1. Updated the Invalid Filter Selections section to describe in more detail how this applies to TAGS category. 

 

  1. Added information on what happens to existing CGB Variants when Tags are implemented. 

 

  1. Added a section to address invalid filter selections
  2. Maps order updated 
DESIGN

WIREFRAMES

These are some of the wireframes used to populate my specification document to support this project.

DESIGN

WIREFRAMES & DEV BUILD

These are wireframes paired with screenshots of the dev build before the feature launched.
I used these in my communication with external teams supporting the implementation.

After the feature launched, I worked with our user research team to get answers to questions that I had about the design.

I drafted the questions and collaborated with our research lead to refine them before they went into the survey in preparation for an update on the feature our teams had already committed to doing. Time for the work was reserved ahead of time so it gave me the perfect opportunity to coordinate and get research questions out.

Survey Participation

329
players said they had used the Custom Game Browser enough to have opinions about it. 1,394 people answered the initial CGB screening question. The questions that followed generally received responses from around 300 experienced CGB players.

What I Wanted to Learn

The first survey focused on understanding how players were actually using the Custom Game Browser after launch and where the experience was creating friction.

01

Were players primarily browsing for games or creating their own sessions?

02

Could players discover and understand the browser's sorting controls?

03

How much effort did it take to find a game they were interested in?

04

Did the browser provide enough information to decide which game to join?

05

What did players expect to happen when a session was already full?

06

Did settings like Repeat Game and Team Changing behave the way players expected?

What We Learned

PLAYER BEHAVIOR
61.1%
Most players came to browse.

61.1% said they only used the Custom Game Browser to find games created by other players. Only 5.5% said they used it exclusively to create their own games.

Browse games 61.1%
Browse & create 19.0%
Create games 5.5%
DISCOVERABILITY
65%
Players wanted to sort, but couldn't find it.

Only 21% of respondents said they knew how to change the order of games in the browser. 65% wanted to sort the list but did not know how.

Wanted to sort, but didn't know how 65%
Knew how to sort 21%
FINDABILITY
61.6%
Finding a game often required scrolling.

Most respondents said they had to scroll through the browser before finding a match they were interested in. Another 8.6% said they usually had to scroll through the entire list.

Scrolled somewhat 61.6%
Found one without scrolling 29.8%
Scrolled the entire list 8.6%

Player Write-ins Added More Context

The open-ended responses helped explain some of the friction behind the numbers. Players talked about having to scroll through long lists, games appearing to have open slots when they were actually full, unclear custom game names, difficulty understanding what some game types were, and not always having enough information to know what they were joining.

Availability Players were repeatedly trying to join sessions that had already filled.
Information Players wanted clearer information about game types, maps and variants.
Scanning Finding an interesting game could require repeated scrolling and refreshing.
RESEARCH

USER-TESTING (SURVEY #1)

DESIGN

Revisions based on feedback

One of the challenges of the revised designs is that we were limited to what we could change within a specific budgeted amount of hours, resources, etc. That meant, “what can we improve with small changes that have big impact”.

We had also prioritized adding a search feature so that games would be easier to find. Since search was going to take significantly more engineering and implementation effort, the other revisions needed to stay smaller in scope.

This is one example of design revisions. Specifically here, I focused on:

  • Trying to make the information for each available game more clear at a glance
  • Attempting to make sort easier to find
  • Making search prominent
  • Adding the number of games matching the selected filters at the top of the browser to draw attention to the existence of filters

I proposed removing the team roster on the side since it can be called back with a shortcut button-press and utilize the full width of the screen to display information instead. This was because I had noticed a lot of information in the columns being truncated due to space. Widening it allows more information to be displayed per column.

We also adjusted it so that focus starts up in the header row, which makes the sorting button appear in the helpbar at the bottom and a box appear around the header cell.

Wireframes

BEFORE
Custom Game Browser wireframe before revisions
AFTER
Custom Game Browser wireframe after revisions

Screenshots

BEFORE
Custom Game Browser implementation before revisions
AFTER
Custom Game Browser implementation after revisions

Sorting Changes

Revised Custom Game Browser sorting focus state
Revised Custom Game Browser sorting option shown in the helpbar
RESEARCH

USER-TESTING (Survey #2)

For the Season 8 flight survey, I brought back several of the questions from the first survey so that we could compare the results with a different group of players.

The write-in responses from the first survey also helped identify areas that needed deeper investigation, so I expanded the second survey to cover newer parts of the experience and ask more targeted questions about Search, Session Details, Filters, and the individual steps involved in creating a custom game.

Season 8 Flight

566
participants gave feedback about the Custom Game Browser. Fewer participants answered questions about individual screens, but the broader CGB questions gave us a large set of feedback to compare with the first survey.

Did Sorting Discoverability Improve?

Sorting was one of the clearest problems in the first survey, so I asked about it again during the Season 8 flight.

KNEW HOW TO SORT
SURVEY #1 21%
→
SEASON 8 44.9%
23.9 percentage point increase in players who knew how to sort
WANTED TO SORT, BUT DIDN'T KNOW HOW
SURVEY #1 65%
→
SEASON 8 47.5%
17.5 percentage point decrease in players who wanted to sort but didn't know how
There was improvement, but there was still work to do.

What Else We Learned

PLAYER BEHAVIOR
~80%
Players were still primarily browsing.

Around 80% of participants primarily used the Custom Game Browser to find games created by other players.

Another 16% split their time between browsing and creating, while only around 4% primarily created their own games.

SEARCH
4.3 / 5
Search worked well once players found it.

Only around 16% of participants reported using Search, while around 54% knew it existed but had not needed it.

Around 30% did not know Search was available. Among the players who had used it, satisfaction averaged 4.3 out of 5.

SESSION DETAILS
38%
Session Details had a discoverability problem too.

About 38% of participants were unaware of the Session Details screen. Players who used it rated their satisfaction at an average of 3.9 out of 5.

Game, map, and mode information were identified as the most useful pieces of information on the screen.

CREATE MATCH
3.3 / 5
The overall Create Match flow had more room for improvement.

70 people provided feedback about creating a match. Among those who had used the Create Match flow, average satisfaction was 3.3 out of 5.

Feedback included confusion around variants, limitations on the number of variants, and opportunities to make the overall setup clearer and easier to manage.

FILTERS
4.4 / 5
Filters were easy to use once discovered.

69 people provided feedback about the Filter screen. Most of the people who had used it found it easy to use, with an average ease rating of 4.4 out of 5.

SETTING CLARITY
~50%
Repeat Games was still unclear.

Almost half of respondents said they did not know what the Repeat Games setting did.

Team Changing performed better, although around 17% of participants still did not understand that setting.

WHAT THE SECOND SURVEY CONFIRMED

The second survey reinforced several findings from the first round. Players were still primarily using the browser to find games, and helping them find the right session remained an important part of the experience.

Sorting discoverability had improved considerably, but the follow-up also showed that there was still confusion between sorting and filtering. The expanded questions gave us additional feedback about Search, Filters, Session Details, and Create Match that we did not have from the first survey.

CAPTURES

POST-LAUNCH

Screenshots and videos from the live feature after the second update where we added in search, filters and increased the width to use the full screen.