summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2026-01-28 21:27:04 +0200
committerJan Tuomi <jan@jantuomi.fi>2026-01-28 21:27:04 +0200
commitaa2f8723ab5b87bb357d58a0165321a2060debb3 (patch)
treed44d4b57d20e24c585644a92e66b2f35c0df157d
parenta46cc0bb2268bec64b9219b10daa44f006410d46 (diff)
Add initial audio stuff
-rw-r--r--assets/sfx/die.wavbin0 -> 13640 bytes
-rw-r--r--assets/sfx/die.wav.import24
-rw-r--r--assets/sfx/fanfare.mp3bin0 -> 76800 bytes
-rw-r--r--assets/sfx/fanfare.mp3.import19
-rw-r--r--assets/sfx/jump.wavbin0 -> 12832 bytes
-rw-r--r--assets/sfx/jump.wav.import24
-rw-r--r--assets/sfx/walk1.wavbin0 -> 1890 bytes
-rw-r--r--assets/sfx/walk1.wav.import24
-rw-r--r--assets/shed-tears-263436.mp3bin0 -> 2561280 bytes
-rw-r--r--assets/shed-tears-263436.mp3.import19
-rw-r--r--default_bus_layout.tres16
-rw-r--r--dialogues/relic_get.gd6
-rw-r--r--player.gd24
-rw-r--r--player.tscn26
-rw-r--r--ps_dead.gd1
-rw-r--r--ps_normal.gd2
-rw-r--r--top.tscn9
17 files changed, 191 insertions, 3 deletions
diff --git a/assets/sfx/die.wav b/assets/sfx/die.wav
new file mode 100644
index 0000000..bb9a063
--- /dev/null
+++ b/assets/sfx/die.wav
Binary files differ
diff --git a/assets/sfx/die.wav.import b/assets/sfx/die.wav.import
new file mode 100644
index 0000000..9e34d10
--- /dev/null
+++ b/assets/sfx/die.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://h2kpaaytmomh"
+path="res://.godot/imported/die.wav-95d42cddebac3f814f8466360c777731.sample"
+
+[deps]
+
+source_file="res://assets/sfx/die.wav"
+dest_files=["res://.godot/imported/die.wav-95d42cddebac3f814f8466360c777731.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/assets/sfx/fanfare.mp3 b/assets/sfx/fanfare.mp3
new file mode 100644
index 0000000..ce0b5e6
--- /dev/null
+++ b/assets/sfx/fanfare.mp3
Binary files differ
diff --git a/assets/sfx/fanfare.mp3.import b/assets/sfx/fanfare.mp3.import
new file mode 100644
index 0000000..018da15
--- /dev/null
+++ b/assets/sfx/fanfare.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://dc8ybeb5tesg3"
+path="res://.godot/imported/fanfare.mp3-d39931f6efaf19cc7b734cfd1744f1df.mp3str"
+
+[deps]
+
+source_file="res://assets/sfx/fanfare.mp3"
+dest_files=["res://.godot/imported/fanfare.mp3-d39931f6efaf19cc7b734cfd1744f1df.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/assets/sfx/jump.wav b/assets/sfx/jump.wav
new file mode 100644
index 0000000..005a111
--- /dev/null
+++ b/assets/sfx/jump.wav
Binary files differ
diff --git a/assets/sfx/jump.wav.import b/assets/sfx/jump.wav.import
new file mode 100644
index 0000000..b8485f0
--- /dev/null
+++ b/assets/sfx/jump.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://mvmexnoreehn"
+path="res://.godot/imported/jump.wav-9b35c1627efeb99d1d0472b32669fd3c.sample"
+
+[deps]
+
+source_file="res://assets/sfx/jump.wav"
+dest_files=["res://.godot/imported/jump.wav-9b35c1627efeb99d1d0472b32669fd3c.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/assets/sfx/walk1.wav b/assets/sfx/walk1.wav
new file mode 100644
index 0000000..ba6649d
--- /dev/null
+++ b/assets/sfx/walk1.wav
Binary files differ
diff --git a/assets/sfx/walk1.wav.import b/assets/sfx/walk1.wav.import
new file mode 100644
index 0000000..0a5f5a9
--- /dev/null
+++ b/assets/sfx/walk1.wav.import
@@ -0,0 +1,24 @@
+[remap]
+
+importer="wav"
+type="AudioStreamWAV"
+uid="uid://btoneq121u0gg"
+path="res://.godot/imported/walk1.wav-4832804b48e829bdaf3770db6a7ca3a9.sample"
+
+[deps]
+
+source_file="res://assets/sfx/walk1.wav"
+dest_files=["res://.godot/imported/walk1.wav-4832804b48e829bdaf3770db6a7ca3a9.sample"]
+
+[params]
+
+force/8_bit=false
+force/mono=false
+force/max_rate=false
+force/max_rate_hz=44100
+edit/trim=false
+edit/normalize=false
+edit/loop_mode=0
+edit/loop_begin=0
+edit/loop_end=-1
+compress/mode=2
diff --git a/assets/shed-tears-263436.mp3 b/assets/shed-tears-263436.mp3
new file mode 100644
index 0000000..414bbdb
--- /dev/null
+++ b/assets/shed-tears-263436.mp3
Binary files differ
diff --git a/assets/shed-tears-263436.mp3.import b/assets/shed-tears-263436.mp3.import
new file mode 100644
index 0000000..c27052a
--- /dev/null
+++ b/assets/shed-tears-263436.mp3.import
@@ -0,0 +1,19 @@
+[remap]
+
+importer="mp3"
+type="AudioStreamMP3"
+uid="uid://bpy110cq5wpoq"
+path="res://.godot/imported/shed-tears-263436.mp3-0d4b299ef2ec13fc8025c1085bb8ee91.mp3str"
+
+[deps]
+
+source_file="res://assets/shed-tears-263436.mp3"
+dest_files=["res://.godot/imported/shed-tears-263436.mp3-0d4b299ef2ec13fc8025c1085bb8ee91.mp3str"]
+
+[params]
+
+loop=false
+loop_offset=0
+bpm=0
+beat_count=0
+bar_beats=4
diff --git a/default_bus_layout.tres b/default_bus_layout.tres
new file mode 100644
index 0000000..3b56ec0
--- /dev/null
+++ b/default_bus_layout.tres
@@ -0,0 +1,16 @@
+[gd_resource type="AudioBusLayout" format=3 uid="uid://d1yixq7js0evm"]
+
+[resource]
+bus/0/volume_db = 0.04059601
+bus/1/name = &"SFX"
+bus/1/solo = false
+bus/1/mute = false
+bus/1/bypass_fx = false
+bus/1/volume_db = 0.0
+bus/1/send = &"Master"
+bus/2/name = &"BGM"
+bus/2/solo = false
+bus/2/mute = false
+bus/2/bypass_fx = false
+bus/2/volume_db = 0.0
+bus/2/send = &"Master"
diff --git a/dialogues/relic_get.gd b/dialogues/relic_get.gd
index 963eb79..1b770dd 100644
--- a/dialogues/relic_get.gd
+++ b/dialogues/relic_get.gd
@@ -9,6 +9,10 @@ func _init(relic: Node2D):
r = relic
func _ready():
+ var mp: AudioStreamPlayer = top.get_node("MusicPlayer")
+ mp.stream_paused = true
+ player.request_play_fanfare_sfx()
+
get_tree().paused = true
await top.play_cine_bars()
@@ -17,3 +21,5 @@ func _ready():
r.queue_free()
get_tree().paused = false
+
+ mp.stream_paused = false
diff --git a/player.gd b/player.gd
index 085d8e8..6e27c37 100644
--- a/player.gd
+++ b/player.gd
@@ -15,6 +15,11 @@ var state: PlayerState = PlayerStateInit.new(self)
@onready var top: Top = tree.root.get_node("Top") as Top
@onready var inventory: Inventory = top.inventory
+@onready var walk_audio: AudioStreamPlayer2D = $WalkAudio
+@onready var jump_audio: AudioStreamPlayer2D = $JumpAudio
+@onready var die_audio: AudioStreamPlayer2D = $DieAudio
+@onready var fanfare_audio: AudioStreamPlayer2D = $FanfareAudio
+
var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")
func _debug_info():
@@ -102,3 +107,22 @@ func _try_action_zoop():
var zoop: ZoopPoint = zoop_any as ZoopPoint
if request_state_zooping(zoop): return true
return false
+
+const walk_sfx_interval_ms = 300
+var last_walk_sfx_time = -INF
+func request_play_walk_sfx():
+ var now = Time.get_ticks_msec()
+ if now - last_walk_sfx_time > walk_sfx_interval_ms:
+ walk_audio.pitch_scale = 1 + 1 * randf()
+ walk_audio.volume_db = -3 + 0.5 * randf()
+ walk_audio.play()
+ last_walk_sfx_time = now
+
+func request_play_jump_sfx():
+ jump_audio.play()
+
+func request_play_die_sfx():
+ die_audio.play()
+
+func request_play_fanfare_sfx():
+ fanfare_audio.play()
diff --git a/player.tscn b/player.tscn
index 95201a5..38d1495 100644
--- a/player.tscn
+++ b/player.tscn
@@ -1,7 +1,11 @@
-[gd_scene load_steps=12 format=3 uid="uid://coxnsharboouu"]
+[gd_scene load_steps=16 format=3 uid="uid://coxnsharboouu"]
[ext_resource type="Texture2D" uid="uid://brnx4rs335wb7" path="res://assets/kenney_player.png" id="2_i3pqv"]
[ext_resource type="Script" uid="uid://cw711xwg5k1ym" path="res://player.gd" id="2_onrkg"]
+[ext_resource type="AudioStream" uid="uid://btoneq121u0gg" path="res://assets/sfx/walk1.wav" id="3_i3pqv"]
+[ext_resource type="AudioStream" uid="uid://mvmexnoreehn" path="res://assets/sfx/jump.wav" id="4_hqtel"]
+[ext_resource type="AudioStream" uid="uid://h2kpaaytmomh" path="res://assets/sfx/die.wav" id="5_sweqy"]
+[ext_resource type="AudioStream" uid="uid://dc8ybeb5tesg3" path="res://assets/sfx/fanfare.mp3" id="6_2hs0m"]
[sub_resource type="AtlasTexture" id="AtlasTexture_hqtel"]
atlas = ExtResource("2_i3pqv")
@@ -114,9 +118,27 @@ camera_offset_jump = 14.0
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
position = Vector2(0, -1)
sprite_frames = SubResource("SpriteFrames_rj586")
-animation = &"idle"
+animation = &"walk"
autoplay = "walk"
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
position = Vector2(0, 3.5)
shape = SubResource("RectangleShape2D_onrkg")
+
+[node name="WalkAudio" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("3_i3pqv")
+bus = &"SFX"
+
+[node name="JumpAudio" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_hqtel")
+bus = &"SFX"
+
+[node name="DieAudio" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("5_sweqy")
+bus = &"SFX"
+
+[node name="FanfareAudio" type="AudioStreamPlayer2D" parent="."]
+process_mode = 3
+stream = ExtResource("6_2hs0m")
+volume_db = 13.0
+bus = &"SFX"
diff --git a/ps_dead.gd b/ps_dead.gd
index 30df1af..b042a8d 100644
--- a/ps_dead.gd
+++ b/ps_dead.gd
@@ -10,6 +10,7 @@ func _init(pl: Player):
super(pl)
p.anim_sp.set_animation("dead")
+ p.request_play_die_sfx()
wait_respawn.call_deferred()
diff --git a/ps_normal.gd b/ps_normal.gd
index d886e1e..4192fc8 100644
--- a/ps_normal.gd
+++ b/ps_normal.gd
@@ -20,6 +20,7 @@ func _handle(_delta: float):
p.anim_sp.set_animation("jump")
elif abs(p.velocity.x) > 0.0:
p.anim_sp.set_animation("walk")
+ p.request_play_walk_sfx()
else:
p.anim_sp.set_animation("idle")
@@ -43,6 +44,7 @@ func _handle_physics(delta: float):
# Force coyote time to expire to forbid double jumps
coyote = p.coyote_max_ms
jump_was_released = false
+ p.request_play_jump_sfx()
if not Input.is_action_pressed("jump"):
jump_was_released = true
diff --git a/top.tscn b/top.tscn
index 0df41e1..2b4a86a 100644
--- a/top.tscn
+++ b/top.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=19 format=3 uid="uid://cey3jxnpmommt"]
+[gd_scene load_steps=20 format=3 uid="uid://cey3jxnpmommt"]
[ext_resource type="Material" uid="uid://bb4b8jm2tyy81" path="res://mat_palette.tres" id="1_edsjh"]
[ext_resource type="Script" uid="uid://dxbspy72bg0db" path="res://top.gd" id="1_on2c2"]
@@ -14,6 +14,7 @@
[ext_resource type="Texture2D" uid="uid://bhtovawtfqev3" path="res://assets.untracked/kenney_1-bit-platformer-pack/Tiles/Default/tile_0006.png" id="8_fj57p"]
[ext_resource type="Texture2D" uid="uid://byeb45lw6vpk3" path="res://assets.untracked/kenney_1-bit-platformer-pack/Tiles/Default/tile_0012.png" id="9_ncwi2"]
[ext_resource type="Texture2D" uid="uid://cb351iebr50so" path="res://assets.untracked/kenney_1-bit-platformer-pack/Tiles/Default/tile_0280.png" id="10_csenk"]
+[ext_resource type="AudioStream" uid="uid://bpy110cq5wpoq" path="res://assets/shed-tears-263436.mp3" id="15_ncwi2"]
[sub_resource type="Animation" id="Animation_58ij3"]
length = 0.001
@@ -277,5 +278,11 @@ offset_right = 40.0
offset_bottom = 23.0
text = "debug info"
+[node name="MusicPlayer" type="AudioStreamPlayer" parent="."]
+stream = ExtResource("15_ncwi2")
+autoplay = true
+bus = &"BGM"
+parameters/looping = false
+
[connection signal="tree_entered" from="PauseMenu" to="PauseMenu" method="_on_tree_entered"]
[connection signal="tree_entered" from="PauseMenu/System" to="PauseMenu/System" method="_on_tree_entered"]