It's okay to have a ship that is more powerful than another - you can offset this with reduced speed. A ship that has a wider spread is traditionally slower, but what about the ship that fires a narrow stream of hard hitting missiles?
Enter this little fellow:

Sort of dawned on me while going to sleep last night that a simple way to check the DPS of ships would be to actually measure their damned DPS. Which is damage per second. So, what does he do?
Special enemy that I lay down on his own to sit in the middle of the screen. He ignores damage, takes no health reduction and reports any damage taken back to another object in the game.
Yus.
Code: Select all
edit: Except my maths was screwed here and I was being dumb.
What you want is to:
* Add 0 to the list for each frame the object isnt taking damage
* Add damage taken when it gets hit
* Add up all your values
* Divide by total
Just attack til the value sort of levels out. Also have a reset button

It's okay to use floats here. You're not after precision - just a quick sanity check for "Is this actually OP, or does it just FEEL overpowered?"
If something FEELS overpowered but is in fact balanced when it comes to the numbers - congrats, you've nailed it.