Jump to content

Wulf2k

Unlimited mutations glitch

Recommended Posts

I reported this to the reports email with no response, and one of the reddit reps, who brushed it off as nothing.  So here you guys go.

 

The mutations counter is a 32 bit signed integer.  If your pet has 1 mutation, in binary he has 00000001 mutations.  If you mate them with another 1 mutation pet, he will have 2, or 00000010 mutations.

If you inbreed that generation, you have:

00000010   +

00000010  =

00000100 mutations, or 4.  Do it again, you have

00001000 mutations, or 8.

 

As you can see, every doubling of mutations moves the 1 left.

Now, for a little bit of computer fun, computers don't use the 32nd bit of a signed integer as a quantity, they use it as the positive or negative sign.  0 = positive.  1 = negative.

 

So, what happens after our 31st generation of inbreeding?

01000000 00000000 00000000 00000000 (1,0731741,824 mutations)    +

01000000 00000000 00000000 00000000 (1,0731741,824 mutations)    =

10000000 00000000 00000000 00000000 ( -2,147,483,648 mutations)

Yes, that is negative 2,147,483,648 mutations.  (for computer math reference, negative 1 is binary all 1s, all 0s is the 'biggest' negative number)

if you inbreed that generation, the 1 is pushed off the 32 bits containing the integer and we're back at 0.

 

So, what if we've got a super breeding line at its cap of 20 mutations?  Well, simply inbreed them 28 generations, overflow the counter, and since a negative number is always less than 20 they can start to get mutations again.

  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, arkark said:

Probably they dont caring about that because it looks like much more time costly than the other common method of cleaning mutations.

I don't do heavy breeding so I'm not sure on the other common method, but this would only be costly the first time.  Once you've got a negative mutation breeder, you can mix it into the line at any point to reset them immediately.

 

Edit:  Ideally, you'd work it out so you get a negative one mutation breeder, then just cross breed it in to cancel any positive one mutations that pop up.

Edited by Wulf2k

Share this post


Link to post
Share on other sites
19 minutes ago, Wulf2k said:

I reported this to the reports email with no response, and one of the reddit reps, who brushed it off as nothing.

The correct channel to report a glitch would be the Bug Report form.

20 minutes ago, Wulf2k said:

So, what if we've got a super breeding line at its cap of 20 mutations?  Well, simply inbreed them 28 generations, overflow the counter, and since a negative number is always less than 20 they can start to get mutations again.

That is the case regardless of the amount of markers a line have. As soon as you mate it with another creature that have less than 20/40 markers you can still mutate the stats of the parent exceeding it. Trying to negate the counter is more trouble and doesn't worth the effort. By mating a male that exceed 20/40 markers with an army of females that have less than 20/40 you will mathematically mutate a random stat of the male every 85 eggs (or a specific one every 590).

  • Thanks 1

Share this post


Link to post
Share on other sites
2 hours ago, invincibleqc said:

That is the case regardless of the amount of markers a line have. As soon as you mate it with another creature that have less than 20/40 markers you can still mutate the stats of the parent exceeding it. Trying to negate the counter is more trouble and doesn't worth the effort. By mating a male that exceed 20/40 markers with an army of females that have less than 20/40 you will mathematically mutate a random stat of the male every 85 eggs (or a specific one every 590).

Yes, but if you mate that 20 mutation male with a female that has negative 20 mutations, you get a child with 0 mutations and all the best stats.

 

If you do that with your entire breeding line, you can freely inbreed and not worry about getting rid of wild stats whenever a mutation pops up, with mutation rolls possible on both sides of the family tree.

 

Edit:  It would seem I'm out of posts for the day due to newbie spam status.  As a final comment, obtaining a negative 1 mutation dino of each gender, and then immediately countering any mutations that do pop up, would allow you to inbreed your main line with double the chances of mutation compared to a maxed mut line breeding with wildings.

 

Edit to respond to below:  The child of a 20/40 male would have 60 mutations.  if you breed a 20/40 male with a 20/40 female you would get a child with 120 mutations, showing 60/60.

Edited by Wulf2k

Share this post


Link to post
Share on other sites

Your theory is correct, but it really doesn't worth the effort. For example you start with a 20/40 male and a 20/40 female. You mate them together and you get a baby 40/40 male. Now you need a 40/40 female so you need to keep breeding your 20/40 male and your 20/40 female until you get it. Once you got your 40/40 female, you mate it with your 40/40 male and get a 80/40 female. Now you need a 80/40 male so you have to repeat for every new generation. You can't simply breed with your past generation. For example, after 1,000,000 iterations, you would be at 967852100 markers by doing so.  You would spend months and months trying to inbreed the right numbers and you would not get any new stats during that process. You would also need to restart that process every 20 new stats you get. Well, technically you could cross-breed with your past generation and only need 31 new babies but then your stats would no longer be guaranteed and the chance you roll all the 7 stats every baby are very very very low making that option not worthy at all. Having 50% less chance to mutate after your first 20 mutation is still way more efficient on the long run.

Edited by invincibleqc

Share this post


Link to post
Share on other sites

