started working on a boss room.

This commit is contained in:
2026-01-21 19:44:48 +01:00
parent 152992398c
commit c153c69e37
32 changed files with 871 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://by63tvjh48une"
path="res://.godot/imported/RPG DUNGEON VOL 3_280x280.png-193db2d8502cf2b0152ac610f9a73c17.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/RPG DUNGEON VOL 3_280x280.png"
dest_files=["res://.godot/imported/RPG DUNGEON VOL 3_280x280.png-193db2d8502cf2b0152ac610f9a73c17.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: 7.2 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dnqqb2jw6qk5c"
path="res://.godot/imported/SPIDERBATNY.png-90b697fe2c4f8125876f16013b539035.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/enemies/boss/SPIDERBATNY.png"
dest_files=["res://.godot/imported/SPIDERBATNY.png-90b697fe2c4f8125876f16013b539035.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: 1.1 MiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cmnpe1oxcwtha"
path="res://.godot/imported/image (6).png-f73cd153631eab0bc988679e57cbaec2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/enemies/boss/image (6).png"
dest_files=["res://.godot/imported/image (6).png-f73cd153631eab0bc988679e57cbaec2.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: 984 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dgujcjx66hit8"
path="res://.godot/imported/Gemini_Generated_Image_4u573x4u573x4u57.png-af1397ccfbb94079cef219927db465ce.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/Gemini_Generated_Image_4u573x4u573x4u57.png"
dest_files=["res://.godot/imported/Gemini_Generated_Image_4u573x4u573x4u57.png-af1397ccfbb94079cef219927db465ce.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: 19 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cg0diefe1rtxs"
path="res://.godot/imported/nedladdning (13).png-4402e3e21dcf2cb2abefb4ab5bd0145f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/nedladdning (13).png"
dest_files=["res://.godot/imported/nedladdning (13).png-4402e3e21dcf2cb2abefb4ab5bd0145f.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: 9.2 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dwthqtcn5sqoj"
path="res://.godot/imported/nedladdning (14).png-5c457482b1ea52315cf0839e0c715f8e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/nedladdning (14).png"
dest_files=["res://.godot/imported/nedladdning (14).png-5c457482b1ea52315cf0839e0c715f8e.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: 16 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6cj6onfmkp5y"
path="res://.godot/imported/nedladdning (15).png-0c8cb055061bad3208b4d34db2d1dc9c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/nedladdning (15).png"
dest_files=["res://.godot/imported/nedladdning (15).png-0c8cb055061bad3208b4d34db2d1dc9c.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: 7.1 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dl6jhkq5x6if4"
path="res://.godot/imported/nedladdning (16).png-3830e9ba9db57a19f457ce09c7a66dac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/nedladdning (16).png"
dest_files=["res://.godot/imported/nedladdning (16).png-3830e9ba9db57a19f457ce09c7a66dac.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: 7.7 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ke8bqkv0m3mc"
path="res://.godot/imported/nedladdning (17).png-8c9cf539200bf3427ab5e805177da0d4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/nedladdning (17).png"
dest_files=["res://.godot/imported/nedladdning (17).png-8c9cf539200bf3427ab5e805177da0d4.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: 6.7 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccw6hho7oxlo1"
path="res://.godot/imported/nedladdning (18).png-c3e64dcb2b7c2e46233df3dadd4f3608.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/nedladdning (18).png"
dest_files=["res://.godot/imported/nedladdning (18).png-c3e64dcb2b7c2e46233df3dadd4f3608.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: 7.7 KiB

View File

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b4emhufxn4wb7"
path="res://.godot/imported/nedladdning (19).png-a7b1f4d5efe3d8f6db39864866c28fcc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/gfx/fx/flames/nedladdning (19).png"
dest_files=["res://.godot/imported/nedladdning (19).png-a7b1f4d5efe3d8f6db39864866c28fcc.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

File diff suppressed because one or more lines are too long

144
src/scenes/fire.tscn Normal file
View File

@@ -0,0 +1,144 @@
[gd_scene format=3 uid="uid://dlpxvxijydpob"]
[ext_resource type="Texture2D" uid="uid://dwthqtcn5sqoj" path="res://assets/gfx/fx/flames/nedladdning (14).png" id="1_52nqi"]
[ext_resource type="Script" uid="uid://dvqusisdxpobp" path="res://scripts/fire.gd" id="1_xqmqg"]
[ext_resource type="Shader" uid="uid://c40fb6mfe76g3" path="res://shaders/fire_light.gdshader" id="3_g5mbl"]
[sub_resource type="Animation" id="Animation_w00nx"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../AnimationPlayer:current_animation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&""]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("../TorchLight:texture_scale")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_6c2w1"]
resource_name = "burning"
length = 0.42
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.03333333, 0.06666666, 0.099999994, 0.13333333, 0.16666667, 0.2, 0.23333333, 0.26666668, 0.3, 0.33333334, 0.36666667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../TorchLight:texture_scale")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.03333334, 0.06666667, 0.1, 0.13333334, 0.16666667, 0.2, 0.23333333, 0.26666668, 0.3, 0.33333334, 0.36666667),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [1.0, 1.01, 1.04, 1.0, 1.06, 1.0, 0.95, 1.0, 1.0, 1.05, 1.0, 1.02]
}
[sub_resource type="Animation" id="Animation_go3kq"]
resource_name = "firestart"
length = 0.18
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.03333334, 0.1, 0.13333336),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [0, 0, 1, 2]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("../AnimationPlayer:current_animation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.16666667),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [&"burning"]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_rd7dh"]
_data = {
&"RESET": SubResource("Animation_w00nx"),
&"burning": SubResource("Animation_6c2w1"),
&"firestart": SubResource("Animation_go3kq")
}
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rach5"]
shader = ExtResource("3_g5mbl")
shader_parameter/brightness_multiplier = 3.0
[sub_resource type="Gradient" id="Gradient_lquwl"]
offsets = PackedFloat32Array(0.743, 0.74418604)
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_w00nx"]
gradient = SubResource("Gradient_lquwl")
fill = 1
fill_from = Vector2(0.508547, 0.487179)
fill_to = Vector2(0.974359, 0.0470085)
[node name="Fire" type="Node2D" unique_id=250449909]
script = ExtResource("1_xqmqg")
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=546834922]
texture = ExtResource("1_52nqi")
hframes = 4
vframes = 4
metadata/_edit_lock_ = true
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1975648299]
root_node = NodePath("../Sprite2D")
libraries/ = SubResource("AnimationLibrary_rd7dh")
autoplay = &"firestart"
[node name="TorchLight" type="PointLight2D" parent="." unique_id=1247002843]
modulate = Color(1.353256, 1.353256, 1.353256, 1)
z_index = 10
material = SubResource("ShaderMaterial_rach5")
position = Vector2(0, -1)
blend_mode = 2
texture = SubResource("GradientTexture2D_w00nx")

View File

@@ -0,0 +1,69 @@
extends Node2D
@onready var camera = $Camera2D
const BASE_CAMERA_ZOOM: float = 4.0
const BASE_CAMERA_ZOOM_MOBILE: float = 5.5 # More zoomed in for mobile devices
const REFERENCE_ASPECT: float = 16.0 / 9.0
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
$Entities/Player.all_clients_ready = true
$Entities/Player.controls_disabled = false
$Entities/Player.is_local_player = true
NetworkManager.is_hosting = true
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
# Update camera to follow local players
_update_camera()
pass
func _update_camera():
var local_players = [$Entities/Player]
if local_players.is_empty():
return
# Calculate center of all local players
var center = Vector2.ZERO
for player in local_players:
center += player.position
center /= local_players.size()
# Smooth camera movement
camera.position = camera.position.lerp(center, 0.1)
# Base zoom with aspect ratio adjustment (show more on wider screens)
var viewport_size = get_viewport().get_visible_rect().size
var aspect = viewport_size.x / max(1.0, viewport_size.y)
var aspect_factor = 1.0
if aspect > REFERENCE_ASPECT:
# Wider than 16:9 -> zoom out to show more
aspect_factor = REFERENCE_ASPECT / aspect
# Detect mobile/touchscreen and use higher zoom for better visibility
var is_mobile = false
var os_name = OS.get_name().to_lower()
if os_name in ["android", "ios"] or DisplayServer.is_touchscreen_available():
is_mobile = true
var base_zoom = BASE_CAMERA_ZOOM_MOBILE if is_mobile else BASE_CAMERA_ZOOM
var target_zoom = base_zoom * aspect_factor
# Adjust zoom based on player spread (for split-screen effect)
if local_players.size() > 1:
var max_distance = 0.0
for player in local_players:
var distance = center.distance_to(player.position)
max_distance = max(max_distance, distance)
# Adjust zoom to fit all players
var spread_zoom = clamp(800.0 / (max_distance + 400.0), 0.5, 1.5)
target_zoom *= spread_zoom
# Always update zoom (for both single and multi-player)
camera.zoom = camera.zoom.lerp(Vector2.ONE * target_zoom, 0.05)

View File

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

14
src/scripts/fire.gd Normal file
View File

@@ -0,0 +1,14 @@
extends Node2D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
var otherTex = randi() % 2
if otherTex == 0:
$Sprite2D.texture = load("res://assets/gfx/fx/flames/nedladdning (15).png")
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass

1
src/scripts/fire.gd.uid Normal file
View File

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

View File

@@ -1696,7 +1696,7 @@ func _update_camera():
# Adjust zoom based on player spread (for split-screen effect)
if local_players.size() > 1:
var max_distance = 0.0
var max_distance = 0.0a
for player in local_players:
var distance = center.distance_to(player.position)
max_distance = max(max_distance, distance)

View File

@@ -0,0 +1,20 @@
shader_type canvas_item;
uniform sampler2D screen_texture : hint_screen_texture, filter_linear_mipmap;
uniform float brightness_multiplier : hint_range(1.0, 10.0) = 3.0;
void fragment() {
// 1. Get the color of the darkened floor behind the sprite
vec4 background = texture(screen_texture, SCREEN_UV);
// 2. Get the shape/fading of your light texture
// We use the 'r' channel or 'a' channel depending on your sprite
float mask = texture(TEXTURE, UV).a;
// 3. Instead of adding white, we multiply the background pixels
// This restores the original colors of your tiles
vec3 light_effect = background.rgb * (1.0 + (mask * brightness_multiplier));
// 4. Output the result
COLOR = vec4(light_effect, 1.0);
}

View File

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