Popularity and Pity Points #37
Labels
No labels
Bug
Feature
Feedback Wanted
Refactoring
Won't Do
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: waifu/kemoverse#37
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
This is a new gameplay mechanic proposal for how we can connect card popularity with a pity system in the game. The goal is to create conscious engagement from players while keeping the system fair, diminish abuse, and get more social interactions.
System Breakdown
🎯 Player Reactions
🎯 Pity Point Limits
🎯 Popularity Point System
Open Questions
Strengths
Potential Issues
Pity RNG: Some players may feel frustrated by lack of rewards even with engagement.
Cap Confusion: Players may not realize they're at the pity cap.
Bandwagoning: Players might only chase popular cards.
Final Thoughts
This is an evolving system proposal, perhaps tied to another kind of pity system, where you get a pity point for a specific character after you roll a set amount of times without getting the card. Balance will be key, but making mechanics that relate to the social aspects of the fediverse has a lot of potential to deepen engagement and give cards emotional/social value.
Nice proposal! Though I don't think you've detailed what pity points actually do? 🤔
I'm assuming they'd increase a player's chance of rolling a particular card. Maybe each pity point a player has on a card increases that card's drop weighting to
base_drop_weight × (num_pity_points + 1)
and pity points towards a card will be removed when a player rolls that card. If they're rare, I think the benefit should be significant.In terms of a pity cap, I think we can just have pity points operate on a stack system: If a player is at the pity cap and gains another pity point on a card, the oldest pity point they have is removed.
In terms of a progress tracker, or cap communication, I think the system would benefit from a lack of transparancy. Obviously the source code is public so people can just look at how it works, but I think keeping players in the dark about what pity points they have could make interactions with the system more organic. Maybe we tell players how many pity points they had on a card once they pull it.
I've recently tossed around the idea of allowing multiple pulls in a single roll (think 10-pulls in some gacha games: #32), if we decide to move forward with that, we'd need to think about how we distribute pity points in a roll with multiple pulls. Maybe we just distribute a pity point for each pull in the roll at random.
I'm concerned about the scalability of the system as described:
Pity scalability
Distributing a fixed number of pity points per roll is super overpowered if there's only a handful of people playing, but not very impactful if there's a lot of people playing - sort of like voting.
Additionally, pity points as described can't be distributed on-demand, as we'd need to pool the reactions on a post at some point in time after it's gone live:
If we instead make it so that players have a flat chance of receiving a pity point upon reacting to a roll, that would make the system more scalable and eliminate the need for implementing a job scheduler into the bot. We could also have that flat chance decrease over time from when the post was made, incentivising people reacting to newer posts as they happen and decreasing the effectiveness of going back and reacting to older posts.
Popularity scalability
Having a fixed number of total popularity points in the game could mean that as we add more cards, popularity becomes more spread out among cards and we may end up with a significant number of cards stuck at 0 popularity, and even the 'poplar' cards stuck in single-digit popularity because it's just that sparse.
IMO, an easy fix would be making it so that popularity points scale linearly with the number of cards in circulation: every card added comes with 50 popularity points by default, keeping the total amount of popularity points per card constant.
Popularity flux
If popularity is constantly updating, it could have a negative impact on games being played: if you make a strategic decision based on a card having a certain number of popularity points, then the popularity calculation runs in the middle of the game, it could alter the outcome of that game without player involvement. This will be especially problematic if we implement a type of game that takes a long time to play.
I think we'd want to have games operate with 'snapshots' of cards taken at the time of starting the game, that would fix this issue somewhat.
My bad I completely forgot about that, initially I thought of pity points as "tokens" so imagine you have place for 10 tokens and you need 6 pity points of a specific card to redeem it. This redeeming would take the place of a roll but with 100% probability of getting that specific card. This way players have a tangible progress towards getting the card that they want, even if it's very slowly.
Now the problem is if they actually roll the card. Those pity points go into the trash since they already got the card they wanted, so adding an increased chance of specific card drop would work better.
Yes, perhaps just a set of posts that we watch for reactions, and after a while they just get removed from the set.
Yes I agree we should give them to the player as they give the reaction.
So for example it would be like:
I like the fix for the popularity system!
I know it's kind of a strange mechanic since it's supposed to be constantly changing yet I see some potential in it. Another question that comes to my mind is, if the game has a set number of popularity points. When a reaction happens, which card gets their popularity removed?
I kept thinking about it and two things:
This is so they can get popularity points even if they don't get rolled
This means popular cards are more likely to get their points taken, so it's a constant battle for popularity
perhaps we'll only know once it goes live and pregnant cards get 300 million popularity points
One point that kept going in my mind was about how decisive it is to set a main stat as a constantly changing value, it seemed difficult to implement and a bit too disruptive, so perhaps we could change popularity to be a passive buff in popularity tiers like this:
This gives a soft, edge without invalidating design. So we don't decide "popularity" but it is something natural that changes as time goes. It would be easier to implement since it's just a check before the game plus a temporal change of the stats, and could even be toggled if people want to play without it.