Expand mossy cavern stage map

This commit is contained in:
2026-06-10 11:08:07 +08:00
parent 21f633658c
commit c6d42ff0e0
7 changed files with 162 additions and 83 deletions
+124 -53
View File
@@ -1,71 +1,142 @@
map stage_01 map stage_01
world 3200 720 world 6400 720
camera 0 0 3200 720 camera 0 0 6400 720
player_spawn 160 380 player_spawn 160 496
collision 0 600 3200 80 collision 0 600 6400 160
collision 230 500 220 28 collision 360 500 250 28
collision 560 430 260 28 collision 780 440 260 28
collision 930 510 260 28 collision 1320 500 280 28
collision 1250 420 230 28 collision 1960 445 260 28
collision 1760 500 300 28 collision 2240 390 220 28
collision 2180 455 260 28 collision 2740 455 300 28
collision 2650 515 360 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
layer background_far BackgroundFar 0.25 layer background_far BackgroundFar 0.18
rect 0 0 3200 720 0.04 0.06 0.05 1.0 rect 0 0 6400 720 0.03 0.09 0.11 1
rect_sprite_src -140 80 980 620 0.34 0.54 0.36 0.38 assets/stage/stage_01/background/mossy_background_decoration.png 0 0 1030 4096 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 860 35 940 620 0.30 0.50 0.34 0.34 assets/stage/stage_01/background/mossy_background_decoration.png 1180 0 900 3500 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 2020 100 980 560 0.31 0.52 0.34 0.34 assets/stage/stage_01/background/mossy_background_decoration.png 2680 170 1060 1520 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 2660 410 1060 360 0.26 0.44 0.30 0.30 assets/stage/stage_01/background/mossy_background_decoration.png 2460 2920 1180 880 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
endlayer endlayer
layer background_mid BackgroundMid 0.55 layer background_mid BackgroundMid 0.48
rect_sprite_src -180 390 560 260 0.45 0.70 0.45 0.42 assets/stage/stage_01/background/mossy_hills.png 50 580 420 420 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 520 335 760 300 0.46 0.72 0.46 0.36 assets/stage/stage_01/background/mossy_hills.png 720 40 1160 500 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 1390 360 720 270 0.42 0.68 0.43 0.36 assets/stage/stage_01/background/mossy_hills.png 760 650 1120 720 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 2310 330 760 310 0.40 0.66 0.42 0.36 assets/stage/stage_01/background/mossy_hills.png 645 650 1280 840 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 2860 400 560 240 0.43 0.68 0.44 0.34 assets/stage/stage_01/background/mossy_hills.png 1460 1520 520 420 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 endlayer
layer level_visual LevelVisual 1.0 layer ceiling_shadow PropsBack 0.72
rect_sprite_src -70 520 1680 270 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 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 1520 520 1680 270 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 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 230 460 240 100 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 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 540 390 300 105 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 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 910 470 310 105 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 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 1230 380 270 105 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 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 1740 460 340 105 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 40 1050 420 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 2160 415 300 105 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 500 540 1060 430 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 2625 475 400 120 1.0 1.0 1.0 1.0 assets/stage/stage_01/tiles/mossy_floating_platforms.png 420 1120 1560 490 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 endlayer
layer props_back PropsBack 1.0 layer level_visual LevelVisual 1
rect_sprite_src 110 120 150 500 0.78 0.94 0.72 0.72 assets/stage/stage_01/props/mossy_hanging_plants.png 70 0 360 1240 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 780 80 130 430 0.78 0.94 0.72 0.62 assets/stage/stage_01/props/mossy_hanging_plants.png 550 0 330 1180 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 1430 115 150 520 0.78 0.94 0.72 0.68 assets/stage/stage_01/props/mossy_hanging_plants.png 990 0 360 1300 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 1880 155 190 420 0.78 0.94 0.72 0.62 assets/stage/stage_01/props/mossy_hanging_plants.png 1340 0 470 1040 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 2510 160 170 450 0.78 0.94 0.72 0.64 assets/stage/stage_01/props/mossy_hanging_plants.png 540 1260 420 1040 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 3030 110 160 500 0.78 0.94 0.72 0.66 assets/stage/stage_01/props/mossy_hanging_plants.png 1020 1320 420 1120 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 endlayer
layer props_front PropsFront 1.0 layer props_back PropsBack 1
rect_sprite_src 510 560 260 80 0.85 1.0 0.82 0.78 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 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 1490 545 330 95 0.85 1.0 0.82 0.78 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 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 2560 550 330 90 0.85 1.0 0.82 0.78 assets/stage/stage_01/tiles/mossy_floating_platforms.png 0 540 430 430 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 endlayer
battle_zone zone_01_intro 520 260 560 340 0 0 1940 720 layer props_front PropsFront 1
spawn zone_01_enemy_a 760 560 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
spawn zone_01_enemy_b 980 560 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
endbattle_zone endbattle_zone
battle_zone zone_02_platform 1420 250 680 350 660 0 2300 720 battle_zone zone_02_lower_cavern 1680 230 860 370 960 0 1960 720
spawn zone_02_enemy_a 1620 560 spawn zone_02_enemy_a 1880 501
spawn zone_02_enemy_b 1900 560 spawn zone_02_enemy_b 2260 531
spawn zone_02_enemy_c 2340 326
endbattle_zone endbattle_zone
battle_zone zone_03_exit 2380 250 720 350 1600 0 1600 720 battle_zone zone_03_main_hall 3000 210 960 390 2300 0 2100 720
spawn zone_03_enemy_a 2580 560 spawn zone_03_enemy_a 3260 456
spawn zone_03_enemy_b 2860 560 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
endbattle_zone endbattle_zone
+3 -1
View File
@@ -74,10 +74,12 @@ endbattle_zone
当前 `stage_01.map` 已接入 Mossy Cavern 场景图集: 当前 `stage_01.map` 已接入 Mossy Cavern 场景图集:
- 世界尺寸为 `6400 x 720`,当前按现有摄像机逻辑保持 720 高度,主要扩展横向探索长度。
- `BackgroundFar` 使用 `mossy_background_decoration.png` 做远景洞穴轮廓。 - `BackgroundFar` 使用 `mossy_background_decoration.png` 做远景洞穴轮廓。
- `BackgroundMid` 使用 `mossy_hills.png` 做中景苔藓轮廓。 - `BackgroundMid` 使用 `mossy_hills.png` 做中景苔藓轮廓。
- `LevelVisual` 使用 `mossy_floating_platforms.png` 做地面和悬空平台。 - `LevelVisual` 使用 `mossy_floating_platforms.png` 做地面和悬空平台。
- `PropsBack` / `PropsFront` 使用苔藓悬挂植物和平台边缘装饰 - `PropsBack` / `PropsFront` 使用苔藓悬挂植物、发光装饰和前景暗部遮挡
- Battle zone 已扩展为 5 段:入口、下沉洞道、主洞厅、高低平台群和出口段。
本轮只接入地图场景视觉,碰撞仍由 `collision` 独立定义;角色、怪物、植物动画和 hazard 玩法暂不接入。 本轮只接入地图场景视觉,碰撞仍由 `collision` 独立定义;角色、怪物、植物动画和 hazard 玩法暂不接入。
+2
View File
@@ -47,6 +47,8 @@ UI
- `props/mossy_decorations_hazards.png` - `props/mossy_decorations_hazards.png`
- `tiles/mossy_tileset.png` - `tiles/mossy_tileset.png`
当前 `stage_01.map` 已按参考图重做为 `6400 x 720` 的横向大地图。视觉结构包含远景洞穴轮廓、中景苔藓丘、顶部压暗悬挂植物、地面/平台裁切、发光装饰和前景暗部遮挡。
由于当前 `tile_rect` 只能取 tileset 第一行,正式 Mossy 场景暂时优先使用 `rect_sprite_src` 从大图集裁切。`mossy_tileset.png` 已落位,等后续扩展 tile row/column 或 tile id 后再用于精细铺砖。 由于当前 `tile_rect` 只能取 tileset 第一行,正式 Mossy 场景暂时优先使用 `rect_sprite_src` 从大图集裁切。`mossy_tileset.png` 已落位,等后续扩展 tile row/column 或 tile id 后再用于精细铺砖。
## 约束 ## 约束
+11 -10
View File
@@ -341,19 +341,20 @@ game/assets
### 6.3 关卡数据格式 ### 6.3 关卡数据格式
初期可以用 JSON 当前项目已经改为 `.map` 文本数据,由 `StageMapLoader` 读取
```json ```text
{ map stage_01
"player_spawn": { "x": 100, "y": 300 }, world 6400 720
"bounds": { "x": 0, "y": 0, "w": 3200, "h": 720 }, camera 0 0 6400 720
"solids": [], player_spawn 160 496
"enemy_spawns": [], collision <x> <y> <w> <h>
"triggers": [] layer <id> <role> <parallax>
} rect_sprite_src <x> <y> <w> <h> <r> <g> <b> <a> <texture> <sx> <sy> <sw> <sh>
battle_zone <id> <trigger_x> <trigger_y> <trigger_w> <trigger_h> <camera_x> <camera_y> <camera_w> <camera_h>
``` ```
后续可以考虑接入 Tiled,或者制作自定义简单编辑器 当前已经有自定义网页地图编辑器,后续优先继续完善 `.map` 编辑和部署流程
## 7. 动画和美术阶段 ## 7. 动画和美术阶段
@@ -204,7 +204,7 @@ mindmap
- `StageLayerSource` 已接入:每个 `StageRect` 可选择色块占位或 sprite 资源路径,加载失败时回退色块。 - `StageLayerSource` 已接入:每个 `StageRect` 可选择色块占位或 sprite 资源路径,加载失败时回退色块。
- `StageAssetSlots` 已建立:`stage_01` 资源目录和素材来源记录已预留,素材回来后可直接落位。 - `StageAssetSlots` 已建立:`stage_01` 资源目录和素材来源记录已预留,素材回来后可直接落位。
- `StageProps` 已统一:后景/前景 props 都走 `StageLayer`,前景层在 actor 之后绘制,可用于近景遮挡。 - `StageProps` 已统一:后景/前景 props 都走 `StageLayer`,前景层在 actor 之后绘制,可用于近景遮挡。
- 第一关宽度已扩展到 3200 像素,并加入 3 个 battle zone 占位与敌人出生点。 - 第一关宽度已扩展到 6400 像素,并加入 5 个 battle zone 占位与敌人出生点。
下一步: 下一步:
+15 -12
View File
@@ -17,7 +17,7 @@
第一轮场景骨架进度: 第一轮场景骨架进度:
- `LevelDefinition` 已扩展世界尺寸、玩家出生点、镜头范围、分层视觉、battle zone 和敌人出生点数据。 - `LevelDefinition` 已扩展世界尺寸、玩家出生点、镜头范围、分层视觉、battle zone 和敌人出生点数据。
- 第一关灰盒宽度已扩展到 3200 像素 - 第一关地图已扩展到 `6400 x 720`,当前主数据在 `game/assets/map/stage_01.map`
- `StageRenderer` 已支持远景、中景、地面/平台、后景 props 分层绘制,当前先用色块占位。 - `StageRenderer` 已支持远景、中景、地面/平台、后景 props 分层绘制,当前先用色块占位。
- `DebugOverlay` 已能显示碰撞、玩家框、battle zone、camera lock 范围和 spawn point。 - `DebugOverlay` 已能显示碰撞、玩家框、battle zone、camera lock 范围和 spawn point。
- `WhiteboxScene` 已支持 debug overlay,具体快捷键记录在 `../controls.md` - `WhiteboxScene` 已支持 debug overlay,具体快捷键记录在 `../controls.md`
@@ -35,10 +35,10 @@
第一关不急着做最终题材,先做通用 ACT 测试关: 第一关不急着做最终题材,先做通用 ACT 测试关:
- 横向推进,总宽度先控制在 2400 到 3200 像素。 - 横向推进,当前 Mossy Cavern 测试关宽度为 6400 像素。
- 主要视口仍用 1280x720。 - 主要视口仍用 1280x720。
- 地面以平路为主,加入 2 到 3 段平台高低差 - 主路线先保持连续地面,避免当前平台碰撞不支持台阶/斜坡导致卡关;高度变化主要放在悬空平台上,用于测试跳跃和镜头推进
- 至少预留 3 个战斗区域,每个区域宽度 480 到 720 像素。 - 至少预留 5 个战斗区域,每个区域宽度约 780 到 980 像素。
- 每个战斗区域有明确的入口、站位空间、敌人刷出点和退出方向。 - 每个战斗区域有明确的入口、站位空间、敌人刷出点和退出方向。
- 保留一个跳跃测试段,用来验证移动手感。 - 保留一个跳跃测试段,用来验证移动手感。
- 保留一个窄平台/边缘段,用来验证镜头和碰撞。 - 保留一个窄平台/边缘段,用来验证镜头和碰撞。
@@ -164,11 +164,13 @@ game/assets/stage/stage_01/
### Step 5:加入战斗区域数据 ### Step 5:加入战斗区域数据
在关卡中标出 3 个 battle zone 当前 Mossy Cavern 大地图标出 5 个 battle zone
- `zone_01_intro` - `zone_01_entrance`
- `zone_02_platform` - `zone_02_lower_cavern`
- `zone_03_exit` - `zone_03_main_hall`
- `zone_04_high_garden`
- `zone_05_exit`
每个区域包含: 每个区域包含:
@@ -201,7 +203,7 @@ game/assets/stage/stage_01/
- 至少 5 个平台/地面碰撞块。 - 至少 5 个平台/地面碰撞块。
- 至少 2 层背景。 - 至少 2 层背景。
- 至少 8 个装饰物。 - 至少 8 个装饰物。
- 至少 3 个 battle zone debug 标记。 - 至少 5 个 battle zone debug 标记。
- 场景资源路径集中在 `game/assets/stage/stage_01/` - 场景资源路径集中在 `game/assets/stage/stage_01/`
- 文档记录已使用素材来源和授权信息。 - 文档记录已使用素材来源和授权信息。
@@ -224,8 +226,8 @@ game/assets/stage/stage_01/
1. 已完成:扩展 `LevelDefinition`,加入世界尺寸、玩家出生点、镜头限制、敌人出生点、battle zone 占位数据。 1. 已完成:扩展 `LevelDefinition`,加入世界尺寸、玩家出生点、镜头限制、敌人出生点、battle zone 占位数据。
2. 已完成:扩展 `StageRenderer`,支持背景层、地面/平台视觉层、后景 props,第一版继续用色块。 2. 已完成:扩展 `StageRenderer`,支持背景层、地面/平台视觉层、后景 props,第一版继续用色块。
3. 已完成:扩展白盒关卡宽度到 3200 像素,并整理成 3 段推进节奏。 3. 已完成:扩展关卡宽度到 6400 像素,并整理成 5 Mossy Cavern 推进节奏。
4. 已完成:加入 3 个 battle zone debug 标记,但暂不做锁镜头和刷敌逻辑。 4. 已完成:加入 5 个 battle zone debug 标记,但暂不做刷敌逻辑。
5. 已完成:加入 spawn point debug 标记,用于后续接 `EnemyActor` 5. 已完成:加入 spawn point debug 标记,用于后续接 `EnemyActor`
6. 已完成:补 debug 开关,可切换碰撞、battle zone、spawn point。 6. 已完成:补 debug 开关,可切换碰撞、battle zone、spawn point。
@@ -252,7 +254,7 @@ game/assets/stage/stage_01/
- `LevelDefinition` 能表达世界尺寸、玩家出生点、相机边界、碰撞、视觉层、props、battle zone、spawn point。 - `LevelDefinition` 能表达世界尺寸、玩家出生点、相机边界、碰撞、视觉层、props、battle zone、spawn point。
- `StageRenderer` 能按层绘制远景、中景、地面/平台、后景 props、前景 props,并支持资源图和色块占位两种来源。 - `StageRenderer` 能按层绘制远景、中景、地面/平台、后景 props、前景 props,并支持资源图和色块占位两种来源。
- `DebugOverlay` 能显示碰撞、battle zone、camera lock、spawn point、玩家包围盒。 - `DebugOverlay` 能显示碰撞、battle zone、camera lock、spawn point、玩家包围盒。
- 关卡灰盒能从起点跑到终点,至少 3 个推进段和 3 个 battle zone 都能被观察到;具体验收流程见 `../scene_acceptance.md` - 关卡灰盒能从起点跑到终点,至少 5 个推进段和 5 个 battle zone 都能被观察到;具体验收流程见 `../scene_acceptance.md`
- 素材目录、命名、来源记录文件已经准备好,后续放入 PNG 后只改资源引用。 - 素材目录、命名、来源记录文件已经准备好,后续放入 PNG 后只改资源引用。
### 场景骨架实施顺序 ### 场景骨架实施顺序
@@ -328,5 +330,6 @@ game/assets/stage/stage_01/
2. 已完成:`stage_01.map``BackgroundFar``BackgroundMid``LevelVisual``PropsBack``PropsFront` 已改用 `rect_sprite_src` 裁切 Mossy 图集。 2. 已完成:`stage_01.map``BackgroundFar``BackgroundMid``LevelVisual``PropsBack``PropsFront` 已改用 `rect_sprite_src` 裁切 Mossy 图集。
3. 已完成:碰撞、玩家出生点、camera bounds、battle zone 和 spawn point 保持原数据,不把视觉块当碰撞使用。 3. 已完成:碰撞、玩家出生点、camera bounds、battle zone 和 spawn point 保持原数据,不把视觉块当碰撞使用。
4. 已完成:贴图 `LevelVisual` 不再叠加灰盒辅助顶线,避免平台素材显示异常。 4. 已完成:贴图 `LevelVisual` 不再叠加灰盒辅助顶线,避免平台素材显示异常。
5. 已完成:参考 `asset\Mossy Cavern\参考图`,把 `stage_01.map` 扩展为 `6400 x 720` 的横向大地图,包含入口、下沉洞道、主洞厅、高低平台群和出口 5 个推进段。
暂不接入 `BlueWizard Animations``Plant Animations``Slimes` 和 hazard 玩法。下一步围绕地图编辑器继续微调场景块位置和碰撞对齐。 暂不接入 `BlueWizard Animations``Plant Animations``Slimes` 和 hazard 玩法。下一步围绕地图编辑器继续微调场景块位置和碰撞对齐。
+6 -6
View File
@@ -7,11 +7,11 @@
- 场景入口:`WhiteboxScene` - 场景入口:`WhiteboxScene`
- 关卡数据:`game/assets/map/stage_01.map` - 关卡数据:`game/assets/map/stage_01.map`
- 关卡 fallback`CreateWhiteboxLevel()` 内置 C++ 白盒数据 - 关卡 fallback`CreateWhiteboxLevel()` 内置 C++ 白盒数据
- 世界尺寸:`3200 x 720` - 世界尺寸:`6400 x 720`
- 玩家出生点:`(160, 380)` - 玩家出生点:`(160, 496)`
- 关卡边界:`0 -> 3200` - 关卡边界:`0 -> 6400`
- 视口:`1280 x 720` - 视口:`1280 x 720`
- Battle zones`zone_01_intro``zone_02_platform``zone_03_exit` - Battle zones`zone_01_entrance``zone_02_lower_cavern``zone_03_main_hall``zone_04_high_garden``zone_05_exit`
- 资源槽位:`game/assets/stage/stage_01/` - 资源槽位:`game/assets/stage/stage_01/`
- 地图资源:`game/assets/map/stage_01.map` - 地图资源:`game/assets/map/stage_01.map`
- Tile 数据:`stage_01.map` 中的 `tileset` / `tile_rect` - Tile 数据:`stage_01.map` 中的 `tileset` / `tile_rect`
@@ -72,7 +72,7 @@ Test-Path build\switch\aarch64\release\switch_game\romfs\assets\fonts
1. 启动 Windows 版 `Frostbite2DGame.exe` 1. 启动 Windows 版 `Frostbite2DGame.exe`
2. 从出生点向右移动,确认摄像机横向跟随且不露出世界外黑边。 2. 从出生点向右移动,确认摄像机横向跟随且不露出世界外黑边。
3. 依次进入 3 个 battle zone,确认 camera bounds 平滑切换,没有硬切瞬移。 3. 依次进入 5 个 battle zone,确认 camera bounds 平滑切换,没有硬切瞬移。
4. 通过 debug 清场或离开区域解除锁定,确认摄像机恢复全关卡跟随。 4. 通过 debug 清场或离开区域解除锁定,确认摄像机恢复全关卡跟随。
5. 使用 debug 分项开关检查: 5. 使用 debug 分项开关检查:
- 碰撞矩形和场景网格。 - 碰撞矩形和场景网格。
@@ -92,7 +92,7 @@ Test-Path build\switch\aarch64\release\switch_game\romfs\assets\fonts
- Switch `Frostbite2DGameSwitch` 构建:通过。 - Switch `Frostbite2DGameSwitch` 构建:通过。
- Switch RomFS:已包含 character、shader、`stage_01` 资源槽位和 `assets/map/stage_01.map` - Switch RomFS:已包含 character、shader、`stage_01` 资源槽位和 `assets/map/stage_01.map`
- 地图加载:`stage_01.map` 已作为第一关主数据源;C++ 白盒数据仅作为 fallback。 - 地图加载:`stage_01.map` 已作为第一关主数据源;C++ 白盒数据仅作为 fallback。
- 地图 tile 化:`level_visual` 已由 `tileset` / `tile_rect` 表达;tileset 图片缺失时使用 fallback 色绘制 - 地图视觉:`stage_01.map` 已扩展为 `6400 x 720` 的 Mossy Cavern 大地图,当前主要通过 `rect_sprite_src` 裁切场景图集表达
- 引擎能力接入:`Animation`/NPK/PNG 角色资源优先级、`UIScene`/`TextSprite` UI、`Sound`/`Music` cue、`SaveSystem` debug 存档已接入。 - 引擎能力接入:`Animation`/NPK/PNG 角色资源优先级、`UIScene`/`TextSprite` UI、`Sound`/`Music` cue、`SaveSystem` debug 存档已接入。
- 手动跑图:未在本轮执行,等待后续素材/战斗区域进一步接入时复测。 - 手动跑图:未在本轮执行,等待后续素材/战斗区域进一步接入时复测。