It’s possible to get infinite MP by performing the following actions:
Place a cell part, for example cytoplasm. Costs 22.
Remove another part of the same type. Gives 22 back.
Place the removed part elsewhere as if you moved it. Costs 5.
Remove the newly “moved“ part. Gives 22 back as if i never added any parts.
Discovered it accidentally trying to change cell shape as it allowed me to place more organelles than i expected. After that i reproduced it on a multicellular organism, on one without a nucleus and on the first one after new game which proves the bug is quite reproduceable
I got some addition to this now, after step 3 when you “move“ the part for 5 the price doesn’t recalculate to 22 and stays 5 and you can keep placing them. It looks like the calculation of placing it back is a problem
Guys, please don’t clog up the thread with the welcome messages. I’m sure if the new users want to stick around they can make introduction posts where you can all comment the welcome messages.
Edit: there’s a new patch now that should make this exploit no longer work:
(All of this is very confusing to explain so if you need to explain something in further detail Just say so)
2- if you place 2 of them they will cost 52.8 as it should be but when eliminating the first one placed it gives back 57.4 MP
3-If you do the previous thing but then place another of the same it will cost the normal amount (26.4) and then eliminate the one that was there before you get 25.6 which is less than it should
And theres also a weir bug with movement but it is very confusing cant explain in text sorry for Poor english
So if you place 2 cytoplasm, and delete the one you placed first then you get too much MP back. If instead you delete the second placed cytoplasm first and then the other, then you don’t get too much MP back.
At least with these changes I can no longer trigger the condition where you have more than 100MP. So at most this seems only possible to get one free organelle refunded per editor cycle. Which while bad is not as catastrophic as before.
It’s unfortunate that there is still such an easy exploit. Hopefully there’s no longer any infinite MP exploits, because while I could try to keep tweaking the current approach it seems quite clear that it is not very productive to play whack-a-mole like this. As a result there’s not going to be another small patch to try to fix this. Instead as long as I have enough time within the 0.9.1 release window, I’m finally going to do the ultimate MP calculation system with a totally different approach.
5 Likes
aah31415
(The maker of SitF, Radiostrocity, The Lifenote and TGBing; The Second Ascended...; And just maybe a security warning come alive...?)
14
You could even just use some web translation site just so that we know how to replicate the condition if you know the full process how to trigger it but just can’t type it out in English.
Okay so
I went testing to see if the infinite is still there and it isn’t. At least i was unable to find any. But i found the reverse, the way to get rid of all MP while changing nothing. I successfully was left with one cytoplasm and 6 MP while unable to remove it, move it or place anything else. Ctrl+Z works normally though, so that’s not a softlock.
So that’s what i did:, listing the cost of options after the action:
Place a cytoplasm: Delete 22 Move 0
Move that cytoplasm: Delete 22 Move -5
Move that cytoplasm to a second space: Delete 27 Move 0 (makes sense, i just paid 5 to move)
Move that cytoplasm to a third space: Delete 22 Move 0 (I guess since i paid 0 to move it’s 22 again)
Delete cytoplasm. Results in me having 95/100 MP and still the starting layout
This is quite consistent, i tried it like 4 times, works every time
And it makes the squares (hexagons actually) that i moved in/deleted in somehow weird and it doesn’t always work on the same squares again
Also after removing the starting one cytoplasm you can start placing/moving in/out of that space it was in which makes things more weird. Now, i don’t understand how, i was just messing around but i managed to get myself to a negatine MP.
This is also somehow reproduceable by using the move, delete and place actions and the space of starting cytoplasm, although, i don’t know how crucial the starting space is and what steps to follow. I reached negative MP three times now and all seem accidental
I knew that I needed to slightly break the refund system. I could not find another way to fix the reported infinite exploits. So yeah, MP refunds in many cases don’t work currently.
I was hoping this was not possible, but again this is an effect of how I tried to fix the infinite MP exploits. Right now the way the MP is checked before an action is allowed is slightly different than when the action is applied meaning that sometimes too many actions may be allowed leading to negative MP.
It’s good that it is not very easy to trigger.
Anyway, my overall plan for the MP is to make a third version of the MP system that just works based on being given 2 species and it just calculating all changes between them. That should remove all MP exploits and make all refunds work again. The downside is that it will likely take a week at least to make, so I only have this week left for other small tweaks, otherwise 0.9.1 release would need to be delayed.