This is a declarative (as opposed to procedural) map generator, using the style of the board game Carcassonne.
This depends on Clingo, a tool for Answer Set Programming, and Perl.
There are two aspects to the map generator:
- Finding an acceptable answer set for the problem.
- Visualizing the result.
To perform these steps, use the follow command:
clingo tile_data.ansp rules.ansp | perl visualize.pl > map.png
Enjoy!