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 ....