A Randomly Generated World

@TinkerSmith No, my zoomed out map is what it should look like if we zoomed out. What the map should actually look like is if you got the map and zoomed it in. A lot. The map should be massive. I done the map in a 100x100, well imagine the real map is 10x the size of that map. But randomly generated :slight_smile:

BUT BUT BUT … thats what we do, lol, the zoomed in view.

Now imagine you could zoom out. Flowlab is a little bit limited regarding the maths one can use. The options to place the biomes (so that the enviroment/tiles switch if you walk long enough) are limited.
So far I work on 2 options.

Option 1, Euclidian style:
Euclidian_64(1)

Option 2, Manhattan style:
Manhattan_64(1)

Sorry for the small image, imagine pixel=tile. You see the difference?

Personally I actually like the Manhattan layout, what about you guys.

@TinkerSmith I kinda like the look of both, but I would say I would go with the Euclidian style. I chose that because it seems like it fits small and big biomes, while having peculaiar but fairly spawned shapes. One of the bigger reasons I chose that style is becasue the manhatten style seems too much like the biomes are long, streched and irregular, when the other style (Please don’t make me type it out again) seems more even.

:slight_smile: gotya

P.S. do we want the map endless, as in it wraps around?

Yee please @TinkerSmith ! When do ya think the basic code for the map genrration will be done?

Working on it right now in a separate project. Easier for me to create variations. Once done I publish the result and we can decide how to implement it.

Okay, sounds awesome @TinkerSmith

Hi all, so as you have seen in the other thread i worked out the biome thingy … but soooo slow.
Can be made faster but doubt raises if Flowlab will manage.
Anywho, Flowjam is around the corner and I will put it on ice until after that.

Reminds me @“The Kodex” would a push map be of any use? Maybe to spawn specific landscape features like forrests, hills or lava lakes.
Buggy concept demo:
https://flowlab.io/game/play/1452701

got your 2d generation to work

Welcome to the mighty Clan of World Creators, Dungeon Benders and Drafters of Random Maps @glithctyrus

Kneel down and I raise you to the rank of Mapprentice First Class :smile:

Now go and create realms of wonder :wink:

@TinkerSmith sometimes it glitches a reloads the start throgh the rest of the level

The routine was not bug proofed yet, more proof of concept.
And depending on size and what you do Flowlab seems to get hickups.
But no worries, already working on a faster alternative. Have not forgotten your island.
Is derived from a hex-map generator concept, i just have to work out how to ‘square’ it up

S00706-22355583

Will be based on this. Tinkering in Excel atm. If it works in a single excel cell chances are it works in a Flowlab ‘smart’ tile

So I looked at your map generation tests and they are incredible! What’s more, they are deceptively simple . . . what’s the trick? What secret formula have you unlocked?

Actually I posted everything I used to create them, just follow those mentioned links. As I mentioned in my other thread this was the main inspiration: 2d-tile-map-generation-with-biomes
That one made me curious and I snooped around more. When I read the definition of those Voronoi diagrams (the wikipedia link also there) I found the Manhattan routine there as an alternative.

I know, the maths there can look frightening. And no, I don’t understand them, LOL.
The only thing that made sense to me was this snippet there:

maths

The first one I already knew, I use it all the time to calculate the distance between two points. The other one was new to me, but I kind of like the results too.

As usual I first tried it out in Excel and then I tried to stuff it into Flowlab. I know FL is good for straight forward stuff like a platformer or top down, but whew, it gives you quite a fight when you wanna make it do other stuff.

Back to your question @thebrickccentric , no magic formula. The scanner cell evaluates the whole map one by one.
For every map position it calculates the distances to the biome seeds and picks the closest one to populate that map position. That’s all.
You could go fancy now to create differently shaped biomes (sinus, cosines to create more rounded ares, etc…)

Wow that method is mind-blowingly . . . simple. I can’t believe it’s just based on distances—no fancy raycasting or numbering! Now, about the Manhattan formula, what are the units for the distance it gives? They can’t be just standard, otherwise a 1x1 square would have a diagonal length of 2. What type of distance is that measuring?

A final thought: with how simple this is, could you layer it? Like have the first run of the map put out random blocks in various locations, then place biome blocks based on that, then place even more specific blocks based on those, etc. Wait . . . could you make fractal-style details that way?

This is my forum and yet now I cant even understand what is happening. :grin:

Yeah, I guess that sort of comes with the territory (ha, the randomly-generated territor—never mind). Well, what do you think so far?

@thebrickccentric , Manhattan (or also called TaxiCab) distance tries to find the shortest way along grid cell walls.

manhattan

So it is more suited to find the shortest way on streetmaps … or our case, in dungeons :wink:
The linear step size is basically whatever you use as the step in x and y.

Simpe as it is, I am pretty sure one could layer something. One layer for the basic landscape. Next layer maybe like a temperature map to define where we get snow or desert? Monster population areas?
We just need to keep track of everything and that is hard in Flowlab … I couldn’t think of a way beside saving the info in the map tiles themselfes and use the map itself as my ‘storage array’