slide1
Download
Skip this Video
Download Presentation
E Pluribus Unum Matchmaking in Halo 3

Loading in 2 Seconds...

play fullscreen
1 / 54

E Pluribus Unum: Matchmaking in HALO 3 - PowerPoint PPT Presentation


  • 258 Views
  • Uploaded on

E Pluribus Unum Matchmaking in Halo 3. Chris Butcher Bungie Studios [email protected] Game Developers Conference 2008. Overview. What Is Matchmaking? Matchmaking Basics Lessons from Halo 2 Halo 3 Design Goals Voice, Identity, Community Reinforcement

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'E Pluribus Unum: Matchmaking in HALO 3' - sherlock_clovis


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
e pluribus unum matchmaking in halo 3
E Pluribus Unum

Matchmaking in Halo 3

Chris Butcher

Bungie Studios

[email protected]

Game Developers Conference 2008

overview
Overview
  • What Is Matchmaking?
  • Matchmaking Basics
  • Lessons from Halo 2
  • Halo 3 Design Goals
    • Voice, Identity, Community Reinforcement
    • Skill Measurement and Reward Systems
  • Technical Design
    • TrueSkill
    • Matchmaking Algorithms
  • Recommendations
  • Results from Halo 3 Live Operation
manual game browsing
Manual Game Browsing
  • User is presented with a list of possible games
  • Tries to find an open slot
  • Tries to find a fair game
  • Inconsistent experience
  • Not good for casual gamers
  • “I Just Want To Play!”
terminology
Terminology
  • Manual game browsing is a standard technique
  • Host Game / Join Game options in UI are common
  • Xbox LIVE refers to this as the “Matchmaking” API
    • Quick Match, Custom Match
  • In this presentation, “matchmaking” means an automated peer-to-peer system that organizes players into groups based on user preference
  • Game could still be client / server once the game starts
    • Could even use dedicated servers
vision of matchmaking
Vision of Matchmaking
  • Provide an experience that is:

Fast

Reliable

Consistent

  • Continuous stream of enjoyable games
  • Reward skilled play and also investment of time
  • Don’t give players a reason to stop!
matchmaking ecosystem
Matchmaking Ecosystem
  • Continuous stream of groups entering matchmaking
    • Some groups decide to start gathering a game
    • The remainder search for games to join
  • Each group can be multiple machines and players
xbox live matchmaking service
Xbox LIVE Matchmaking Service
  • Gatherers register with XBL service
  • Each group has unique matchmaking desires
    • Type of game, skill level, spoken language, etc
  • Searchers query service with parameter filters
  • Service returns matching candidates
candidate evaluation
Candidate Evaluation
  • Searcher evaluates all candidates in parallel, best matches first
    • Ping network connectivity, get current group state
    • Measure quality of connection using Xbox QoS probes
    • Group-to-group XNetConnect
    • Group-to-group session join
  • Network layer handles as asynchronous processes
matchmaking life cycle
Matchmaking Life Cycle
  • Groups enter Matchmaking continuously
  • Each group chooses to gather or search
    • Gather: register session with XBL service
    • Search: query service for candidates
  • Search, evaluate candidates, try to join
  • If no suitable candidates, search again
  • Halo specific game flow:
    • Gatherer waits until game is full
    • Determine game settings, host selection
    • Start game
halo 2 has had good longevity
Halo 2 has had good longevity
  • Year-on-Year retention is > 80%
game is well suited to matchmaking
Game is well suited to Matchmaking
  • Small-group gameplay (2-5 per team)
  • Interact with friends in your group
  • Both coordinated effort and individual skill required
  • Opponents are anonymous and interchangeable
  • Long term goals are self-driven rather than peer-driven
    • I want to reach Level 30
    • Not: I want to be the best on my server
lessons learned matchmaking
Lessons Learned - Matchmaking
  • Received well by the majority of players
  • Always something to do, a mix of novelty and the familiar
  • Configurable experience allows longevity
  • Required several early updates to operate robustly
  • DLC maps locking people out was a problem
  • People don’t like feeling they have no control
  • International experience was poor
lessons learned skill system
Lessons Learned - Skill System
  • Modified ELO rating system
  • Both a skill measurement and also reward for investment
    • Non-zero-sum for levels 1-20 to give a “hill-climbing” experience
    • Was abused through boosting
    • Zero-sum competition for advancement
    • Skill level achievement is always in jeopardy
    • Leads to anxiety, anger and frustration in players
    • “WTF I lost my level 30, my team sucks”
ranked matchmaking in halo 2
Ranked Matchmaking in Halo 2

Hyper-Competition

+

Anonymity

+

Loss Anxiety

