Merge branch 'main' of https://git.game-dev.space/minimata/GMTK25
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 8s
Create tag and build when new code gets to main / Export (push) Successful in 2m31s

This commit is contained in:
2025-08-03 16:14:05 +02:00
12 changed files with 500 additions and 45 deletions

View File

@ -2,7 +2,7 @@ extends RigidBody2D
@onready var area_2d: Area2D = $Area2D @onready var area_2d: Area2D = $Area2D
@onready var kill_after: Timer = $KillAfter @onready var kill_after: Timer = $KillAfter
@onready var kill_audio: AudioStreamPlayer = $KillAudio @onready var kill_audio: AudioStreamPlayer2D = $KillAudio
@export var speed = 100 @export var speed = 100
@export var rotation_speed = 1 @export var rotation_speed = 1

View File

@ -51,8 +51,9 @@ wait_time = 3.0
one_shot = true one_shot = true
ignore_time_scale = true ignore_time_scale = true
[node name="KillAudio" type="AudioStreamPlayer" parent="."] [node name="KillAudio" type="AudioStreamPlayer2D" parent="."]
stream = SubResource("AudioStreamRandomizer_l8mgh") stream = SubResource("AudioStreamRandomizer_l8mgh")
max_distance = 100.0
bus = &"SFX" bus = &"SFX"
[connection signal="body_entered" from="." to="." method="_on_body_entered"] [connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@ -5,35 +5,41 @@ bus/1/name = &"SFX"
bus/1/solo = false bus/1/solo = false
bus/1/mute = false bus/1/mute = false
bus/1/bypass_fx = false bus/1/bypass_fx = false
bus/1/volume_db = -11.952 bus/1/volume_db = -12.4611
bus/1/send = &"Master" bus/1/send = &"Master"
bus/2/name = &"Ambiance" bus/2/name = &"Ambiance"
bus/2/solo = false bus/2/solo = false
bus/2/mute = false bus/2/mute = false
bus/2/bypass_fx = false bus/2/bypass_fx = false
bus/2/volume_db = -7.26851 bus/2/volume_db = -16.4004
bus/2/send = &"Master" bus/2/send = &"Master"
bus/3/name = &"Music" bus/3/name = &"Music"
bus/3/solo = false bus/3/solo = false
bus/3/mute = false bus/3/mute = false
bus/3/bypass_fx = false bus/3/bypass_fx = false
bus/3/volume_db = -8.00903 bus/3/volume_db = -16.4004
bus/3/send = &"Master" bus/3/send = &"Master"
bus/4/name = &"Gearup" bus/4/name = &"Gearup"
bus/4/solo = false bus/4/solo = false
bus/4/mute = false bus/4/mute = false
bus/4/bypass_fx = false bus/4/bypass_fx = false
bus/4/volume_db = -4.003 bus/4/volume_db = -6.25101
bus/4/send = &"Master" bus/4/send = &"Master"
bus/5/name = &"Steps" bus/5/name = &"Steps"
bus/5/solo = false bus/5/solo = false
bus/5/mute = false bus/5/mute = false
bus/5/bypass_fx = false bus/5/bypass_fx = false
bus/5/volume_db = -20.3684 bus/5/volume_db = -23.3524
bus/5/send = &"Master" bus/5/send = &"Master"
bus/6/name = &"Dialogue" bus/6/name = &"Dialogue"
bus/6/solo = false bus/6/solo = false
bus/6/mute = false bus/6/mute = false
bus/6/bypass_fx = false bus/6/bypass_fx = false
bus/6/volume_db = -15.1981 bus/6/volume_db = -10.9863
bus/6/send = &"Master" bus/6/send = &"Master"
bus/7/name = &"BadGuy"
bus/7/solo = false
bus/7/mute = false
bus/7/bypass_fx = false
bus/7/volume_db = -0.526013
bus/7/send = &"Master"

View File

@ -17,6 +17,7 @@ extends Node
@export var start_with_left = false @export var start_with_left = false
@export var left_picture: Texture2D @export var left_picture: Texture2D
@export var right_picture: Texture2D @export var right_picture: Texture2D
@onready var dialogue_player: AudioStreamPlayer = $DialoguePlayer
signal dialogue_ended signal dialogue_ended
@ -96,7 +97,8 @@ func _on_next_letter() -> void:
ui_flicker_timer.stop() ui_flicker_timer.stop()
e_ui_button.visible = false e_ui_button.visible = false
next_label.visible = false next_label.visible = false
dialogue_player.pitch_scale = randf_range(5, 6)
dialogue_player.play()
var next_letter = current_dialogue_split.get(0) var next_letter = current_dialogue_split.get(0)
current_dialogue_split.remove_at(0) current_dialogue_split.remove_at(0)
current_dialogue += next_letter current_dialogue += next_letter

View File

@ -87,7 +87,7 @@ one_shot = true
stream = ExtResource("5_iblih") stream = ExtResource("5_iblih")
autoplay = true autoplay = true
max_distance = 400.0 max_distance = 400.0
bus = &"SFX" bus = &"BadGuy"
[connection signal="body_entered" from="TriggerHit" to="." method="_on_trigger_hit_body_entered"] [connection signal="body_entered" from="TriggerHit" to="." method="_on_trigger_hit_body_entered"]
[connection signal="timeout" from="TimeToFinishHit" to="." method="_on_time_to_finish_hit_timeout"] [connection signal="timeout" from="TimeToFinishHit" to="." method="_on_time_to_finish_hit_timeout"]

View File

@ -35,8 +35,8 @@ func _ready() -> void:
child.became_active.connect(on_camera_became_active) child.became_active.connect(on_camera_became_active)
ambiance.get_stream_playback().switch_to_clip_by_name("Start") ambiance.get_stream_playback().switch_to_clip_by_name("Start")
#opening_cutscene.play("opening_cutscene") opening_cutscene.play("opening_cutscene")
#opening_fade_to_black.visible = true opening_fade_to_black.visible = true
func on_camera_became_active(camera: SuperCamera): func on_camera_became_active(camera: SuperCamera):
active_camera = camera active_camera = camera
@ -59,6 +59,7 @@ func _process(delta: float) -> void:
func _on_start_dancing() -> void: func _on_start_dancing() -> void:
dance_cutscene.play("dance") dance_cutscene.play("dance")
ambiance.stop()
func restart_at_first_scene(): func restart_at_first_scene():
get_tree().change_scene_to_file("res://main.tscn") get_tree().change_scene_to_file("res://main.tscn")

238
main.tscn

File diff suppressed because one or more lines are too long

View File

@ -21,7 +21,7 @@ var gravity_modifier = 1
@onready var base: AnimatedSprite2D = $Base @onready var base: AnimatedSprite2D = $Base
var current_sprite: AnimatedSprite2D var current_sprite: AnimatedSprite2D
var is_in_cutscene = false # back to true on build var is_in_cutscene = true # back to true on build
var current_animation = "idle" var current_animation = "idle"
var is_hitting = false var is_hitting = false

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=90 format=3 uid="uid://yvp44oauis4n"] [gd_scene load_steps=91 format=3 uid="uid://yvp44oauis4n"]
[ext_resource type="Script" uid="uid://c1fqj3lba7wik" path="res://player/player.gd" id="1_yw30f"] [ext_resource type="Script" uid="uid://c1fqj3lba7wik" path="res://player/player.gd" id="1_yw30f"]
[ext_resource type="Texture2D" uid="uid://cjruk5xlt3tyn" path="res://ennemy/MechantVol.png" id="2_ebec5"] [ext_resource type="Texture2D" uid="uid://cjruk5xlt3tyn" path="res://ennemy/MechantVol.png" id="2_ebec5"]
@ -11,6 +11,7 @@
[ext_resource type="Texture2D" uid="uid://dsxvqsh3umw01" path="res://player/assets/RunCycle.png" id="5_boad6"] [ext_resource type="Texture2D" uid="uid://dsxvqsh3umw01" path="res://player/assets/RunCycle.png" id="5_boad6"]
[ext_resource type="PackedScene" uid="uid://djwoetcyvvofc" path="res://damageable/damageable.tscn" id="5_g6k8r"] [ext_resource type="PackedScene" uid="uid://djwoetcyvvofc" path="res://damageable/damageable.tscn" id="5_g6k8r"]
[ext_resource type="Shape2D" uid="uid://6rhdwj5jxbxn" path="res://player/player_collision.tres" id="5_qjkh3"] [ext_resource type="Shape2D" uid="uid://6rhdwj5jxbxn" path="res://player/player_collision.tres" id="5_qjkh3"]
[ext_resource type="Texture2D" uid="uid://bhrqdo0cadpf4" path="res://player/assets/IdleArmes.png" id="6_s7qer"]
[ext_resource type="Texture2D" uid="uid://dw6tn0grt2ajc" path="res://player/assets/WalkCycle.png" id="10_yllr7"] [ext_resource type="Texture2D" uid="uid://dw6tn0grt2ajc" path="res://player/assets/WalkCycle.png" id="10_yllr7"]
[ext_resource type="PackedScene" uid="uid://7sqwi3lygb1u" path="res://damageable/hitbox.tscn" id="11_2ieo8"] [ext_resource type="PackedScene" uid="uid://7sqwi3lygb1u" path="res://damageable/hitbox.tscn" id="11_2ieo8"]
[ext_resource type="AudioStream" uid="uid://cw85p1vga71gf" path="res://world_assets/audio/443275__loscolt890__regularfootstep001.wav" id="14_32hag"] [ext_resource type="AudioStream" uid="uid://cw85p1vga71gf" path="res://world_assets/audio/443275__loscolt890__regularfootstep001.wav" id="14_32hag"]
@ -184,13 +185,13 @@ region = Rect2(128, 0, 32, 32)
atlas = ExtResource("4_8t03j") atlas = ExtResource("4_8t03j")
region = Rect2(160, 0, 32, 32) region = Rect2(160, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_2ieo8"] [sub_resource type="AtlasTexture" id="AtlasTexture_j3r50"]
atlas = ExtResource("2_hg6s5") atlas = ExtResource("6_s7qer")
region = Rect2(96, 0, 32, 32) region = Rect2(0, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_ebec5"] [sub_resource type="AtlasTexture" id="AtlasTexture_utr5e"]
atlas = ExtResource("2_hg6s5") atlas = ExtResource("6_s7qer")
region = Rect2(288, 0, 32, 32) region = Rect2(32, 0, 32, 32)
[sub_resource type="AtlasTexture" id="AtlasTexture_yllr7"] [sub_resource type="AtlasTexture" id="AtlasTexture_yllr7"]
atlas = ExtResource("2_hg6s5") atlas = ExtResource("2_hg6s5")
@ -325,10 +326,10 @@ animations = [{
}, { }, {
"frames": [{ "frames": [{
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_2ieo8") "texture": SubResource("AtlasTexture_j3r50")
}, { }, {
"duration": 1.0, "duration": 1.0,
"texture": SubResource("AtlasTexture_ebec5") "texture": SubResource("AtlasTexture_utr5e")
}], }],
"loop": true, "loop": true,
"name": &"idle", "name": &"idle",
@ -611,10 +612,8 @@ autoplay = "power_up"
visible = false visible = false
position = Vector2(0, -16) position = Vector2(0, -16)
sprite_frames = SubResource("SpriteFrames_jfgyi") sprite_frames = SubResource("SpriteFrames_jfgyi")
animation = &"hit" animation = &"idle"
autoplay = "idle" autoplay = "idle"
frame = 5
frame_progress = 1.0
[node name="Shield" type="AnimatedSprite2D" parent="."] [node name="Shield" type="AnimatedSprite2D" parent="."]
visible = false visible = false

View File

@ -1,8 +1,10 @@
[gd_resource type="TileSet" load_steps=7 format=3 uid="uid://tyrwsjeq31vu"] [gd_resource type="TileSet" load_steps=11 format=3 uid="uid://tyrwsjeq31vu"]
[ext_resource type="Texture2D" uid="uid://cjo4jkl6vrlnr" path="res://world_assets/stringstar fields/background_0.png" id="1_oufsv"] [ext_resource type="Texture2D" uid="uid://cjo4jkl6vrlnr" path="res://world_assets/stringstar fields/background_0.png" id="1_oufsv"]
[ext_resource type="Texture2D" uid="uid://867g736r74nf" path="res://world_assets/Cave/mainlev_build.png" id="2_01dhf"] [ext_resource type="Texture2D" uid="uid://867g736r74nf" path="res://world_assets/Cave/mainlev_build.png" id="2_01dhf"]
[ext_resource type="Texture2D" uid="uid://cmfneyajqyim4" path="res://world_assets/oak_woods/oak_woods_tileset.png" id="3_01dhf"] [ext_resource type="Texture2D" uid="uid://cmfneyajqyim4" path="res://world_assets/oak_woods/oak_woods_tileset.png" id="3_01dhf"]
[ext_resource type="Texture2D" uid="uid://bwccijuqq2uxj" path="res://world_assets/oak_woods/background/background_layer_3.png" id="4_i4k15"]
[ext_resource type="Texture2D" uid="uid://bs66qg0effkb5" path="res://world_assets/stringstar fields/background_2.png" id="5_dsouv"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_i4k15"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_i4k15"]
texture = ExtResource("1_oufsv") texture = ExtResource("1_oufsv")
@ -1520,7 +1522,217 @@ texture = ExtResource("3_01dhf")
29:21/0 = 0 29:21/0 = 0
30:21/0 = 0 30:21/0 = 0
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_h1iwu"]
texture = ExtResource("4_i4k15")
0:0/0 = 0
1:0/0 = 0
2:0/0 = 0
3:0/0 = 0
4:0/0 = 0
5:0/0 = 0
6:0/0 = 0
7:0/0 = 0
8:0/0 = 0
9:0/0 = 0
10:0/0 = 0
11:0/0 = 0
12:0/0 = 0
13:0/0 = 0
14:0/0 = 0
15:0/0 = 0
16:0/0 = 0
17:0/0 = 0
18:0/0 = 0
19:0/0 = 0
0:1/0 = 0
1:1/0 = 0
2:1/0 = 0
3:1/0 = 0
4:1/0 = 0
5:1/0 = 0
6:1/0 = 0
7:1/0 = 0
8:1/0 = 0
9:1/0 = 0
10:1/0 = 0
11:1/0 = 0
12:1/0 = 0
13:1/0 = 0
14:1/0 = 0
15:1/0 = 0
16:1/0 = 0
17:1/0 = 0
18:1/0 = 0
19:1/0 = 0
0:2/0 = 0
1:2/0 = 0
2:2/0 = 0
4:2/0 = 0
5:2/0 = 0
6:2/0 = 0
7:2/0 = 0
8:2/0 = 0
9:2/0 = 0
10:2/0 = 0
11:2/0 = 0
12:2/0 = 0
13:2/0 = 0
14:2/0 = 0
15:2/0 = 0
16:2/0 = 0
17:2/0 = 0
18:2/0 = 0
19:2/0 = 0
0:3/0 = 0
5:3/0 = 0
6:3/0 = 0
7:3/0 = 0
8:3/0 = 0
9:3/0 = 0
10:3/0 = 0
11:3/0 = 0
12:3/0 = 0
16:3/0 = 0
17:3/0 = 0
18:3/0 = 0
19:3/0 = 0
5:4/0 = 0
6:4/0 = 0
7:4/0 = 0
8:4/0 = 0
9:4/0 = 0
10:4/0 = 0
11:4/0 = 0
17:4/0 = 0
18:4/0 = 0
19:4/0 = 0
7:5/0 = 0
8:5/0 = 0
9:5/0 = 0
10:5/0 = 0
16:5/0 = 0
17:5/0 = 0
18:5/0 = 0
19:5/0 = 0
0:6/0 = 0
7:6/0 = 0
8:6/0 = 0
9:6/0 = 0
10:6/0 = 0
17:6/0 = 0
18:6/0 = 0
19:6/0 = 0
7:7/0 = 0
8:7/0 = 0
9:7/0 = 0
10:7/0 = 0
16:7/0 = 0
17:7/0 = 0
18:7/0 = 0
19:7/0 = 0
0:8/0 = 0
7:8/0 = 0
8:8/0 = 0
9:8/0 = 0
10:8/0 = 0
16:8/0 = 0
17:8/0 = 0
18:8/0 = 0
19:8/0 = 0
0:9/0 = 0
1:9/0 = 0
2:9/0 = 0
3:9/0 = 0
4:9/0 = 0
5:9/0 = 0
6:9/0 = 0
7:9/0 = 0
8:9/0 = 0
9:9/0 = 0
10:9/0 = 0
11:9/0 = 0
12:9/0 = 0
13:9/0 = 0
14:9/0 = 0
15:9/0 = 0
16:9/0 = 0
17:9/0 = 0
18:9/0 = 0
19:9/0 = 0
0:10/0 = 0
1:10/0 = 0
2:10/0 = 0
3:10/0 = 0
4:10/0 = 0
5:10/0 = 0
6:10/0 = 0
7:10/0 = 0
8:10/0 = 0
9:10/0 = 0
10:10/0 = 0
11:10/0 = 0
12:10/0 = 0
13:10/0 = 0
14:10/0 = 0
15:10/0 = 0
16:10/0 = 0
17:10/0 = 0
18:10/0 = 0
19:10/0 = 0
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_q6ngd"]
texture = ExtResource("5_dsouv")
15:7/0 = 0
16:7/0 = 0
0:8/0 = 0
1:8/0 = 0
2:8/0 = 0
4:8/0 = 0
5:8/0 = 0
13:8/0 = 0
14:8/0 = 0
15:8/0 = 0
16:8/0 = 0
17:8/0 = 0
0:9/0 = 0
1:9/0 = 0
2:9/0 = 0
3:9/0 = 0
4:9/0 = 0
5:9/0 = 0
6:9/0 = 0
7:9/0 = 0
9:9/0 = 0
10:9/0 = 0
11:9/0 = 0
12:9/0 = 0
13:9/0 = 0
14:9/0 = 0
15:9/0 = 0
16:9/0 = 0
17:9/0 = 0
0:10/0 = 0
1:10/0 = 0
2:10/0 = 0
3:10/0 = 0
4:10/0 = 0
5:10/0 = 0
6:10/0 = 0
7:10/0 = 0
8:10/0 = 0
9:10/0 = 0
10:10/0 = 0
11:10/0 = 0
12:10/0 = 0
13:10/0 = 0
14:10/0 = 0
15:10/0 = 0
16:10/0 = 0
17:10/0 = 0
[resource] [resource]
sources/0 = SubResource("TileSetAtlasSource_i4k15") sources/0 = SubResource("TileSetAtlasSource_i4k15")
sources/1 = SubResource("TileSetAtlasSource_dsouv") sources/1 = SubResource("TileSetAtlasSource_dsouv")
sources/2 = SubResource("TileSetAtlasSource_nwg7v") sources/2 = SubResource("TileSetAtlasSource_nwg7v")
sources/3 = SubResource("TileSetAtlasSource_h1iwu")
sources/4 = SubResource("TileSetAtlasSource_q6ngd")

BIN
world_assets/light.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ct4s44kkdg8eh"
path="res://.godot/imported/light.webp-50bb55d00a8b3a29138779420ca586be.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://world_assets/light.webp"
dest_files=["res://.godot/imported/light.webp-50bb55d00a8b3a29138779420ca586be.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
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/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