civ_map_generator

Crates.iociv_map_generator
lib.rsciv_map_generator
version0.1.2
created_at2025-09-16 02:29:52.436386+00
updated_at2025-09-16 07:16:51.061031+00
descriptionA civilization map generator
homepage
repositoryhttps://github.com/lishaoxia1985/civ-map-generator
max_upload_size
id1840859
size11,921,531
(lishaoxia1985)

documentation

https://docs.rs/civ_map_generator

README

Civ Map Generator

This is a civilization map generator. This algorithm is primarily based on the implementation in Civilization V, with some references from Civilization VI.

How to add a map type

How to add a map type

Example

Civilization-Remastered

Innovation Highlights

This project introduces several key innovations:

  1. Support both flat and pointy hex
    Original civilization implementation only supports pointy hex, Unciv implementation only supports flat hex, but this project supports both flat and pointy hex.

Miss Features

  1. Only support to generate fractal and pangaea map
    This project only supports to generate fractal and pangaea map. we will add more map generation algorithm in the future.
  2. No support to square grid
    This project only supports hex grid. We will add support to square grid in the future.
  3. The algorithm to add rivers is not perfect
    The algorithm to add rivers is not perfect. We should tackle with the situation when river flows to the edge of map.

Future Plans

  1. Add more map generation algorithm
    We will add more map generation algorithm in the future.
  2. support to square grid
    We will add support to square grid in the future.
  3. Improve the algorithm to add rivers
    We will improve the algorithm to add rivers in the future.
  4. Optimize the JSON file as ruleset information
    We will optimize the JSON file as ruleset information in the future. In folder src/jsons, only a litter files are used as ruleset information to generate map. And Some map parameters are hard-coded in the code. We will optimize it in the future.

Reference project

License

Licensed under either of

at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 67

cargo fmt