As Roblox developers, it is currently impossible to combat dislike-botting. I believe this is an issue with a rudimentary solution, implementable by any developer.
I suggest a service which allows us to whitelist players to rate the game. When the player triggers a scripted event (such as completing an objective, leveling up, reaching a certain point, anything a simple bot should be incapable of), the game uses a function in the service to flag the player as ready to rate the game. Once granted, the player is notified (similar to a friend request being accepted), and this flag cannot be revoked.
I believe it would be self-abuse-managing in the sense that a game can prevent itself from also receiving positive ratings if not appropriately utilized, and I see no reason why a game should be reportable for abusing this service as dislike botters would turn to doing this instead.
A problem with the popular time-based solutions is the fact that bots are smart enough to move around and cheat the idle kick, all while not actually doing anything in the game.
This service would be a considerably harmless fix for dislike-botting, and also a general way of actually gauging whether or not players have properly experienced the game enough to rate it.
That’s actually an interesting way to look at a new voting system.
I’ve made a post on this before (A better voting system for games) but this seems like a viable solution and should be looked into
This also eliminates the possibility of people disliking games for somewhat “petty” reasons which are usually out of the developers control, such as rage quitting.
We do need a better voting procedure for games soon, including an easier way to get feedback from our players (without having to create our own solutions)
Yes, it would help the random dislike botting problem.
No, it would not help the problem of developers self-like botting their games.
I think this gives the developer too much control over who can rate the game. I think every game should have the same requirement for who can vote on it. Or, make the “Average Visit Length” be the requirement of playtime in order to vote on that game… something automatic and not toggle-able.
Anything toggle-able for the developer in terms of allowing votes is not a great idea. Because then vote percentages mean entirely different things from game to game.
I have considered the possibility of developers filtering who gets to like and dislike their game, and I agree with this as a setback, though I don’t necessarily see this as an effective power move for developers. Any attempt to make a system automatic is what enables bots to abuse it.
If anything, I would suggest more analytical emphasis on the players’ visit-rate ratios in consideration of a game’s popularity and not just the like-dislike ratio alone.
And how could this not be abused by a developer? In some games, you could set an impossible flag which only the developer can use - they could then allow their friends to like the games giving them unrealistic like/dislike ratios.
Not to mention as bots become more technical and computer power increases, what is to stop the bot from temporarily playing the game to reach this checkpoint (especially if your game is trivial). These bots can join games, running a few instructions to interact with the game won’t be particularly difficult.
What may be better, is a required playtime for your game before rating and / or a required number of times played.
This is a bad idea. Ignoring the fact that there’s no reason developers can’t limit whitelisting reviews for people who are likely to give the game a thumbs up (such as after a purchase), even with good faith developers this still hurts the consumer’s ability to judge the quality of a game from ratings.
People have wildly different answers in the gaming community in general on how long you have to play a game to review it, and a lot believe it differs from game to game. This comes into play when developers believe you can’t review their game adequately unless you get to a certain point in the game, but if most players find the game too annoying/frustrating/unfun to play before they get to that point, their opinions are effectively silenced.
This doesn’t even factor in cases where people join your game and it literally doesn’t work, which is usually a valid reason to give a game a dislike.
So does the current system in place - it’s far too easily abusable. Dislike or like botting is trivial to pull off, and the only valid way I can see of actually solving this issue is having a recent Likes to Dislikes, rather than All Time. Another way would be a review system like Steam - where you have to write a review first before rating a game.
Of course, as we’ve seen with fairly recent releases of games, consumers tend to go on a rampage and review bomb a game if the developer makes a mistake in the future, as we seen with Borderlands 3, which is in my opinion, very childish, and is an example of how even Steam’s could be abused. But unlike Roblox, Steam’s system automatically determines what is an actual review and what is simply review bombing.
The way I see the ideal review system for Roblox is this:
Minimum play time of 10 minutes - this saves over time so players don’t have to play for 10 minutes straight
Actual reviews give more info to not only other consumers, but also the developer - you’re not blindly following dislikes and assuming what issues could be. These would be automatically or manually curated.
Maximum of 10 ratings every 30 minutes from the same IP or HWID address - this helps prevent botting. This also means that players can only like up to 10 games every 30 minutes.
Verified email address, and don’t allow voting on accounts who share the same email with an account who has already voted previously.
TL;DR: Roblox’s current ratings system is flawed, and it’s possible for consumers to not accurately judge a game because of dislike botting. An ideal system would be automatic curation, strong email verification, and requiring players to write thoughtful reviews before allowing a rating to be posted on the game.
Every bullet point you provided is not related to the suggestion provided by the OP. If you want to suggest your ideal system, it would be more fit as a separate feature request, though I believe everything you’ve suggested has already been posted elsewhere.