3. About Gamesys
• Major Cash & Social Gaming operator, primarily in UK & Europe
• World’s first Cash gaming on Facebook
• Social Games include Jackpotjoy Slots & Here Be Monsters
• Bingo, Slots, Casino, Instants
• Handle ~5bn wagers per annum
• 200k unique cash players a month
November 2013
4. First Exposure
“This is all about connected data, what can we find
to help with that?”
- Toby O’Rourke, Technical Architect, Gamesys
November 2013
5. Building an Internal Social Network
• Online Bingo is a highly social game, there is chat alongside the game
• Acquiring new players can be very expensive
• Players acquired by referral are cheaper to acquire and higher value
• We want to incentivise members to refer their friends
• We wanted to learn about the social relationships between players
November 2013
6. Neo4j in 2011
• Cypher was brand new and experimental
• Read only
• Gremlin was the preferred query language
• Spring Data Neo4j was at 1.x
• Heavy use of AspectJ
• Difficult to use in IDEs
• HA used Zookeeper
November 2013
7. What we did
• Embedded database in the app
• spring-data-neo4j as API to db
• Domain Objects have SDN annotations
• That’s more than OK, it’s good. Connectedness is part of the
domain
• Had to drop back to straight Java API using Neo4jTemplate in a few
places
November 2013
10. Aside: Refer a Friend in Cash Gaming
• Referee gets a cash bonus straight away
• Constrained by a “play through” requirement
• Referrer gets a cash bonus once the Referee has played a certain amount
• Typically, the cash bonus for the referrer is greater than the minimum deposit
requirement for the referee
November 2013
11. A Quick Game of Spot the
Difference
November 2013
14. The Infection Spreads
“Hey, Who is the Neo4j expert in the building?
Our guys want to use it”
- Tom Newton, Director of Social Gaming, Gamesys
November 2013
15. Challenges making a MMORPG playable
• Here Be Monsters (https://apps.facebook.com/herebemonsters/)
• Complex economy, 1000’s items, monsters, locations and traps
• What if the items needed for an early quest are opposite ends of the world?
• What if a basic game commodity is too scarce?
• How do we test this beast?
November 2013
16. Enter Neo4j
• Put every item, location, monster, trap and quest in to the graph
November 2013
18. Enter Neo4j
• Put every item, location, monster, trap and quest in to the graph
• Brew some secret sauce to define “poor gaming experience”
• Analyse graph to match poor experiences
• Focus play testing effort on potentially problematic areas
• More certainty over behaviour of a complex universe
• Fun!
November 2013
21. Results
• Completed a major refactor of the game economy
• KPIs are up
• More players, more activity
• Time to market was reduced
• Repeatable process
November 2013
22. It’s an Epidemic!
“I hear you have already been doing this so would
be keen to start getting to grips with Cypher and
exploring the data”
- Guy Dawson, BI Analyst, Gamesys
November 2013
23. Find out more
on LinkedIn
linkedin.com/company/gamesys
on Twitter
@officialgamesys
@tobyorourke
@theburningmonk
November 2013