Генерация процедурной карты с помощью модуля шума Python - PullRequest
0 голосов
/ 05 ноября 2018

Я немного возился с этим шумовым модулем в 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()

Это то, с чем я возился.

...