diff --git a/Level_Core.tscn b/Level_Core.tscn index 90ad83f..2938d98 100644 --- a/Level_Core.tscn +++ b/Level_Core.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=32 format=3 uid="uid://bn20cqfwvm2oe"] -[ext_resource type="Script" uid="uid://wr38f8q1w7yq" path="res://main.gd" id="1_fwt2i"] +[ext_resource type="Script" uid="uid://bpj62lqejp32d" path="res://main.gd" id="1_fwt2i"] [ext_resource type="PackedScene" uid="uid://bs6yq6gy7k2sb" path="res://player.tscn" id="1_lsi31"] [ext_resource type="Shape3D" uid="uid://30um6cm5oj6q" path="res://wall_cwt.tres" id="2_7sds5"] [ext_resource type="FontFile" uid="uid://rswq6vrwr2nx" path="res://InstrumentSans-VariableFont_wdth,wght.ttf" id="2_fq2vn"] @@ -210,7 +210,7 @@ visible = false shape = ExtResource("3_n0qnv") [node name="MeshInstance3D94" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 0.707107, -0.353553, 0, 0.707107, 0.353553, -59.8062, 20.391, -13.0206) +transform = Transform3D(0.998721, 0.0357499, 0.0178749, -1.57275e-08, 0.707107, -0.353553, -0.050558, 0.706203, 0.353101, -118.096, 20.391, 2.58359) mesh = SubResource("PlaneMesh_rv2mx") skeleton = NodePath("../MeshInstance3D") @@ -221,7 +221,7 @@ visible = false shape = ExtResource("3_n0qnv") [node name="MeshInstance3D95" type="MeshInstance3D" parent="."] -transform = Transform3D(0.606113, 0.562418, 0.281208, 0, 0.707107, -0.353553, -0.795378, 0.428587, 0.214293, -64.1996, 20.391, -11.0367) +transform = Transform3D(0.565125, 0.583367, 0.291683, -4.83103e-08, 0.707107, -0.353553, -0.825005, 0.399604, 0.199802, -122.384, 20.391, 4.78707) mesh = SubResource("PlaneMesh_rv2mx") skeleton = NodePath("../MeshInstance3D") @@ -232,7 +232,7 @@ visible = false shape = ExtResource("3_n0qnv") [node name="MeshInstance3D96" type="MeshInstance3D" parent="."] -transform = Transform3D(0.0114491, 0.707061, 0.35353, 2.94263e-08, 0.707107, -0.353553, -0.999935, 0.00809583, 0.00404784, -65.2696, 20.391, -6.84236) +transform = Transform3D(-0.0391203, 0.706566, 0.353282, 2.03013e-08, 0.707107, -0.353553, -0.999235, -0.0276621, -0.0138311, -123.24, 20.391, 9.03015) mesh = SubResource("PlaneMesh_rv2mx") skeleton = NodePath("../MeshInstance3D") @@ -1012,6 +1012,16 @@ font = ExtResource("8_o5bhp") font_size = 512 outline_size = 127 +[node name="Label3D34" type="Label3D" parent="."] +transform = Transform3D(0.997077, 0, -0.0763884, 0, 0.999999, 0, 0.076389, 0, 0.99708, -118.904, 21.832, 25.4678) +offset = Vector2(1, 0) +modulate = Color(0.943031, 0.787658, 0.994854, 1) +outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) +text = "terminus" +font = ExtResource("8_o5bhp") +font_size = 512 +outline_size = 127 + [node name="Label3D12" type="Label3D" parent="."] transform = Transform3D(-0.556745, 0, -0.830685, 0, 0.999999, 0, 0.830682, 0, -0.556746, -34.2202, 11.9477, 16.5364) offset = Vector2(1, 0) @@ -1056,8 +1066,16 @@ outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) text = "combination" font = ExtResource("2_fq2vn") +[node name="Label3D35" type="Label3D" parent="."] +transform = Transform3D(0.998379, 0.0299629, 0.0483606, -0.0496484, 0.873927, 0.483515, -0.0277752, -0.485132, 0.874002, -118.359, 20.5331, 25.7475) +offset = Vector2(1, 0) +modulate = Color(0.943031, 0.787658, 0.994854, 1) +outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) +text = "end" +font = ExtResource("2_fq2vn") + [node name="Label3D22" type="Label3D" parent="."] -transform = Transform3D(0.031202, 0, 0.999515, 0, 0.999999, 0, -0.999512, 0, 0.0312013, -1.36618, 21.1992, -5.57596) +transform = Transform3D(0.031202, 0, 0.999515, 0, 0.999999, 0, -0.999512, 0, 0.0312013, -3.92109, 21.1992, -2.22603) offset = Vector2(1, 0) modulate = Color(0.943031, 0.787658, 0.994854, 1) outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) @@ -1067,13 +1085,31 @@ similar mechanics as those walls, so you'll have to try answering the questions correctly by passing through the right wall" font = ExtResource("2_fq2vn") +[node name="Label3D33" type="Label3D" parent="."] +transform = Transform3D(0.125091, 0, 0.992147, 0, 0.999999, 0, -0.992144, 0, 0.125091, -3.83606, 21.1992, -8.019) +offset = Vector2(1, 0) +modulate = Color(0.943031, 0.787658, 0.994854, 1) +outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) +text = "Erinnerst du dich zufällig an die Wand am Anfang des Levels, +die aus einer anderen Perspektive verschwunden ist? +Fallenwände funktionieren mit ähnlichen Mechanismen. +Du musst also versuchen, die Fragen richtig zu beantworten, +indem du durch die richtige Wand gehst." +font = ExtResource("2_fq2vn") + [node name="Label3D31" type="Label3D" parent="."] transform = Transform3D(0.031202, 0, 0.999515, 0, 0.999999, 0, -0.999512, 0, 0.0312013, -54.6138, 21.1992, -5.57596) offset = Vector2(1, 0) modulate = Color(0.943031, 0.787658, 0.994854, 1) outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) -text = "The tutorial is basically over, so try to complete -this station with everything you've learnt so far!" +text = "The test level is basically over, so try to complete +this station with everything you've learnt so far! +(Hint: try to walk through here) +----- +Dieses Test-Level ist eigentlich jetzt schon vorbei. +Versuche diese Station zu lösen, mit alles, das du +bis jetzt gelernt hast. (noch ein Tipp: versuche +hier durch zu laufen.)" font = ExtResource("2_fq2vn") [node name="Label3D13" type="Label3D" parent="."] @@ -1114,6 +1150,22 @@ font = ExtResource("2_fq2vn") font_size = 64 outline_size = 24 +[node name="Label3D36" type="Label3D" parent="."] +transform = Transform3D(0.999999, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -119.143, 20.01, 28.144) +offset = Vector2(1, 0) +modulate = Color(0.943031, 0.787658, 0.994854, 1) +outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) +text = "Danke, dass du dir Zeit genommen hast, dieses Spiel zu +spielen! Es wurde für den Projektunterricht gemacht +und hatte mir sehr Spass gemacht, es zu entwickeln! + +Thanks to you for taking the time to play this game! +I made this for project classes, and it was pretty fun +to develop." +font = ExtResource("2_fq2vn") +font_size = 64 +outline_size = 24 + [node name="Label3D23" type="Label3D" parent="."] transform = Transform3D(0.0271902, -0.685056, 0.727983, 0.025569, 0.728491, 0.684579, -0.999302, 0, 0.0373241, -12.6999, 21.0691, -5.50222) offset = Vector2(1, 0) @@ -1356,6 +1408,41 @@ skeleton = NodePath("../MeshInstance3D") [node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D98/StaticBody3D"] shape = ExtResource("2_7sds5") +[node name="MeshInstance3D102" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 2, -119.061, 20, 24.2032) +mesh = SubResource("PlaneMesh_rv2mx") +skeleton = NodePath("../MeshInstance3D") + +[node name="MeshInstance3D104" type="MeshInstance3D" parent="MeshInstance3D102"] +transform = Transform3D(-1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0, 0, 1, 0, 0, 0) +mesh = SubResource("PlaneMesh_rv2mx") +skeleton = NodePath("../../MeshInstance3D") + +[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D102"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D102/StaticBody3D"] +shape = ExtResource("2_7sds5") + +[node name="MeshInstance3D104" type="MeshInstance3D" parent="."] +transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 2, -114, 20, 24.203) +mesh = SubResource("PlaneMesh_rv2mx") +skeleton = NodePath("../MeshInstance3D") + +[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D104"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D104/StaticBody3D"] +shape = ExtResource("3_n0qnv") + +[node name="MeshInstance3D103" type="MeshInstance3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 0.516623, -1.71243, 0, 0.856213, 1.03325, -119.061, 20, 24.2032) +mesh = SubResource("PlaneMesh_rv2mx") +skeleton = NodePath("../MeshInstance3D") + +[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D103"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D103/StaticBody3D"] +shape = ExtResource("2_7sds5") + [node name="MeshInstance3D99" type="MeshInstance3D" parent="."] transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 2, -103, 25, -5) mesh = SubResource("PlaneMesh_rv2mx") @@ -1519,17 +1606,21 @@ move the camera" font = ExtResource("2_fq2vn") [node name="Label3D7" type="Label3D" parent="."] -transform = Transform3D(0.940367, 0.267816, 0.209726, -0.311519, 0.925659, 0.214735, -0.136625, -0.267264, 0.953889, 0, 1.50331, -4.83472) +transform = Transform3D(0.981249, -0.168665, 0.093287, 0.135956, 0.948748, 0.285296, -0.136625, -0.267264, 0.953889, -0.308552, 1.50331, -7.61301) modulate = Color(0.943031, 0.787658, 0.994854, 1) outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) -text = "To open the menu, press Q" +text = "To pause the game, press Escape +Um das Spiel zu pausieren, drücke Escape" font = ExtResource("2_fq2vn") [node name="Label3D8" type="Label3D" parent="."] transform = Transform3D(0.940367, 0.267816, 0.209726, -0.311519, 0.925659, 0.214735, -0.136625, -0.267264, 0.953889, 0, 1.86351, -4.91946) modulate = Color(0.943031, 0.787658, 0.994854, 1) outline_modulate = Color(0.00803253, 9.36218e-06, 0.0382829, 1) -text = "If you're stuck, press R to reset" +text = "If you're stuck, press Shift+R to +spawn at last checkpoint +Wenn du stecken bleibst, drück Shift+R +um beim letzten Checkpoint wieder zu erscheinen" font = ExtResource("2_fq2vn") [node name="Label3D6" type="Label3D" parent="."] diff --git a/assets/audio/Revive.wav b/assets/audio/Revive.wav new file mode 100644 index 0000000..839f1be Binary files /dev/null and b/assets/audio/Revive.wav differ diff --git a/assets/audio/Revive.wav.import b/assets/audio/Revive.wav.import new file mode 100644 index 0000000..99b4aca --- /dev/null +++ b/assets/audio/Revive.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b0wflceouyghu" +path="res://.godot/imported/Revive.wav-b99a6c66ef44ba8e7381d12727f53c83.sample" + +[deps] + +source_file="res://assets/audio/Revive.wav" +dest_files=["res://.godot/imported/Revive.wav-b99a6c66ef44ba8e7381d12727f53c83.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/audio/SceneSpawnDeprecated.wav.import b/assets/audio/SceneSpawnDeprecated.wav.import new file mode 100644 index 0000000..8f03306 --- /dev/null +++ b/assets/audio/SceneSpawnDeprecated.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://hgtiqna24efi" +path="res://.godot/imported/SceneSpawnDeprecated.wav-c0134b8081fa17437021cc788cc37d8d.sample" + +[deps] + +source_file="res://assets/audio/SceneSpawnDeprecated.wav" +dest_files=["res://.godot/imported/SceneSpawnDeprecated.wav-c0134b8081fa17437021cc788cc37d8d.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/audio/SceneSpawnOld.wav.import b/assets/audio/SceneSpawnOld.wav.import new file mode 100644 index 0000000..9227e7b --- /dev/null +++ b/assets/audio/SceneSpawnOld.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://vahvh3mwe0cl" +path="res://.godot/imported/SceneSpawnOld.wav-327394fb08c7e4547d6594c0efe22ab7.sample" + +[deps] + +source_file="res://assets/audio/SceneSpawnOld.wav" +dest_files=["res://.godot/imported/SceneSpawnOld.wav-327394fb08c7e4547d6594c0efe22ab7.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/main.gd b/main.gd index 65590c2..5ad45b7 100644 --- a/main.gd +++ b/main.gd @@ -43,6 +43,8 @@ func _process(delta: float): player.teleport_to_checkpoint() player.health = 100 Engine.time_scale = 1 + player.audioplayer.stream = load("res://assets/audio/Revive.wav") + player.audioplayer.play() elif Input.is_action_just_pressed("proluz_ui_reset"): get_tree().reload_current_scene() var player = get_node("Player") diff --git a/player.gd b/player.gd index 8735015..12c444d 100644 --- a/player.gd +++ b/player.gd @@ -42,20 +42,32 @@ func _integrate_forces(state): #checkpoint = levelcore.checkpoint1 print("chat we hit the checkpoint one") levelcore = get_node("/root/LevelCore") + if not levelcore.checkpoint == levelcore.checkpoint1: + audioplayer.stream = load("res://assets/audio/SceneSpawn.wav") + audioplayer.play() levelcore.checkpoint = levelcore.checkpoint1 levelcore.checkpointtext.text = "station 1" + elif collider is StaticBody3D and collider.name == "StaticBody3D_S2": print("chat we hit the checkpoint two") levelcore = get_node("/root/LevelCore") + if not levelcore.checkpoint == levelcore.checkpoint2: + audioplayer.stream = load("res://assets/audio/SceneSpawn.wav") + audioplayer.play() levelcore.checkpoint = levelcore.checkpoint2 levelcore.checkpointtext.text = "station 2" + elif collider is StaticBody3D and collider.name == "StaticBody3D_S3": print("chat we hit the checkpoint three") levelcore = get_node("/root/LevelCore") + if not levelcore.checkpoint == levelcore.checkpoint3: + audioplayer.stream = load("res://assets/audio/SceneSpawn.wav") + audioplayer.play() levelcore.checkpoint = levelcore.checkpoint3 levelcore.checkpointtext.text = "station 3" + #func _integrate_forces(state): # for i in range(state.get_contact_count()): # var collider = state.get_contact_collider_object(i)