oooooooorrrrr....make a male with both negative muts

then breed all older females 12 times till u get an army of females with negative muts on both

 

then breed those like theres no tomorrow....

how ton get negative muts? easy, buy the latest dinos and inbreed....they are mutated like hell...

Share this post


Link to post
Share on other sites
Posted (edited)
On 2/28/2019 at 10:17 AM, invincibleqc said:

The correct channel to report a glitch would be the Bug Report form.

That is the case regardless of the amount of markers a line have. As soon as you mate it with another creature that have less than 20/40 markers you can still mutate the stats of the parent exceeding it. Trying to negate the counter is more trouble and doesn't worth the effort. By mating a male that exceed 20/40 markers with an army of females that have less than 20/40 you will mathematically mutate a random stat of the male every 85 eggs (or a specific one every 590).

I do not see why you mathematically need 590 eggs after male is at 20/20. It’s more like 340 since there’s a 7.5% chance for a mutation, dividing that by 7 specific stat types, multiplying by 55% chance of parent passing the higher stat, then dividing by 2 because only one parent can mutate. That leaves you at 0.29464%, which is 1/339.4

Edited by mackyish3r3

Share this post


Link to post
Share on other sites
3 hours ago, mackyish3r3 said:

I do not see why you mathematically need 590 eggs after male is at 20/20. It’s more like 340 since there’s a 7.5% chance for a mutation, dividing that by 7 specific stat types, multiplying by 55% chance of parent passing the higher stat, then dividing by 2 because only one parent can mutate. That leaves you at 0.29464%, which is 1/339.4

Wait what? There is 2.5% change of mutating a stat on 3 different rolls. They do not sum up to 7.5%. Each stat is rolled for mutation separately. In theory there is 7.3% change for mutation to happen if both parents are under 20. But here in case of 20/20 its 3.3 or 4% depending if better or worse stats parent is above cap. 

Share this post


Link to post
Share on other sites
On 2/28/2019 at 12:03 PM, acat said:

Interesting, i didnt know that. But i know that you can get unlimited mutations anyway, so maybe thats why they brushed it off. Id appreciate it if wc would remove mutations all together, its a stupid mechanic. 

I would imagine this mechanic is exactly why Ark retains players. This is end game.

Share this post


Link to post
Share on other sites
Posted (edited)
8 hours ago, Luewen said:

Wait what? There is 2.5% change of mutating a stat on 3 different rolls. They do not sum up to 7.5%. Each stat is rolled for mutation separately. In theory there is 7.3% change for mutation to happen if both parents are under 20. But here in case of 20/20 its 3.3 or 4% depending if better or worse stats parent is above cap. 

That’s still 1 specific stat mut every 349 or 426 eggs after 20/20 muts in a parent, which is still far from 590

Edited by mackyish3r3

Share this post


Link to post
Share on other sites
13 hours ago, mackyish3r3 said:

That’s still 1 specific stat mut every 349 or 426 eggs after 20/20 muts in a parent, which is still far from 590

Statistically aye. But you could need 2500 eggs to get a mutation and would still be on statistics.

Share this post


Link to post
Share on other sites
Posted (edited)
17 hours ago, Luewen said:

Statistically aye. But you could need 2500 eggs to get a mutation and would still be on statistics.

That’s true but probably rare. Most I have had to hatch for a useful melee mut over 20/20 was aproximetely 540 within 10k eggs. Other than that it’s never been anymore than 360

Edited by mackyish3r3

Share this post


Link to post
Share on other sites
On 2/28/2019 at 12:03 PM, acat said:

Interesting, i didnt know that. But i know that you can get unlimited mutations anyway, so maybe thats why they brushed it off. Id appreciate it if wc would remove mutations all together, its a stupid mechanic. 

It's a little late to remove a core game mechanic now.

 

Maybe for Ark 2.

Share this post


Link to post
Share on other sites
Posted (edited)

I doubt they are going to change it to a 128-bit signed integer....

 

also ,  as far as I know u can’t add. -20 on one side to a positive 20 on the other and get zero.   I’m told u have to get it to like a -1 and then actually mutate the -1 to 0.

 

im not there yet but I’m close,   I’ve bred 300 spino females at a time.... I think spending the time rolling the counters would pay off for some animals.

Edited by GrumpyBear

Share this post


Link to post
Share on other sites

The entire mutation system is long due for a complete overhaul honestly. No offense intended to those who spents countless time stacking them.

My idea would be to have an independant mutation count per stat, rather than globally per creature, with a drastically lower limit. I'd cap the whole thing at 10 mutations per stat. The whole idea is to limit the power creep of mutated creatures to something more manageable/balanced with the rest of the game.

You know something is wrong when a rex can go on 1 vs 1 against a max lvl wild giga and kill it...

Share this post


Link to post
Share on other sites

