Rebalanced audio
All checks were successful
linting & formatting / build (push) Successful in 25s
itch.io publish action / build (linux64, x86_64) (push) Successful in 2m16s
itch.io publish action / build (osx, app) (push) Successful in 2m24s
itch.io publish action / build (win64, exe) (push) Successful in 2m28s

This commit is contained in:
Rob Kelly 2025-08-16 19:28:07 -06:00
parent 8525298792
commit 0edf520a21
22 changed files with 56 additions and 44 deletions

Binary file not shown.

Binary file not shown.

BIN
assets/sfx/grunk/alarm_screech.wav (Stored with Git LFS)

Binary file not shown.

View File

@ -2,7 +2,7 @@
importer="wav"
type="AudioStreamWAV"
uid="uid://ypk1d4adrcs"
uid="uid://6yo1n0l1jgok"
path="res://.godot/imported/alarm_screech.wav-99f30850091e72de3c561e544b0403c0.sample"
[deps]

BIN
assets/sfx/tools/beam_loop.wav (Stored with Git LFS)

Binary file not shown.

BIN
assets/sfx/tools/spray.wav (Stored with Git LFS)

Binary file not shown.

View File

@ -80,12 +80,15 @@ volume_db = -80.0
autoplay = true
bus = &"Ambient"
script = ExtResource("5_jiowi")
base_volume = -12.0
boosted_volume = 0.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")
volume_db = 10.0
unit_size = 2.0
bus = &"Ambient"
interval_mean = 120.0

View File

@ -118,7 +118,7 @@ data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0
mesh = ExtResource("1_ckpmb")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1"]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1" groups=["MetalMaterial"]]
collision_layer = 5
collision_mask = 0
@ -195,7 +195,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0,
mesh = ExtResource("12_3ls22")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1"]
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1" groups=["MetalMaterial"]]
collision_layer = 5
collision_mask = 0
@ -213,7 +213,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.5,
mesh = ExtResource("1_ckpmb")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2"]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2" groups=["MetalMaterial"]]
collision_layer = 5
collision_mask = 0
@ -267,7 +267,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19.5,
mesh = ExtResource("17_qhrg0")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3"]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3" groups=["MetalMaterial"]]
collision_layer = 5
collision_mask = 0
@ -296,7 +296,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -27, 0
mesh = ExtResource("18_xuoub")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2"]
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2" groups=["MetalMaterial"]]
collision_layer = 5
collision_mask = 0
@ -314,7 +314,7 @@ transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.9
mesh = ExtResource("19_unrww")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap"]
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap" groups=["MetalMaterial"]]
collision_layer = 5
collision_mask = 0
@ -332,7 +332,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -27, 0
mesh = ExtResource("20_kkj02")
skeleton = NodePath("")
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4"]
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4" groups=["MetalMaterial"]]
collision_layer = 5
collision_mask = 0

View File

@ -316,8 +316,7 @@ collision_mask = 0
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.6)
stream = SubResource("AudioStreamRandomizer_53iah")
volume_db = -4.0
unit_size = 3.0
unit_size = 5.0
pitch_scale = 0.7
[node name="CollisionShape3D" type="CollisionShape3D" parent="TankInteractBody"]
@ -410,7 +409,7 @@ shape = SubResource("ConcavePolygonShape3D_0e0pl")
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
stream = ExtResource("20_3rulp")
volume_db = -20.0
volume_db = -12.0
unit_size = 3.0
bus = &"SFX"
@ -418,7 +417,7 @@ bus = &"SFX"
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
stream = ExtResource("21_bmg36")
volume_db = -16.0
volume_db = -8.0
unit_size = 4.0
bus = &"SFX"

View File

