Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vein scaling #8

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Conversation

JohnDowson
Copy link

Vein scaling using bezier curves. Also a more efficient ore random, allowing to easily tweak ore distribution based on depth

@JohnDowson
Copy link
Author

I think this still needs some configuration options, but I'm not totally sure which things should be configurable.

@daniellovell
Copy link
Owner

daniellovell commented Dec 20, 2021

Hi John, thanks for your work & PR. I have thought about something more interesting than the piecewise ore drop quantity implementation I have implemented presently, and the Bezier curves seem like a natural choice.

I've read through the PR changes briefly, can you clarify whether this is intended to affect the ore drop quantity or the ore vein size? I had envisioned there being two avenues for adjusting mining:

  1. Adjusting ore drop quantities with depth (i.e. piecewise presently or using Bezier curves as you have here)
  2. Increasing the actual vein size with some patching of the ore generation algo. My present implementation never got around to this.

If I am reading the PR correctly, it seems you are modifying both avenues. Maybe you can explain in short exactly what the effects of the PR are in these terms.

Thanks again!
😄

@JohnDowson
Copy link
Author

JohnDowson commented Dec 20, 2021

On latest commit it both scales ore rarity with increasing rarity of ores with rarity < 20 with depth in four discrete steps (this needs balancing and is not yet finished), and increases Min/MaxVeinAttempts along bezier curves with distance from spawn and depth.

On the other hand, drop quantity adjustment has been removed for now.

@daniellovell
Copy link
Owner

Sounds good!
My understanding of rarity is that it is normalized to the rarity of other ores - so increasing the rarity of one ore decreases the frequency that other ores are placed. I'd like to test this out to see how it works in your implementation. Min/MaxVeinAttempts was the field I had in mind to patch, and it looks like you did that. Distance from spawn is an interesting additional parameter, though is that lateral X/Y distance from spawn or just euclidean distance? Unsure about lateral x/y distance being a parameter for increased vein size, as the spirit of the mod is more ore at depth, e.g. encouraging deeper mining - regardless of position from spawn.

I've been enjoying the drop quantity increases as they are presently, though with rebalanced vein sizes those numbers may need to be tuned down. Not sure I'm ready to give up those juicy drops at depth ;)

@JohnDowson
Copy link
Author

JohnDowson commented Dec 21, 2021

I've tried it out with friends and we were unable to find any lead with my implementation. GPR included in the starter kit is essentially useless for picking out specific minerals and the colour radar chip needs rare minerals which were not present on the ground level.

The reason why I added lateral scaling is to encourage use of the rover and/or building mining outposts, the later being enabled by extra depth meaning there's more to mine out in one spot.

As to drop quantity, it would be easy to paste back in, but it would need some balancing against vein size.

Edit:
Yes, increasing rarity (which actually decreases rarity) of one ore will in fact decrease rarities of all other ores, but if that brings them to the same order of magnitude that will just mean that all ores are equally common near bedrock.

@JohnDowson JohnDowson closed this Dec 21, 2021
@JohnDowson JohnDowson reopened this Dec 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants