I’m making a game where the player need to make decisions quickly and decisions can be correct and incorrect. By the end I want to give a player a score but I have trouble to find the right formula to calculate score.
At the moment, the player get after each correct decision +1 score and multiplied by a multiplayer which is x1 at the beginning. So we have a base score for each correct decision multiplied by a multiplier (1*multiplier). After 3 correct decision in a row, I set the multiplier to be x3, after 6 correct decision in a row I set the multiplier to be x6 and after 9 correct decision in a row I set the multiplier to be x9 after each incorrect decision I set the multiplier to be x1 again.
But I don’t want to score only the correct decisions I also want to take in to account the accuracy of the player and inaccuracy the % of correct and incorrect decisions.
So I have 3 variable to calculate the final score = score (after each correct decision), accuracy (correct decisions in %) and inaccuracy (incorrect decisions in %) At the moment I’m using this formula to calculate a final score for the player (score * accuracy)/inaccuracy
The problem is, if the player go crazy and just start tapping the screen (yeah it an android game by the way) and doesn’t care about what is on the screen actually, able to make huge number of scores and I want to avoid that.
Normally I can make 2000+ score with 90%+ accuracy, but if I go crazy and just start tapping the screen it could go up to 20 000 with 70% accuracy
The game is about concentration, memory and speed and I don’t want to reward the player if using only speed but not memory and concentration but using this formula ‘(score * accuracy)/inaccuracy’ I’m doing just that
Anybody would have any idea, suggestion how to calculate score to avoid huge numbers in case the player just start tapping the screen without paying attention to what is on the screen?
If you want to give score even in failed decisions, and you allow the players to make wrong decisions quickly without real penalization, then it could be difficult (but I think you already get the right equation)… I don’t know, it’s your game, but I would (for example) add the time it takes to finish in the equation, and add time penalization in bad decisions (just as an example, I don’t want to modify the original system).
Anyway, your equation looks good, the real problem is the accuracy you can get with fast-random decisions… How the hell do you get 75% accuracy taking random decisions if sometimes there are 4 decisions to take?
Maybe you could modify the accuracy resolver to make wrong decisions to weigh a little more
It is not a single game, it is multiple small games based on the same system represented in different ways and style.
So just. don’t take the numbers I mention here literally.
The point is that, In any case you have up to maximum 4 but minimum 2 options to choose from at the time depends on the game you play but always only 1 of the options is correct and each time you made a decision you gonna get an other 2-4 options to choose from until the timer runs out. When the timer runs out, I take the total number of decision made, and how man of them was correct and how many of them was incorrect. The goal is to make as many correct decision as many you can until the timer runs out which is 30 seconds at the moment.
And this is the problem as technically, you can make hundreds of decisions, by swipe the screen constantly and you can make insane amount of score even if you are just guessing and don’t even look at the screen and make lot of mistakes. As I’m also store the best score of the player to show what score need to beat for each game, it would be not ideal if the player going to make a huge score by only guessing and that’s become the best score as you just can’t beat that, humanly it is impossible.
I think the best I can go with is to check for a maximum number of decision and minimum value of accuracy that is reasonable and if the number of decision is greater and accuracy is less then reasonable, then probably the player just guessing and I’m going to divide the score with a big number or something to keep it low.
For example in on of the games in 30 seconds I can make 35 decision with 100% accuracy (my personal best)
I guess it is average, so maybe I’m going to test if the number of decision is greater then 80 for example and the accuracy is less then 85% then probably the player just guessing and I’m going to divide the score with a big number to keep it low or I don’t give a score at all…
You can penalize runs of lots of bad choices in a row (say x3 or x5 in a row) which a player doing random tapping will do quite a lot of.
Probably the best way to find your best scoring for the game is to come up with something that sounds reasonable and then just get people to playtest the game and give feedback. If many of them complain about the scoring being too much of this or that, then change it.
Yeah to check bad choices in a row could work in some cases but not everywhere, in some cases I think it ok to make multiple bad choices in a row. If I score bad choices in a row and effect final score in a negative way, I need to make sure if the player do only 40% accuracy, which is normal in some cases, not going to get negative value for score as that would be disappointing