Resource placement logic:
-
Create map between Resource (defined enum) and ResourceGenerationData
-
Resource nodes with the following --
- Number of items per clump
- Number of "clumps"
- Placement Surfaces (Array of Surfaces)
- % chance per valid location to place (0 - 1)
- Atlas Coordinates for Texture
-
For each "clump"
- Randomly select a spot and check if valid
- If valid, Place 1 item there
- Check neighbors, if valid, roll % chance to place. Add each neighbor's neighbor to the queue (except invalid in cache)
- Continue until # of items is reached.
-
Art for extremely simple basic tilemap
- Ore
- Trees
- Fish
-
Create 2nd tilemap layer for resources to go over the base tilemap
-
Create Resource Node /w above properties. Make ResourceManager read from the resource children.
-
Follow resource placement logic
-
Fix water resources (fish) expanding outside of bounding box