Generátor map
Jednoduchá PHP aplikace, která slouží k vytvoření náhodného herního ostrova na základě zadaných parametrů.
Mapa ostrova se vykreslí jako PNG obrázek. Generátor funguje přímo na map.towns.cz .
Celý princip je opravdu velmi jednoduchý a je rozdělen do tří kroků. Vše jsem popsal přímo v kódů. Samotný generátor postupně vytvoří:
Ostrov (pobřeží)
Ostrov se generuje pomocí náhodně kmitajícího bodu. Pozice bodu se na začátku náhodně vyberou. Jakmile bod narazí na okraj mapy, jeho pozice se vygeneruje znovu.
![Ostrov - Zdrojákoviště PHP - Základní konstrukce](images/9049/aa.png)
Řeky
U každé řeky je vybrán počáteční bod a směr. Poté se kreslí řeka, která náhodně mění směr. Až narazí na moře nebo okraj mapy, začne se generovat nová. Celý proces se několikrát opakuje. (záleží na parametru délka řek)
![Řeky - Zdrojákoviště PHP - Základní konstrukce](images/9049/bb.png)
Další terény:
Další terény se generují obdobně jako samotný ostrov. Mohou však narazit jak na moře, tak na řeku nebo další jiný terén.
![Další terény - Zdrojákoviště PHP - Základní konstrukce](images/9049/cc.png)
Dalšími terény jsou:
- dlažba
- sníh/led
- písek
- kamení
- hlína
- sůl
- tráva(toxic)
- les
- řeka
- tráva(jaro)
- tráva(pozim)
Terény si může každý upravit / přepsat. Tyhle konkrétní používám ve své hře towns.cz
Po provedení těchto tří kroků se z pole vytvoří PNG obrázek s mapou.
Ve své hře mám nástroj, který umí na základě těchto mapových obrázků vytvořit ostrov pro skutečné hráče:
![Velmi malý zkušební svět vygenerovaný z obrázku mapy. - Zdrojákoviště PHP - Základní konstrukce](images/9049/small_ww1_h720_1408828283_23_8_2014.png)
Budu rád za jakékoliv nápady a postřehy.
Galerie
![](images/554419059d4eb_image_0_thumb.png)
![](images/554419059d4eb_image_1_thumb.png)
![](images/554419059d4eb_image_2_thumb.png)
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 140x (35.57 kB)
Aplikace je včetně zdrojových kódů v jazyce PHP