
The Idea
It all sort of began in the internal Discord of Phoenix Nights, we have silly little bot games we all get so hooked onto and one of those was this fun love score meter. It was simple, and yet it occupied my staff for a good few hours on some days. This version of the game just showed a score between 1-100 and it was totally random.
Come Love Island preparation, and I really wanted to bring that same experience over to the Discord - to really connect people together in a whole new way. I reached out to Tim to put together a bot that will calculate the score between two users by identifying certain metrics.
Getting there was a rocky start, how do we define a score? What is the user experience supposed to be like? And what context of information can we give them?
We defined and settled on Roles as the main "user influenced" criteria. This was something I set up on the server long before I started inviting everyone into it. It felt fun, being able to choose a Jewel (Colour), a Zodiac (your Star Sign) and your Love Language (your expression of Love).
Then we wanted a unique footprint, something you couldn't influence however it was already a part of you.
So, lets reveal and pull apart the curtains.
If you prefer to keep it a mystery then I would suggest not reading any further!
You have been warned!
Me & Tim, didn't want it to feel truly random. We wanted you all to feel the "weight" of your choices, to be able to calculate an idea of who would be a stronger match. Randomness would trivialise your choices, although we still wanted to create a nice distribution so the game felt fair and still had a slight "luck" to it.
So here's a breakdown of each component and how it contributes to the final score.
Account Age Score
The Account Age Score is calculated based on the creation timestamps of the users' accounts. Below is the logic:
Oldest Timestamp: A predefined timestamp representing the approximate creation date of their Discord account
Current Timestamp: The current time when the score is being calculated
Difference Calculation: The numerical difference between the creation timestamps of the two users is calculated
Score Calculation:
If both users have the same creation timestamp, they receive the maximum score of 1
Otherwise, the score is calculated inversely based on the age difference, ensuring it remains between 0 and 1 and is rounded to two decimal places.
Zodiac Sign Compatibility
A Zodiac Score is determined by a predefined matrix that assigns compatibility scores between different zodiac signs. The scores range from a minimum of 0.3 to a maximum of 0.95. The assessment of these scores were derived from popular astrology methodologies.
Data was looked at from astrology sources such as Cafe Astrology & Astro.com to understand popular matches and from there - we were able to derive some weighted values that made sense:
A little fun fact, we did explore FFXIV races to determine a compatibility but we opted out of this. I personally wasn't sure how to grade that sort of metric and it doesn't lend itself well to those who have a special defined roleplay race etc.
Zodiac signs was great as people are familiar with it, and already have an idea based on their birthdates - it was well on theme for an event centred around love & connections.
Jewel Compatibility
I love gemstones, and gemstones also can have colours to them. Love Island was all about colour harmonies and colour is a great expression of you. We all have our favourites, and i'm totally sorry I didn't have Silver & Black Jewels! They just wouldn't look great on Discord!
Jewel compatibilities was based around simple colour theory, opposite colours are complimentary and are great harmonies, whilst some neighbouring colours also had great strengths as matches.
