cjc813 Posted January 14, 2025 Report Posted January 14, 2025 (edited) Ok, so here's what I understand, based on the Wiki and on @Streetwind's guide, etc. You don't really need to understand the number exactly, just understand that if it's higher, your odds are better. Density search tells you about the column above/below the first block you broke in your search. The results don't guarantee ore will be there, they just give you an estimate of how likely it is to spawn. The numerical result is in parts per 1000 blocks, not parts per 100 (i.e. percent) Okay, cool. So you don't need to correct me on any of that, please. But... here's my question: out of every1000 blocks... what... exactly? I guess the number could mean "out of 1000 blocks, X blocks have the chance to generate ore Y." i.e., a cassiterite reading of 0.15%o, for example, would mean that out of 1000 blocks, 0.15 bocks could possibly generate cassiterite. First, let's convert 0.15%o into a more intuitive number. If we're only going to find 0.15 of something out of every 1000 searches, how many searches do we have to do before we're almost guaranteed to find one? 0.15 multiplied by what is 1? About 6.6. So we multiply 1000 by 6.6 as well and end up being able to say "that's about one block out of every 6.6k blocks." So, if we go back to our "only this many blocks have a chance to spawn ore," we can pretty easily tell that this isn't what it means. Only one (on average, in aggregate) blocks in 6.6k blocks could even POSSIBLY spawn as cassiterite, you'd end up searching dozens of thousands of blocks, and you might find one or two. That doesn't match experience. However... You could interpret a 0.15%o cassiterite reading to mean, "out of every 1000 blocks, you will, on average, find 0.15 cassiterite blocks." Or, "you'll probably find about 1 cassiterite block in every 6.6k blocks you search in this area." Just some quick math, here. Node search mode, by default, goes 6 blocks in every direction, even diagonal. (I just tested this in creative.) In other words, every time you node search, you get results 6 blocks up, 6 down, 6 north, 6 south, 6 east, and 6 west. That ends up being a 13x13x13 block cube. Soooo... if you are digging straight down, all the way to the mantle, and then prospecting every 6 blocks as you go back up, you're going to be searching a 13x13x120ish (with normal worldgen) column. For the sake of simplicity, let's say it's a 13x13x100 column. That's just under 17,000 blocks. And most of us know what'll happen if you search 13x13x100 blocks underneath a "high" cassiterite reading. If you *don't* get positive hit on node search, you're unlucky af. And with each positive hit, you're probably going to find at least a handful of ore blocks once you marco-polo your way to them. So that "one in 6.6k, on average" interpretation of "High Cassiterite 0.015%" seems to too low. It really seems like there is *more* than one in 6.6k (on average, not guaranteed, I *know*). So what gives? Anybody know? Am I doing math wrong somewhere? Is that number telling us something else about the probability of finding ore in an area? Do I need to stop overthinking it and just play the darn game? What does everyone think? Edited January 14, 2025 by cjc813
Maelstrom Posted January 14, 2025 Report Posted January 14, 2025 2 hours ago, cjc813 said: But... here's my question: out of every1000 blocks... what... exactly? I guess the number could mean "out of 1000 blocks, X blocks have the chance to generate ore Y." i.e., a cassiterite reading of 0.15%o, for example, would mean that out of 1000 blocks, 0.15 bocks could possibly generate cassiterite. This isn't it at all. IF you want to get into the numbers side of it here is all that number means - IF an ore spawns in that column x blocks out of 1,000 are anticipated to be the ore generated. Other conditions like caves will impact that number. At the end of the day that number is absolutely meaningless except for determining which direction to hunt for ore because once you start digging for ore you will either find it or not. Once you find it you won't be trying to figure out how many blocks out of a thousand the ore represents in that column of blocks. 1
cjc813 Posted January 15, 2025 Author Report Posted January 15, 2025 5 hours ago, Maelstrom said: Once you find it you won't be trying to figure out how many blocks out of a thousand the ore represents in that column of blocks. I will for the sake of curiosity. I'm already prospecting just fine, but I want to understand how it works. I also don't think you said much to address my questions, other than describing something that sounds similar to what I discussed a little bit further down in my post. Thanks for responding, though.
Streetwind Posted January 15, 2025 Report Posted January 15, 2025 (edited) You can probably trawl through the sourcecode at https://github.com/anegostudios/vssurvivalmod/ and try to figure out what data it pulls and what it outputs. I have not done that - I was never that curious about a number I've been lobbying to have removed from the game entirely Edited January 15, 2025 by Streetwind 1
boundless-informant Posted October 24, 2025 Report Posted October 24, 2025 (edited) I've wanted to understand what on earth this number is supposed to mean as well. I wholeheartedly agree with Streetwind that the game should stop displaying the number entirely because it taunts the player to understand it while being impenetrable. I used Claude Code to analyze the mod code Streetwind linked. I know use of LLMs is highly controversial. I understand if people need to register their disagreement/disapproval, but in general I propose skipping the post and moving on if you don't care about its analysis. I'm putting it here "for what it's worth". According to Claude, a 2.5% would mean that you'd expect to find 25 blocks out of every 1000. It confirmed what we all knew that it is not measuring the actual ore present, just generation metadata. Maelstrom's point about "Other conditions like caves will impact that number" is well taken; you'd hypothetically find 25 blocks on average assuming the entire column was eligible, but things like caves make some blocks ineligible, while probably not being factored into the number. Transcript attached. claude-code-vintage-story-ore-density.txt Edited October 24, 2025 by boundless-informant better wording 1
boundless-informant Posted October 24, 2025 Report Posted October 24, 2025 To save someone potentially taking the time to correct me -- at the start of the transcript I incorrectly said this was a "minecraft mod". I know VS is a completely separate game (which I've purchased). I've heard VS started as a Minecraft mod until they realized Minecraft really wasn't up to the task so they developed a separate game. I initially thought the linked "mod" was that older code which I presumed included the same mechanics, but I later realized that this is the VS main game's code, as everything in VS is a "mod". I don't think that inaccuracy affected the code analysis.
Echo Weaver Posted October 24, 2025 Report Posted October 24, 2025 (edited) On 1/14/2025 at 2:37 PM, cjc813 said: You could interpret a 0.15%o cassiterite reading to mean, "out of every 1000 blocks, you will, on average, find 0.15 cassiterite blocks." Or, "you'll probably find about 1 cassiterite block in every 6.6k blocks you search in this area." I think this is the correct interpretation. %o is "per mille," where mille is french for thousand, basically a percentage except x/1000 rather than x/100. It's a term with a technical meaning. I would take 0.15%o to mean a given block has a 0.015% (percent, not per mille) to be ore. Comparing to @boundless-informant's suggestion. I'm trying to math this out loud. It seems really hard to sort, but it doesn't seem like it should be. 2.5% would be 2.5 out of 100. 2.5%o would be 2.5 out of a thousand, not 25. Does this make sense? That would mean 0.15%o to be 0.15 blocks 1000 or 1.5 blocks in 10k, which is exactly what @cjc813 calculated and that seems to them. I have no experimental data for this. Edited October 24, 2025 by Echo Weaver Math was terrible the first time
Thorfinn Posted October 24, 2025 Report Posted October 24, 2025 (edited) Almost everyone does this kind of statistics incorrectly, and, unfortunately, that includes many published papers. For somewhat esoteric reasons, in part somewhat related to because once you find something, you stop looking for it, when doing math like this, you need to use the chance of not p. You can do this with coins, but because p=q=0.5, it's easy to get confused. Think of a 6-sided die. p=1/6, q=5/6. Most reason that after 6 throws, you are 1/6*6=1. You expect to get whatever number you wanted. But if you've played dice games, you know that isn't right. The correct way to figure it is 1-(5/6)^n where n is the number of rolls, or, in this case blocks. This gives you the somewhat counter-intuitive answer that you expect a 1% chance to make good half the time in 70 tries. So for your particular ore question, p=0.00015, q=0.99985. That is, the odds of any particular block in that column of 120 not being ore is 0.99985, assuming they are all independent, which they are not. For example, if you are going through a limestone layer, your odds of a bountiful malachite are much higher than in a bauxite layer, and if any particular block in that column is bountiful malachite, odds are very good that at least one of its neighbors is, too. Crunching your numbers, 0.99985^120=0.982, or there is a 98.2% chance that none of those blocks is ore, or, equivalently, a 1.8% chance that at least one of them is. The numbers get a lot more complex when you consider the 13x13 node search, because, again, if any one of those is ore, odds are extremely good that at least one of its neighbors is, too. Edited October 24, 2025 by Thorfinn 1
Echo Weaver Posted October 24, 2025 Report Posted October 24, 2025 (edited) Dangit, @Thorfinn produced a much higher chance of finding ore than I did. 16 minutes ago, Thorfinn said: Think of a 6-sided die. p=1/6, q=5/6. Most reason that after 6 throws, you are 1/6*6=1. You expect to get whatever number you wanted. But if you've played dice games, you know that isn't right. The correct way to figure it is 1-(5/6)^n where n is the number of rolls, or, in this case blocks. This gives you the somewhat counter-intuitive answer that you expect a 1% chance to make good half the time in 70 tries. But if n = 6, then it is 1/6*6 = 1. So the naive assumption that you'll get the number you want in 6 tries on a 6-sided die is correct. The complexity shows up when you're trying to determine how many rolls to expect to get that number twice. But the probability of each block to be ore is not independent, so as a miner you don't really care about this independent calculation per block. You want to know what your chance is of finding a deposit in this general area, and that deposit is going to be more than 1 block. It seems like at this point you'd need to include the average number of blocks in a deposit in your calculation, and I do not have enough statistics to attempt it. Edited October 24, 2025 by Echo Weaver Dang reasoning about this is hard
Thorfinn Posted October 24, 2025 Report Posted October 24, 2025 (edited) The carat is not multiplication, it's exponentiation. Tho maybe not on a Mac [EDIT] You are right about the independent thing though. That's harder to deal with. A first approximation would be to divide the column into not blocks but average vein thicknesses. But that's not very good, either. Take black coal. Its only in sedimentary layers, so once you dug down to igneous, all the rest of those blocks were averaging in a flat 0‰. Edited October 24, 2025 by Thorfinn 1
Echo Weaver Posted October 24, 2025 Report Posted October 24, 2025 2 minutes ago, Thorfinn said: The carat is not multiplication, it's exponentiation. Tho maybe not on a Mac Buh. OK, so for 6 rolls, you have 1/6 ^ 6. You're right. I don't remember any of this from my very old statistics.
Thorfinn Posted October 24, 2025 Report Posted October 24, 2025 4 minutes ago, Echo Weaver said: OK, so for 6 rolls, you have 1/6 ^ 6. Plug that into a calculator. I'm curious what the Mac says that is.
Echo Weaver Posted October 24, 2025 Report Posted October 24, 2025 (edited) 13 minutes ago, Thorfinn said: Plug that into a calculator. I'm curious what the Mac says that is. Or is it 1/(6^6) = 1/36? If it's (1/6)^n, then the probability of getting what you want goes down as the number of rolls goes up. Edited October 24, 2025 by Echo Weaver
Thorfinn Posted October 24, 2025 Report Posted October 24, 2025 Right. That's why you have to use the probability of it not being a success. That way, the odds of neither of two rolls being a success goes down, as it should. 2
Recommended Posts