// TECH //
Why idle game numbers explode, and how we keep them readable
Two curves, one wall, and a number with an e in it
Play Void Clickers for an hour and the numbers on screen stop meaning anything in the normal sense. Damage per second climbs past a million, then a billion, then something written as 1.01e+15. Every idle game ends up here, and it is not sloppiness. It falls out of two design choices that pull in opposite directions on purpose.
Cost multiplies. Damage adds.
Upgrading a weapon costs a bit more for every level you already have. Not a fixed amount more: a fixed percentage more, every single time. That is an exponential curve, which means the amount it grows by keeps growing.
What you get for that money is a flat increase. Each level adds the weapon's base damage exactly once, so ignoring the milestones we will come to shortly, level 40 hits for twice what level 20 does. That is a straight line.
Watch what those two shapes do to each other. On the starting weapon the first upgrade costs 10. The hundredth costs over a hundred thousand. Both buy you the same step of damage.
That is deliberate, and it is where the difficulty actually lives. The squeeze in an idle game is rarely "this enemy is too tough". It is "I cannot afford the next upgrade any more".
The enemies run away from you too
Meanwhile every wave is a fixed percentage tougher than the one before it, with an extra bump every twenty five waves. Also exponential, and a slightly gentler curve than the cost, but exponential curves get out of hand fast whatever their rate:
- Wave 1: 20 health
- Wave 100: over 150,000
- Wave 300: over four trillion
Nothing changed about the rule between those rows. That is simply what repeated multiplication does once you let it run.
How damage is allowed to catch up
If damage only ever went up in a straight line, this would be unwinnable, and quickly. So each weapon has a ladder of milestone levels, and hitting one multiplies that weapon's output rather than adding to it. The multipliers stack, so a weapon deep into its ladder hits for thousands of times what its raw level would suggest.
That gives the progression its characteristic rhythm: long stretches where you are visibly falling behind, punctuated by a level that suddenly multiplies you back into the fight.
Prestige, the reset that gains you ground
Eventually the milestones stop being enough, and the answer is to collapse the run. Prestige throws away your weapon levels and your shards and puts you back at wave 1. In exchange you keep Void Cubes, and every cube you have ever earned adds to your damage, permanently, from that moment on. Reaching wave 100 pays exactly 10 cubes.
Cubes are counted on a total that never goes down, even when you spend them on other things, so a prestige can only ever make you stronger. Starting again with 10 cubes means the first hundred waves take a fraction of the time they did before, and you go further with the time you buy back.
Printing a number that large
That leaves the display problem. Four trillion written out in full is unreadable at a glance and does not fit in a button. So every number in the game that is allowed to get large, meaning damage, health, shards and prices, goes through the same short piece of code before it reaches your eyes. The small ones that never run away, like your wave number and your weapon levels, are printed as they are.
The rules are simple. Below a thousand, print the number as it is. Below a million, print it in thousands with one decimal and a K. Then M for millions, B for billions, T for trillions. So that wave 300 enemy shows up as 4.1T.
Past a thousand trillion the suffixes run out, and the game switches to scientific notation. That is where the 1.01e+15 from the start of this article comes from. The part before the e is the number, and the part after it tells you how many places to shift the decimal point to the right. Shift 1.01 fifteen places and you are into the quadrillions. Once you know the trick it is easier to read than the long version, because you can compare two numbers just by glancing at the exponent.
The ceiling nobody reaches
Void Clickers uses ordinary JavaScript numbers rather than a special big-number library. Those stop being able to hold whole numbers exactly at around nine quadrillion.
That limit lands at almost exactly the point where the display gives up on suffixes and switches to scientific notation, which is a pleasant accident. Past there the numbers are approximations, and they are also being shown to two decimal places, so nobody can tell. The point where a number stops existing altogether sits thousands of waves beyond anywhere the prestige curve will ever let a run reach.
▶ Play Void Clickers