Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GDC 2014 - Jeremy Ehrhardt, KIXEYE - Building Customer Support and Loyalty

3,130 views

Published on

KIXEYE relies on its players coming back day after day, week after week and, remarkably in the social space, year after year. To maintain this kind of loyalty among our player base, CS agents needed the power to understand an individual player's gameplay experience, see their interactions with other players, and fix anything that gets in the way of players having fun. Jeremy will present postmortems from a customer support software perspective for three of KIXEYE's games: Battle Pirates, War Commander and VEGA Conflict. Our customer support software is called Monocle, and you'll learn about the architecture, our agile approach to rapid development, reliability lessons we've learned in production, and how you can build your own Monocle using free, open source components.

Attendees will learn how and why KIXEYE built its customer support system as a web app, the challenges and rewards of building a uniform support API across multiple games, and how designing games with support scenarios in mind yields benefits across the whole product.

This session is intended for tech leads, producers, product people and customer support/advocacy managers who are designing and supporting online games. Improve monetization and retention by keeping your players happy. Some knowledge of web application architecture and social gaming will be helpful.

Published in: Technology
  • Be the first to comment

GDC 2014 - Jeremy Ehrhardt, KIXEYE - Building Customer Support and Loyalty

  1. 1. Building Customer Support and Loyalty Jeremy Ehrhardt @JeremyEhrhardt Lead Tools Engineer, 📨 jeremy@kixeye.com
  2. 2. ● Real gameplay for social platforms ● Deep, engaging games ● Rapid iteration with big changes ● Long relationship with players
  3. 3. ● No hard paywalls ● Regular game events ● Strong social competition ● “We monetize revenge.” — Will Harbin, CEO
  4. 4. ● 20x higher ARPDAU ($0.80) than other popular social games ($0.04) ● 30 min+ gameplay sessions, 90+ per day ● KIXEYE has been profitable for 4 years
  5. 5. Our games
  6. 6. Battle Pirates
  7. 7. Battle Pirates
  8. 8. Battle Pirates
  9. 9. Battle Pirates ● MMORTS with tower defense elements ● KIXEYE.com, Facebook ● 3 years since launch ● Real-time PvP, PvE combat ● Immense world map ● Extensively customizable bases and fleets
  10. 10. War Commander
  11. 11. War Commander
  12. 12. War Commander
  13. 13. War Commander ● MMORTS ● KIXEYE.com, Facebook ● Nearly 3 years since launch ● Real-time PvP, PvE combat ● Tactical control of dozens of units ● Strategic gameplay on the world map
  14. 14. Vega Conflict
  15. 15. Vega Conflict
  16. 16. Vega Conflict
  17. 17. Vega Conflict
  18. 18. Vega Conflict ● MMORTS ● KIXEYE.com, Facebook ● 1 year since launch ● Real-time PvP, PvE combat ● Strategic view of entire planetary systems ● Server-side logic
  19. 19. Backyard Monsters: Unleashed
  20. 20. Backyard Monsters: Unleashed
  21. 21. Backyard Monsters: Unleashed ● MMO tower defense strategy ● KIXEYE’s first mobile game ● iOS (iPad, iPhone, iPod Touch) ● Launched Q4 2013 ● 4th year of the Backyard Monsters series
  22. 22. Support and retention ● Easier to keep good players than get new ones ● Customer support (CS): last line of defense ● About 60 CS agents at KIXEYE ● Players who write tickets care
  23. 23. Support and retention “Please look at my payment history and see that I am a serious player. … I do not want to quit this game. I love it and the friends I have made. Please fix the problems.” “I tried all of your suggestions and am still not able to play my most favorite game, any other help you can give please send it.”
  24. 24. Support and retention ● Ticket volume for 2013: ● 1,093,347 total ● 337,763 from whales ● Ticket volume so far, 2014 Q1: ● 238,397 total ● 66,336 from whales
  25. 25. Monocle ● One-stop tool for changing game data ● Provides services on top of games ● Player-centric interface ● Loosely linked to CS ticketing system ● Completely separate from game code
  26. 26. Monocle ● Holy Trinity of CS functions: ● Search for a player ● Grant hard currency ● Ban a player
  27. 27. Monocle ● Holy Trinity of CS functions: ● Search for a player ● Grant hard currency ● Ban a player
  28. 28. Monocle: player search
  29. 29. Monocle: player search
  30. 30. Monocle: player details
  31. 31. Monocle: player details
  32. 32. Monocle: player details
  33. 33. Monocle: player details
  34. 34. Monocle: player details
  35. 35. Monocle ● Holy Trinity of CS functions: ● Search for a player ● Grant hard currency ● Ban a player
  36. 36. Monocle: gold
  37. 37. Monocle: gold
  38. 38. Monocle ● Holy Trinity of CS functions: ● Search for a player ● Grant hard currency ● Ban a player
  39. 39. Monocle: bans
  40. 40. Monocle: admin log
  41. 41. Supported browsers Monocle backend servers Monocle frontend Internal HTTPS API Users 😇 in-house CS 😀 external CS 😎 developers Public HTTPS API Users 👮 Fair Play 😃 analysts Automated tools from other KIXEYE departments 👮 Fair Play 😏 designers 😬 producers 😆 QA 😎 developers 😱 automated QA Monocle architecture
  42. 42. Supported browsers Monocle backend servers Monocle frontend Internal HTTPS API Users 😇 in-house CS 😀 external CS 😎 developers Public HTTPS API Users 👮 Fair Play 😃 analysts Automated tools from other KIXEYE departments 👮 Fair Play 😏 designers 😬 producers 😆 QA 😎 developers 😱 automated QA Monocle architecture
  43. 43. Supported browsers Monocle backend servers Monocle frontend Internal HTTPS API Users 😇 in-house CS 😀 external CS 😎 developers Public HTTPS API Users 👮 Fair Play 😃 analysts Automated tools from other KIXEYE departments 👮 Fair Play 😏 designers 😬 producers 😆 QA 😎 developers 😱 automated QA Monocle architecture
  44. 44. Supported browsers Monocle backend servers Monocle frontend Internal HTTPS API Users 😇 in-house CS 😀 external CS 😎 developers Public HTTPS API Users 👮 Fair Play 😃 analysts Automated tools from other KIXEYE departments 👮 Fair Play 😏 designers 😬 producers 😆 QA 😎 developers 😱 automated QA Monocle architecture
  45. 45. Monocle frontend ● Open source tech ● AngularJS ● Bootstrap ● Lo-Dash Bootstrap
  46. 46. Monocle frontend ● Open source tech ● AngularJS ● Bootstrap ● Lo-Dash Bootstrap
  47. 47. Lessons Learned ● Why go with a webapp? ● Cross-platform ● Easy to publish ● Easy to update ● Stick to Chrome and Firefox ● Others lag in features, standards, tools
  48. 48. Monocle backend ● Gateway between frontend and games ● Storage for logs about players ● Arbiter of user permissions
  49. 49. Monocle backend ● Open source tech ● Linux (Ubuntu LTS) ● Apache ● MySQL ● Python with Flask
  50. 50. Monocle backend ● Open source tech ● Linux (Ubuntu LTS) ● Apache ● MySQL ● Python with Flask
  51. 51. Monocle architecture Monocle backend servers LDAP WC Bases … WC Primary BP Bases … BP Primary Direct MySQL DB access for first-gen games VC BYM:U Monorail HTTP APIs for second-gen games User permissions Admin logs Ban queue Internal MySQL DB
  52. 52. Lessons Learned ● Direct DB access is bad ● Violates information hiding principle ● Game teams need to iterate quickly ● Multiple tech stacks at KIXEYE
  53. 53. Monorail
  54. 54. Monorail ● Specified APIs are good ● Contract between Monocle and game ● Purpose-built for non-game use ● Testable from both sides
  55. 55. Monorail ● Specified APIs are good ● Contract between Monocle and game ● Purpose-built for non-game use ● Testable from both sides
  56. 56. Monorail ● RESTful HTTP API ● JSON wire format ● Mandatory TLS encryption ● HTTP error codes ● HTTP basic auth
  57. 57. Monorail ● Standard data model across games ● Players ● Gold ● Bans ● Bases ● Resources ● …
  58. 58. Monocle: resource editor
  59. 59. Monocle: resource editor
  60. 60. Lessons Learned ● Use strings from games ● “Siege Mortar D75-B” instead of “1299000” ● “Battle Barge 1” instead of “hull 50” ● Use art assets too!
  61. 61. Lessons Learned ● Use strings from games ● “Siege Mortar D75-B” instead of “1299000” ● “Battle Barge 1” instead of “hull 50” ● Use art assets too!
  62. 62. Battle Pirates inventory: in-game
  63. 63. Battle Pirates inventory: then
  64. 64. Battle Pirates inventory: now
  65. 65. Battle Pirates inventory: now
  66. 66. Battle Pirates inventory: now
  67. 67. Battle Pirates inventory: now
  68. 68. Lessons Learned ● Explore player connections ● Battles ● Alliances ● Friends ● IP addresses ● Gifts
  69. 69. Player connections: battles
  70. 70. Player connections: battles
  71. 71. Player connections: battles
  72. 72. Player connections: battles
  73. 73. Player connections: IPs
  74. 74. Player connections: IPs
  75. 75. Player connections: IPs
  76. 76. Player connections: IPs
  77. 77. Lessons Learned ● Get support hooks (Monorail) into games as early as possible
  78. 78. Backyard Monsters: Unleashed
  79. 79. Backyard Monsters: Unleashed
  80. 80. Backyard Monsters: Unleashed
  81. 81. Support and retention (reprise) “The problem was fixed the next day.” “you helped getting my evalks working again” “can you get more people like Cassi to work for ya she helped me out nice with my issue i had with a shockwave retrofit” “keep up the good work for your games!”
  82. 82. Support and retention (reprise) “Hey I just want to tell you Thank You for the 50 gold, little things like that mean a lot to the people who play the game and we do notice the effort you have all been doing to improve the game, also I would like to compliment you on your quick responses and fairness when issues do occur. You have always treated me fairly and I appreciate it.”
  83. 83. Support and retention (reprise) “I have been playing this game for a long time now and a couple of things have happened recently that I had to submit tickets for. I will put my hands up, in the past I have been critical of and frustrated with Kixeye support. However, on these two occasions Kixeye dealt with both matters quickly and resolved both issues to my satisfaction. So instead of the usual threads of whingeing, complaints and moaning, I would like to say thank you Kixeye - on both occasions job well done”

×