A downloadable Mapmaker

DreamAtlas is an open-source Python library for Dominions 6 map editing and generation.  Accessible through Github and Itch.io. DreamAtlas allows users to seamlessly interact with Dominions maps through Python code. Equipped with groundbreaking map generation algorithms and tools for artists that will allow maps to be made better than ever before.

Credits

Software: Tlaloc

Art: Mormacil 

Releases

Version 1.0.3
  • Option to add an Omniscience start with a hidden province.
Version 1.0.2
  • Better throne distribution
Version 1.0.1
  • Population balancing is now weighted by terrain

Version 1.0.0 - Dream

  • DreamAtlas Python library and map generator uploaded to Gitlab and Itch.io
  •  Library features
    • Able to load Dominions 6 .map and image files into Python environments
    • Able to export maps to game-ready formats with support for .d6m files
    • Able to organise map data using DreamAtlas class methods  which allows users to easily edit and create maps with their own code
    • Functionality supporting custom map artists:
      • Function to convert grayscale images of province borders into the #pb format used in .map files
      • Functional extension of the Jump Flood Algorithm to generate organic province borders from sets of points with any wraparound
      • Matplotlib plotting support for DreamAtlas class types, allowing users to load and view incomplete .map files outside of the Dominions .exe
  • Map Generator features
    • Creates unique layouts for 4-16 players with 3-6 neighbours each on demand
    • Immersive regions:
      • Homeland regions have appropriate terrain and layouts for each nation including  underwater/cave nations
      • Peripheral regions are influenced by surrounding nations and have layouts that will create strategic opportunities and competition
      • Valuable Throne regions are generated and placed evenly between players
    • Precise control over cap-circle and region generation ensures maps remain balanced while producing unique geography every time
    • Several options for population (gold!) balancing:
      • None - Vanilla population distribution
      • Soft - Regions have very similar population distribution
      • Hard - Regions have identical population distribution
    • Support for all wraparound options
    • Support for generic starts and modded nations
    • Precise control of land, underwater and cave size/gold/resource balance
    • Each individual part of the map generation can be regenerated with a new random seed (for now this requires interacting with the code)
    • Exports to .d6m format which adapts to in-game terrain changes
    • Generator exploits Numba parallel optimisation to generate game-ready maps  almost instantly


Planned features

Version 1.1 - Atlas

  • Tkinter/TTKBootstrap graphical user interface
  • Support for disciples mode and unlimited player layouts
  • Improved region generation and connections
  • Custom cave generation
  • QoL features, documentation, code optimisation


Future

  • Realistic Geography
    • Combining geographical modelling methods with existing DreamAtlas tools to produce immersive and realistic maps
  • Custom art
  • Better independent/poptype generation
  • Custom throne provinces and armies
  • Support for custom armies and nations
  • Image processing tools for map artists to automate making .map files


Special thanks to...

  • Ana for her endless support and being my rubber duck
  • SoCalGG for feedback, testing and support
  • Dr. Max Bannach for expert advice on graph embedding
  • Loggy for untangling the games mechanics
  • CirceCaju and Apollo for being very cute