Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
A Large-Scale, Longitudinal Study of User Profiles in World of Warcraft
1. @_jon_bell_WiC May 14, 2013
A Large-Scale, Longitudinal
Study of User Profiles in
World of Warcraft
Jonathan Bell, Swapneel Sheth, Gail Kaiser
Columbia University, NewYork, NY USA
PROGRAMMING SYSTEMS LAB
COLUMBIA UNIVERSITY
http://www.psl.cs.columbia.edu/
enable(vt):to make possible, practical, or easy
1
4. @_jon_bell_WiC May 14, 2013
Motivation
• We’re a group of Software Engineers.
• Recently studying Gamification of Software
Development
2
5. @_jon_bell_WiC May 14, 2013
Motivation
• We’re a group of Software Engineers.
• Recently studying Gamification of Software
Development
• What principles can we carry over from
game design to apply it to non-game
contexts?
2
6. @_jon_bell_WiC May 14, 2013
Motivation
• We’re a group of Software Engineers.
• Recently studying Gamification of Software
Development
• What principles can we carry over from
game design to apply it to non-game
contexts?
• Why not look to real games?
2
28. @_jon_bell_WiC May 14, 2013
Accessing the Data
• Blizzard’s API allows you to retrieve this
per-character
• No option to list all characters
• How do we discover the characters?
8
30. @_jon_bell_WiC May 14, 2013
Character Discovery
• Blizzard does list characters by guild
9
31. @_jon_bell_WiC May 14, 2013
Character Discovery
• Blizzard does list characters by guild
• Several popular websites have listings of
guilds and characters [e.g.WarcraftRealms]
9
32. @_jon_bell_WiC May 14, 2013
Character Discovery
• Blizzard does list characters by guild
• Several popular websites have listings of
guilds and characters [e.g.WarcraftRealms]
• Solution: Find all guilds belonging to these
characters.And find all members of all
identified guilds
9
33. @_jon_bell_WiC May 14, 2013
Fetching the Data
• Blizzard API is rate-limited per-IP
• Solution: use a cluster of 60+ IPs to crawl
the API
10
34. @_jon_bell_WiC May 14, 2013
Fetching the Data
• Blizzard API is rate-limited per-IP
• Solution: use a cluster of 60+ IPs to crawl
the API
MySQL
Crawler
Nodes
(60+)
Management
Console (Normal PC)
Retrieve "todo-list"
Store results
Starts Nodes
Runs Analysis
10
36. @_jon_bell_WiC May 14, 2013
Raw Data
• Found approximately 12 million characters
with basic information
• Complete data for half of these
Basic information
12
41. @_jon_bell_WiC May 14, 2013
Research Questions
1. Can we cluster characters into profiles
based on the type of goals that they
complete in game?
14
42. @_jon_bell_WiC May 14, 2013
Research Questions
1. Can we cluster characters into profiles
based on the type of goals that they
complete in game?
2. Do characters' play profile evolve as they
level?
14
43. @_jon_bell_WiC May 14, 2013
Research Questions
1. Can we cluster characters into profiles
based on the type of goals that they
complete in game?
2. Do characters' play profile evolve as they
level?
3. Do characters with different play profiles
play through the game content at different
rates?
14
45. @_jon_bell_WiC May 14, 2013
RQ1: Creating Player
Profiles
• Within WoW, players complete
Achievements
15
46. @_jon_bell_WiC May 14, 2013
RQ1: Creating Player
Profiles
• Within WoW, players complete
Achievements
• Our dataset contains each achievement
each player earns, with a timestamp
15
47. @_jon_bell_WiC May 14, 2013
RQ1: Creating Player
Profiles
• Within WoW, players complete
Achievements
• Our dataset contains each achievement
each player earns, with a timestamp
• Profile players based on the types of
achievements they complete
15
48. @_jon_bell_WiC May 14, 2013
Categorizing
Achievements
• Draw on motivation categorizations
described byYee
Achievement Social Immersion
Advancement Socializing Discovery
Mechanics Relationship Role-Playing
Competition Teamwork Customization
Escapism
Categorization of play motivations,Yee
16
52. @_jon_bell_WiC May 14, 2013
Categorizing
Achievements
• 1000 Conquest Points
• Earn 1000 conquest points -> Achievement
• Archavon the Stone Watcher
17
53. @_jon_bell_WiC May 14, 2013
Categorizing
Achievements
• 1000 Conquest Points
• Earn 1000 conquest points -> Achievement
• Archavon the Stone Watcher
• Defeat Archavon the StoneWatcher in 10 player mode
-> Social
17
54. @_jon_bell_WiC May 14, 2013
Categorizing
Achievements
• 1000 Conquest Points
• Earn 1000 conquest points -> Achievement
• Archavon the Stone Watcher
• Defeat Archavon the StoneWatcher in 10 player mode
-> Social
• It’s Happy Hour Somewhere
17
55. @_jon_bell_WiC May 14, 2013
Categorizing
Achievements
• 1000 Conquest Points
• Earn 1000 conquest points -> Achievement
• Archavon the Stone Watcher
• Defeat Archavon the StoneWatcher in 10 player mode
-> Social
• It’s Happy Hour Somewhere
• Drink 25 different types of beverages -> Immersion
17
56. @_jon_bell_WiC May 14, 2013
Categorizing
Achievements
• 1000 Conquest Points
• Earn 1000 conquest points -> Achievement
• Archavon the Stone Watcher
• Defeat Archavon the StoneWatcher in 10 player mode
-> Social
• It’s Happy Hour Somewhere
• Drink 25 different types of beverages -> Immersion
• Arrested Development
17
57. @_jon_bell_WiC May 14, 2013
Categorizing
Achievements
• 1000 Conquest Points
• Earn 1000 conquest points -> Achievement
• Archavon the Stone Watcher
• Defeat Archavon the StoneWatcher in 10 player mode
-> Social
• It’s Happy Hour Somewhere
• Drink 25 different types of beverages -> Immersion
• Arrested Development
• Allow all three of Corla’s zealots to evolve, then defeat
Corla after slaying the evolved zealots in Blackrock
Caverns on Heroic Difficulty -> All three
17
60. @_jon_bell_WiC May 14, 2013
RQ2:Achievements per
level
0"
20"
40"
60"
80"
100"
120"
140"
160"
180"
0(9"
10(19"
20(29"
30(39"
40(49"
50(59"
60(69"
70(79"
80(84"
85"
Number'of'Achievements2
Level2
Achievement"
Immersion"
Social"
Mostly get achievements after finishing most game content
19
61. @_jon_bell_WiC May 14, 2013
RQ2:Achievements per
level
0"
20"
40"
60"
80"
100"
120"
140"
160"
180"
0(9"
10(19"
20(29"
30(39"
40(49"
50(59"
60(69"
70(79"
80(84"
85"
Number'of'Achievements2
Level2
Achievement"
Immersion"
Social"
Very few do social achievements early on
19
62. @_jon_bell_WiC May 14, 2013
RQ2:Achievements per
level
0"
20"
40"
60"
80"
100"
120"
140"
160"
180"
0(9"
10(19"
20(29"
30(39"
40(49"
50(59"
60(69"
70(79"
80(84"
85"
Number'of'Achievements2
Level2
Achievement"
Immersion"
Social"
Had to be social to progress?
19
63. @_jon_bell_WiC May 14, 2013
RQ3: Leveling by
Primary Motivation
• “Primary” motivation - whatever the player
did most
• Look purely at time to reach level 85
(maximum level)
20
64. @_jon_bell_WiC May 14, 2013
RQ3: Leveling by
Primary Motivation
0!
1000!
2000!
3000!
4000!
5000!
6000!
7000!
8000!
9000!
10000!
Achievement! Immersion! Social! Overall!
TotalHourstoLevel!
Character Classification!
21
65. @_jon_bell_WiC May 14, 2013
RQ3: Leveling by
Primary Motivation
0!
1000!
2000!
3000!
4000!
5000!
6000!
7000!
8000!
9000!
10000!
Achievement! Immersion! Social! Overall!
TotalHourstoLevel!
Character Classification!
Players that “stop to smell the
roses”
21
67. @_jon_bell_WiC May 14, 2013
Studying Game
Difficulty
• Modeled based on how long it takes to
level
• Measured in real-world time
• Compare time-to-level from before Nov
2011 to post Nov 2011
23
68. @_jon_bell_WiC May 14, 2013
Leveling by Start Date
0!
500!
1000!
1500!
2000!
2500!
3000!
3500!
20! 30! 40! 50! 60! 70! 80! 90*!
Hoursbetweenlevels!
Level!
Pre-Cataclysm!
Post-Cataclysm!
24
73. @_jon_bell_WiC May 14, 2013
What’s the most popular
character name?
Name Count
(Normalized)
Shadow 922
Nightmare 839
Nemesis 831
Loki 772
Hades 722
Pandora 707
Lilith 672
Lucian 660
Wolverine 657
Holycow 656
Luna 644
Kratos 642
26
74. @_jon_bell_WiC May 14, 2013
WoW: Social Data
• Guild
• Achievements (surprise!)
• Co-completions of group achievements
• Huge network of players
• Over 100 million edges
27
76. @_jon_bell_WiC May 14, 2013
Contributions
• Gathered the first massive dataset from the
MMORPG, World ofWarcraft
28
77. @_jon_bell_WiC May 14, 2013
Contributions
• Gathered the first massive dataset from the
MMORPG, World ofWarcraft
• Defined player profiles in WoW
28
78. @_jon_bell_WiC May 14, 2013
Contributions
• Gathered the first massive dataset from the
MMORPG, World ofWarcraft
• Defined player profiles in WoW
• Showed that these profiles are not static, and
players evolve over time
28
79. @_jon_bell_WiC May 14, 2013
Contributions
• Gathered the first massive dataset from the
MMORPG, World ofWarcraft
• Defined player profiles in WoW
• Showed that these profiles are not static, and
players evolve over time
• Showed that these players advance through
content at different paces
28
80. @_jon_bell_WiC May 14, 2013
Contributions
• Gathered the first massive dataset from the
MMORPG, World ofWarcraft
• Defined player profiles in WoW
• Showed that these profiles are not static, and
players evolve over time
• Showed that these players advance through
content at different paces
• API Scraper: http://code.psl.cs.columbia.edu/
28
81. @_jon_bell_WiC May 14, 2013
A Large-Scale, Longitudinal
Study of User Profiles in
World of Warcraft
Jonathan Bell, Swapneel Sheth, Gail Kaiser
Columbia University, NewYork, NY USA
PROGRAMMING SYSTEMS LAB
COLUMBIA UNIVERSITY
http://www.psl.cs.columbia.edu/
enable(vt):to make possible, practical, or easy
29