Download the PHP package christianessl/landmap-generation without Composer
On this page you can find all versions of the php package christianessl/landmap-generation. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Table of contents
Download christianessl/landmap-generation
More information about christianessl/landmap-generation
Files in christianessl/landmap-generation
Download christianessl/landmap-generation
More information about christianessl/landmap-generation
Files in christianessl/landmap-generation
Vendor christianessl
Package landmap-generation
Short Description Generate pixelated, random world maps in PHP.
License GPL-2.0-or-later
Homepage https://christianessl.at
Package landmap-generation
Short Description Generate pixelated, random world maps in PHP.
License GPL-2.0-or-later
Homepage https://christianessl.at
Please rate this library. Is it a good library?
Informations about the package landmap-generation
landmap-generation
Generate pixelated, random world maps in PHP.
This is a simple landmap generator implemented in PHP. It supports generating a heightmap, setting up a water level, colorizing and shading. The outputted result will be in pixel style.
1. Installation
composer require christianessl/landmap-generation.
2. Usage
3. Example output
500x300 pixels
seed: 'otters_are_awesome!'
60% water, flat shader
30% water, flat shader
60% water, detailed shader
60% water, no shader
4. Configuration options
Class MapSettings
| Public methods | Description | Default value |
|---|---|---|
| setWidth() | map width in pixels | 150 |
| setHeight() | map height in pixels | 150 |
| setColorScheme() | the color scheme to use | DefaultColorScheme |
| setWaterLevel() | percentage of the map to be water | 70 |
| setInterpolationMode() | when set, only every fourth pixel is actually calculated in heightmap generation. (as the calculation costs a lot of performance) Neighbouring pixels will be interpolated. Highly recommended. | true |
Class DefaultColorScheme
| Constructor arguments | Description | Default value |
|---|---|---|
| ShaderInterface $shader | The shader to use for this color scheme. If none is passed, "NullShader" will be used (which does no shading at all). | NullShader |
Class LandmapGenerator
| Constructor arguments | Description | Default value |
|---|---|---|
| GeneratorSettingsInterface $settings | The settings for the LandmapGenerator: MapSettings or DefaultSettings. | - |
| string $seed | Seed for the Random number generator. | - |
| HeightmapGeneratorInterface $heightmapGenerator | The algorithm for generating the heightmap. | DiamondSquareHeightmapGenerator |
| WaterLevelGeneratorInterface $waterLevelGenerator | The algorithm for placing the water level | WaterLevelGenerator |
Implemented Shaders
| Class name | Description |
|---|---|
| NullShader | Does no shading at all. |
| FlatShader | Simple shading with flat looking colors. |
| DetailShader | Highly detailed altitudes in the map. No steps between the colors. |
TODO
- implement a perlin noise algorithm as example (much faster than diamond square)
- refactor and decouple ImageUtility
- possibility to cache the heightmap generation (maybe as a json tree?)
- port the diamond square algorithm to GO (in another project) and add the option to connect the php project to the GO library
All versions of landmap-generation with dependencies
PHP Build Version
Package Version
No informations.
The package christianessl/landmap-generation contains the following files
Loading the files please wait ...