I'm generating my game's map using Perlin noise. It's an infinite 2D world with terrain data loaded on demand. I'm using Perlin noise to generate terrain. However, I've noticed that the Perlin noise implementation I'm using is periodic, and this is at a noticeable distance (repetition begins at about 400 tiles).
Many answers I've seen online involve sampling at a higher frequency, but this decreases the number of peaks and troughs in a given area. I'm not looking for layering techniques which only add more octaves, I need the variation to be along the entire range of the noise function. An example of what I mean:
This is an image of roughly what I have currently, which is basically what I want:
Increasing the sampling frequency yields this result, which is noticeably flatter:
Adding more octaves on top of that flatter noise makes it more jagged locally, but doesn't create peaks or troughs on the global level:
Is there a way to get a result like the first one with lots of peaks and troughs on a macro scale using Perlin noise, while keeping the period reasonably large, say, 5000 tiles?