diff --git a/game/assets/map/stage_01.map b/game/assets/map/stage_01.map index e699275..df54060 100644 --- a/game/assets/map/stage_01.map +++ b/game/assets/map/stage_01.map @@ -1,142 +1,28 @@ map stage_01 -world 6400 720 -camera 0 0 6400 720 -player_spawn 160 496 +world 2105 720 +camera 0 0 2105 720 +player_spawn 1030 346 -collision 0 600 6400 160 -collision 360 500 250 28 -collision 780 440 260 28 -collision 1320 500 280 28 -collision 1960 445 260 28 -collision 2240 390 220 28 -collision 2740 455 300 28 -collision 3300 420 340 28 -collision 3720 485 300 28 -collision 4140 405 260 28 -collision 4660 455 300 28 -collision 5060 380 240 28 -collision 5520 470 320 28 -collision 5960 430 280 28 +collision 0 446 505 42 +collision 128 560 350 42 +collision 846 450 470 42 +collision 1490 506 555 42 -layer background_far BackgroundFar 0.18 -rect 0 0 6400 720 0.03 0.09 0.11 1 -rect_sprite_src -260 0 1240 720 0.18 0.58 0.58 0.34 assets/stage/stage_01/background/mossy_background_decoration.png 0 320 1400 980 -rect_sprite_src 760 -40 1320 760 0.16 0.55 0.55 0.32 assets/stage/stage_01/background/mossy_background_decoration.png 1380 220 1320 1100 -rect_sprite_src 1880 0 1280 720 0.18 0.60 0.57 0.30 assets/stage/stage_01/background/mossy_background_decoration.png 2600 360 1200 960 -rect_sprite_src 2920 -30 1400 750 0.16 0.56 0.55 0.32 assets/stage/stage_01/background/mossy_background_decoration.png 420 1680 1500 1050 -rect_sprite_src 4140 0 1360 720 0.14 0.50 0.52 0.34 assets/stage/stage_01/background/mossy_background_decoration.png 1900 1600 1400 1100 -rect_sprite_src 5260 -40 1320 760 0.16 0.55 0.55 0.32 assets/stage/stage_01/background/mossy_background_decoration.png 2900 1880 1120 1160 +layer reference_background BackgroundFar 1 +rect_sprite_src 0 0 2105 720 1 1 1 1 assets/stage/stage_01/reference/mossy_cavern_reference_4hibzc.png 0 0 2432 832 endlayer -layer background_mid BackgroundMid 0.48 -rect_sprite_src -160 395 620 260 0.42 0.78 0.58 0.44 assets/stage/stage_01/background/mossy_hills.png 50 580 420 420 -rect_sprite_src 360 330 760 310 0.38 0.70 0.56 0.42 assets/stage/stage_01/background/mossy_hills.png 720 40 1160 500 -rect_sprite_src 1020 360 720 285 0.35 0.66 0.52 0.38 assets/stage/stage_01/background/mossy_hills.png 760 650 1120 720 -rect_sprite_src 1620 300 830 350 0.38 0.72 0.56 0.42 assets/stage/stage_01/background/mossy_hills.png 645 650 1280 840 -rect_sprite_src 2340 370 650 270 0.34 0.66 0.52 0.38 assets/stage/stage_01/background/mossy_hills.png 1460 1520 520 420 -rect_sprite_src 2860 320 820 330 0.40 0.74 0.58 0.44 assets/stage/stage_01/background/mossy_hills.png 720 40 1160 500 -rect_sprite_src 3580 380 700 270 0.34 0.66 0.52 0.38 assets/stage/stage_01/background/mossy_hills.png 760 650 1120 720 -rect_sprite_src 4200 290 860 360 0.38 0.72 0.56 0.42 assets/stage/stage_01/background/mossy_hills.png 645 650 1280 840 -rect_sprite_src 4960 350 760 300 0.36 0.68 0.54 0.40 assets/stage/stage_01/background/mossy_hills.png 720 40 1160 500 -rect_sprite_src 5620 385 740 260 0.34 0.64 0.50 0.38 assets/stage/stage_01/background/mossy_hills.png 1460 1520 520 420 -endlayer - -layer ceiling_shadow PropsBack 0.72 -rect_sprite_src -120 -165 620 345 0.14 0.34 0.30 0.84 assets/stage/stage_01/props/mossy_hanging_plants.png 70 0 360 1240 -rect_sprite_src 420 -195 560 370 0.12 0.30 0.28 0.78 assets/stage/stage_01/props/mossy_hanging_plants.png 550 0 330 1180 -rect_sprite_src 920 -160 690 340 0.12 0.30 0.28 0.82 assets/stage/stage_01/props/mossy_hanging_plants.png 990 0 360 1300 -rect_sprite_src 1520 -185 600 360 0.12 0.30 0.28 0.80 assets/stage/stage_01/props/mossy_hanging_plants.png 1340 0 470 1040 -rect_sprite_src 2080 -150 680 330 0.14 0.34 0.30 0.76 assets/stage/stage_01/props/mossy_hanging_plants.png 540 1260 420 1040 -rect_sprite_src 2700 -200 640 390 0.12 0.30 0.28 0.82 assets/stage/stage_01/props/mossy_hanging_plants.png 1020 1320 420 1120 -rect_sprite_src 3300 -165 710 350 0.12 0.32 0.28 0.80 assets/stage/stage_01/props/mossy_hanging_plants.png 70 0 360 1240 -rect_sprite_src 3940 -190 620 375 0.12 0.30 0.28 0.78 assets/stage/stage_01/props/mossy_hanging_plants.png 550 0 330 1180 -rect_sprite_src 4520 -160 690 345 0.12 0.30 0.28 0.82 assets/stage/stage_01/props/mossy_hanging_plants.png 990 0 360 1300 -rect_sprite_src 5160 -185 620 365 0.12 0.30 0.28 0.78 assets/stage/stage_01/props/mossy_hanging_plants.png 1340 0 470 1040 -rect_sprite_src 5740 -170 700 350 0.14 0.34 0.30 0.82 assets/stage/stage_01/props/mossy_hanging_plants.png 540 1260 420 1040 -endlayer - -layer level_visual LevelVisual 1 -rect_sprite_src -120 505 760 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 620 505 640 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 1220 505 520 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 1700 505 760 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 2420 505 650 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 3050 505 860 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 3860 505 620 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 4440 505 760 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 5160 505 650 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 5740 505 760 265 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 -rect_sprite_src 350 460 280 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 -rect_sprite_src 760 400 300 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 -rect_sprite_src 1300 460 330 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 -rect_sprite_src 1940 405 300 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 -rect_sprite_src 2220 350 260 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 -rect_sprite_src 2720 415 340 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 -rect_sprite_src 3280 380 380 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 -rect_sprite_src 3700 445 340 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 -rect_sprite_src 4120 365 300 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 -rect_sprite_src 4640 415 340 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 -rect_sprite_src 5040 340 280 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 -rect_sprite_src 5500 430 360 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 -rect_sprite_src 5940 390 320 105 1 1 1 1 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 -endlayer - -layer props_back PropsBack 1 -rect_sprite_src 80 260 170 360 0.70 0.95 0.78 0.68 assets/stage/stage_01/props/mossy_hanging_plants.png 70 0 360 1240 -rect_sprite_src 650 240 140 350 0.70 0.95 0.78 0.56 assets/stage/stage_01/props/mossy_hanging_plants.png 550 0 330 1180 -rect_sprite_src 1120 230 180 390 0.70 0.95 0.78 0.58 assets/stage/stage_01/props/mossy_hanging_plants.png 990 0 360 1300 -rect_sprite_src 1660 200 210 410 0.70 0.95 0.78 0.64 assets/stage/stage_01/props/mossy_hanging_plants.png 1340 0 470 1040 -rect_sprite_src 2210 250 170 340 0.70 0.95 0.78 0.58 assets/stage/stage_01/props/mossy_hanging_plants.png 540 1260 420 1040 -rect_sprite_src 2760 185 190 430 0.70 0.95 0.78 0.62 assets/stage/stage_01/props/mossy_hanging_plants.png 1020 1320 420 1120 -rect_sprite_src 3420 220 210 390 0.70 0.95 0.78 0.60 assets/stage/stage_01/props/mossy_hanging_plants.png 70 0 360 1240 -rect_sprite_src 3960 240 170 360 0.70 0.95 0.78 0.56 assets/stage/stage_01/props/mossy_hanging_plants.png 550 0 330 1180 -rect_sprite_src 4520 170 220 430 0.70 0.95 0.78 0.66 assets/stage/stage_01/props/mossy_hanging_plants.png 990 0 360 1300 -rect_sprite_src 5080 245 190 350 0.70 0.95 0.78 0.56 assets/stage/stage_01/props/mossy_hanging_plants.png 1340 0 470 1040 -rect_sprite_src 5680 215 210 390 0.70 0.95 0.78 0.62 assets/stage/stage_01/props/mossy_hanging_plants.png 540 1260 420 1040 -rect_sprite_src 6120 180 180 440 0.70 0.95 0.78 0.58 assets/stage/stage_01/props/mossy_hanging_plants.png 1020 1320 420 1120 -rect_sprite_src 420 555 170 80 0.95 1 0.78 0.78 assets/stage/stage_01/props/mossy_decorations_hazards.png 220 1640 620 360 -rect_sprite_src 1410 548 180 85 0.95 1 0.78 0.76 assets/stage/stage_01/props/mossy_decorations_hazards.png 220 1640 620 360 -rect_sprite_src 2620 540 190 90 0.95 1 0.78 0.76 assets/stage/stage_01/props/mossy_decorations_hazards.png 220 1640 620 360 -rect_sprite_src 3580 510 210 95 0.95 1 0.78 0.78 assets/stage/stage_01/props/mossy_decorations_hazards.png 220 1640 620 360 -rect_sprite_src 4840 500 210 100 0.95 1 0.78 0.78 assets/stage/stage_01/props/mossy_decorations_hazards.png 220 1640 620 360 -rect_sprite_src 6030 555 190 90 0.95 1 0.78 0.76 assets/stage/stage_01/props/mossy_decorations_hazards.png 220 1640 620 360 -endlayer - -layer props_front PropsFront 1 -rect_sprite_src -120 590 380 170 0.05 0.08 0.10 0.96 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 -rect_sprite_src 720 575 460 185 0.05 0.08 0.10 0.92 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 -rect_sprite_src 1720 570 520 190 0.05 0.08 0.10 0.94 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 -rect_sprite_src 3040 555 600 205 0.05 0.08 0.10 0.92 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 -rect_sprite_src 4220 540 560 220 0.05 0.08 0.10 0.94 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 -rect_sprite_src 5340 575 520 185 0.05 0.08 0.10 0.92 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 -rect_sprite_src 6060 590 420 170 0.05 0.08 0.10 0.96 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 -endlayer - -battle_zone zone_01_entrance 520 250 780 350 0 0 1860 720 -spawn zone_01_enemy_a 820 536 -spawn zone_01_enemy_b 1120 521 +battle_zone zone_01_left_platform 0 250 560 310 0 0 1280 720 +spawn zone_01_enemy_a 210 342 +spawn zone_01_enemy_b 380 456 endbattle_zone -battle_zone zone_02_lower_cavern 1680 230 860 370 960 0 1960 720 -spawn zone_02_enemy_a 1880 501 -spawn zone_02_enemy_b 2260 531 -spawn zone_02_enemy_c 2340 326 +battle_zone zone_02_center_platform 760 230 650 320 410 0 1280 720 +spawn zone_02_enemy_a 930 346 +spawn zone_02_enemy_b 1200 346 endbattle_zone -battle_zone zone_03_main_hall 3000 210 960 390 2300 0 2100 720 -spawn zone_03_enemy_a 3260 456 -spawn zone_03_enemy_b 3660 486 -spawn zone_03_enemy_c 3440 356 -endbattle_zone - -battle_zone zone_04_high_garden 4380 180 980 390 3600 0 2140 720 -spawn zone_04_enemy_a 4620 441 -spawn zone_04_enemy_b 4920 441 -spawn zone_04_enemy_c 5160 316 -endbattle_zone - -battle_zone zone_05_exit 5480 220 840 360 4760 0 1640 720 -spawn zone_05_enemy_a 5660 506 -spawn zone_05_enemy_b 6040 536 -spawn zone_05_enemy_c 6120 366 +battle_zone zone_03_right_platform 1420 270 640 310 825 0 1280 720 +spawn zone_03_enemy_a 1630 402 +spawn zone_03_enemy_b 1880 402 endbattle_zone diff --git a/game/assets/stage/stage_01/ASSETS.md b/game/assets/stage/stage_01/ASSETS.md index dd19e26..6b30e41 100644 --- a/game/assets/stage/stage_01/ASSETS.md +++ b/game/assets/stage/stage_01/ASSETS.md @@ -14,6 +14,7 @@ This directory is reserved for the first playable side-scrolling ACT stage. | Graybox platform tiles | `tiles/graybox_platform.png` | Optional temporary platform tileset referenced by `stage_01.map`; fallback color is used if missing. | TBD | | Props sheet | `props/mossy_hanging_plants.png` | Current hanging plant props used by `PropsBack` layer. | Local asset pack: `X:\NS_unknown_game\asset\Mossy Cavern`; license TBD | | Decoration / hazards sheet | `props/mossy_decorations_hazards.png` | Reserved for later foreground props and hazards; not used for gameplay yet. | Local asset pack: `X:\NS_unknown_game\asset\Mossy Cavern`; license TBD | +| Reference background | `reference/mossy_cavern_reference_4hibzc.png` | Full-scene reference image used as the first 1:1 rebuild pass for `stage_01.map`. | Local asset pack: `X:\NS_unknown_game\asset\Mossy Cavern\参考图\4HibZC.jpg`; license TBD | | Hit spark | `effects/hit_spark.png` | Small combat impact effect. | TBD | | Dust | `effects/dust.png` | Run, jump, and landing dust. | TBD | | Music / ambience | `../../music/stage_01.ogg` | Optional loopable stage audio cue. | TBD | diff --git a/game/assets/stage/stage_01/reference/mossy_cavern_reference_4hibzc.png b/game/assets/stage/stage_01/reference/mossy_cavern_reference_4hibzc.png new file mode 100644 index 0000000..6654c7c Binary files /dev/null and b/game/assets/stage/stage_01/reference/mossy_cavern_reference_4hibzc.png differ diff --git a/game/docs/modules/data_map.md b/game/docs/modules/data_map.md index b2d9bcb..3798f79 100644 --- a/game/docs/modules/data_map.md +++ b/game/docs/modules/data_map.md @@ -72,16 +72,14 @@ endbattle_zone - `tile_index` 当前表示 tileset 第一行的横向 tile 序号。 - `r g b` 是该批 tile 的灰盒 fallback 色,alpha 固定为 `1.0`。 -当前 `stage_01.map` 已接入 Mossy Cavern 场景图集: +当前 `stage_01.map` 已按 `asset\Mossy Cavern\参考图\4HibZC.jpg` 重做为一比一参考图复刻版: -- 世界尺寸为 `6400 x 720`,当前按现有摄像机逻辑保持 720 高度,主要扩展横向探索长度。 -- `BackgroundFar` 使用 `mossy_background_decoration.png` 做远景洞穴轮廓。 -- `BackgroundMid` 使用 `mossy_hills.png` 做中景苔藓轮廓。 -- `LevelVisual` 使用 `mossy_floating_platforms.png` 做地面和悬空平台。 -- `PropsBack` / `PropsFront` 使用苔藓悬挂植物、发光装饰和前景暗部遮挡。 -- Battle zone 已扩展为 5 段:入口、下沉洞道、主洞厅、高低平台群和出口段。 +- 原参考图尺寸为 `2432 x 832`,等比映射到当前游戏视口高度后,世界尺寸为 `2105 x 720`。 +- `BackgroundFar` 使用 `reference/mossy_cavern_reference_4hibzc.png` 作为完整场景底图,保证第一轮视觉尽量贴近参考图。 +- 碰撞只按参考图中的左侧、中央、右侧可站平台建立,不把背景洞壁和装饰当碰撞。 +- Battle zone 分为 3 段:左侧平台、中央平台、右侧平台。 -本轮只接入地图场景视觉,碰撞仍由 `collision` 独立定义;角色、怪物、植物动画和 hazard 玩法暂不接入。 +本轮只接入地图场景视觉,碰撞仍由 `collision` 独立定义;角色、怪物、植物动画和 hazard 玩法暂不接入。后续若要把底图拆成可编辑素材层,再逐步用 Mossy 图集替换完整参考底图。 ## 下一步 diff --git a/game/docs/modules/stage_rendering.md b/game/docs/modules/stage_rendering.md index 90784f0..4ddc456 100644 --- a/game/docs/modules/stage_rendering.md +++ b/game/docs/modules/stage_rendering.md @@ -38,8 +38,9 @@ UI ## 当前素材接入 -第一关已经通过 `rect_sprite_src` 接入 Mossy Cavern 场景图集: +第一关已经接入 Mossy Cavern 场景资源: +- `reference/mossy_cavern_reference_4hibzc.png` - `background/mossy_background_decoration.png` - `background/mossy_hills.png` - `tiles/mossy_floating_platforms.png` @@ -47,7 +48,7 @@ UI - `props/mossy_decorations_hazards.png` - `tiles/mossy_tileset.png` -当前 `stage_01.map` 已按参考图重做为 `6400 x 720` 的横向大地图。视觉结构包含远景洞穴轮廓、中景苔藓丘、顶部压暗悬挂植物、地面/平台裁切、发光装饰和前景暗部遮挡。 +当前 `stage_01.map` 已按 `4HibZC.jpg` 重做为 `2105 x 720` 的一比一参考图复刻版。第一轮用完整 PNG 参考图作为底图,优先保证视觉构图贴近参考图;后续再逐步拆成可编辑的背景、平台和前景装饰层。 由于当前 `tile_rect` 只能取 tileset 第一行,正式 Mossy 场景暂时优先使用 `rect_sprite_src` 从大图集裁切。`mossy_tileset.png` 已落位,等后续扩展 tile row/column 或 tile id 后再用于精细铺砖。 diff --git a/game/docs/planning/development_plan.md b/game/docs/planning/development_plan.md index 89d212a..81f8632 100644 --- a/game/docs/planning/development_plan.md +++ b/game/docs/planning/development_plan.md @@ -345,9 +345,9 @@ game/assets ```text map stage_01 -world 6400 720 -camera 0 0 6400 720 -player_spawn 160 496 +world 2105 720 +camera 0 0 2105 720 +player_spawn 1030 346 collision layer rect_sprite_src diff --git a/game/docs/planning/game_architecture_board.md b/game/docs/planning/game_architecture_board.md index 4728243..cf5d912 100644 --- a/game/docs/planning/game_architecture_board.md +++ b/game/docs/planning/game_architecture_board.md @@ -204,7 +204,7 @@ mindmap - `StageLayerSource` 已接入:每个 `StageRect` 可选择色块占位或 sprite 资源路径,加载失败时回退色块。 - `StageAssetSlots` 已建立:`stage_01` 资源目录和素材来源记录已预留,素材回来后可直接落位。 - `StageProps` 已统一:后景/前景 props 都走 `StageLayer`,前景层在 actor 之后绘制,可用于近景遮挡。 -- 第一关宽度已扩展到 6400 像素,并加入 5 个 battle zone 占位与敌人出生点。 +- 第一关已按 Mossy Cavern `4HibZC.jpg` 重做为 `2105 x 720` 的参考图复刻版,并加入 3 个 battle zone 占位与敌人出生点。 下一步: diff --git a/game/docs/planning/scene_build_plan.md b/game/docs/planning/scene_build_plan.md index e9cadbf..884b5bc 100644 --- a/game/docs/planning/scene_build_plan.md +++ b/game/docs/planning/scene_build_plan.md @@ -17,7 +17,7 @@ 第一轮场景骨架进度: - `LevelDefinition` 已扩展世界尺寸、玩家出生点、镜头范围、分层视觉、battle zone 和敌人出生点数据。 -- 第一关地图已扩展到 `6400 x 720`,当前主数据在 `game/assets/map/stage_01.map`。 +- 第一关已按 `asset\Mossy Cavern\参考图\4HibZC.jpg` 重做为 `2105 x 720` 的参考图复刻版,当前主数据在 `game/assets/map/stage_01.map`。 - `StageRenderer` 已支持远景、中景、地面/平台、后景 props 分层绘制,当前先用色块占位。 - `DebugOverlay` 已能显示碰撞、玩家框、battle zone、camera lock 范围和 spawn point。 - `WhiteboxScene` 已支持 debug overlay,具体快捷键记录在 `../controls.md`。 @@ -35,10 +35,10 @@ 第一关不急着做最终题材,先做通用 ACT 测试关: -- 横向推进,当前 Mossy Cavern 测试关宽度为 6400 像素。 +- 横向推进,当前 Mossy Cavern 参考图复刻版宽度为 2105 像素。 - 主要视口仍用 1280x720。 - 主路线先保持连续地面,避免当前平台碰撞不支持台阶/斜坡导致卡关;高度变化主要放在悬空平台上,用于测试跳跃和镜头推进。 -- 至少预留 5 个战斗区域,每个区域宽度约 780 到 980 像素。 +- 当前按参考图三块主要站立区域预留 3 个战斗区域。 - 每个战斗区域有明确的入口、站位空间、敌人刷出点和退出方向。 - 保留一个跳跃测试段,用来验证移动手感。 - 保留一个窄平台/边缘段,用来验证镜头和碰撞。 @@ -164,13 +164,11 @@ game/assets/stage/stage_01/ ### Step 5:加入战斗区域数据 -当前 Mossy Cavern 大地图标出 5 个 battle zone: +当前 Mossy Cavern 参考图复刻版标出 3 个 battle zone: -- `zone_01_entrance` -- `zone_02_lower_cavern` -- `zone_03_main_hall` -- `zone_04_high_garden` -- `zone_05_exit` +- `zone_01_left_platform` +- `zone_02_center_platform` +- `zone_03_right_platform` 每个区域包含: @@ -198,12 +196,11 @@ game/assets/stage/stage_01/ 第一阶段完成时应该达到: - 能启动 `Frostbite2DGame`。 -- 第一关宽度至少 2400 像素。 -- 玩家可以从起点跑到终点。 -- 至少 5 个平台/地面碰撞块。 -- 至少 2 层背景。 -- 至少 8 个装饰物。 -- 至少 5 个 battle zone debug 标记。 +- 第一关世界尺寸为 `2105 x 720`,与 `4HibZC.jpg` 等比映射后的宽高一致。 +- 参考图底图能完整显示,且横向摄像机不露出世界外黑边。 +- 至少 4 个平台碰撞块,对齐参考图中的左侧、左下、中央、右侧可站平台。 +- 当前视觉先以 1 张完整参考底图表达,不再沿用上一版拼接地图。 +- 至少 3 个 battle zone debug 标记。 - 场景资源路径集中在 `game/assets/stage/stage_01/`。 - 文档记录已使用素材来源和授权信息。 @@ -226,8 +223,8 @@ game/assets/stage/stage_01/ 1. 已完成:扩展 `LevelDefinition`,加入世界尺寸、玩家出生点、镜头限制、敌人出生点、battle zone 占位数据。 2. 已完成:扩展 `StageRenderer`,支持背景层、地面/平台视觉层、后景 props,第一版继续用色块。 -3. 已完成:扩展关卡宽度到 6400 像素,并整理成 5 段 Mossy Cavern 推进节奏。 -4. 已完成:加入 5 个 battle zone debug 标记,但暂不做刷敌逻辑。 +3. 已完成:按 `4HibZC.jpg` 重建关卡为 `2105 x 720` 的参考图复刻版。 +4. 已完成:加入 3 个 battle zone debug 标记,但暂不做刷敌逻辑。 5. 已完成:加入 spawn point debug 标记,用于后续接 `EnemyActor`。 6. 已完成:补 debug 开关,可切换碰撞、battle zone、spawn point。 @@ -254,7 +251,7 @@ game/assets/stage/stage_01/ - `LevelDefinition` 能表达世界尺寸、玩家出生点、相机边界、碰撞、视觉层、props、battle zone、spawn point。 - `StageRenderer` 能按层绘制远景、中景、地面/平台、后景 props、前景 props,并支持资源图和色块占位两种来源。 - `DebugOverlay` 能显示碰撞、battle zone、camera lock、spawn point、玩家包围盒。 -- 关卡灰盒能从起点跑到终点,至少 5 个推进段和 5 个 battle zone 都能被观察到;具体验收流程见 `../scene_acceptance.md`。 +- 关卡灰盒能观察到参考图中的左侧、中央、右侧三个主要平台区域,至少 3 个 battle zone 都能被观察到;具体验收流程见 `../scene_acceptance.md`。 - 素材目录、命名、来源记录文件已经准备好,后续放入 PNG 后只改资源引用。 ### 场景骨架实施顺序 @@ -330,6 +327,6 @@ game/assets/stage/stage_01/ 2. 已完成:`stage_01.map` 的 `BackgroundFar`、`BackgroundMid`、`LevelVisual`、`PropsBack`、`PropsFront` 已改用 `rect_sprite_src` 裁切 Mossy 图集。 3. 已完成:碰撞、玩家出生点、camera bounds、battle zone 和 spawn point 保持原数据,不把视觉块当碰撞使用。 4. 已完成:贴图 `LevelVisual` 不再叠加灰盒辅助顶线,避免平台素材显示异常。 -5. 已完成:参考 `asset\Mossy Cavern\参考图`,把 `stage_01.map` 扩展为 `6400 x 720` 的横向大地图,包含入口、下沉洞道、主洞厅、高低平台群和出口 5 个推进段。 +5. 已完成:参考 `asset\Mossy Cavern\参考图\4HibZC.jpg`,把 `stage_01.map` 重做为 `2105 x 720` 的一比一底图复刻版,完全替换上一版 6400 宽地图。 -暂不接入 `BlueWizard Animations`、`Plant Animations`、`Slimes` 和 hazard 玩法。下一步围绕地图编辑器继续微调场景块位置和碰撞对齐。 +暂不接入 `BlueWizard Animations`、`Plant Animations`、`Slimes` 和 hazard 玩法。下一步围绕地图编辑器继续微调碰撞对齐,并逐步把完整参考底图拆成可编辑图层。 diff --git a/game/docs/scene_acceptance.md b/game/docs/scene_acceptance.md index 3e605df..7599c7a 100644 --- a/game/docs/scene_acceptance.md +++ b/game/docs/scene_acceptance.md @@ -7,14 +7,14 @@ - 场景入口:`WhiteboxScene` - 关卡数据:`game/assets/map/stage_01.map` - 关卡 fallback:`CreateWhiteboxLevel()` 内置 C++ 白盒数据 -- 世界尺寸:`6400 x 720` -- 玩家出生点:`(160, 496)` -- 关卡边界:`0 -> 6400` +- 世界尺寸:`2105 x 720` +- 玩家出生点:`(1030, 346)` +- 关卡边界:`0 -> 2105` - 视口:`1280 x 720` -- Battle zones:`zone_01_entrance`、`zone_02_lower_cavern`、`zone_03_main_hall`、`zone_04_high_garden`、`zone_05_exit` +- Battle zones:`zone_01_left_platform`、`zone_02_center_platform`、`zone_03_right_platform` - 资源槽位:`game/assets/stage/stage_01/` - 地图资源:`game/assets/map/stage_01.map` -- Tile 数据:`stage_01.map` 中的 `tileset` / `tile_rect` +- 参考底图:`game/assets/stage/stage_01/reference/mossy_cavern_reference_4hibzc.png` - 全局资源槽位:`game/assets/ASSETS.md` - UI overlay:`GameUiOverlay`,有字体时使用 `TextSprite`,无字体时使用 fallback 色条。 - 音频 cue:`stage_01`、`player_jump`、`player_attack`、`battle_zone_enter`。 @@ -43,6 +43,7 @@ if (!$p.HasExited) { Stop-Process -Id $p.Id -Force } Test-Path build\windows\x64\release\assets\map\stage_01.map Test-Path build\windows\x64\release\assets\ASSETS.md Test-Path build\windows\x64\release\assets\fonts +Test-Path build\windows\x64\release\assets\stage\stage_01\reference\mossy_cavern_reference_4hibzc.png ``` ### Switch @@ -64,6 +65,7 @@ RomFS 地图检查: Test-Path build\switch\aarch64\release\switch_game\romfs\assets\map\stage_01.map Test-Path build\switch\aarch64\release\switch_game\romfs\assets\ASSETS.md Test-Path build\switch\aarch64\release\switch_game\romfs\assets\fonts +Test-Path build\switch\aarch64\release\switch_game\romfs\assets\stage\stage_01\reference\mossy_cavern_reference_4hibzc.png ``` ## 手动跑图检查 @@ -72,7 +74,7 @@ Test-Path build\switch\aarch64\release\switch_game\romfs\assets\fonts 1. 启动 Windows 版 `Frostbite2DGame.exe`。 2. 从出生点向右移动,确认摄像机横向跟随且不露出世界外黑边。 -3. 依次进入 5 个 battle zone,确认 camera bounds 平滑切换,没有硬切瞬移。 +3. 依次进入 3 个 battle zone,确认 camera bounds 平滑切换,没有硬切瞬移。 4. 通过 debug 清场或离开区域解除锁定,确认摄像机恢复全关卡跟随。 5. 使用 debug 分项开关检查: - 碰撞矩形和场景网格。 @@ -92,7 +94,7 @@ Test-Path build\switch\aarch64\release\switch_game\romfs\assets\fonts - Switch `Frostbite2DGameSwitch` 构建:通过。 - Switch RomFS:已包含 character、shader、`stage_01` 资源槽位和 `assets/map/stage_01.map`。 - 地图加载:`stage_01.map` 已作为第一关主数据源;C++ 白盒数据仅作为 fallback。 -- 地图视觉:`stage_01.map` 已扩展为 `6400 x 720` 的 Mossy Cavern 大地图,当前主要通过 `rect_sprite_src` 裁切场景图集表达。 +- 地图视觉:`stage_01.map` 已重做为 `4HibZC.jpg` 的一比一参考图复刻版,当前通过 `reference/mossy_cavern_reference_4hibzc.png` 作为完整底图表达。 - 引擎能力接入:`Animation`/NPK/PNG 角色资源优先级、`UIScene`/`TextSprite` UI、`Sound`/`Music` cue、`SaveSystem` debug 存档已接入。 - 手动跑图:未在本轮执行,等待后续素材/战斗区域进一步接入时复测。