Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics

Came back after a good while to see some pretty awesome updates! I'm excited to play through and explore the added content.

Found a pretty significant bug, though: If you click to metastasize, select a few upgrades, but then cancel metastasis, the malignancy is still spent but the upgrades remain unpurchased. It's super easy to go, "Oh, I can grab another (formerly locked) upgrade if I just had 200 more malignancy, better cancel," and then bam! An hour of progress lost.

thanks for that. I'll take a look at it as soon as I can

Wow, stage 2 was bigger than I expected!

Another bug: I pretty regularly crash the game when I buy an upgrade at the same time as it becomes unavailable due to resources being consumed otherwise. This happens pretty frequently in later stage 2.

(1 edit)

Are you clicking really quickly to purchase it asap?

It even happens if I don't click too quickly (I've had it happen on the very first click). It's when there's a ton of stuff going on in the background, which seems to drag frames out a bit.

For example, say I amass just enough ore to purchase 'anchovy cove'. The upgrade menu then updates to show the upgrade as purchasable, but just as I click, the iron lored finishes its task and reduces the available ore to below the cost. I've even seen the menu item go dark gray right as I click, and then the game crashes.

I suspect what's going on is that both events manage to trigger, i.e., they both first check if enough resources are available, and then, seeing that they are (because neither has deducted any yet), they both deduct their share of resources, resulting in a negative number (which presumably breaks something, e.g., the display routine or some other computation). If you have actual concurrent programming going on, where one thread can be doing *anything* while another thread is running, you'll have to use mutex to prevent that kind of thing from happening. If not, you can just check again right before you actually change the value to make sure it doesn't go negative. Alternately, you can find the code that's actually crashing (probably a log() or something similar) and adjust it to permit negative numbers. (Assuming my suspicion is correct, anyway).