Losowy algorytm generowania mapy 2D

Czy ktoś może mi powiedzieć, w jaki sposób generować struktury wysp lub struktury wzgórz, jak w minecraft?

Po prostu szukam odpowiedniej TEORII dla generowania losowego kształtu, ale powinien on zachować zdefiniowany wzór podstawowy.

jak: wyspy powinny być zaokrąglone, ale zróżnicowane pod względem kształtu i skali (minimalna / maksymalna szerokość i wysokość).

lub: rzeki nie powinny być liniami prostymi, powinny mieć krzywe i losową szerokość.

lub nawet: generowanie jakiegoś lasu, w którym drzewa są umieszczane w taki sposób, że użytkownik może nadal chodzić po lesie (to, jak sądzę, proste, po prostu powiedz, że niektóre bloki wokół drzewa powinny pozostać puste, jeśli kod próbuje umieścić więcej drzew wokół ostatniego)

Jakiego rodzaju matematyki mogę użyć do zrobienia takich rzeczy?

Byłbym zadowolony z linków do samouczków lub odnośników. Wyszukuję w internecie od wielu godzin, ale wszystko, co mogłem znaleźć, to kilka książek do kupienia, takich jak „matematyka do gier” lub coś takiego, ale mój budżet jest ustawiony na zero.

EDYTOWAĆ:

Po pierwsze, przepraszam za mój zły język.

Drugi Chciałbym podziękować wszystkim za odpowiedzi. To są świetne referencje i spędzę dużo czasu, żeby się w to zagłębić.

questionAnswers(3)

yourAnswerToTheQuestion