diff --git a/docs/battle-map-terrain-atlas-pipeline.md b/docs/battle-map-terrain-atlas-pipeline.md index 7d2f690..54a4962 100644 --- a/docs/battle-map-terrain-atlas-pipeline.md +++ b/docs/battle-map-terrain-atlas-pipeline.md @@ -2,7 +2,7 @@ ## Scope -The first sixty campaign battles now use the same hand-painted tactical map pipeline. The renderer still reads the original scenario tile coordinates and battle logic; only the map texture asset changes from flat/vector map art to low-contrast raster terrain. +The first sixty-two campaign battles now use the same hand-painted tactical map pipeline. The renderer still reads the original scenario tile coordinates and battle logic; only the map texture asset changes from flat/vector map art to low-contrast raster terrain. ## Art Direction @@ -91,6 +91,8 @@ python scripts/generate-handpaint-map-sample.py --map fifty-seventh --webp-quali python scripts/generate-handpaint-map-sample.py --map fifty-eighth --webp-quality 90 python scripts/generate-handpaint-map-sample.py --map fifty-ninth --webp-quality 90 python scripts/generate-handpaint-map-sample.py --map sixtieth --webp-quality 90 +python scripts/generate-handpaint-map-sample.py --map sixty-first --webp-quality 90 +python scripts/generate-handpaint-map-sample.py --map sixty-second --webp-quality 90 ``` Comparison example: @@ -161,6 +163,8 @@ python scripts/generate-handpaint-map-sample.py --map thirtieth --tile-size 192 - `src/assets/images/battle/fifty-eighth-battle-map.webp` - `src/assets/images/battle/fifty-ninth-battle-map.webp` - `src/assets/images/battle/sixtieth-battle-map.webp` +- `src/assets/images/battle/sixty-first-battle-map.webp` +- `src/assets/images/battle/sixty-second-battle-map.webp` ## QA Outputs @@ -282,5 +286,9 @@ python scripts/generate-handpaint-map-sample.py --map thirtieth --tile-size 192 - `docs/fifty-ninth-battle-map-handpaint-preview.png` - `docs/sixtieth-battle-map-handpaint-before-after.png` - `docs/sixtieth-battle-map-handpaint-preview.png` +- `docs/sixty-first-battle-map-handpaint-before-after.png` +- `docs/sixty-first-battle-map-handpaint-preview.png` +- `docs/sixty-second-battle-map-handpaint-before-after.png` +- `docs/sixty-second-battle-map-handpaint-preview.png` Browser screenshots are saved per verification run after build/deploy. diff --git a/docs/sixty-first-battle-map-handpaint-before-after.png b/docs/sixty-first-battle-map-handpaint-before-after.png new file mode 100644 index 0000000..8d4b5cb Binary files /dev/null and b/docs/sixty-first-battle-map-handpaint-before-after.png differ diff --git a/docs/sixty-first-battle-map-handpaint-preview.png b/docs/sixty-first-battle-map-handpaint-preview.png new file mode 100644 index 0000000..bee22a1 Binary files /dev/null and b/docs/sixty-first-battle-map-handpaint-preview.png differ diff --git a/docs/sixty-second-battle-map-handpaint-before-after.png b/docs/sixty-second-battle-map-handpaint-before-after.png new file mode 100644 index 0000000..7dfb4af Binary files /dev/null and b/docs/sixty-second-battle-map-handpaint-before-after.png differ diff --git a/docs/sixty-second-battle-map-handpaint-preview.png b/docs/sixty-second-battle-map-handpaint-preview.png new file mode 100644 index 0000000..849cea1 Binary files /dev/null and b/docs/sixty-second-battle-map-handpaint-preview.png differ diff --git a/scripts/generate-handpaint-map-sample.py b/scripts/generate-handpaint-map-sample.py index c646999..c8af498 100644 --- a/scripts/generate-handpaint-map-sample.py +++ b/scripts/generate-handpaint-map-sample.py @@ -603,6 +603,26 @@ MAP_CONFIGS = { "seed": 241294, "tile_size": IMMENSE_LARGE_MAP_TILE_SIZE, }, + "sixty-first": { + "slug": "sixty-first-battle-map", + "terrain_export": "sixtyFirstBattleMap", + "units_export": "sixtyFirstBattleUnits", + "ally_positions_export": "sixtyFirstBattleAllyPositions", + "out": BATTLE_IMAGE_DIR / "sixty-first-battle-map.webp", + "before": BATTLE_IMAGE_DIR / "sixty-first-battle-map.svg", + "seed": 241304, + "tile_size": IMMENSE_LARGE_MAP_TILE_SIZE, + }, + "sixty-second": { + "slug": "sixty-second-battle-map", + "terrain_export": "sixtySecondBattleMap", + "units_export": "sixtySecondBattleUnits", + "ally_positions_export": "sixtySecondBattleAllyPositions", + "out": BATTLE_IMAGE_DIR / "sixty-second-battle-map.webp", + "before": BATTLE_IMAGE_DIR / "sixty-second-battle-map.svg", + "seed": 241314, + "tile_size": IMMENSE_LARGE_MAP_TILE_SIZE, + }, } diff --git a/src/assets/images/battle/sixty-first-battle-map.svg b/src/assets/images/battle/sixty-first-battle-map.svg deleted file mode 100644 index 86bf095..0000000 --- a/src/assets/images/battle/sixty-first-battle-map.svg +++ /dev/null @@ -1,82 +0,0 @@ - - Hanzhong rainy pass defense map - Original tactical battlefield map with rainy Hanzhong passes, commandery supply roads, Shu granary camps, Wei columns, forests, rivers, and mountain forts. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 촉 창고 - 무도 보급로 - 한중 북문 - 사마의 별동대 - 조진 본영 - - diff --git a/src/assets/images/battle/sixty-first-battle-map.webp b/src/assets/images/battle/sixty-first-battle-map.webp new file mode 100644 index 0000000..b2b1598 Binary files /dev/null and b/src/assets/images/battle/sixty-first-battle-map.webp differ diff --git a/src/assets/images/battle/sixty-second-battle-map.svg b/src/assets/images/battle/sixty-second-battle-map.svg deleted file mode 100644 index b81c0ef..0000000 --- a/src/assets/images/battle/sixty-second-battle-map.svg +++ /dev/null @@ -1,91 +0,0 @@ - - Qishan renewed offensive map - Original tactical battlefield map with renewed Qishan roads, Lucheng forts, Shu supply camps, Wei delay lines, rivers, forests, ridges, and cliff gates. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/assets/images/battle/sixty-second-battle-map.webp b/src/assets/images/battle/sixty-second-battle-map.webp new file mode 100644 index 0000000..e483d3f Binary files /dev/null and b/src/assets/images/battle/sixty-second-battle-map.webp differ diff --git a/src/game/data/battleMapAssets.ts b/src/game/data/battleMapAssets.ts index cd21833..5de4585 100644 --- a/src/game/data/battleMapAssets.ts +++ b/src/game/data/battleMapAssets.ts @@ -10,8 +10,8 @@ import fiftyFifthBattleMapUrl from '../../assets/images/battle/fifty-fifth-battl import fiftyEighthBattleMapUrl from '../../assets/images/battle/fifty-eighth-battle-map.webp'; import fiftyNinthBattleMapUrl from '../../assets/images/battle/fifty-ninth-battle-map.webp'; import sixtiethBattleMapUrl from '../../assets/images/battle/sixtieth-battle-map.webp'; -import sixtyFirstBattleMapUrl from '../../assets/images/battle/sixty-first-battle-map.svg'; -import sixtySecondBattleMapUrl from '../../assets/images/battle/sixty-second-battle-map.svg'; +import sixtyFirstBattleMapUrl from '../../assets/images/battle/sixty-first-battle-map.webp'; +import sixtySecondBattleMapUrl from '../../assets/images/battle/sixty-second-battle-map.webp'; import sixtyThirdBattleMapUrl from '../../assets/images/battle/sixty-third-battle-map.svg'; import sixtyFourthBattleMapUrl from '../../assets/images/battle/sixty-fourth-battle-map.svg'; import sixtyFifthBattleMapUrl from '../../assets/images/battle/sixty-fifth-battle-map.svg';