Commit graph

22 commits

Author SHA1 Message Date
barrulus
9c090894f2 Implement hierarchical burg placement and route generation system
Major Changes:
- Enhanced burg placement system with three-tier hierarchy:
  * Primary centers (capitals + large ports) connected by main roads
  * Regional centers (plaza burgs) connected by secondary roads
  * Local settlements connected by trails to existing network

Burg Placement Improvements (burgs-and-states.js):
- Added identifyLargePorts() function to mark coastal settlements as major population centers
- Implemented placeRegionalCenters() function for strategic plaza burg placement
- Enhanced placeTowns() with hierarchical scoring based on distance to major centers
- Updated population calculations to respect settlement hierarchy
- Modified defineBurgFeatures() to guarantee plazas for regional centers

Route Generation Overhaul (routes-generator.js):
- Created hierarchical route system eliminating overlapping routes:
  * Main roads connect primary population centers (capitals + large ports)
  * Secondary roads connect plaza burgs to main network and each other
  * Trails connect isolated settlements to nearest existing routes
- Added filtered burg categorization to prevent duplicate connections
- Implemented intelligent pathfinding that integrates with existing routes
- Fixed getLength() function with fallback calculation for DOM timing issues

CSV Export Enhancement (routes-overview.js):
- Updated routes CSV export to include new "secondary" route type
- Added documentation for supported route types in export function

Technical Features:
- Distance-based population gradients radiating from major centers
- Urquhart graph algorithm for optimal route networks
- Integration with existing pathfinding cost system
- Proper route merging and connection tracking
- Robust error handling for route length calculations

Result:
- Realistic settlement hierarchy with proper population distribution
- Non-overlapping transportation network with clear purpose for each route type
- Radial patterns from major centers through regional hubs to local settlements
- Enhanced world-building with economically logical settlement placement
2025-08-12 22:44:54 +01:00
Azgaar
66d22f26c0
[Draft] Submap refactoring (#1153)
* refactor: submap - start

* refactor: submap - continue

* Merge branch 'master' of https://github.com/Azgaar/Fantasy-Map-Generator into submap-refactoring

* refactor: submap - relocate burgs

* refactor: submap - restore routes

* refactor: submap - restore lake names

* refactor: submap - UI update

* refactor: submap - restore river and biome data

* refactor: submap - simplify options

* refactor: submap - restore rivers

* refactor: submap - recalculateMapSize

* refactor: submap - add middle points

* refactor: submap - don't add middle points, unified findPath fn

* chore: update version

* feat: submap - relocate out of map regiments

* feat: submap - fix route gen

* feat: submap - allow custom number of cells

* feat: submap - add checkbox submapRescaleBurgStyles

* feat: submap - update version hash

* chore: supporters update

---------

Co-authored-by: Azgaar <azgaar.fmg@yandex.com>
2024-12-12 13:11:54 +01:00
Azgaar
877afa546d fix: remove route if it has <2 points 2024-09-21 13:43:46 +02:00
Azgaar
5904e9e7c6 fix: routes (v1.104.3) 2024-09-20 14:16:07 +02:00
Azgaar
ec993d1a9b fix: #1129 2024-09-12 12:55:31 +02:00
Azgaar
da8c4f1e4a fix: rotues - isCrossroad 2024-08-19 14:09:38 +02:00
Azgaar
9c97711a99 fix: routes id after removing all 2024-08-16 13:15:00 +02:00
Azgaar
f19b891421
Urquhart routes (#1072)
* feat: routes generation

* feat: routes rendering

* feat: searoutes fix, changing reGraph

* feat: searoute - change pathfinding algo

* feat: routes - cleanup code

* feat: routes - change data format

* feat: routes - add routes to json export

* feat: edit routes - start

* feat: edit routes - main

* feat: edit routes - EP

* feat: edit routes - remove route

* feat: route - generate names

* feat: route - continue

* Refactor route merging logic for improved performance

* feat: routes - show name in tooltip

* feat: routes - create route dialog

* feat: update data on control point remove

* feat: routes editor - split route

* feat: add join route functionality to routes editor

* feat: Add join route functionality to routes editor

* feat: Update join route tooltip in routes editor

* feat: routes overview - sort by length

* feat: routes overview - fix distanceScale value

* feat: routes overview - create route

* Refactor getMiddlePoint function to getCloseToEdgePoint

* feat: routes - change data format, fix issues

* feat: routes - regenerateRoutes

* feat: routes - add route on burg creation

* chore - remove merge conflict markers

* chore - remove merge conflict markers

* feat: routes name - no unnamed burg names

* feat: routes - lock routes

* fix: routes - split routes

* feat: routes - tip correction

* feat: routes - auto-update part 1

* feat: routes - return old rePacj logic to not break auto-update

* feat: routes - auto-update - add connections

---------

Co-authored-by: Azgaar <azgaar.fmg@yandex.com>
2024-08-15 15:46:55 +02:00
Azgaar
f2fcef0284 routes - don't break if feature is not found 2022-04-09 21:52:37 +05:00
Azgaar
460bb29e49 replace old iife by a simpler ones 2021-08-04 23:49:02 +03:00
Mészáros Gergely
c11f9cb4ae Modified main road network to handle impassable terrain 2021-07-28 23:54:02 +02:00
Azgaar
af1d369e31 addOverseaRoute 2021-06-13 19:57:00 +03:00
Bryce Kabat
f4efedcf9d
Added Logging Options to Improve Performance (#529)
* Added Logging Options to Improve Performance

* Requested Changes

Co-authored-by: Onyx Azryn <brycekabat@onyxazryn.com>
2020-10-22 01:32:57 +03:00
Evolvedexperiment
044ea1d345 Added cell info to elevation profile and corrected some spelling 2020-06-26 19:08:54 +00:00
Azgaar
617e8d4306 v1.4.09 2020-05-09 23:51:14 +03:00
Azgaar
d1c795494d v1.3.04a 2020-03-28 23:48:56 +03:00
Azgaar
c8f758ab3c v1.3.03a 2020-03-27 17:52:23 +03:00
Azgaar
bc6b8cdafe v1.22.31 2019-12-23 20:06:43 +03:00
Azgaar
aadae58072 1.1.14 2019-10-16 23:25:48 +03:00
Azgaar
cab429a346 v1.0 2019-08-31 12:16:36 +03:00
Azgaar
2d5d008fe8 v 0.8.24b 2019-05-28 21:41:21 +03:00
Azgaar
680044ddd6 v 0.8.0b 2019-04-21 21:55:13 +03:00