@ -1,7 +1,7 @@
class_name GrunkSplatter extends GPUParticles3D
## Splatter effect with adjustable volume
const BASE_VOLUME := -12.0
const BASE_VOLUME := -4.0
const SCALE_FACTOR := 4.0
const SCENE := preload("res://src/effects/grunk_splatter/grunk_splatter.tscn")
@ -24,7 +24,6 @@ func _ready() -> void:
# Scale amount of dust
grunk_dust.amount_ratio = 0.5 * effect_scale
print_debug("Splatter dust ratio: ", grunk_dust.amount_ratio)
func _scale_particles(emitter: GPUParticles3D) -> void:

View File

@ -194,7 +194,7 @@ autostart = true
[node name="SplatterSFX" type="AudioStreamPlayer3D" parent="."]
unique_name_in_owner = true
stream = SubResource("AudioStreamRandomizer_6adkd")
volume_db = -12.0
volume_db = -3.0
unit_size = 6.0
autoplay = true
bus = &"SFX"

View File

@ -64,4 +64,14 @@ func write() -> void:
print_debug("Writing settings to ", settings_file)
ProjectSettings.save_custom(settings_file)
print_debug("Writing audio bus levels to ", audio_bus_file)
# Write a bus layout with all effects removed
var base_layout := AudioServer.generate_bus_layout()
_strip_bus_effects()
ResourceSaver.save(AudioServer.generate_bus_layout(), audio_bus_file)
AudioServer.set_bus_layout(base_layout)
func _strip_bus_effects() -> void:
for bus_idx: int in AudioServer.bus_count:
for fx_idx: int in AudioServer.get_bus_effect_count(bus_idx):
AudioServer.remove_bus_effect(bus_idx, fx_idx)

View File