=

Negative Emotional Pressure

overall goals
Overall Goals
  • Make the online experience approachable
  • Provide accountability and identity
  • Give players a reason to keep coming back
  • Tools:
    • Voice
    • Identity
    • Skill System
    • Reward System
    • New Player Experience
voice design
Voice Design
  • Can’t predict how players will use voice
    • Give listeners control over what they hear
  • Remove temptation to use voice negatively
  • Allow time for socialization that isn’t under pressure
    • Make it easy for players to opt out or mute
  • Positive: Chatting idly with friendly strangers
  • Negative: Being abused by hostile anonymous bigots
identity design
Identity Design
  • Every player has a public Service Record
  • Persistent individual identity reduces anonymity
    • Goal is to reduce anonymity and provide long-term identification
    • Publicly accessible in-game to everyone
    • Reduce sock-puppeting that was prevalent in Halo 2
  • Rewards are individual
    • Success recognized directly, or via social comparison with friends
    • No global leaderboards!
    • Primarily competing with yourself
skill system design
Skill System Design
  • Range 1-50; everyone starts at level 1
    • Almost everyone gains levels quickly, providing positive feedback
  • After 50-100 games, skill level stabilizes
    • Needs to still feel dynamic and not stagnant.
    • But shouldn’t “lose a level” from one bad game.
  • Skill should be a statistic, not a reward
reward system design
Reward System Design
  • Reward for playing
    • “Experience points” (XP)
    • Only for wins, to prevent boosting
    • Penalty for quitting games early
  • Experience rating hierarchy
    • Ratings require both skill and XP
  • Emphasized in UI over skill
  • Permanent; no loss anxiety
new player experience
New Player Experience
  • Separate “Boot Camp” playlist for new players only
    • Limited set of maps and weapons to ease players in
    • Small groups for socialization
  • Reward early and often!
  • Move skilled players out quickly
    • 5 wins triggers ‘graduation’
xbox live skill system trueskill
Xbox LIVE Skill System – TrueSkill
  • A mathematical library implemented on XBL back end
    • Bayesian estimation techniques developed by Microsoft Research Cambridge
  • Models player skills as probability density functions [µ, σ]
    • µ is mean (current estimate), σ is standard deviation (uncertainty)
  • TrueSkill is stored and updated invisibly by XBL back end
using trueskill in halo 3
Using TrueSkill in Halo 3
  • Don’t show players the raw mathematics of [µ, σ]
    • Use skill lower bound: s = µ - kσ (we chose k=4)
    • Transform by remap function into range 1-50 for display in UI
customizing trueskill
Customizing TrueSkill
  • Mathematical configuration variables
    • β (performance factor),  (dynamics factor), draw probability
    • Left β alone: dangerous, affects final skill distribution
    • Increased  so that players’ skill never fully converges
    • Draw probability must be accurate, if it is set too low then ties will be considered highly significant
  • Update Weight – modifies rate of change of [µ, σ]
  • We used this to give players a “hill-climbing” experience by initially decreasing their TrueSkill update weight
    • Weights start out small and return to normal over 50-100 games in a playlist
    • Even though we can identify good or bad players after 8 games, it is more satisfying for them to feel they earned their skill over time
trueskill summary
TrueSkill Summary
  • Advantages
    • Already implemented for you by Xbox LIVE
    • Converges quickly
    • Provides good estimate of player skill for matchmaking
    • TrueSkill developers are very helpful and knowledgeable
  • Disadvantages
    • Complex mathematics, takes an expert to understand and tweak
    • Hard to predict overall convergence of system
    • Default behavior does not fit our ideals for a skill system
    • Vulnerable to exploitation, both real and perceived (ties increase rank)
  • This is a hard problem with no clear solution
search criteria
Search Criteria
  • Use precise initial query parameters to find an ideal match
    • Skill, Experience, Network Connection Quality
  • Initial queries are less likely to find a match
  • Allows tight matches in large populations
  • Query parameters must include all selection criteria
    • Halo 2 had some criteria that were not stored in XBL service
    • Searcher spent time querying candidates that they would never want to join e.g. due to spoken language
    • Wastes bandwidth and also wastes precious search time
search expansion
Search Expansion
  • ‘Fuzzy match’ in many dimensions
    • Analog parameters (skill, experience, network connection)
    • Binary parameters (language, country, DLC maps)
  • Treat binary parameters as “soft filters”
  • Expansion has multiple phases
    • Look for ideal match, expand analog filter a bit
    • Remove binary “soft filters”
    • Expand analog filter out to max, relax connection quality
    • Keep trying intermittently, switch to gathering
