That’s pretty interesting, I haven’t played Warframe before so I wasn’t aware of that!
After a lot of thought and discussion, I’ve come to a pretty solid solution, at least on paper… It probably needs balancing and adjustments though I can only find that out when put in use.
Previously I was trying to figure out a general solution that would fit the game’s core game-play idea, however due to the fact that the game can have a lot of different game modes, each having a different style mechanic it was pretty difficult to figure out a “one size fits all” solution.
Instead, I focused on creating solutions per game mode or per game mode type (as there could be a few game modes that share the same mechanic)
Ultimately, what I’m doing is only rewarding players based on performance, the better you do in the round, the better the reward you get at the end, however, it is critical that I identify those who don’t play or simply try and troll around and ruin other’s experience, to prevent them from having a chance to be put in an important role in the game (e.x, Juggernaut)
As mentioned above each game mode (type) has its own set of checks, though each one rates the player’s activity within the round based on several factors. If a player does a certain action that indicates they’re active they get +1 score, in total they can accumulate a certain amount of score points, though you need to have a minimum amount of points to be considered active.
Should you be considered inactive you will then receive +1 IdleRound score, or if you ARE active you will receive as normal, +1 Round score. Should the ratio between those two be bad then the game knows not to give you an important role, yet also giving you a chance to redeem yourself by playing more and getting a better ratio.
Now that’s cool n all, but this is only for the game logic, player’s will be unaware of all this. So another thing I needed to solve is,
“How can I demotivate players from becoming bad actors?”
Since I want the game to have a competitive nature I took that as an advantage and made a leaderboard for player scores. for every round you are active you earn +x points for that leaderboard, and for every round you AREN’T active you get deducted points (with a minimum of 0 points)
It’s been pretty fun to work out, and I have a lot more I can potentially do and play around with, though until the game is actually released I can’t get too crazy