@ -13,37 +13,37 @@ script = ExtResource("1_xjjma")
[node name="Confirm" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("2_xjjma")
volume_db = -10.0
volume_db = -2.0
bus = &"SFX"
[node name="Accept" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xl3ms")
volume_db = -10.0
volume_db = -2.0
bus = &"SFX"
[node name="Forward" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xjjma")
volume_db = -10.0
volume_db = -2.0
pitch_scale = 0.7
bus = &"SFX"
[node name="Back" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_xjjma")
volume_db = -10.0
volume_db = -2.0
bus = &"SFX"
[node name="Bonk" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("4_ywyuo")
volume_db = -8.0
volume_db = -5.0
pitch_scale = 1.1
bus = &"SFX"
[node name="Bloop" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("6_ywyuo")
volume_db = -10.0
volume_db = -4.0
bus = &"SFX"

View File

@ -728,16 +728,18 @@ script = ExtResource("9_l271a")
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
stream = SubResource("AudioStreamRandomizer_8ydov")
volume_db = -42.0
volume_db = -30.0
unit_size = 18.0
bus = &"SFX"
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
stream = SubResource("AudioStreamRandomizer_wcxbk")
unit_size = 24.0
bus = &"SFX"
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"]
stream = SubResource("AudioStreamRandomizer_o04tx")
volume_db = -24.0
unit_size = 16.0
bus = &"SFX"
[node name="RightFoot" type="Node3D" parent="FootstepController"]
@ -747,17 +749,19 @@ script = ExtResource("9_l271a")
[node name="Metal" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
stream = SubResource("AudioStreamRandomizer_ylhto")
volume_db = -42.0
volume_db = -30.0
unit_size = 18.0
bus = &"SFX"
[node name="Grunk" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.8, 0, 0)
stream = SubResource("AudioStreamRandomizer_p6grl")
unit_size = 24.0
bus = &"SFX"
[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"]
stream = SubResource("AudioStreamRandomizer_e7e1q")
volume_db = -24.0
unit_size = 16.0
bus = &"SFX"
[node name="FootCast" type="RayCast3D" parent="FootstepController"]
@ -829,5 +833,4 @@ tutorial_key = &"game/tutorial/progress/move"
[node name="ToolSwitchSFX" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("39_gsylq")
volume_db = -12.0
pitch_scale = 1.8

View File

@ -317,7 +317,6 @@ shape = SubResource("ConcavePolygonShape3D_w7oba")
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.9, 0)
stream = ExtResource("5_4jho1")
volume_db = -10.0
[node name="Ramp" type="StaticBody3D" parent="." index="4" groups=["MetalMaterial"]]
@ -364,7 +363,7 @@ libraries = {
[node name="DustSFX" type="AudioStreamPlayer3D" parent="Dust" index="5"]
stream = ExtResource("7_4jho1")
volume_db = -24.0
volume_db = -14.0
[node name="NavLink" type="NavigationLink3D" parent="." index="6"]
unique_name_in_owner = true

View File

@ -228,7 +228,7 @@ mesh = SubResource("BoxMesh_a6hjm")
[node name="SuccessSFX" type="AudioStreamPlayer3D" parent="Lights/SuccessLight" index="0"]
stream = ExtResource("11_7shuc")
volume_db = -16.0
volume_db = -9.0
unit_size = 4.0
bus = &"SFX"

View File

@ -410,7 +410,6 @@ libraries = {
[node name="TankAlertBonkSFX" type="AudioStreamPlayer" parent="AlertHUD/TankAlert"]
stream = ExtResource("7_bu2tv")
volume_db = -8.0
bus = &"SFX"
[node name="GrunkAlert" type="Control" parent="AlertHUD"]
@ -459,10 +458,10 @@ anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -19.0295
offset_top = -20.3157
offset_right = -19.0295
offset_bottom = -20.3157
offset_left = -20.2593
offset_top = -19.6536
offset_right = -20.2593
offset_bottom = -19.6536
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("4_ud8na")

View File

@ -50,7 +50,7 @@ suffix = "%"
[node name="AudioDemo" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("3_y4yh3")
volume_db = -10.0
volume_db = -2.0
[connection signal="drag_ended" from="Slider" to="." method="_on_slider_drag_ended"]
[connection signal="value_changed" from="Slider" to="." method="_on_component_value_changed"]

View File

@ -607,7 +607,7 @@ tracks/22/keys = {
"times": PackedFloat32Array(6.15, 10),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [-40.0, -10.0]
"values": [-40.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3qdtd"]
@ -841,14 +841,14 @@ autoplay = "display"
[node name="TitleSFX" type="AudioStreamPlayer" parent="TitleScreenContent"]
unique_name_in_owner = true
volume_db = -20.0
volume_db = -10.0
bus = &"SFX"
[node name="TitleDrone" type="AudioStreamPlayer" parent="TitleScreenContent"]
unique_name_in_owner = true
stream = ExtResource("11_gdkv4")
volume_db = -40.0
bus = &"Music"
bus = &"Ambient"
[node name="SettingsContainer" type="Control" parent="."]
unique_name_in_owner = true

View File

@ -37,7 +37,7 @@ shape = SubResource("ConcavePolygonShape3D_530fq")
[node name="ChitterSFX" type="AudioStreamPlayer3D" parent="."]
unique_name_in_owner = true
stream = SubResource("AudioStreamRandomizer_yg8lg")
volume_db = -14.0
volume_db = -8.0
unit_size = 1.5
panning_strength = 3.0
bus = &"SFX"

View File

@ -6,7 +6,7 @@
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_g4yos"]
[ext_resource type="Script" uid="uid://b274q7uvn0cvp" path="res://src/ui/rumbler_3d.gd" id="3_vokcn"]
[ext_resource type="Material" uid="uid://cdpvcruywnp4x" path="res://assets/grunk/alarm/alarm_core.material" id="5_6vdvf"]
[ext_resource type="AudioStream" uid="uid://ypk1d4adrcs" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
[ext_resource type="AudioStream" uid="uid://6yo1n0l1jgok" path="res://assets/sfx/grunk/alarm_screech.wav" id="6_6vdvf"]
[sub_resource type="SphereMesh" id="SphereMesh_b6er8"]
radius = 0.285

View File

@ -132,7 +132,7 @@ speed_scale = 4.0
[node name="HeartbeatSFX" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource("3_eu6st")
unit_size = 0.4
unit_size = 1.0
bus = &"SFX"
[connection signal="timeout" from="PulseTimer" to="." method="pulse"]