Skip to content

Ziagl/hex-map-generator

Repository files navigation

hex-map-generator

A hexagon map generator for Tiled Map Editor (https://www.mapeditor.org/) files.

Sample of generated maps inside Tiled Map Editor:

Type: CONTINENTS_ISLANDS, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/continents_islands-tiny.png

Sample code to create map

using HexMapGenerator;
using HexMapGenerator.enums;

// generator values
var mapSize = MapSize.SMALL;
var mapType = MapType.HIGHLAND;
var mapTemperature = MapTemperature.NORMAL;
var mapHumidity = MapHumidity.NORMAL;
float factorRiver = 0.0f;

// converter values
string imagefile = "tileset.png";
int tileWidth = 32;
int tileHeight = 34;
int imageWidth = 1536;
int imageHeight = tileHeight;
int tileCount = imageWidth / tileWidth;
int tileColumns = tileCount;
string transparentColor = "#ffffff";

Console.WriteLine("Generating new map");

var generator = new Generator();
generator.GenerateMap(mapType, mapSize, mapTemperature, mapHumidity, factorRiver);

Console.WriteLine(generator.Print());

var converter = new Converter();
string json = converter.GenerateTiledJson(generator.MapData, imagefile, tileWidth, tileHeight, imageWidth, imageHeight, tileCount, tileColumns, transparentColor);
Console.WriteLine("Json:" + json);
File.WriteAllText("mapData.json", json);

All possible map types as example images:

Type: ARCHIPELAGO, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/archipelago-tiny.png

Type: CONTINENTS, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/continents-tiny.png

Type: HIGHLAND, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/highland-tiny.png

Type: INLAND_SEA, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/inland_sea-tiny.png

Type: ISLANDS, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/islands-tiny.png

Type: LAKES, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/lakes-tiny.png

Type: SMALL_CONTINENTS, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/small_continents-tiny.png

Type: SUPER_CONTINENT, Size: TINY https://github.com/Ziagl/hex-map-generator/blob/main/example_images/super_continent-tiny.png

About

A hexagon map generator for Tiled Map Editor (https://www.mapeditor.org/) files.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages