Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+1)

It is floating point imprecision, that caused the buy max cost to be higher than your money, while it should be lower. Float numbers are not very good for incremental games. 

Games should either avoid designs sensitive to float imprecision, or use some custom notations instead.

But this is just a jam game, so there is no time to consider this kind of thing.

you might look into how libraries like break_eternity.js work, since those are extensions of floating point numbers (that do things like make the exponent itself a double to expand the limit). It *is* also possible to do some extra math to recognize the disparity and correct for it, but certainly not something worth doing in a jam game :P