I am in the process of developing my first game on android mobile platform, it’s a tower defence game and I am currently busy designing the scoring system.

At the end of the stage when the user has defeated all the waves of enemies I want to take his score and somehow calculate a rating out of 3 Stars.

What will the best way be to calculate a score?
When should I increment the score during gameplay for example when an enemy dies?
And how do I calculate if the score is worth 1-3 Stars at the end of the stage?

Basically I want help or any ideas on how the formula should look like and how to calculate if the user scored a 1.. 2... or 3 Stars.

My variables in game :

Every enemy has a value: Example $5

The stage has a number of life’s before you are defeated: Example 20

Each stage starts with money that you buy your towers with: Example $120

Each towers costs money: Example $30 A stage can consist of 1 or more waves of enemies.

Any help or ideas would be appreciated as I am new to game development….


2 Answers 2


Are you randomly creating waves, or would they be set. If the enemy waves were set, I would suggest figuring out what enemies are worth what points, and if there is a diffuculty, figure out what the modifier in points would be. Once you have your set waves with enemies of set points, total up the points, and make each star be an even portion of the total. So lets say you have one wave of an enemy type of mage, and the enemy type of mage is worth 100 points. Lets also assume for now that this singular wave spawns 20 mages. That would mean the perfect score would be 100(the point value of a mage) * 20 (the number of mages) resulting in a perfect score of 2000. If a level as 4 stars, each star would be achieved after 500 points (2000, the perfect score) divided by (4, the number of stars). So if the user ends up with 1200 points, they would have two of four stars.


I like shroeder answer. It's very logical.

There could be a lot more to the scoring system as well.

When should you score? I would score when you kill a enemy from the wave. You could even fill the stars as they reach the score needed to fill X% of the star. It would be a good way for them to see before all of the bonuses are added at the end (if any) how they are doing on the level.

Perhaps there are some points to be had if the user has money left over at the end of the level. Those points would skew the score and allow a little bit of reward to be had for using skill and not just brute force damage. Money spent on upgrades to the tower could add to the score as well, showing the user that knowing how to play the game has rewards.

Also if certain criteria was met during the game (think achievements) those could add to the score, making a 3 star average higher than the total score for killing everything.

In reality, it's what you want your game to be. Make sure three stars are achievable in the lower levels with some ease, but harder to obtain in later levels. A level that makes it difficult to get 3 stars adds a lot more replay value to your game.

  • \$\begingroup\$ Thanks!! I will keep in mind to make it easy in lower levels to get 3 stars and harder in more advance stages. I am going to do a combination of Shroeder and your @Kris.Mitchell by scoring when enemy dies and also adding a bonus at the end witch includes life's left. If I could, I would mark both of your answers as my answer. \$\endgroup\$
    – Renier
    Oct 3, 2014 at 7:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .