diff --git a/asset_dev/sfx/grunk_chitter.aup3 b/asset_dev/sfx/grunk_chitter.aup3 index 4310b5e..0e9af76 100644 Binary files a/asset_dev/sfx/grunk_chitter.aup3 and b/asset_dev/sfx/grunk_chitter.aup3 differ diff --git a/asset_dev/sfx/grunk_chitter.aup3-shm b/asset_dev/sfx/grunk_chitter.aup3-shm deleted file mode 100644 index 005d9b7..0000000 Binary files a/asset_dev/sfx/grunk_chitter.aup3-shm and /dev/null differ diff --git a/asset_dev/sfx/grunk_chitter.aup3-wal b/asset_dev/sfx/grunk_chitter.aup3-wal deleted file mode 100644 index 3b920b0..0000000 Binary files a/asset_dev/sfx/grunk_chitter.aup3-wal and /dev/null differ diff --git a/assets/sfx/ambient/metal_creak2.wav b/assets/sfx/ambient/metal_creak2.wav new file mode 100644 index 0000000..09b95cb Binary files /dev/null and b/assets/sfx/ambient/metal_creak2.wav differ diff --git a/assets/sfx/ambient/metal_creak2.wav.import b/assets/sfx/ambient/metal_creak2.wav.import new file mode 100644 index 0000000..ce3e96c --- /dev/null +++ b/assets/sfx/ambient/metal_creak2.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cfvdtl1n42bis" +path="res://.godot/imported/metal_creak2.wav-d321f0e1beee9e46895a66b1d0ba6cd3.sample" + +[deps] + +source_file="res://assets/sfx/ambient/metal_creak2.wav" +dest_files=["res://.godot/imported/metal_creak2.wav-d321f0e1beee9e46895a66b1d0ba6cd3.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/ambient/metal_creak3.wav b/assets/sfx/ambient/metal_creak3.wav new file mode 100644 index 0000000..fe05066 Binary files /dev/null and b/assets/sfx/ambient/metal_creak3.wav differ diff --git a/assets/sfx/ambient/metal_creak3.wav.import b/assets/sfx/ambient/metal_creak3.wav.import new file mode 100644 index 0000000..1ee7dff --- /dev/null +++ b/assets/sfx/ambient/metal_creak3.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://p5uendw5mb3x" +path="res://.godot/imported/metal_creak3.wav-abbe70474878fc7f80613c55338c8ac9.sample" + +[deps] + +source_file="res://assets/sfx/ambient/metal_creak3.wav" +dest_files=["res://.godot/imported/metal_creak3.wav-abbe70474878fc7f80613c55338c8ac9.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/ambient/metal_creak4.wav b/assets/sfx/ambient/metal_creak4.wav new file mode 100644 index 0000000..4f32afc Binary files /dev/null and b/assets/sfx/ambient/metal_creak4.wav differ diff --git a/assets/sfx/ambient/metal_creak4.wav.import b/assets/sfx/ambient/metal_creak4.wav.import new file mode 100644 index 0000000..48c0ea3 --- /dev/null +++ b/assets/sfx/ambient/metal_creak4.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://2qg0vqhygdwu" +path="res://.godot/imported/metal_creak4.wav-8caa320412d3816732c7bc29c9c56bf9.sample" + +[deps] + +source_file="res://assets/sfx/ambient/metal_creak4.wav" +dest_files=["res://.godot/imported/metal_creak4.wav-8caa320412d3816732c7bc29c9c56bf9.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/ambient/metal_creak5.wav b/assets/sfx/ambient/metal_creak5.wav new file mode 100644 index 0000000..b4cf0a8 Binary files /dev/null and b/assets/sfx/ambient/metal_creak5.wav differ diff --git a/assets/sfx/ambient/metal_creak5.wav.import b/assets/sfx/ambient/metal_creak5.wav.import new file mode 100644 index 0000000..4b244ff --- /dev/null +++ b/assets/sfx/ambient/metal_creak5.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ot7sr34qya3j" +path="res://.godot/imported/metal_creak5.wav-f548f5f5f39eb91fc2441b8edfa5a2ef.sample" + +[deps] + +source_file="res://assets/sfx/ambient/metal_creak5.wav" +dest_files=["res://.godot/imported/metal_creak5.wav-f548f5f5f39eb91fc2441b8edfa5a2ef.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/ambient/metal_creak6.wav b/assets/sfx/ambient/metal_creak6.wav new file mode 100644 index 0000000..b5d6d73 Binary files /dev/null and b/assets/sfx/ambient/metal_creak6.wav differ diff --git a/assets/sfx/ambient/metal_creak6.wav.import b/assets/sfx/ambient/metal_creak6.wav.import new file mode 100644 index 0000000..e4995ae --- /dev/null +++ b/assets/sfx/ambient/metal_creak6.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://7w531ufwc8c3" +path="res://.godot/imported/metal_creak6.wav-c732fd331c4152c703e3a68ffbd882b3.sample" + +[deps] + +source_file="res://assets/sfx/ambient/metal_creak6.wav" +dest_files=["res://.godot/imported/metal_creak6.wav-c732fd331c4152c703e3a68ffbd882b3.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/ambient/metal_creak7.wav b/assets/sfx/ambient/metal_creak7.wav new file mode 100644 index 0000000..e80e3c7 Binary files /dev/null and b/assets/sfx/ambient/metal_creak7.wav differ diff --git a/assets/sfx/ambient/metal_creak7.wav.import b/assets/sfx/ambient/metal_creak7.wav.import new file mode 100644 index 0000000..2fff348 --- /dev/null +++ b/assets/sfx/ambient/metal_creak7.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c60m6qlq5cnp2" +path="res://.godot/imported/metal_creak7.wav-5492a96fdd18e144010413a42f059a68.sample" + +[deps] + +source_file="res://assets/sfx/ambient/metal_creak7.wav" +dest_files=["res://.godot/imported/metal_creak7.wav-5492a96fdd18e144010413a42f059a68.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/ambient/metal_creak8.wav b/assets/sfx/ambient/metal_creak8.wav new file mode 100644 index 0000000..a5d522a Binary files /dev/null and b/assets/sfx/ambient/metal_creak8.wav differ diff --git a/assets/sfx/ambient/metal_creak8.wav.import b/assets/sfx/ambient/metal_creak8.wav.import new file mode 100644 index 0000000..0b76b1f --- /dev/null +++ b/assets/sfx/ambient/metal_creak8.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cvwc2r2cmnaim" +path="res://.godot/imported/metal_creak8.wav-0cff1fbe83cc492a5c003e6149dbf2dc.sample" + +[deps] + +source_file="res://assets/sfx/ambient/metal_creak8.wav" +dest_files=["res://.godot/imported/metal_creak8.wav-0cff1fbe83cc492a5c003e6149dbf2dc.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/levels/ghost_ship/ghost_ship.tscn b/levels/ghost_ship/ghost_ship.tscn index 3185475..ddb51d4 100644 --- a/levels/ghost_ship/ghost_ship.tscn +++ b/levels/ghost_ship/ghost_ship.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://bov4ok76woyc"] +[gd_scene load_steps=18 format=3 uid="uid://bov4ok76woyc"] [ext_resource type="PackedScene" uid="uid://crydi5cjgfwe5" path="res://levels/ghost_ship/ghost_ship_level.tscn" id="1_aj2m7"] [ext_resource type="Environment" uid="uid://bkvij3ljl5ox3" path="res://levels/ghost_ship/environment_3.tres" id="1_wwgrl"] @@ -6,10 +6,32 @@ [ext_resource type="PackedScene" uid="uid://d1kacn4b60ucy" path="res://src/ui/post_processing.tscn" id="3_o7mxe"] [ext_resource type="AudioStream" uid="uid://dx4d8a3mgpws" path="res://assets/sfx/ambient/drone_loop.wav" id="5_ejh2c"] [ext_resource type="Script" uid="uid://441gcyrbv0jd" path="res://levels/ghost_ship/ambient_drone.gd" id="5_jiowi"] +[ext_resource type="PackedScene" uid="uid://dd21uy6yfgg51" path="res://src/effects/creaker/creaker.tscn" id="7_vdioa"] +[ext_resource type="AudioStream" uid="uid://cqh31d5my7fst" path="res://assets/sfx/ambient/metal_creak1.wav" id="8_ihj8k"] +[ext_resource type="AudioStream" uid="uid://cfvdtl1n42bis" path="res://assets/sfx/ambient/metal_creak2.wav" id="9_d2iql"] +[ext_resource type="AudioStream" uid="uid://p5uendw5mb3x" path="res://assets/sfx/ambient/metal_creak3.wav" id="10_8h40n"] +[ext_resource type="AudioStream" uid="uid://2qg0vqhygdwu" path="res://assets/sfx/ambient/metal_creak4.wav" id="11_it47q"] +[ext_resource type="AudioStream" uid="uid://ot7sr34qya3j" path="res://assets/sfx/ambient/metal_creak5.wav" id="12_h081y"] +[ext_resource type="AudioStream" uid="uid://7w531ufwc8c3" path="res://assets/sfx/ambient/metal_creak6.wav" id="13_law5k"] +[ext_resource type="AudioStream" uid="uid://c60m6qlq5cnp2" path="res://assets/sfx/ambient/metal_creak7.wav" id="14_4mbcm"] +[ext_resource type="AudioStream" uid="uid://cvwc2r2cmnaim" path="res://assets/sfx/ambient/metal_creak8.wav" id="15_r4ldl"] [sub_resource type="BoxShape3D" id="BoxShape3D_o7mxe"] size = Vector3(6, 4, 15) +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_d8fas"] +playback_mode = 1 +random_pitch = 1.1 +streams_count = 8 +stream_0/stream = ExtResource("8_ihj8k") +stream_1/stream = ExtResource("9_d2iql") +stream_2/stream = ExtResource("10_8h40n") +stream_3/stream = ExtResource("11_it47q") +stream_4/stream = ExtResource("12_h081y") +stream_5/stream = ExtResource("13_law5k") +stream_6/stream = ExtResource("14_4mbcm") +stream_7/stream = ExtResource("15_r4ldl") + [node name="GhostShip" type="Node3D"] [node name="WorldEnvironment" type="WorldEnvironment" parent="."] @@ -42,5 +64,42 @@ bus = &"Music" script = ExtResource("5_jiowi") base_volume = -18.0 +[node name="AmbientSFX" type="Node3D" parent="."] + +[node name="Creaker" parent="AmbientSFX" instance=ExtResource("7_vdioa")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21, 1, -38) +stream = SubResource("AudioStreamRandomizer_d8fas") +unit_size = 2.0 +interval_mean = 120.0 +interval_st_dev = 30.0 + +[node name="Creaker2" parent="AmbientSFX" instance=ExtResource("7_vdioa")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 1, -54) +stream = SubResource("AudioStreamRandomizer_d8fas") +unit_size = 2.0 +interval_mean = 120.0 +interval_st_dev = 30.0 + +[node name="Creaker3" parent="AmbientSFX" instance=ExtResource("7_vdioa")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 1, -54) +stream = SubResource("AudioStreamRandomizer_d8fas") +unit_size = 2.0 +interval_mean = 120.0 +interval_st_dev = 30.0 + +[node name="Creaker4" parent="AmbientSFX" instance=ExtResource("7_vdioa")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2, -77) +stream = SubResource("AudioStreamRandomizer_d8fas") +unit_size = 2.0 +interval_mean = 120.0 +interval_st_dev = 30.0 + +[node name="Creaker5" parent="AmbientSFX" instance=ExtResource("7_vdioa")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 2, -38) +stream = SubResource("AudioStreamRandomizer_d8fas") +unit_size = 2.0 +interval_mean = 120.0 +interval_st_dev = 30.0 + [connection signal="body_entered" from="PlayerShipArea" to="AmbientDrone" method="_on_player_enters_ship"] [connection signal="body_exited" from="PlayerShipArea" to="AmbientDrone" method="_on_player_exits_ship"] diff --git a/src/effects/creaker/creaker.gd b/src/effects/creaker/creaker.gd new file mode 100644 index 0000000..e3891bb --- /dev/null +++ b/src/effects/creaker/creaker.gd @@ -0,0 +1,20 @@ +extends AudioStreamPlayer3D +# Plays sounds at a random interval + +@export var interval_mean := 60.0 +@export var interval_st_dev := 10.0 + +@onready var timer: Timer = %Timer + + +func _ready() -> void: + restart_timer() + + +func restart_timer() -> void: + timer.start(maxf(0.0, randfn(interval_mean, interval_st_dev))) + + +func _on_timer_timeout() -> void: + play() + restart_timer() diff --git a/src/effects/creaker/creaker.gd.uid b/src/effects/creaker/creaker.gd.uid new file mode 100644 index 0000000..b34b546 --- /dev/null +++ b/src/effects/creaker/creaker.gd.uid @@ -0,0 +1 @@ +uid://g26s3cyq4iao diff --git a/src/effects/creaker/creaker.tscn b/src/effects/creaker/creaker.tscn new file mode 100644 index 0000000..2e72d0b --- /dev/null +++ b/src/effects/creaker/creaker.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=2 format=3 uid="uid://dd21uy6yfgg51"] + +[ext_resource type="Script" uid="uid://g26s3cyq4iao" path="res://src/effects/creaker/creaker.gd" id="1_4jx4a"] + +[node name="Creaker" type="AudioStreamPlayer3D"] +script = ExtResource("1_4jx4a") + +[node name="Timer" type="Timer" parent="."] +unique_name_in_owner = true +one_shot = true + +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/vault/TODO.md b/vault/TODO.md index 366d50a..744437a 100644 --- a/vault/TODO.md +++ b/vault/TODO.md @@ -64,8 +64,8 @@ - [ ] grunk relay chitter - [ ] grunk chittering - [ ] grunkbeast??? - - [ ] grunk ambiance - - [ ] spaceship ambiance + - [x] grunk ambiance + - [x] spaceship ambiance - [ ] models: - [ ] [[grunk]] nodes: - [ ] [[alarm]] diff --git a/vault/assets/asset credits.md b/vault/assets/asset credits.md index f88295d..aa0ae2f 100644 --- a/vault/assets/asset credits.md +++ b/vault/assets/asset credits.md @@ -34,9 +34,14 @@ - author: sophiehall3535 - CC0 - retrieved from https://freesound.org/people/sophiehall3535/sounds/245945/ - - assets/sfx/ambient/metal_creak_1.wav + - assets/sfx/ambient/metal_creak1.wav - "Drone Loop (Fixed)" - author: Fission9 - CC0 - retrieved from https://freesound.org/people/Fission9/sounds/567220/ - - assets/sfx/ambient/drone_loop.wav \ No newline at end of file + - assets/sfx/ambient/drone_loop.wav + - "mechanical dishwasher rusty door mechanism metal creak stress" + - author: jerry.berumen + - CC BY 4.0 + - retrieved from https://freesound.org/people/jerry.berumen/sounds/769512/ + - assets/sfx/ambient/metal_creak2-8.wav \ No newline at end of file