Web application generating interactive and highly customizable maps
Find a file
barrulus e669549390 Fix population aggregation system to eliminate double-counting
- Fixed core issue where cells.pop and burg.population were both being counted
- Changed aggregation logic across all modules to use either burg OR cell population, never both
- If cell has burg: count only burg population (represents all people in that area)
- If cell has no burg: count only cells.pop (represents scattered population)

Files modified:
- modules/burgs-and-states.js: Fixed state population aggregation
- modules/ui/provinces-editor.js: Fixed province population aggregation
- modules/dynamic/editors/cultures-editor.js: Fixed culture population aggregation
- modules/dynamic/editors/religions-editor.js: Fixed religion population aggregation
- modules/ui/biomes-editor.js: Fixed biome population aggregation
- modules/ui/zones-editor.js: Fixed zone population calculations (2 locations)
- modules/military-generator.js: Redesigned military generation to use only burg populations

Military system changes:
- Removed rural military generation (all forces now come from settlements)
- Only burgs with 500+ people can maintain military forces
- Military strength based on actual burg population (2.5% mobilization rate)

Result: Population totals now consistent across all CSV exports (~2M total vs previous 40x discrepancy)
2025-08-13 18:54:32 +01:00
.docker Containerized version (#639) 2021-07-13 18:42:28 +03:00
.github Update FUNDING.yml 2024-11-28 12:02:43 +01:00
.vscode v1.3.03a 2020-03-27 17:52:23 +03:00
charges feat: add new emblem charges 2023-10-30 22:27:25 +04:00
components Slider-input web component (#1109) 2024-08-22 13:35:36 +02:00
config central store for heightmap configs 2022-05-29 01:03:21 +03:00
heightmaps doc: update readme 2023-02-09 13:12:37 -08:00
images Fix: rework texture data format (#1017) 2023-11-19 14:43:56 +04:00
libs style: increase dialog buttons size 2024-12-16 14:30:11 +01:00
modules Fix population aggregation system to eliminate double-counting 2025-08-13 18:54:32 +01:00
styles feat: generate less water ice, v1.108.3 2025-02-15 17:45:16 +01:00
utils fix regex of 'and' adjectivization rule (#1225) 2025-08-02 13:48:10 +02:00
.gitignore more porting work 2025-08-05 13:12:07 -04:00
CODE_OF_CONDUCT.md docs: code of conduct 2022-06-01 15:08:20 -07:00
Dockerfile Containerized version (#639) 2021-07-13 18:42:28 +03:00
dropbox.html dropbox - load script dynamically 2022-02-08 00:47:17 +03:00
icons.css AI generation for notes (#1112) 2024-08-23 18:08:50 +02:00
index.css fix: grid layer to not be clickable 2025-03-09 13:29:45 +01:00
index.html Fix population aggregation system to eliminate double-counting 2025-08-13 18:54:32 +01:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2018-06-11 21:36:07 +03:00
LICENSE Update LICENSE to include permission for derivative works 2024-06-29 12:03:52 +02:00
main.js Enabled larger maps with more burgs 2025-08-11 18:21:33 +01:00
manifest.webmanifest Correct name and shortname in web manifest (#912) 2023-01-09 01:03:23 -08:00
medievil+population_research.md Fix population aggregation system to eliminate double-counting 2025-08-13 18:54:32 +01:00
package-lock.json Fix population aggregation system to eliminate double-counting 2025-08-13 18:54:32 +01:00
package.json Fix population aggregation system to eliminate double-counting 2025-08-13 18:54:32 +01:00
population_alteration.md Add comprehensive population scaling documentation 2025-08-13 08:05:19 +01:00
README.md chore: update readme 2024-03-14 11:30:21 +01:00
run_php_server.bat BAT-file for run PHP built-in server (#1094) 2024-07-11 13:46:26 +02:00
run_python_server.bat v1.5.02 - COA rendering + editor basic UI 2021-02-04 15:56:27 +03:00
run_python_server.sh Merge pull request #1212 from Nekomantikku/master 2025-06-20 00:18:57 +02:00
sw.js fix: service worker fn 2024-09-20 15:40:10 +02:00
Unified Medieval Population and Route Plan.md Fix population aggregation system to eliminate double-counting 2025-08-13 18:54:32 +01:00
versioning.js fix(v1.108.11): add external icons to export in base64 format 2025-07-18 02:31:10 +02:00

Fantasy Map Generator

Azgaar's Fantasy Map Generator is a free web application that helps fantasy writers, game masters, and cartographers create and edit fantasy maps.

Link: azgaar.github.io/Fantasy-Map-Generator.

Refer to the project wiki for guidance. The current progress is tracked in Trello. Some details are covered in my old blog Fantasy Maps for fun and glory.

preview

preview

preview

Join our Discord server and Reddit community to share your creations, discuss the Generator, suggest ideas and get the most recent updates.

Contact me via email if you have non-public suggestions. For bug reports please use GitHub issues or #fmg-bugs channel on Discord. If you are facing performance issues, please read the tips.

Pull requests are highly welcomed. The codebase is messy and requires re-design. I will appreciate if you start with minor changes. Check out the data model before contributing.

You can support the project on Patreon.

Inspiration: