Я немного возился с этим шумовым модулем в Python https://github.com/caseman/noise, в основном следуя любому руководству, которое я могу, о предмете генерации процедурной 2d карты, например, этому https://medium.com/@yvanscher/playing-with-perlin-noise-generating-realistic-archipelagos-b59f004d8401, и я Я могу создавать красивые карты, но я хотел бы иметь возможность создавать части карты одновременно, например, как Minecraft создает ландшафт. Если я сгенерирую (0,0) - (255,255) и игрок пойдет вправо слишком далеко, как я тогда сгенерирую (256,0) - (512,255), чтобы игрок мог продолжать идти?
Модуль шумов не имеет много документации, поэтому я прибег к чтению исходного кода, чтобы попытаться выяснить это без особой удачи.
import numpy as np
from noise import pnoise2
from scipy.misc import toimage
shape = (256, 256)
scale = 100.0
octaves = 6
persistence = 0.5
lacunarity = 2.0
world1 = np.zeros(shape)
for i in range(shape[0]):
for j in range(shape[1]):
world1[i][j] = pnoise2(
i/scale,
j/scale,
octaves=octaves,
persistence=persistence,
lacunarity=lacunarity,
repeatx=1024,
repeaty=1024,
base=1)
toimage(world1).show()
Это то, с чем я возился.