Computer does a little jingle jangle on reload
All checks were successful
linting & formatting / build (push) Successful in 22s

This commit is contained in:
Rob Kelly 2025-04-01 20:03:35 -06:00
parent 2440103f66
commit f966dc43df
12 changed files with 220 additions and 5 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://c838ofbu4bqrn"
path="res://.godot/imported/computer_noise.wav-1bfe3b9b5e4b3c21bd96289c75340c5a.sample"
[deps]
source_file="res://assets/sfx/computer_noise.wav"
dest_files=["res://.godot/imported/computer_noise.wav-1bfe3b9b5e4b3c21bd96289c75340c5a.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

View File

@ -18,6 +18,7 @@ const STALLING_MSG := "\n\n\n\n\n. . . C a l c u l a t i n G . . ."
@onready var text_terminal: TextTerminal = %TextTerminal
@onready var stall_timer: Timer = %StallTimer
@onready var terminal_animation: AnimationPlayer = %TerminalAnimation
func _ready() -> void:
@ -56,6 +57,7 @@ func build_message() -> String:
## Under the hood this is instantaneous, but we want to stall for dramatic effect.
func recompute() -> void:
text_terminal.text = STALLING_MSG
terminal_animation.play("jangle")
stall_timer.start()

View File

@ -24,6 +24,7 @@ func deposit_grunk() -> void:
# Tank is disabled until the player collects more grunk.
tank_interactor.enabled = false
Game.manager.deposit_tank()
set_liquid_level(clampf(Game.manager.grunk_vault / MAX_GRUNK, 0.0, 1.0))

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=22 format=3 uid="uid://oowut88kr2ox"]
[gd_scene load_steps=29 format=3 uid="uid://oowut88kr2ox"]
[ext_resource type="Script" uid="uid://lfd36ps52xgk" path="res://levels/ghost_ship/player_ship/player_ship.gd" id="1_0r2ng"]
[ext_resource type="ArrayMesh" uid="uid://dq4aj5ph31rce" path="res://assets/level/player_ship/player_ship.obj" id="1_nafoa"]
@ -13,6 +13,8 @@
[ext_resource type="Texture2D" uid="uid://cm1jrvx7ftx4c" path="res://assets/black.png" id="9_xuj2g"]
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="10_2mvif"]
[ext_resource type="PackedScene" uid="uid://mgygam1kakb7" path="res://levels/ghost_ship/player_ship/grunk_terminal/grunk_terminal.tscn" id="13_3trrp"]
[ext_resource type="Script" uid="uid://vewq8h8uulbg" path="res://src/util/translator_path_3d.gd" id="13_i4yi7"]
[ext_resource type="AudioStream" uid="uid://c838ofbu4bqrn" path="res://assets/sfx/computer_noise.wav" id="14_was05"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xpsdy"]
transparency = 1
@ -79,6 +81,143 @@ shader_parameter/jitter_noise = SubResource("NoiseTexture3D_omayi")
shader_parameter/vertex_inflation = 0.0
shader_parameter/inflation_pixellation = 10.0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_i4yi7"]
albedo_color = Color(0.243137, 0.231373, 0.219608, 1)
[sub_resource type="Curve3D" id="Curve3D_ta4yu"]
_data = {
"points": PackedVector3Array(0, 0, 0, -0.6, -0.525, 0, 0, 0, 0, -0.6, 0, 0, 0.05, 0, 0, 0, -1.4, 0),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[sub_resource type="Animation" id="Animation_i4yi7"]
resource_name = "jangle"
length = 3.0
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0.15, 0, -0.25, 0.15, 0.25, -0.15, 0, -0.25, -0.025, 0.266667, 0.0459175, 0, -0.366667, -0.00160158, 0.25, 0),
"times": PackedFloat32Array(0, 1, 2, 3)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0, 0),
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.16, 0.25, -1.4, -0.25, 0.25, 0.25, -0.2, -1.4, -0.25, -0.2, 0.25, 0.15, -1.4, -0.25, 0.15, 0.25, -0.1, -1.4, -0.25, -0.1, 0.25, 0.05, -1.4, -0.25, 0.05, 0.25, 0, -1.4, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.6, 1, 1.5, 2, 2.5, 3)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.2, 0.2, 0, -0.2, 0.2, 0.233333, -0.227317, 0, -0.2, 0.0429476, 0.2, -0.025, 0, -0.2, -0.025, 0.2, 0.013, 0, -0.2, 0.013, 0.2, -0.001, 0, -0.0666666, 0.00136808, 0.25, 0),
"times": PackedFloat32Array(0, 0.8, 1.9, 2.3, 2.6, 3)
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 0.5, 1.3, 2.2, 3),
"transitions": PackedFloat32Array(0.618, 1, 1, 1, 1),
"update": 0,
"values": [Vector3(0.2618, 1.5708, 0), Vector3(0.158825, 1.5708, 0.174533), Vector3(0.467748, 1.5708, -0.139626), Vector3(0.261799, 1.5708, 0.0698132), Vector3(0.261799, 1.5708, 0)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
[sub_resource type="Animation" id="Animation_ta4yu"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Path3D:curve:point_1/position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Path3D:curve:point_1/position:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(-1.4, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Path3D:curve:point_1/position:z")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Path3D/GrunkTerminal:rotation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.2618, 1.5708, 0)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Path3D/GrunkTerminal/AudioStreamPlayer3D:playing")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fw23o"]
_data = {
&"RESET": SubResource("Animation_ta4yu"),
&"jangle": SubResource("Animation_i4yi7")
}
[node name="PlayerShip" type="Node3D"]
script = ExtResource("1_0r2ng")
@ -126,7 +265,38 @@ light_energy = 2.0
light_indirect_energy = 8.0
omni_range = 10.0
[node name="GrunkTerminal" parent="." instance=ExtResource("13_3trrp")]
transform = Transform3D(-0.707107, 0.183013, 0.683013, 0, 0.965926, -0.258819, -0.707107, -0.183013, -0.683013, -1.87678, 1.71247, 4.17322)
[node name="TerminalCable" type="CSGPolygon3D" parent="."]
transform = Transform3D(0.707107, 0, 0.707107, 0, 1, 0, -0.707107, 0, 0.707107, -1.87678, 3.21247, 4.17322)
polygon = PackedVector2Array(0.25, 0, 0.125, 0.217, -0.125, 0.217, -0.25, 0, -0.125, -0.216, 0.125, -0.216)
mode = 2
path_node = NodePath("Path3D")
path_interval_type = 0
path_interval = 0.25
path_simplify_angle = 0.0
path_rotation = 2
path_rotation_accurate = false
path_local = true
path_continuous_u = true
path_u_distance = 1.0
path_joined = false
material = SubResource("StandardMaterial3D_i4yi7")
[node name="Path3D" type="Path3D" parent="TerminalCable"]
curve = SubResource("Curve3D_ta4yu")
script = ExtResource("13_i4yi7")
[node name="GrunkTerminal" parent="TerminalCable/Path3D" instance=ExtResource("13_3trrp")]
transform = Transform3D(-4.37114e-08, 0.258819, 0.965926, 0, 0.965926, -0.258819, -1, -1.13134e-08, -4.2222e-08, 0, -1.4, 0)
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="TerminalCable/Path3D/GrunkTerminal"]
stream = ExtResource("14_was05")
volume_db = -6.0
unit_size = 1.0
[node name="TerminalAnimation" type="AnimationPlayer" parent="TerminalCable"]
unique_name_in_owner = true
libraries = {
&"": SubResource("AnimationLibrary_fw23o")
}
[connection signal="activated" from="TankInteractor" to="." method="deposit_grunk"]

View File

@ -0,0 +1,10 @@
@tool
class_name TranslatorPath3D extends Path3D
## Keeps all child elements at the last point on the curve.
func _process(_delta: float) -> void:
if curve and curve.point_count > 1:
var endpoint := curve.get_point_position(curve.point_count - 1)
for c: Node3D in get_children():
c.position = endpoint

View File

@ -0,0 +1 @@
uid://vewq8h8uulbg

View File

@ -48,7 +48,7 @@
- [ ] SFX:
- [ ] ui bonk
- [ ] prop clear glitter
- [ ] computer bleep on reload
- [x] computer bleep on reload
- [ ] grunk tank deposit schlorp
- [ ] player ship door
- [x] metal footsteps

View File

@ -20,6 +20,7 @@
- CC0
- retrieved from https://freesound.org/people/lowpolygon/sounds/421722/
- assets/sfx/mechanical_door.wav
- modified
- "Footsteps_Mountain_Boots_Mud_Mono.wav"
- author: Nox_Sound
- CC0
@ -45,3 +46,9 @@
- CC BY 4.0
- retrieved from https://freesound.org/people/jerry.berumen/sounds/769512/
- assets/sfx/ambient/metal_creak2-8.wav
- "Printer startup"
- author: Clagnar
- CC0
- retrieved from https://freesound.org/people/Clagnar/sounds/547256/
- assets/sfx/computer_noise.wav
- modified