Map Generator- Please Critique!

Okay so hmm this is hard to explain, if I show you I might as well just be doing it myself and thats really not my goal my goal is to help you.

Lets take a basic 3x3 table:


--------------
| 0 | 3 | 6 |
-------------
| 1 | 4 | 7 |
--------------
| 2 | 5 | 8 |
--------------

Lets say X is the axis running down (columns) and Y is the axis running across (rows).


0 is at X=1, Y=1
1 is at X=1, Y=2
2 is at X=1, Y=3
3 is at X=2, Y=1

and so on.

Now we know that half of 3 is 1.5, rounded up gives us 2. The centre point is X=2, Y=2 so we can find the tile at that location and for any tile along X=2 for our tropical climate for example.

Alittle bit about the tiles before continuing, you could use instances but Im not sure if your performance will be much of an issue since you have such a limited FOV and draw distance. Granted there might be alot going on, on the screen but I dont see a reason not to make the tiles their own actor/blueprint at this stage, maybe there is something Im missing but if you have memory you might as well use it. You can certainly use instances and create a subclass of a component and use those instead of actors if you wish to go that way, including putting the enumerator in there but thats accessible through C++ not blueprint.

In our Tile at the midpoint, the Tile being at X=2, Y=2 we can then get all the indices immediately surrounding that Tile and in this case since its square we’ll just include the corners but you’ll only need 6 instead of 9 in a static array. Infact we can work it out programmatically which tiles are nearest too but that is alittle more complex mathematically so it can be faster to cache them especially if you want to say, do a move through numerous tiles you can actually plot a path using those arrays.

Okay so in terms of your tectonic idea you can see here that a new 2D array starts to emerge, the line between [Tile 3, Tile 6] for instance.

The reason why I suggested doing things this way though is you can do each step as you go, you generate the blank tiles and assign the climates in one swoop. Then you pause for a short period, perhaps to display loading progress. Then you continue and start making the biomes, you can pause at each biome and again display the progress even some kind of debug statistics screen to yourself to make sure everything is going according to plan and so on…

Im not sure if Im being alittle too basic, you seem to understand where Im coming from and perhaps I could start something similar in blueprint to show. We’ll see how it goes from here :cool:

Edit: Oops ignore that 4 in tile 6, it should be a 3.