const RIVER_PATHS = [
{ id: 'nile', name: 'Nile', width_class: 'major', path: [[31,25],[31,22],...] },
{ id: 'danube', name: 'Danube', width_class: 'major', path: [[9,48],[14,47],...] },
{ id: 'euphrates', name: 'Euphrates', width_class: 'major', path: [[38,38],[40,36],...] },
{ id: 'tigris', name: 'Tigris', width_class: 'major', path: [[43,38],[44,36],...] },
{ id: 'po', name: 'Po', width_class: 'minor', path: [[8,45],[10,45],[12,45]] },
{ id: 'rhone', name: 'Rhone', width_class: 'minor', path: [[6,46],[5,44],[5,43]] },
{ id: 'dnieper', name: 'Dnieper', width_class: 'minor', path: [[31,52],[31,49],[31,46]] },
// NEW rivers:
{ id: 'volga', name: 'Volga', width_class: 'major', path: [[49,57],[49,53],[50,48],[51,46]] },
{ id: 'don', name: 'Don', width_class: 'minor', path: [[39,57],[40,54],[40,48]] },
{ id: 'jordan', name: 'Jordan', width_class: 'minor', path: [[35,33],[35,32],[35,31]] },
{ id: 'amu_darya', name: 'Amu Darya', width_class: 'minor', path: [[64,38],[62,38],[60,37]] },
];
Summary
Current river rendering in
drawRivers()(js/map.js:1173) draws all rivers with a single line width (tileSize * 0.18) and uses a flat color regardless of river size. This makes the Nile look identical to the Po.Proposed Changes
1. River width classes in
assets/geography.jsAdd
width_classto each river inRIVER_PATHS:2. Width-aware
drawRivers()injs/map.js3. Bridge overlay
When a road crosses a river tile, draw a bridge:
tile.roads > 0 && isRiverTile(tile.x, tile.y)Related