Skeleton level progress: wardrobe system, spawn markers, combat areas, and new environmental assets

- Added reusable wardrobe scene
- Created combat and return spawn markers
- Began skeleton level encounter structure
- Added graveyard/closet environmental assets
- Added childhood-themed storytelling objects
- Continued parallax background development
This commit is contained in:
doctorbatmanwho-creator 2026-06-11 21:25:59 -04:00
parent bbb8c76ab9
commit 341fad629c
27 changed files with 1006 additions and 56 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://xnn6o3vgrnyl"
path="res://.godot/imported/1_parallax-grave-back-trees.png-7bec9e5c849d8b4e537adcd698592beb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Graveyard/1_parallax-grave-back-trees.png"
dest_files=["res://.godot/imported/1_parallax-grave-back-trees.png-7bec9e5c849d8b4e537adcd698592beb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bdoq4klm2h3xw"
path="res://.godot/imported/1_parallax-grave-mid-trees.png-8c77039cf7001ce42329a9a01af10fdb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Graveyard/1_parallax-grave-mid-trees.png"
dest_files=["res://.godot/imported/1_parallax-grave-mid-trees.png-8c77039cf7001ce42329a9a01af10fdb.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://fpi4s8wle7hq"
path="res://.godot/imported/2_parallax-grave-mid-trees.png-3c4f4498ab4341ff6b3a6f8561f8520f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Graveyard/2_parallax-grave-mid-trees.png"
dest_files=["res://.godot/imported/2_parallax-grave-mid-trees.png-3c4f4498ab4341ff6b3a6f8561f8520f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c4mr5woa76b3y"
path="res://.godot/imported/parallax-rod-hangers.png-f02042f6a5099b369ef5abcdba412814.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Background/Graveyard/parallax-rod-hangers.png"
dest_files=["res://.godot/imported/parallax-rod-hangers.png-f02042f6a5099b369ef5abcdba412814.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://defq1skb78lvn"
path="res://.godot/imported/backpack.png-4eb76b1d9ee0c9cd36c8625beb61a7d8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Items/Graveyard/backpack.png"
dest_files=["res://.godot/imported/backpack.png-4eb76b1d9ee0c9cd36c8625beb61a7d8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b4146fu52p18y"
path="res://.godot/imported/closed-wardrobe.png-19044f4cf67667a7377d6d9aeaa21ad3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Items/Graveyard/closed-wardrobe.png"
dest_files=["res://.godot/imported/closed-wardrobe.png-19044f4cf67667a7377d6d9aeaa21ad3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqeigjeet88t8"
path="res://.godot/imported/laundry.png-b410a341bb01e97069467ff649744d50.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Items/Graveyard/laundry.png"
dest_files=["res://.godot/imported/laundry.png-b410a341bb01e97069467ff649744d50.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cohiewmxfcpt3"
path="res://.godot/imported/mirror.png-110086a979ce2d16f9316a83033d770b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Items/Graveyard/mirror.png"
dest_files=["res://.godot/imported/mirror.png-110086a979ce2d16f9316a83033d770b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1cttdrixt2nx"
path="res://.godot/imported/opened-wardrobe.png-a9dafecf242d5780091811e904bf8fac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Items/Graveyard/opened-wardrobe.png"
dest_files=["res://.godot/imported/opened-wardrobe.png-a9dafecf242d5780091811e904bf8fac.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b1abq20dk3w86"
path="res://.godot/imported/small dresser.png-ee0e68fc859b8a7edc56c2088bcae0cf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Items/Graveyard/small dresser.png"
dest_files=["res://.godot/imported/small dresser.png-ee0e68fc859b8a7edc56c2088bcae0cf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cs8d635bhjsd4"
path="res://.godot/imported/smaller night terrain blue.png-dc75a62b0a16e3b909f1e68e9c57f077.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Graphics/Terrains/Tileset/smaller night terrain blue.png"
dest_files=["res://.godot/imported/smaller night terrain blue.png-dc75a62b0a16e3b909f1e68e9c57f077.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
[ext_resource type="PackedScene" uid="uid://bu8e4iyw8pc03" path="res://Scenes/Player.tscn" id="1_d5ayw"]
[ext_resource type="Script" uid="uid://bs4frobn6kxne" path="res://Scripts/scene_manager.gd" id="2_us1pb"]
[ext_resource type="PackedScene" uid="uid://c6mxse0hqjro7" path="res://Scenes/Levels/Level_1_library.tscn" id="3_cwqmr"]
[ext_resource type="PackedScene" uid="uid://8n6472fqqmcc" path="res://Scenes/Levels/Level_3_graveyard.tscn" id="3_d5ayw"]
[node name="MainGame" type="Node2D"]
@ -13,4 +13,4 @@ script = ExtResource("2_us1pb")
[node name="CurrentLevel" type="Node2D" parent="."]
[node name="Level_1_library" parent="CurrentLevel" instance=ExtResource("3_cwqmr")]
[node name="Graveyard" parent="CurrentLevel" instance=ExtResource("3_d5ayw")]

28
Scenes/Wardrobe.tscn Normal file
View File

@ -0,0 +1,28 @@
[gd_scene load_steps=5 format=3 uid="uid://dyxbksdpg14iw"]
[ext_resource type="Script" uid="uid://dvy2m2noeyqdg" path="res://Scripts/wardrobe.gd" id="1_g2djp"]
[ext_resource type="Texture2D" uid="uid://b4146fu52p18y" path="res://Assets/Graphics/Terrains/Items/Graveyard/closed-wardrobe.png" id="2_vjqmg"]
[ext_resource type="Texture2D" uid="uid://c1cttdrixt2nx" path="res://Assets/Graphics/Terrains/Items/Graveyard/opened-wardrobe.png" id="3_ufc8o"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_g5gow"]
size = Vector2(330, 380)
[node name="Wardrobe" type="Node2D"]
script = ExtResource("1_g2djp")
[node name="ClosedSprite" type="Sprite2D" parent="."]
scale = Vector2(0.2, 0.2)
texture = ExtResource("2_vjqmg")
[node name="OpenSprite" type="Sprite2D" parent="."]
visible = false
scale = Vector2(0.2, 0.2)
texture = ExtResource("3_ufc8o")
[node name="Area2D" type="Area2D" parent="."]
scale = Vector2(0.2, 0.2)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(-5.000018, 9.999998)
scale = Vector2(0.9999998, 0.9999998)
shape = SubResource("RectangleShape2D_g5gow")

49
Scripts/wardrobe.gd Normal file
View File

@ -0,0 +1,49 @@
extends Node2D
@export var combat_spawn: Marker2D
@export var return_spawn: Marker2D
@onready var closed_sprite: Sprite2D = $ClosedSprite
@onready var open_sprite: Sprite2D = $OpenSprite
@onready var area: Area2D = $Area2D
var player_inside := false
var player: Player = null
var completed := false
func _ready() -> void:
open_sprite.visible = false
closed_sprite.visible = true
area.body_entered.connect(_on_body_entered)
area.body_exited.connect(_on_body_exited)
func _process(_delta: float) -> void:
if player_inside and not completed and Input.is_action_just_pressed("ui_up"):
enter_wardrobe()
func _on_body_entered(body: Node) -> void:
if body is Player:
player_inside = true
player = body
print("Press UP to enter wardrobe")
func _on_body_exited(body: Node) -> void:
if body is Player:
player_inside = false
player = null
func enter_wardrobe() -> void:
if player == null:
return
if combat_spawn == null:
print("No combat_spawn assigned for this wardrobe yet")
return
print("Entering wardrobe")
closed_sprite.visible = false
open_sprite.visible = true
player.global_position = combat_spawn.global_position

1
Scripts/wardrobe.gd.uid Normal file
View File

@ -0,0 +1 @@
uid://dvy2m2noeyqdg