I need a way to generate a world realistically. I want to generate worlds similar to dwarf fortress.
My current code for world generation is this:
worldTiles = ['^',',','.','.']
def generateWorld(self, x=40, y=20):
world = []
for i in range(y):
row = []
for z in range(x):
row.append(random.choice(self.worldTiles))
world.append(row)
return world
with the worlds it generates being this:
The world is ok, however what I want is biomes, not just completly random generation.
In case it helps, heres how the current generation works:
A variable called worldTiles has alls the tiles the world can have. This is used by the function. The function, creates an array, and appends a row to it. The row is then added to the world, as another array.
A example world might be:
[
['^', ',', '^'],
['^', ',', '.'],
['^', ''., '.']
]