Followers 0

# Required to replenish resources/nature in 2d.

## 7 posts in this topic

Hello.

In my progress to make 2d top down game i got stuck on a topic about resource refreshment / regrowth(The time period is bronze age,iron age)

I have a RTS kind of structure, you have units that can gather resources from map, but the map/resources will run out eventualy, and i want a way for them to replenish so i thought about nature growing back, it will add a nice spice.

My issue is that, i am kinda rusty on technical terms, and have found absolutely nothing while googling.

How i currently achieve resource regrowth is that i just place resource at random time, on map which provides quite unsatisfying results.

I thought about making areas for each specified stuff can spawn, so berry bush cannot just appear anywhere else but it regrows at specified place,(in radius of x). In the end the formula is will be quite fast and will provide with regrowth system but that is not very innovating, i think i could do more.

So i thought about making the nature expand logic for each biome separately. The nature would expand as such:

If there is a patch of dirt in forest area, and i do growth on it i would check whats nearby?(i found: grass, apple tree, flowers, berry bush). I would tier this stuff so i could have multiple stuff on one tile for, but no matching of type.

auto grass = 1;
auto flowers = 2;
auto berryBush = 3;
auto tree = 3;


From the example we can see that "berryBush" and "tree" could not occupy one tile at same time, but a tree, grass and flowers could.

This system could be done but the process consumption would be high.

Thus i am looking for alternatives, so if you have suggestions or if you know what a generic term it is so i could google it would help allot.

1

##### Share on other sites

This system could be done but the process consumption would be high.

really?

unless your map contains like 1 million trees i dont really think it can be that much consuming...

2

##### Share on other sites

This system could be done but the process consumption would be high.

really?

unless your map contains like 1 million trees i dont really think it can be that much consuming...

For example take in mind a small map of 100x100 tiles, checking each tile would take 4*radius + for(int i = 1; i <= radius; i++){i*4} so for radius of 3 the tiles check would be

4*3 + 4+8+12 = 36 tile checks, also check if out of bounds... so 100x100 = 10,000 * 36 = 360,000. Off course it could be optimized in many ways but i do not like the end result.

Edited by BaneTrapper
1

##### Share on other sites
Will a more complicated regrowth system make the game more fun?

Another way you could potentially cut down on the number of tiles to check might be to iterate over active resources instead of empty tiles; each resource might have a chance to spawn a copy into a randomly selected empty neighbouring tile. This would be less intensive on a sparsely covered map but potentially more intensive on a crowded one, and would ensure resources grow in clumps.
2

##### Share on other sites

For example take in mind a small map of 100x100 tiles, checking each tile would take 4*radius + for(int i = 1; i <= radius; i++){i*4} so for radius of 3 the tiles check would be
4*3 + 4+8+12 = 36 tile checks, also check if out of bounds... so 100x100 = 10,000 * 36 = 360,000. Off course it could be optimized in many ways but i do not like the end result.

360,000 is really not much at all. Further, you aren't making those checks every turn - only when a plant needs to grow. Let's imagine you update the growth of plants once a second (really, once every 10 seconds would give perfectly fine results). Once a second, at 30 frames a second, means you are only updating once every 30 frames. So instead, break your 360,000 checks so they are spread out over the entire 30 frames - that's only 12,000 checks a frame.

...

Oh i got schooled . Yes it could be done easily because i already got Regions that are big chunks of tiles and Areas that consist of few regions.

Will a more complicated regrowth system make the game more fun?

There is a deep answer, but the quick answer is that it depends on a person playing it.

I got sufficient answers thank!

2

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account