diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2026-01-28 21:27:04 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2026-01-28 21:27:04 +0200 |
| commit | aa2f8723ab5b87bb357d58a0165321a2060debb3 (patch) | |
| tree | d44d4b57d20e24c585644a92e66b2f35c0df157d | |
| parent | a46cc0bb2268bec64b9219b10daa44f006410d46 (diff) | |
Add initial audio stuff
| -rw-r--r-- | assets/sfx/die.wav | bin | 0 -> 13640 bytes | |||
| -rw-r--r-- | assets/sfx/die.wav.import | 24 | ||||
| -rw-r--r-- | assets/sfx/fanfare.mp3 | bin | 0 -> 76800 bytes | |||
| -rw-r--r-- | assets/sfx/fanfare.mp3.import | 19 | ||||
| -rw-r--r-- | assets/sfx/jump.wav | bin | 0 -> 12832 bytes | |||
| -rw-r--r-- | assets/sfx/jump.wav.import | 24 | ||||
| -rw-r--r-- | assets/sfx/walk1.wav | bin | 0 -> 1890 bytes | |||
| -rw-r--r-- | assets/sfx/walk1.wav.import | 24 | ||||
| -rw-r--r-- | assets/shed-tears-263436.mp3 | bin | 0 -> 2561280 bytes | |||
| -rw-r--r-- | assets/shed-tears-263436.mp3.import | 19 | ||||
| -rw-r--r-- | default_bus_layout.tres | 16 | ||||
| -rw-r--r-- | dialogues/relic_get.gd | 6 | ||||
| -rw-r--r-- | player.gd | 24 | ||||
| -rw-r--r-- | player.tscn | 26 | ||||
| -rw-r--r-- | ps_dead.gd | 1 | ||||
| -rw-r--r-- | ps_normal.gd | 2 | ||||
| -rw-r--r-- | top.tscn | 9 |
17 files changed, 191 insertions, 3 deletions
diff --git a/assets/sfx/die.wav b/assets/sfx/die.wav Binary files differnew file mode 100644 index 0000000..bb9a063 --- /dev/null +++ b/assets/sfx/die.wav 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 Binary files differnew file mode 100644 index 0000000..ce0b5e6 --- /dev/null +++ b/assets/sfx/fanfare.mp3 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 Binary files differnew file mode 100644 index 0000000..005a111 --- /dev/null +++ b/assets/sfx/jump.wav 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 Binary files differnew file mode 100644 index 0000000..ba6649d --- /dev/null +++ b/assets/sfx/walk1.wav 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 Binary files differnew file mode 100644 index 0000000..414bbdb --- /dev/null +++ b/assets/shed-tears-263436.mp3 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 @@ -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" @@ -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 @@ -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"] |
