It should be possible to get good stats without needing to spend a decillion gold.
But how? I was thinking of maybe being able to make something that improves stats by a bit.
Maybe with this recipe:
D G D
S P T
G D G
D = Diamond Horse Armor
G = Gold Horse Armor
S = Saddle
P = Potion
T = Name Tag
The potions:
Splash Potion of Swiftness II(Extended) - Speed +0.15 bps
Splash Potion of Regeneration II(Extended) - Health +2 points
I'm not sure what for Jump Boost because there's no potion for that, so maybe a Wither Skeleton Skull can make one. (Jump Height +0.05 blocks)
Then an equippable could be made by putting a Nether Star in the middle instead.
It would reduce the randomness factor:
1 parent: (P1+P2+RV/4)/2.25
2 parents: (P1+P2)/2
I think the problem here is the expectation is totally wrong. The mechanics are in place to allow for variance in stats, as well as inheritance from the parents. The mechanics are NOT in place to breed a superhorse with biome-leaping powers. In the same way that there are many blocks that serve no purpose other than to do creative things, horse breeding is in place to just breed horses for the fun of it. Oh look, that black horse and white horse bred a white spotted black horse. How nice. Breeding, successful.
It really irks me that so much effort is made based on faulty concepts at the start. Heck, you don't see people complaining about enchanting, do you? And yet if your goal is to make a full set of highly enchanted armor, including Unbreakable on armor (something that takes a LOT of effort, as you need to enchant books, and it has about a 5% chance to happen), you'll be spending easily a hundred hours to make things work. Does this mean enchanting is "pointless and in a bad state"? No, because thats not the purpose of enchanting.
Bottom line: you want to breed a superhorse. The system isn't designed or intended to breed a superhorse. Adjust your expectations.
TOO MANY HATERS. I agree, horse breeding is defective. However, if you disagree, start a new thread! One that protests changes and ask to keep it the same. Then whoever Mojang goes with wins.
I think the problem here is the expectation is totally wrong. The mechanics are in place to allow for variance in stats, as well as inheritance from the parents. The mechanics are NOT in place to breed a superhorse with biome-leaping powers. In the same way that there are many blocks that serve no purpose other than to do creative things, horse breeding is in place to just breed horses for the fun of it. Oh look, that black horse and white horse bred a white spotted black horse. How nice. Breeding, successful.
It really irks me that so much effort is made based on faulty concepts at the start. Heck, you don't see people complaining about enchanting, do you? And yet if your goal is to make a full set of highly enchanted armor, including Unbreakable on armor (something that takes a LOT of effort, as you need to enchant books, and it has about a 5% chance to happen), you'll be spending easily a hundred hours to make things work. Does this mean enchanting is "pointless and in a bad state"? No, because thats not the purpose of enchanting.
Bottom line: you want to breed a superhorse. The system isn't designed or intended to breed a superhorse. Adjust your expectations.
yes, but you can just get the proper enchanted books (quite easy in creative) to make any armor you want, even things that are impossible without enchanted books. There's no such thing in vanilla minecraft for horses. Also, your enchantment table doesn't give you random enchantment levels, you can choose a 5, or a 30 and that's exactly what you get, so you can *move* the average, which cannot be done with horses.
Yes, but the enchantments you get per level are wildly random too. Which is great if all you want is one tool, but not great if you're trying to create a supertool. Which is.... exactly... the same... as horse breeding. Hence, my point.
I don't complain that it takes too long to make a supertool, because the system is not designed for that. I could post odds and sample data for how many diamonds and levels I have to burn to make a supertool, but I would be in the wrong if I complained and said that enchanting was "pointless and in a bad state".
Thats my only point. Kudos to the indepth analysis from the OP, but the starting premise is flawed. And to further illustrate that point, I would like to point out that none of this data is visible without mods or extensive field testing of every single horse. If it was supposed to be easy to breed better horses, wouldn't the information be available to the player to do so?
Yes, but the enchantments you get per level are wildly random too. Which is great if all you want is one tool, but not great if you're trying to create a supertool. Which is.... exactly... the same... as horse breeding. Hence, my point.
I don't complain that it takes too long to make a supertool, because the system is not designed for that. I could post odds and sample data for how many diamonds and levels I have to burn to make a supertool, but I would be in the wrong if I complained and said that enchanting was "pointless and in a bad state".
Thats my only point. Kudos to the indepth analysis from the OP, but the starting premise is flawed. And to further illustrate that point, I would like to point out that none of this data is visible without mods or extensive field testing of every single horse. If it was supposed to be easy to breed better horses, wouldn't the information be available to the player to do so?
The OP wasn't even trying to make a super horse, just one that was slightly better than the one he had. Enchanting also never makes your tool worse, or gives you more tools than you started with, so it's really comparing apples and oranges.
Furthermore, you have yet to make a good argument as to why the mechanics should make breeding a better horse (not a super horse, mind you, just a faster one) increasingly difficult, to the point where it would be far easier to just go looking for a better horse in the wild. You've simply jumped to the conclusion that it's somehow "meant" to be that way.
Yes, but the enchantments you get per level are wildly random too. Which is great if all you want is one tool, but not great if you're trying to create a supertool. Which is.... exactly... the same... as horse breeding. Hence, my point.
I don't complain that it takes too long to make a supertool, because the system is not designed for that. I could post odds and sample data for how many diamonds and levels I have to burn to make a supertool, but I would be in the wrong if I complained and said that enchanting was "pointless and in a bad state".
Thats my only point. Kudos to the indepth analysis from the OP, but the starting premise is flawed. And to further illustrate that point, I would like to point out that none of this data is visible without mods or extensive field testing of every single horse. If it was supposed to be easy to breed better horses, wouldn't the information be available to the player to do so?
yeah, they're random, but low level enchants tend to give you one thing, while high level enchants tend to give you another. Really the odds you get the tool you want are like 1/4 whereas with the horses its way less.
Breeding a Kentucky Derby winner takes time, and tons of cash!
Really yeah. But that huge amount of time and cash is usually spent on intense training on a few good horses, and NOT on producing HUNDREDS of foals to try to find the best one.
Personally, I think each of the 3 stats should be VERY EASILY visible.
For example:
Super high-speed horse are longer and sleeker (i.e. thinner on the width size) , while super slow horses are short (along the length) and stout (thicker on the width size).
High-jumpers horses have taller and thicker legs(relative to their size), while bad jumpers are wimpy thin and shorter legs. Super jumpers look alomost like hey have giraffe legs while abominably bad jumpers seem to have their belly almost touch the ground.
Health, being directly visible wen riding the horse, would not need it, but very healthy horses could be slightly bigger and thicker, and stand more upright, while sickly horses would be a bit smaller, thinner, and with their heads kept lower, but that is less imp
Or: the horse screen should display the rounded value.
That way a player doesn't have to guesstimate of the horse he can see it at a glance instead of having to rely on complex and very imprecise tests (horse racetracks etc. ) or on external mods.
Then each horse would also have 3 training stats:
Total Running Traning (mostly by riding the horse)
Total Jumping Training (mostly by jumping with the horse)
Total Vitality Training (horse wounds regenerated + feeding the horse + breeding the horse)
And you could "train" your hoorse to improve it's stats over time. And the better it's stats over what he started out with, the harder it would be. The horse screen would show the horse's Training Levels in all 3 stats.
The "wild" horses should have stats slightly lower than average. Ergo, bebeit in training and breeding.
I would imagine that if enough people show concern about any feature in this game, developers will find some way to fix it. However, such a fix may not come for a long time.
Really yeah. But that huge amount of time and cash is usually spent on intense training on a few good horses, and NOT on producing HUNDREDS of foals to try to find the best one.
Personally, I think each of the 3 stats should be VERY EASILY visible.
For example:
Super high-speed horse are longer and sleeker (i.e. thinner on the width size) , while super slow horses are short (along the length) and stout (thicker on the width size).
High-jumpers horses have taller and thicker legs(relative to their size), while bad jumpers are wimpy thin and shorter legs. Super jumpers look alomost like hey have giraffe legs while abominably bad jumpers seem to have their belly almost touch the ground.
Health, being directly visible wen riding the horse, would not need it, but very healthy horses could be slightly bigger and thicker, and stand more upright, while sickly horses would be a bit smaller, thinner, and with their heads kept lower, but that is less imp
Or: the horse screen should display the rounded value.
That way a player doesn't have to guesstimate of the horse he can see it at a glance instead of having to rely on complex and very imprecise tests (horse racetracks etc. ) or on external mods.
Then each horse would also have 3 training stats:
Total Running Traning (mostly by riding the horse)
Total Jumping Training (mostly by jumping with the horse)
Total Vitality Training (horse wounds regenerated + feeding the horse + breeding the horse)
And you could "train" your hoorse to improve it's stats over time. And the better it's stats over what he started out with, the harder it would be. The horse screen would show the horse's Training Levels in all 3 stats.
The "wild" horses should have stats slightly lower than average. Ergo, bebeit in training and breeding.
Not super big on the training part, but I like the showing estimates on the horse screen.
Fourth: Explore with your bad horses so you don't mind losing them. Name your good horses so you can tell them from the bad horses. Wait for the upgrades or better breeding mods to catch up.
Five: I bred two white horses and got a red, a grey dapple, a black with white stockings, and brown paint. YAAAAY!!! I GOT HORSES!!!
Six: It's gonna be so cool when someone figures out how to make carts. ( I want a four span chariot! hint hint)
Last: Creepers, zombies, spiders, and skeletons are more useless than horses. At least you can eat squids.
I'm surprised they just average the parents values with a random value, as over time that just trends towards the random values average (which is the overall average).
A simple obvious solution would be to instead do a random value between each of the parents values, with a small variation outside their ranges.
So like, Parent1Health = 20, Parent2Health = 24, then the FoalHealth could be between Parent1Health and Parent2Health with an extra 1 outside their range, giving it a possible value of 19-25.
So the average foal would be 22, but you would get some 25s and 19s if you bred a good amount of them, then you could get rid of the crappy 19s, and then keep and bred the 25s with each other to try to breed better and better ones.
Then, over the generations, you could breed them to the max values.
I used a variation of 1, but generally speaking you'd want a much lower variation, like 0.1, so a single generation could only make small strides towards your ideal (so in my example, the offpspring possible health values would be 19.9 to 24.1).
Fourth: Explore with your bad horses so you don't mind losing them. Name your good horses so you can tell them from the bad horses. Wait for the upgrades or better breeding mods to catch up.
Five: I bred two white horses and got a red, a grey dapple, a black with white stockings, and brown paint. YAAAAY!!! I GOT HORSES!!!
Six: It's gonna be so cool when someone figures out how to make carts. ( I want a four span chariot! hint hint)
Last: Creepers, zombies, spiders, and skeletons are more useless than horses. At least you can eat squids.
LOL. YEAH INDEED THERE IS A BIG LOL
...
Well, it's still possible to get better horses through breeding, but let's face it : it is just impossible.
So yeah, I guess this part of the breeding is broken, although the part Program 2 pictures still remains.
By the way, I've not given my opinion yet. To me, a selective breeding system
- should allow to slowly get better animals after generations: kinda broken (prog1)
- should allow to get decent horses more frequently : kinda ok (prog2)
- should offer unique possibilities compared to wild animal taming, but that's just my opinion. What I mean is make the natural animals unable to get stats above some cap that only selective breeding can break. Or, at the very least, peak the wild animals' stat distribution around the average more than bred ones'.
Thank you for the excellent Dissertation (no sarcasm implied, really, quite excellent)
I didn't know that the horse breeding system was broken, never got around to trying. But your clear and thorough treatment and simulations made a believer out of me.
Kinda of wondering, could the fix (for #1; breeding for better horses) be as simple as changing the weight of the random value? Can your modeling/simulations reveal how strong of an effect the weight of the random value can have on the outcome? (i.e. plot generations vs weight)
Or here is an even simpler(?) idea. Add a forth stat called "thorough breed". Make the stat covert (cheating to see it may still possible). Change the formula to use this stat to weigh each of the parents contribution. Something like:
( parentA * breedA + parentB * breedB + random) / ( breedA + breedB + 1)
And new Breed stat can use the old formula, since it tends to very slowly push the stat upward.
That way finding "good" breeding horses balances with breeding in general. The new stat could have a range and median that is tailored to the intended difficulty of breeding good horses. No more of this 100's (or 1000's, or 1000000's) of generations shenanigans. When you get lucky and find horses that have "good" breeding, you can use them to create your own line of thorough-breed. Then breed in the stats you are seeking. Must be pointed out that the spawn chance formula for this will be the weak-link of the scheme and need to be chosen carefully.
I follow just fine, thank you. I hadn't thought through the weight idea. Just popped in my head while I was reading your posts. The results of your simulations show how changing the weight dosnt really solve the problem. But now I'm vexed by it, and I dont even breed horses! (not in MC or real life) So, going to take this and mull it over a bit. There might even be mod coming out of this.
Tired or not, your doing awesome, far better at the math and articulation than me on good day. What you said about using a gaussian centered on the parents, something like that occurred to me as well. I can only guess that such an approximation would make it too easy to breed horses if, as you said, the standard deviation wasnt carefully calculated.Haven't programmed in ages, but I'll try to find time and take up the issue. The modeler in me has been roused, I must heed the call!
If you opened my "assumptions" spoiler, you noticed
However, (spoiler summary) the Wiki says otherwise!
If you read the wiki, you have :
"Maximum speed is from 0.1125 to 0.3375 (but tending toward the average of 0.225.) This is in internal units"
Hmmm, tending towards the average ?! It's poorly phrased, but certainly does not sound like uniformely distributed numbers, more like a gauss-ish distribution. In this case, we can feel the critical slowing down may be so critical it could just forbid getting better horses through breeding and change our conclusions.
Ok, let's head to the Talk page. Uh-oh, looks like the random number in question is not uniformely distributed indeed ! It is in fact a sum of 3 uniform numbers (which tends towards a normal-gaussian distribution through the central limit theorem, although of course 3 is far from making a gaussian, but hey, it's already a bell-shaped curve!)
=>Fine, then let's run the previous programs with the Wiki's distribution (a sum of 3 uniforms) instead of an uniform random number.
Program2:
- parents with 0.8
Percentage of babies with stat greater than:
0.6 : 96%
0.7 : 50%
0.8 : 3.5%
0.85: 0.06%
- parents with 0.9
Percentage of babies with stat greater than:
0.6: 100%
0.7: 87%
0.8: 28%
0.85: 7%
0.88: 1.8%
0.9: 0.4%
Ok so here, the conclusion does not totally change, except the thing is worse for the player: the decent/good babies are still more frequent than in the wild (wild values not shown here, they changed aswell), the MegaCool babies are still not there, however with this threesome randomness ( ) there are even more babies that are worse than their parents.
I appreciate the work you've put into this: I though I'd have to do all this math myself.
However, there's one topic you haven't covered yet: What if you goal ISN'T to get the best possible single stat, but instead, to get the best possible AVERAGE of all THREE stats?
Am I better off catching wild horses and measuring them, until i find a horse with very high stats in all three categories, or am i better off catching three DIFFERENT horses, which have 99% stat in ONE Category each, then breeding them together repeatedly until i get an offspring with a high average from it's three original progenitors?
But how? I was thinking of maybe being able to make something that improves stats by a bit.
Maybe with this recipe:
D G D
S P T
G D G
D = Diamond Horse Armor
G = Gold Horse Armor
S = Saddle
P = Potion
T = Name Tag
The potions:
Splash Potion of Swiftness II(Extended) - Speed +0.15 bps
Splash Potion of Regeneration II(Extended) - Health +2 points
I'm not sure what for Jump Boost because there's no potion for that, so maybe a Wither Skeleton Skull can make one. (Jump Height +0.05 blocks)
Then an equippable could be made by putting a Nether Star in the middle instead.
It would reduce the randomness factor:
1 parent: (P1+P2+RV/4)/2.25
2 parents: (P1+P2)/2
It really irks me that so much effort is made based on faulty concepts at the start. Heck, you don't see people complaining about enchanting, do you? And yet if your goal is to make a full set of highly enchanted armor, including Unbreakable on armor (something that takes a LOT of effort, as you need to enchant books, and it has about a 5% chance to happen), you'll be spending easily a hundred hours to make things work. Does this mean enchanting is "pointless and in a bad state"? No, because thats not the purpose of enchanting.
Bottom line: you want to breed a superhorse. The system isn't designed or intended to breed a superhorse. Adjust your expectations.
There used to be quite a few complaints IIRC.
yes, but you can just get the proper enchanted books (quite easy in creative) to make any armor you want, even things that are impossible without enchanted books. There's no such thing in vanilla minecraft for horses. Also, your enchantment table doesn't give you random enchantment levels, you can choose a 5, or a 30 and that's exactly what you get, so you can *move* the average, which cannot be done with horses.
I don't complain that it takes too long to make a supertool, because the system is not designed for that. I could post odds and sample data for how many diamonds and levels I have to burn to make a supertool, but I would be in the wrong if I complained and said that enchanting was "pointless and in a bad state".
Thats my only point. Kudos to the indepth analysis from the OP, but the starting premise is flawed. And to further illustrate that point, I would like to point out that none of this data is visible without mods or extensive field testing of every single horse. If it was supposed to be easy to breed better horses, wouldn't the information be available to the player to do so?
The OP wasn't even trying to make a super horse, just one that was slightly better than the one he had. Enchanting also never makes your tool worse, or gives you more tools than you started with, so it's really comparing apples and oranges.
Furthermore, you have yet to make a good argument as to why the mechanics should make breeding a better horse (not a super horse, mind you, just a faster one) increasingly difficult, to the point where it would be far easier to just go looking for a better horse in the wild. You've simply jumped to the conclusion that it's somehow "meant" to be that way.
yeah, they're random, but low level enchants tend to give you one thing, while high level enchants tend to give you another. Really the odds you get the tool you want are like 1/4 whereas with the horses its way less.
Really yeah. But that huge amount of time and cash is usually spent on intense training on a few good horses, and NOT on producing HUNDREDS of foals to try to find the best one.
Personally, I think each of the 3 stats should be VERY EASILY visible.
For example:
Super high-speed horse are longer and sleeker (i.e. thinner on the width size) , while super slow horses are short (along the length) and stout (thicker on the width size).
High-jumpers horses have taller and thicker legs(relative to their size), while bad jumpers are wimpy thin and shorter legs. Super jumpers look alomost like hey have giraffe legs while abominably bad jumpers seem to have their belly almost touch the ground.
Health, being directly visible wen riding the horse, would not need it, but very healthy horses could be slightly bigger and thicker, and stand more upright, while sickly horses would be a bit smaller, thinner, and with their heads kept lower, but that is less imp
Or: the horse screen should display the rounded value.
That way a player doesn't have to guesstimate of the horse he can see it at a glance instead of having to rely on complex and very imprecise tests (horse racetracks etc. ) or on external mods.
Then each horse would also have 3 training stats:
Total Running Traning (mostly by riding the horse)
Total Jumping Training (mostly by jumping with the horse)
Total Vitality Training (horse wounds regenerated + feeding the horse + breeding the horse)
And you could "train" your hoorse to improve it's stats over time. And the better it's stats over what he started out with, the harder it would be. The horse screen would show the horse's Training Levels in all 3 stats.
The "wild" horses should have stats slightly lower than average. Ergo, bebeit in training and breeding.
Not super big on the training part, but I like the showing estimates on the horse screen.
PROUD USER OF THE STEVE SKIN
Second: Where are the stats?
Third: Every time I jump, I hit the wall.
Fourth: Explore with your bad horses so you don't mind losing them. Name your good horses so you can tell them from the bad horses. Wait for the upgrades or better breeding mods to catch up.
Five: I bred two white horses and got a red, a grey dapple, a black with white stockings, and brown paint. YAAAAY!!! I GOT HORSES!!!
Six: It's gonna be so cool when someone figures out how to make carts. ( I want a four span chariot! hint hint)
Last: Creepers, zombies, spiders, and skeletons are more useless than horses. At least you can eat squids.
A simple obvious solution would be to instead do a random value between each of the parents values, with a small variation outside their ranges.
So like, Parent1Health = 20, Parent2Health = 24, then the FoalHealth could be between Parent1Health and Parent2Health with an extra 1 outside their range, giving it a possible value of 19-25.
So the average foal would be 22, but you would get some 25s and 19s if you bred a good amount of them, then you could get rid of the crappy 19s, and then keep and bred the 25s with each other to try to breed better and better ones.
Then, over the generations, you could breed them to the max values.
I used a variation of 1, but generally speaking you'd want a much lower variation, like 0.1, so a single generation could only make small strides towards your ideal (so in my example, the offpspring possible health values would be 19.9 to 24.1).
I am in total agreement..
Thank you for the excellent Dissertation (no sarcasm implied, really, quite excellent)
I didn't know that the horse breeding system was broken, never got around to trying. But your clear and thorough treatment and simulations made a believer out of me.
Kinda of wondering, could the fix (for #1; breeding for better horses) be as simple as changing the weight of the random value? Can your modeling/simulations reveal how strong of an effect the weight of the random value can have on the outcome? (i.e. plot generations vs weight)
Or here is an even simpler(?) idea. Add a forth stat called "thorough breed". Make the stat covert (cheating to see it may still possible). Change the formula to use this stat to weigh each of the parents contribution. Something like:
( parentA * breedA + parentB * breedB + random) / ( breedA + breedB + 1)
And new Breed stat can use the old formula, since it tends to very slowly push the stat upward.
That way finding "good" breeding horses balances with breeding in general. The new stat could have a range and median that is tailored to the intended difficulty of breeding good horses. No more of this 100's (or 1000's, or 1000000's) of generations shenanigans. When you get lucky and find horses that have "good" breeding, you can use them to create your own line of thorough-breed. Then breed in the stats you are seeking. Must be pointed out that the spawn chance formula for this will be the weak-link of the scheme and need to be chosen carefully.
Tired or not, your doing awesome, far better at the math and articulation than me on good day. What you said about using a gaussian centered on the parents, something like that occurred to me as well. I can only guess that such an approximation would make it too easy to breed horses if, as you said, the standard deviation wasnt carefully calculated.Haven't programmed in ages, but I'll try to find time and take up the issue. The modeler in me has been roused, I must heed the call!
I appreciate the work you've put into this: I though I'd have to do all this math myself.
However, there's one topic you haven't covered yet: What if you goal ISN'T to get the best possible single stat, but instead, to get the best possible AVERAGE of all THREE stats?
Am I better off catching wild horses and measuring them, until i find a horse with very high stats in all three categories, or am i better off catching three DIFFERENT horses, which have 99% stat in ONE Category each, then breeding them together repeatedly until i get an offspring with a high average from it's three original progenitors?