First, make sure you have turbo mode enabled by shift-clicking the green flag. It should say "Turbo Mode" in orange. Once you click the green flag normally to start, you will be asked to choose a world seed. Every seed generates a unique random map. CONTROLS: Arrow keys to move around the infinite world Spacebar to redraw your current location H key to show or hide variables S key to change seeds Press and hold R while the world is generating for a very confusing map! Press and hold K while pressing the spacebar once to NOT clear the previous map, and instead lay down your new one right on top. Try messing around with settings like Variation, Texturize, Blockify, and the Biome Style to see what different kinds of maps look like. Note: "Blockify" on 1 sometimes looks best when "Texturize" is set to 0, especially on Biome Style 3.
Have you found a cool-looking part of a map? Comment the seed below along with the ScreenX and ScreenY coordinates so other people can see it too! These maps are generated using something called Perlin Noise, which is a type of smooth, coordinate-based, pseudo-random variation (I know, a mouthful) that is commonly used in computer graphics. If you've ever played a game that has random terrain variation, for example Minecraft, it probably uses a similar method to generate random, but still somewhat smooth height variations. The basics of how this works is that there is a set of points on a map (each "screen" here uses 20 points), each of which has two values randomly assigned, an X and a Y, making what is called vector. For each individually-drawn square in this project (there are 12 squares per screen), there are four vectors, one assigned to each corner, that determine the internal terrain variation of the square. The closer you get to a corner, the more that corner's vectors will influence height, weighted according to the curve: y = 3x^2 - 2x^3 Beyond that very basic description the math gets a little more complex, but if you're curious to learn more, check out this link: https://mzucker.github.io/html/perlin-noise-math-faq.html