Small worlds have ~80-100 Life Crystals, Medium ~210-220, Large ~370-390.
Short PSA, info pretty much in title.
I’ve heard a lot of different information about how many Life Crystals a world has, some of it correct, some of it a little out there.
I’ve heard people say before that small worlds have between 300-400 life Crystals, and I just now figured out where people are getting that number from. If you open up tEdit, and hit “analyze,” you can get a review of how many tiles in a world are a certain material. Your Life Crystal count on a small world will be something around 360.
However, that is how many tiles in the world are Life Crystals. Life Crystals are four tiles each, so there are actually more like 90 Life Crystals on the average small world. (To test this, add a Heart Crystal to a world, hit analyze again, and watch the count go up by four. You will sometimes see numbers not divisible by 4, but we’ve all seen partial crystal hearts clipped weirdly on the map.)
Stray observation #1: Normal and Expert worlds do not generate different amounts of Crystal Hearts. There has been a rumor going around that Expert worlds have “less” Crystal Hearts, but I believe this is because people just have a harder time exploring the underground in Expert Mode, so resources feel more scarce.
Stray Observation #2: Heart Crystal amounts seem the most similar on Medium Worlds. Almost all the worlds I generated were between 215-219 Heart Crystals. This could just be a result of my small sample size.
My sample size was 20 small worlds, 10 medium worlds, and 10 large worlds, all on Normal Mode. I also generated 5 small worlds on Expert Mode, which has numbers in line with the 20 Normal Mode small worlds.
Samples are on the small side, so feel free to expand on that and run some analysis for yourself.
I don’t think this is entirely new info, but it’s news to me, and I know I’ve heard wrong info before. Thought I’d share!
I’ll save some sampling work. There’s no hard lower bound, but there’s an upper bound by world size:
- Small: 100
- Medium: 230
- Large: 403
The upper calculation is maxTilesX * maxTilesY * 0.00002. It’s used in a for loop that attempts to place a Life Crystal in the world this number of times. If the attempt fails 10000 times, it gives up and moves along to the next one. If generate a new world and take the number of tiles reported in TEdit then divide that by 4, you could subtract that from the above number to figure out how many of them failed to generate.
Checked loop result. The double value is cast to int, which effectively truncates the decimal portion, seeking the value’s floor. Off by one but still tons to go around.
Original Link – Continuation of discussion