landgreen / n-gon

2-d physics rogue-lite platformer shooter
https://landgreen.github.io/n-gon/
GNU General Public License v3.0
151 stars 221 forks source link

Percentages, defense stat, and readability #280

Closed GalaxyJumper closed 3 months ago

GalaxyJumper commented 3 months ago

I recently came back to n-gon after a while and noticed that stats use a multiplier instead of percentages, and thought it was a little bit hard to read. I can see where you're going with this; "1.5x movement speed" and "4x damage" are easier to read than their respective percentages, but for some tech it doesn't work as well: for example the energy conservation tech, where "1.04x of damage" makes less sense than "4% of damage". I think a middle ground could be good here, where some stats use percentages where it makes sense, and others multipliers. I also noticed that defense became "damage taken", but this felt slightly more confusing, and from a transparency standpoint, defense made sense; "40% defense" means that you now take 40% less damage, rather than "0.6x damage taken" meaning, to me, 1 - 0.6 = 0.4 times less damage, requiring a conversion. I think another middle ground would be good here if you are set on a damage taken stat, where tech could read "-0.4x damage taken". Sorry if this issue was already posted, and thanks for listening to my rambling :)

landgreen commented 3 months ago

My stance is that I'll use percents to indicate things that have a chance to occur because percent relates to probability. Otherwise I try to make my text descriptions as close as possible to the actual code.

Rant:

I also hope I can teach people that "per cent" just means "/ 100".
Dividing by 100 just shifts the decimal over 2. So I guess we use % to hide decimals, but it gets silly and confusing. 200% = 2 30% = 0.3 99.9% = 0.999

Don't get me started on radians -> 360 degrees to avoid decimals Or the worst of all kWh It's kilo watt hours (1000)(J/s) (hours) (1000)(J/s) (60min) (1000)(J/s) (3600s) (1000)(J)(3600) 3600000J kWH are just Joules... sigh