ecosystem balance
Ecosystem Balance
  • Must have good balance of searchers and gatherers
  • Halo 2: Easy to model in theory, impossible in practice
    • Global Internet network properties
    • Latency in Live service updating
    • Network engine internals (time to discover, time to join)
  • Expire lists of candidates quickly
    • Searchers are in a race to join limited set of active games
  • Make the ecosystem adaptive
    • Gatherers can also search
    • If nobody is joining you, you have a chance to join someone
    • Ecosystem can adaptively balance for low-population scenario
is matchmaking right for you
Is Matchmaking Right For You?
  • Works with different genres
  • Works with different game models
    • Could match into games in progress
    • Could use dedicated servers
  • Scales to wide range of user populations
    • Halo 3 playlists range from < 1k to 100k concurrent users
  • Significant investment in client software
    • 2-3 developers for project lifecycle
  • Back end functionality optional but helps a lot
  • Payoff comes from building a lasting community
design for security
Design For Security
  • Users have no control so you must provide safe games for them
  • Every aspect of your game will be attacked
    • Hardware attacks, network attacks (bridging, standby, DoS), game attacks (modified content, LSP interception), exploits (skill de-leveling, out-of-map), many more
  • Halo 2 required five updates over three years for security
  • This is an entire talk in itself
test early test often
Test Early, Test Often
  • MS-Internal Alpha and Beta (10k) – 11/06 and 4/07
  • Rich text data mining as primary feedback
    • Searchable centralized logging system with event severities
    • Find hard bugs in client (edge cases, crashes, network protocol)
    • Transcontinental Matchmaking and network testing
  • Public Beta (900k) – 5/07
    • PR boost, some gameplay feedback also
    • Tune TrueSkill distribution curves on real player skill mix
    • Load balancing of LSP servers to avoid Day 1 meltdown
  • High population games must involve XBL in testing
    • Easy to create a scalability problem on back end
collect data from production
Collect Data From Production
  • You will need retail environment instrumentation
    • Can’t use data mining – too much data to store and transmit
    • For Halo 2 launch we had no alternative
  • Halo 3 uses special-purpose binary uploads
    • End-of-game report for bungie.net analysis
    • Matchmaking status report for ecosystem diagnosis
    • Network QoS report for research
  • Volume of data is massive, we discard 90%+
    • Slim fire-and-forget stateless HTTP-over-XLSP upload
    • Per-machine settings for deep investigation
results overall
Results – Overall
  • Deployed successfully, no client update needed
    • Some normal LSP scalability balancing in first few days
  • Reviews mention MP as “streamlined, transparent”
  • High penetration of online multiplayer
    • 5.9M unique users observed on Xbox LIVE
    • 5.2M have played in Matchmaking (88%)
  • Approximately 3x Halo 2 peak concurrency
    • 560k peak concurrent users in 15 playlists
  • Longevity is an open question
    • Tracking steady at 1.2M unique users per week
results player community
Results – Player Community
  • Skill numbers that you can actually believe in!
  • Perception is that level 50 means skilled, not a cheater
  • Some experience boosting
    • We assumed it would be possible to circle boost XP
    • There were ways that let you do it many times faster than normal
  • No way to advance to higher ratings without ranked play
    • This was probably a mistake
  • Player identity features very well received
  • Social community seems to be better than Halo 2
results mp game selection
Results – MP Game Selection

Custom Games: 16% Matchmaking: 84%

future design thoughts
Future Design Thoughts
  • New player experience was good, not great
    • Implemented late, needs goal-driven UI flow
    • 58% of players went on to play 100 games or more
    • But 19% of players stopped after < 20 games
  • Online model is focused on skill improvement
    • But most players don’t care about skill, they like reward better
  • Negative behavior was reduced somewhat
    • Tremendous amount of room for improvement
    • Reputation and social history as part of public player identity
    • Empowering players to change their experience is the right path
future technical thoughts
Future Technical Thoughts
  • Starting to feel like a solved problem technically
  • Ecosystem could be more self adjusting
    • Still some search / gather balance issues
  • Move more of the ecosystem to a centralized service?
  • Ubiquitous Matchmaking?
    • Not just as explicit UI
    • Invisible fabric of online experience
    • Peer-to-peer is the future
credits
Credits
  • Bungie
    • This system is the work of many people
    • Design, Networking, UI, bungie.net, more
  • Microsoft Research
    • MSR Cambridge Applied Games Group (TrueSkill)
    • MSR Networking Research Group (QoS data analysis)
  • Microsoft Game Studios
  • Xbox Platform
    • XDC (XNA Developer Connection)
    • Xbox LIVE Team
    • Xbox LIVE Operations Team
ad