I remember when Solar Designer first demonstrated integer overflow exploitation in suid root *nix utilities. We started finding them and exploiting them in Windows circa 2000. It took almost a decade to get static analysis into compiler frameworks to start detecting these but it was still flawed. It was more often seen in *nix style code due to frequency of signed integers and MSFT macros like DWORD were used more often. Very subtle issues still were/are prevalent with casting scenarios that occur especially by engineers that are seriously overtasked, e.g.  ...1024 > (WCHAR)wcslen(str).  Modern compilers do a pretty good job in IL compiler layer to detect and warn about these but many(most) engineers are often drawn to disable checks to get code compiled. The x86 to x64 shift silently mitigated countless issues. Now this is in the enterprise software world. I've recently started playing around with game engines and various bug classes are much more prevelant for a variety of reasons. Game products are *extremely* modular and often implement unsupported and/or closed source game assets (e.g. UE4 marketplace purchases). Most games are built using unmanaged languages (C/CPP) for performance reasons. Even UE4 blueprints are transcoded to CPP behind the scenes. Also, secure coding doesn't seem to be real priority in much of the gaming world.

After a few decades of vulnerability research I can offer a little advice to hopefully save the author and readers with similar interest, a lot of headache. Vendors are going to prioritize issues that are reproduceable and with demonstrated impact, e.g. this is the issue, it can be reliably exploited, here is my proof of concept. This the nature of the beast. Save your communications and record dates. This issue is a tricky one, thats what makes it interesting. IMHO, the exploitability and realistic impact going being quickly determined in casual discourse is not likely. At first glance there are some timegates and challenges that reduce the potential impact and exploitability. I can count the times something wasn't exploitable in the end, but it may require some really cool technique and a whole lot of time and effort. Even if the impact That said pulling it off does make you feel a little superhuman at times.

The requirements and workloads put on engineers are unfathomable. It's rough for them to watch their baby get taken over by business margins and deviate from their vision. Engineers more often than not desperately want to improve the quality of their works. As they say in the restaurant business, it's definitely a labor of love. Alas, welcome to the world of the "feature factory", new stuff generating revenue is what is force fed, regardless of their reservations. Give the business side of the organisation a reason to prioritize the work (report issues can affect the bottom line). Gamers will play games even when they are unstable and nearly inoperable. The fact bugs exist in such frequency is our fault for continueing to invest. If you give the business side a reason to prioritize, engineers more often than not will welcome the oppurtunity to address the concerns and issues that weigh heavily on their shoulders and become more distant by the day. We can all agree (hopefully) that gold farming, cheat mods, and the status quoe that cheating is acceptable is a plague. Seriously, who cheats at games? Thats like swapping pawns for queens when your opponent looks away to check the time. .

If you're enjoying your research I'd checkout the mutation pseudo code:
https://www.reddit.com/r/playark/comments/6gsk84/breeding_and_mutation_probabilities_from/

You could throw together a quick test harness and simulate the breeding formula. Keep in mind the code base reverse engineered may very well have changed since the writeup.

Also checkout the Ark devkit. You could probably whip together a module to do all sorts of cool bug finding.

Some other cool reads/presentations that provide insight into some of the issues and bug classes in games:

Hacking MMORPGs for Fun and Mostly Profit
https://www.youtube.com/watch?v=hABj_mrP-no

Exploiting Online Games: Cheating Massively Distributed Systems
https://www.amazon.com/Exploiting-Online-Games-Massively-Distributed/dp/0132271915

In 2020 gaming industry revenue is looking to surpass TV revenue. There's a likely highly lucrative careers on the horizon when it comes to vulnerability research in gaming, especially when it comes to uncovering issues that can be leveraged by organized adversaries for financial gain. Find bugs and exploiting them to cheat, you might get a few thrills. Reporting them and making a name for yourself can lead to $150k->$200K+ salary where you work from home and are paid to evolve your tradecraft over a lifetime.

Cool find and breakdown. I enjoyed reading your writeup.

Share this post


Link to post
Share on other sites
On 3/27/2020 at 8:32 PM, Darkholis said:

The entire mutation system is long due for a complete overhaul honestly. No offense intended to those who spents countless time stacking them.

My idea would be to have an independant mutation count per stat, rather than globally per creature, with a drastically lower limit. I'd cap the whole thing at 10 mutations per stat. The whole idea is to limit the power creep of mutated creatures to something more manageable/balanced with the rest of the game.

You know something is wrong when a rex can go on 1 vs 1 against a max lvl wild giga and kill it...

I agree on the power creep. However, we already have hard limit on official servers. Lvl 450. You cant mutate indefinetily. Also, there would be lot of ppl lesving if you could not breed for more mutations suddenly. Quite many players are playing just for breeding. On other hand i do wish to get some challenge back for boss fights. Imho the bosses should scale to the level of tames you are bringing into the arena.

Share this post


Link to post
Share on other sites

It's true, my only real interest in the game is breeding for mutations. I mean yeah you can get mutations indefinitely, that's why we breed in the first place (mostly). Consider it still takes years to reach the level cap through breeding on official rates. Changing mutation breeding would be a big slap in the face to those who have been breeding for mutations for years. I personally would go find another game, or work on my fitness before corvid-19 gets me  xDDDDD

tldr; mutation breeding is hard, tribes that do it deserve their powerful creatures.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...