This commit is contained in:
2024-01-26 00:00:07 +01:00
parent 0d2e01073c
commit bb763ea4e2
140 changed files with 30775 additions and 296 deletions

View File

@@ -18,6 +18,7 @@ size = Vector3(11, 5, 3)
[node name="AudioSubtitleSystem" type="AudioStreamPlayer3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.27434, 0)
bus = &"Dialogue"
script = ExtResource("1_5vtxu")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
@@ -30,16 +31,17 @@ anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -338.0
offset_top = -121.0
offset_right = 338.0
offset_bottom = -7.0
offset_left = -607.5
offset_top = -226.0
offset_right = 607.5
offset_bottom = -21.0
grow_horizontal = 2
grow_vertical = 0
theme_override_styles/panel = SubResource("StyleBoxFlat_eoq1n")
[node name="RichTextLabel" type="RichTextLabel" parent="CanvasLayer/PanelContainer"]
layout_mode = 2
theme_override_font_sizes/normal_font_size = 32
bbcode_enabled = true
scroll_active = false
scroll_following = true

View File

@@ -1,19 +1,73 @@
[gd_scene load_steps=2 format=3 uid="uid://dvb7rkyyyllkc"]
[gd_scene load_steps=3 format=3 uid="uid://dvb7rkyyyllkc"]
[ext_resource type="Script" path="res://scripts/close_game_confirmation.gd" id="1_qqjao"]
[node name="CloseGameConfirmation" type="ConfirmationDialog"]
title = "Beenden"
initial_position = 2
size = Vector2i(267, 132)
borderless = true
ok_button_text = "Zum Hauptmenü"
dialog_text = "Möchtest du das Spiel beenden
und zurrück zum Hauptmenü
oder zurrück zum Desktop?"
dialog_close_on_escape = false
cancel_button_text = "Zum Desktop"
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2juxv"]
bg_color = Color(0, 0, 0, 0.482353)
corner_radius_top_left = 25
corner_radius_top_right = 25
corner_radius_bottom_right = 25
corner_radius_bottom_left = 25
[node name="CloseGameConfirmation" type="CanvasLayer"]
layer = 6
visible = false
script = ExtResource("1_qqjao")
[connection signal="canceled" from="." to="." method="_on_canceled"]
[connection signal="confirmed" from="." to="." method="_on_confirmed"]
[node name="Panel" type="Panel" parent="."]
custom_minimum_size = Vector2(615, 360)
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -446.0
offset_top = -278.0
offset_right = 446.0
offset_bottom = 278.0
grow_horizontal = 2
grow_vertical = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_2juxv")
[node name="RichTextLabel" type="RichTextLabel" parent="Panel"]
layout_mode = 2
offset_top = 116.0
offset_right = 892.0
offset_bottom = 356.0
size_flags_vertical = 4
theme_override_font_sizes/normal_font_size = 48
bbcode_enabled = true
text = "[center]Möchtest du das
Spiel beenden
und zurrück zum Hauptmenü
oder zurrück zum Desktop?"
fit_content = true
[node name="HBoxContainer" type="HBoxContainer" parent="Panel"]
layout_mode = 2
offset_left = 89.0
offset_top = 454.0
offset_right = 803.0
offset_bottom = 522.0
size_flags_horizontal = 4
size_flags_vertical = 8
theme_override_constants/separation = 170
[node name="MainMenu" type="Button" parent="Panel/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 4
focus_mode = 0
theme_override_font_sizes/font_size = 48
text = "Zum Hauptmenü"
[node name="Close" type="Button" parent="Panel/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 8
focus_mode = 0
theme_override_font_sizes/font_size = 48
text = "Zum Desktop
"
[connection signal="pressed" from="Panel/HBoxContainer/MainMenu" to="." method="_on_main_menu_pressed"]
[connection signal="pressed" from="Panel/HBoxContainer/Close" to="." method="_on_close_pressed"]

View File

@@ -1,12 +1,18 @@
[gd_scene load_steps=24 format=3 uid="uid://cl6gw3huejnrl"]
[gd_scene load_steps=34 format=3 uid="uid://cl6gw3huejnrl"]
[ext_resource type="Script" path="res://scripts/gravity_gun.gd" id="1_0upyy"]
[ext_resource type="ArrayMesh" uid="uid://cxw30fmp15jsd" path="res://assets/models/gun.obj" id="1_803cf"]
[ext_resource type="Environment" uid="uid://drn5fwa4uhv4m" path="res://resources/environment.tres" id="1_vtn44"]
[ext_resource type="Material" uid="uid://b6r8e4302xg1d" path="res://assets/materials/dark_metal.material" id="2_qrl87"]
[ext_resource type="Shader" path="res://shaders/pbr_glass.gdshader" id="3_aeppb"]
[ext_resource type="Texture2D" uid="uid://bawjipies8h2d" path="res://assets/textures/material/scratcheslight/scratcheslight_overlay_var2.jpg" id="4_ouoar"]
[ext_resource type="Texture2D" uid="uid://d3dolqycw3mpv" path="res://assets/textures/material/scratcheslight/scratcheslight_nrm.jpg" id="5_h51ti"]
[ext_resource type="Texture2D" uid="uid://b4en3dw3q324p" path="res://assets/textures/circle.png" id="6_bmyqq"]
[ext_resource type="Texture2D" uid="uid://bjx2i53wtjair" path="res://assets/textures/gui/crosshair.png" id="7_2qfex"]
[ext_resource type="Script" path="res://scripts/sound_effect.gd" id="8_8bfw8"]
[ext_resource type="AudioStream" uid="uid://clloa1lhfruf2" path="res://assets/audio/gun/gravity_gun.wav" id="9_mhjww"]
[ext_resource type="Script" path="res://scripts/soundeffect_resource.gd" id="10_yctqg"]
[ext_resource type="AudioStream" uid="uid://rm7sannav5x5" path="res://assets/audio/gun/gravity_gun_drop.wav" id="11_f34jp"]
[ext_resource type="AudioStream" uid="uid://b2bvpfryjdlnt" path="res://assets/audio/gun/gravity_gun_freeze.wav" id="12_gps53"]
[sub_resource type="World3D" id="World3D_wp4pn"]
environment = ExtResource("1_vtn44")
@@ -18,6 +24,20 @@ func _ready() -> void:
msaa_3d = ProjectSettings.get_setting(\"rendering/anti_aliasing/quality/msaa_3d\",0)
"
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t5ta3"]
cull_mode = 2
albedo_color = Color(0.137255, 0.160784, 0.0745098, 1)
albedo_texture = ExtResource("4_ouoar")
albedo_texture_msdf = true
metallic = 0.7
roughness = 0.7
normal_enabled = true
normal_scale = 3.0
normal_texture = ExtResource("5_h51ti")
clearcoat = 0.0
clearcoat_roughness = 1.0
uv1_scale = Vector3(3, 3, 3)
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b1al8"]
render_priority = 0
shader = ExtResource("3_aeppb")
@@ -114,6 +134,21 @@ void fragment() {
[sub_resource type="ShaderMaterial" id="ShaderMaterial_1bkc3"]
shader = SubResource("Shader_3q2t2")
[sub_resource type="Resource" id="Resource_h6pb1"]
script = ExtResource("10_yctqg")
key = "gravity"
audio = ExtResource("9_mhjww")
[sub_resource type="Resource" id="Resource_5l2w7"]
script = ExtResource("10_yctqg")
key = "drop"
audio = ExtResource("11_f34jp")
[sub_resource type="Resource" id="Resource_wyis3"]
script = ExtResource("10_yctqg")
key = "freeze"
audio = ExtResource("12_gps53")
[node name="GravityGunLayer" type="CanvasLayer"]
follow_viewport_enabled = true
script = ExtResource("1_0upyy")
@@ -153,7 +188,7 @@ sky_mode = 1
transform = Transform3D(0.00445237, 0.182181, 0.983255, 0.0240231, 0.982961, -0.182236, -0.999701, 0.0244322, -4.29794e-08, 0.895815, -0.569743, -1.63173)
mesh = ExtResource("1_803cf")
skeleton = NodePath("../..")
surface_material_override/0 = ExtResource("2_qrl87")
surface_material_override/0 = SubResource("StandardMaterial3D_t5ta3")
surface_material_override/1 = SubResource("ShaderMaterial_b1al8")
surface_material_override/2 = SubResource("StandardMaterial3D_3g65u")
surface_material_override/3 = SubResource("StandardMaterial3D_sgrb8")
@@ -217,4 +252,38 @@ size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("7_2qfex")
[node name="SoundEffect" type="AudioStreamPlayer" parent="."]
bus = &"Sound Effects"
script = ExtResource("8_8bfw8")
audio_library = Array[ExtResource("10_yctqg")]([SubResource("Resource_h6pb1"), SubResource("Resource_5l2w7"), SubResource("Resource_wyis3")])
[node name="HUD" type="HBoxContainer" parent="."]
custom_minimum_size = Vector2(584, 0)
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -607.0
offset_top = -73.0
offset_right = -23.0
offset_bottom = -13.0
grow_horizontal = 0
grow_vertical = 0
size_flags_vertical = 8
theme_override_constants/separation = 100
[node name="Freeze" type="Label" parent="HUD"]
layout_mode = 2
size_flags_vertical = 8
theme_override_font_sizes/font_size = 48
text = "Freeze: Inaktiv"
[node name="Distance" type="Label" parent="HUD"]
custom_minimum_size = Vector2(286, 0)
layout_mode = 2
theme_override_font_sizes/font_size = 48
text = "Distanz: "
clip_text = true
[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"]

View File

@@ -1,12 +1,24 @@
[gd_scene load_steps=9 format=3 uid="uid://dji1rniuusnmy"]
[gd_scene load_steps=14 format=3 uid="uid://dji1rniuusnmy"]
[ext_resource type="Script" path="res://scripts/menus/main_menu.gd" id="1_1osxu"]
[ext_resource type="PackedScene" uid="uid://ckad8stc13n83" path="res://scenes/levels/lvl_1.tscn" id="2_pnids"]
[ext_resource type="Texture2D" uid="uid://drg0qhwicg2df" path="res://assets/textures/gui/logo.png" id="3_a5ih4"]
[ext_resource type="FontFile" uid="uid://cr7a85ntk0t0k" path="res://assets/fonts/spacegrotesk_bold.ttf" id="4_26y7w"]
[ext_resource type="Texture2D" uid="uid://dq2r0xndibo3w" path="res://assets/textures/gui/settings_icon.svg" id="5_5kyv0"]
[ext_resource type="Script" path="res://scripts/menus/level_selection.gd" id="6_fj3e6"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_sr4tr"]
content_margin_left = 60.0
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8hsv5"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vej04"]
content_margin_left = 60.0
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_nitqm"]
content_margin_left = 60.0
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_tjer7"]
[sub_resource type="InputEventAction" id="InputEventAction_bc05y"]
action = &"ui_accept"
@@ -69,7 +81,7 @@ offset_bottom = 175.0
texture = ExtResource("3_a5ih4")
expand_mode = 1
[node name="ButtonCOntainer" type="VBoxContainer" parent="."]
[node name="ButtonContainer" type="VBoxContainer" parent="."]
layout_mode = 1
anchors_preset = 6
anchor_left = 1.0
@@ -83,31 +95,45 @@ offset_bottom = 190.0
grow_horizontal = 0
grow_vertical = 2
[node name="StartGame" type="Button" parent="ButtonCOntainer"]
[node name="StartGame" type="Button" parent="ButtonContainer"]
layout_mode = 2
size_flags_horizontal = 8
focus_mode = 0
theme_override_fonts/font = ExtResource("4_26y7w")
theme_override_font_sizes/font_size = 96
theme_override_styles/normal = SubResource("StyleBoxEmpty_sr4tr")
theme_override_styles/hover = SubResource("StyleBoxEmpty_8hsv5")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_vej04")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_nitqm")
theme_override_styles/focus = SubResource("StyleBoxEmpty_tjer7")
shortcut = SubResource("Shortcut_fasub")
shortcut_in_tooltip = false
text = "Spiel starten"
[node name="Levelselect" type="Button" parent="ButtonCOntainer"]
[node name="Levelselect" type="Button" parent="ButtonContainer"]
layout_mode = 2
size_flags_horizontal = 8
tooltip_text = "Noch nicht verfügbar!"
theme_override_fonts/font = ExtResource("4_26y7w")
theme_override_font_sizes/font_size = 86
theme_override_styles/normal = SubResource("StyleBoxEmpty_sr4tr")
theme_override_styles/hover = SubResource("StyleBoxEmpty_8hsv5")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_sr4tr")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_nitqm")
theme_override_styles/focus = SubResource("StyleBoxEmpty_tjer7")
disabled = true
text = "Levelauswahl"
[node name="QuitGame" type="Button" parent="ButtonCOntainer"]
[node name="QuitGame" type="Button" parent="ButtonContainer"]
layout_mode = 2
size_flags_horizontal = 8
theme_override_fonts/font = ExtResource("4_26y7w")
theme_override_font_sizes/font_size = 72
theme_override_styles/normal = SubResource("StyleBoxEmpty_sr4tr")
theme_override_styles/hover = SubResource("StyleBoxEmpty_8hsv5")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_vej04")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_nitqm")
theme_override_styles/focus = SubResource("StyleBoxEmpty_tjer7")
text = "Spiel beenden"
[node name="TopInfo" type="HBoxContainer" parent="."]
@@ -122,19 +148,47 @@ offset_bottom = 136.0
grow_horizontal = 0
theme_override_constants/separation = 16
[node name="ProgressBar" type="ProgressBar" parent="TopInfo"]
[node name="LevelProgress" type="VBoxContainer" parent="TopInfo"]
layout_mode = 2
size_flags_vertical = 8
[node name="Label" type="Label" parent="TopInfo/LevelProgress"]
layout_mode = 2
text = "Level 0/3"
[node name="ProgressBar" type="ProgressBar" parent="TopInfo/LevelProgress"]
custom_minimum_size = Vector2(280, 16)
layout_mode = 2
size_flags_horizontal = 0
size_flags_vertical = 8
max_value = 5.0
value = 1.0
[node name="Settings" type="Button" parent="TopInfo"]
layout_mode = 2
size_flags_vertical = 0
tooltip_text = "Noch nicht verfügbar!"
disabled = true
icon = ExtResource("5_5kyv0")
[connection signal="pressed" from="ButtonCOntainer/StartGame" to="." method="_on_start_game_pressed"]
[node name="LevelSelection" type="PanelContainer" parent="."]
visible = false
custom_minimum_size = Vector2(1500, 700)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -750.0
offset_top = -292.0
offset_right = 750.0
offset_bottom = 497.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("6_fj3e6")
[connection signal="pressed" from="ButtonContainer/StartGame" to="." method="_on_start_game_pressed"]
[connection signal="pressed" from="ButtonContainer/QuitGame" to="." method="_on_quit_game_pressed"]
[editable path="SubViewportContainer/SubViewport/LVL1"]
[editable path="SubViewportContainer/SubViewport/LVL1/interior"]

View File

@@ -47,18 +47,21 @@ grow_vertical = 2
[node name="Continue" type="Button" parent="VBoxContainer"]
process_mode = 3
layout_mode = 2
focus_mode = 0
theme_override_font_sizes/font_size = 46
text = "Weiter spielen"
[node name="RestartLevel" type="Button" parent="VBoxContainer"]
process_mode = 3
layout_mode = 2
focus_mode = 0
theme_override_font_sizes/font_size = 46
text = "Level neu starten"
[node name="CloseLevel" type="Button" parent="VBoxContainer"]
process_mode = 3
layout_mode = 2
focus_mode = 0
theme_override_font_sizes/font_size = 46
text = "Beenden"

View File

@@ -0,0 +1,179 @@
[gd_scene load_steps=8 format=3 uid="uid://d2rmg0r1hircj"]
[sub_resource type="BoxShape3D" id="BoxShape3D_urlb8"]
[sub_resource type="Shader" id="Shader_kkxwe"]
code = "shader_type spatial;
//Simple 3D shader to create a force-field effect inspired by Faultless Defense from Guilty Gear Xrd.
//In summary, it takes logic used for simple rim lighting and uses it to create the alpha instead.
render_mode blend_mix,depth_draw_always,cull_back,diffuse_burley,specular_schlick_ggx;//depth_test_disable;
uniform vec4 albedo : hint_color;
uniform vec4 emission_color : hint_color;
uniform sampler2D texture_albedo : hint_albedo;
uniform float emission_amount: hint_range(0.0, 16.0) = 5.0f;
uniform float rim_steepness : hint_range(0.0f, 16.0f) = 3.0f; //higher values mean a smaller rim.
uniform vec3 uv_scale;
uniform vec3 uv_offset;
void vertex() {
UV=UV*uv_scale.xy+uv_offset.xy;
}
void fragment() {
vec2 base_uv = UV;
vec4 albedo_tex = texture(texture_albedo,base_uv);
ALBEDO = albedo.rgb * albedo_tex.rgb;
EMISSION = emission_color.rgb * emission_amount;
float PI = 3.14159265359;
float NdotV = dot(NORMAL, VIEW);
float rim_light = pow(1.0 - NdotV, rim_steepness);
ALPHA = rim_light * emission_color.a / PI;
}"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xe3kp"]
render_priority = 0
shader = SubResource("Shader_kkxwe")
[sub_resource type="PlaneMesh" id="PlaneMesh_u64vp"]
material = SubResource("ShaderMaterial_xe3kp")
[sub_resource type="Shader" id="Shader_6md8p"]
code = "shader_type canvas_item;
const float REPEAT = 5.0;
mat2 rot(float a) {
float c = cos(a), s = sin(a);
return mat2(vec2(c,s),vec2(-s,c));
}
float sdBox( vec3 p, vec3 b )
{
vec3 q = abs(p) - b;
return length(max(q,0.0)) + min(max(q.x,max(q.y,q.z)),0.0);
}
float box(vec3 pos, float scale) {
pos *= scale;
float base = sdBox(pos, vec3(.4,.4,.1)) /1.5;
pos.xy *= 5.;
pos.y -= 3.5;
pos.xy *= rot(.75);
float result = -base;
return result;
}
float box_set(vec3 pos, float iTime,float gTime) {
vec3 pos_origin = pos;
pos = pos_origin;
pos .y += sin(gTime * 0.4) * 2.5;
pos.xy *= rot(.8);
float box1 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
pos = pos_origin;
pos .y -=sin(gTime * 0.4) * 2.5;
pos.xy *= rot(.8);
float box2 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
pos = pos_origin;
pos .x +=sin(gTime * 0.4) * 2.5;
pos.xy *= rot(.8);
float box3 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
pos = pos_origin;
pos .x -=sin(gTime * 0.4) * 2.5;
pos.xy *= rot(.8);
float box4 = box(pos,2. - abs(sin(gTime * 0.4)) * 1.5);
pos = pos_origin;
pos.xy *= rot(.8);
float box5 = box(pos,.5) * 6.;
pos = pos_origin;
float box6 = box(pos,.5) * 6.;
float result = max(max(max(max(max(box1,box2),box3),box4),box5),box6);
return result;
}
float map(vec3 pos, float iTime, float gTime) {
vec3 pos_origin = pos;
float box_set1 = box_set(pos, iTime, gTime);
return box_set1;
}
void fragment() {
vec2 iResolution = 1.0 / SCREEN_PIXEL_SIZE;
float iTime = TIME;
float gTime = 0.0;
vec2 p = (FRAGCOORD.xy * 2. - iResolution.xy) / min(iResolution.x, iResolution.y);
vec3 ro = vec3(0., -0.2 ,iTime * 4.);
vec3 ray = normalize(vec3(p, 1.5));
ray.xy = ray.xy * rot(sin(iTime * .03) * 5.);
ray.yz = ray.yz * rot(sin(iTime * .05) * .2);
float t = 0.1;
vec3 col = vec3(0.);
float ac = 0.0;
for (int i = 0; i < 99; i++){
vec3 pos = ro + ray * t;
pos = mod(pos-2., 4.) -2.;
gTime = iTime -float(i) * 0.01;
float d = map(pos, iTime, gTime);
d = max(abs(d), 0.01);
ac += exp(-d*23.);
t += d* 0.55;
}
col = vec3(ac * 0.02);
col +=vec3(0.,0.2 * abs(sin(iTime)),0.5 + sin(iTime) * 0.2);
COLOR = vec4(col ,1.0 - t * (0.02 + 0.02 * sin (iTime)));
}"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hw5y5"]
shader = SubResource("Shader_6md8p")
[sub_resource type="LabelSettings" id="LabelSettings_p3ds8"]
font_size = 48
[node name="Area3D" type="Area3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("BoxShape3D_urlb8")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("PlaneMesh_u64vp")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0, 0, 0, 1)
[node name="Shader" type="ColorRect" parent="CanvasLayer"]
material = SubResource("ShaderMaterial_hw5y5")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="CanvasLayer"]
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 19.0
offset_top = -78.0
offset_right = 789.0
offset_bottom = -18.0
grow_vertical = 0
text = "Keine Panik! Die Simulation lädt..."
label_settings = SubResource("LabelSettings_p3ds8")

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=21 format=3 uid="uid://ckad8stc13n83"]
[gd_scene load_steps=25 format=3 uid="uid://ckad8stc13n83"]
[ext_resource type="PackedScene" uid="uid://ddwkhfly2xyyt" path="res://assets/models/interior.obj" id="1_xs30l"]
[ext_resource type="Material" uid="uid://1w6e5sx6poff" path="res://assets/textures/material/tilesslatesquare/tilesslatesquare.material" id="2_evxh1"]
@@ -8,11 +8,13 @@
[ext_resource type="PackedScene" uid="uid://cy0x2nliyw8gw" path="res://scenes/objects/door.tscn" id="13_fhdru"]
[ext_resource type="PackedScene" uid="uid://dqy8bqf1chm8c" path="res://scenes/objects/interactables/button_stand.tscn" id="14_mpdbg"]
[ext_resource type="PackedScene" uid="uid://ced2w03t8er5k" path="res://scenes/objects/cube.tscn" id="15_40os8"]
[ext_resource type="AudioStream" uid="uid://cgvbxwsnkbs43" path="res://assets/audio/voicelines/anouncer_lvl1_01.ogg" id="15_b0jr0"]
[ext_resource type="PackedScene" uid="uid://ce8nemacxi67m" path="res://scenes/audio_subtitle_system.tscn" id="16_2wrmg"]
[ext_resource type="AudioStream" uid="uid://bflyad1e0la3d" path="res://assets/audio/voicelines/anouncer_lvl1_02.ogg" id="16_ova7a"]
[ext_resource type="AudioStream" uid="uid://d3741vrmaeci5" path="res://assets/audio/voicelines/anouncer_intro_01.ogg" id="17_1a448"]
[ext_resource type="Script" path="res://scripts/voiceline_resource.gd" id="18_jxpoe"]
[ext_resource type="AudioStream" uid="uid://bi1rf1hi2fm2r" path="res://assets/audio/voicelines/anouncer_intro_02.ogg" id="19_2roq0"]
[ext_resource type="AudioStream" uid="uid://bji3bx3umohnw" path="res://assets/audio/voicelines/anouncer_intro_03.ogg" id="20_dqpxk"]
[ext_resource type="AudioStream" uid="uid://rg20ayxe5m75" path="res://assets/audio/voicelines/anouncer_intro_03.ogg" id="20_dqpxk"]
[ext_resource type="AudioStream" uid="uid://ddpvabd43s3p4" path="res://assets/audio/voicelines/anouncer_intro_04.ogg" id="21_n11nj"]
[sub_resource type="BoxMesh" id="BoxMesh_wyr1d"]
@@ -41,11 +43,21 @@ script = ExtResource("18_jxpoe")
audio = ExtResource("21_n11nj")
text = "Jetzt werden Sie einige Tests durchführen, um sicherzustellen, dass Sie [rainbow][wave]keinen Hirnschaden[/wave][/rainbow] haben oder ein [rainbow][wave]kompletter Idiot[/wave][/rainbow] sind, da es jetzt vollständig in unser digitales Simulationssystem integriert ist."
[sub_resource type="Resource" id="Resource_36k3m"]
script = ExtResource("18_jxpoe")
audio = ExtResource("15_b0jr0")
text = "Jetzt müssen Sie mit unserer simulierten [color=blue]Gravity Gun™[/color] aus dem ersten Raum entkommen. "
[sub_resource type="Resource" id="Resource_r341a"]
script = ExtResource("18_jxpoe")
audio = ExtResource("16_ova7a")
text = "Wir nehmen auch Investoren für die reale Version dieses Tools an."
[node name="LVL1" type="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.707107, -0.707107, 0, 0.5, 0.5, 0.707107, -0.5, -0.5, 0.707107, 0, 0, 0)
transform = Transform3D(0.707107, -0.707107, -4.21468e-08, -0.5, -0.5, 0.707107, -0.5, -0.5, -0.707107, 0, 0, 0)
directional_shadow_blend_splits = true
sky_mode = 1
@@ -62,17 +74,17 @@ surface_material_override/0 = ExtResource("7_nrt8m")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.23956)
[node name="CompletionCounter" parent="." node_paths=PackedStringArray("nodes_needed") instance=ExtResource("12_vn8j0")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0617981, 3.05379, 6.24098)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0617981, 3.08507, 6.31598)
nodes_needed = [NodePath("../ButtonStand2"), NodePath("../ButtonStand3")]
[node name="Door" parent="." instance=ExtResource("13_fhdru")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0536218, 1.58488, 6.64)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0536218, 1.48562, 6.64)
[node name="ButtonStand2" parent="." instance=ExtResource("14_mpdbg")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.03802, 0.7, 4)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.038, 0.65, 4)
[node name="ButtonStand3" parent="." instance=ExtResource("14_mpdbg")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 4.7, 0.0433838)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5, 4.65, 0.043)
[node name="Cube" parent="." instance=ExtResource("15_40os8")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.51, 0)
@@ -83,20 +95,20 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0.51, 0)
[node name="Cube3" parent="." instance=ExtResource("15_40os8")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1968, 0.51, 0)
[node name="DebugPlane" type="StaticBody3D" parent="."]
[node name="Plane" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 3.9, 0)
collision_layer = 7
collision_mask = 7
[node name="MeshInstance3D" type="MeshInstance3D" parent="DebugPlane"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="Plane"]
mesh = SubResource("BoxMesh_wyr1d")
[node name="CollisionShape3D" type="CollisionShape3D" parent="DebugPlane"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Plane"]
shape = SubResource("BoxShape3D_lygjd")
[node name="AudioSubtitleSystem" parent="." instance=ExtResource("16_2wrmg")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.27434, 3)
voice_lines = Array[ExtResource("18_jxpoe")]([SubResource("Resource_u3j5u"), SubResource("Resource_3g4yn"), SubResource("Resource_6wqks"), SubResource("Resource_im7qv")])
voice_lines = Array[ExtResource("18_jxpoe")]([SubResource("Resource_u3j5u"), SubResource("Resource_3g4yn"), SubResource("Resource_6wqks"), SubResource("Resource_im7qv"), SubResource("Resource_36k3m"), SubResource("Resource_r341a")])
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3, 6)

31
scenes/levels/lvl_2.tscn Normal file
View File

@@ -0,0 +1,31 @@
[gd_scene load_steps=5 format=3 uid="uid://c17x7kmjmqdk3"]
[ext_resource type="PackedScene" uid="uid://ddwkhfly2xyyt" path="res://assets/models/interior.obj" id="1_yhnvx"]
[ext_resource type="Material" uid="uid://bg5hb1744y4ik" path="res://assets/textures/material/planks/planks.material" id="2_58abf"]
[ext_resource type="Material" uid="uid://du8w0x0kmgjui" path="res://assets/textures/material/bricks/bricks.tres" id="3_dimow"]
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="4_s0xrk"]
[node name="LVL1" type="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.707107, -0.707107, -4.21468e-08, -0.5, -0.5, 0.707107, -0.5, -0.5, -0.707107, 0, 0, 0)
directional_shadow_blend_splits = true
sky_mode = 1
[node name="interior" parent="." instance=ExtResource("1_yhnvx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
[node name="Hallway" parent="interior" index="0"]
surface_material_override/0 = ExtResource("2_58abf")
[node name="Room" parent="interior" index="1"]
surface_material_override/0 = ExtResource("3_dimow")
[node name="Player" parent="." instance=ExtResource("4_s0xrk")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.23956)
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3, 6)
[editable path="interior"]

View File

@@ -16,6 +16,7 @@ buffer = PackedFloat32Array(1.001, 0, 0, -0.075992, 0, 0, -1.001, -0.0484443, 0,
[node name="CompletionCounter" type="MeshInstance3D"]
editor_description = "The amount of signals it needs connected and fired to emit a signal"
visible = false
mesh = SubResource("BoxMesh_w280a")
script = ExtResource("1_40xge")

View File

@@ -1,19 +1,47 @@
[gd_scene load_steps=7 format=3 uid="uid://cy0x2nliyw8gw"]
[gd_scene load_steps=9 format=3 uid="uid://cy0x2nliyw8gw"]
[ext_resource type="Script" path="res://scripts/door.gd" id="1_qix0h"]
[sub_resource type="BoxMesh" id="BoxMesh_8iti4"]
size = Vector3(1.5, 3, 0.2)
[ext_resource type="ArrayMesh" uid="uid://dcoh3pfu6hb6q" path="res://assets/models/door.obj" id="2_vc20h"]
[ext_resource type="Material" uid="uid://canvgrlphqagw" path="res://assets/materials/light_metal.material" id="3_ti6vs"]
[ext_resource type="ArrayMesh" uid="uid://bpv5cwupbmdtk" path="res://assets/models/door_handle.obj" id="4_frcys"]
[sub_resource type="BoxShape3D" id="BoxShape3D_pejvk"]
size = Vector3(1.5, 3, 0.2)
[sub_resource type="Animation" id="Animation_hlq2m"]
[sub_resource type="Animation" id="Animation_1220n"]
resource_name = "open"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MeshInstance3D2:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(1, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MeshInstance3D2/Handle:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0.349066, 1.5708, -1.5708), Vector3(5.93412, 1.5708, -1.5708)]
}
[sub_resource type="Animation" id="Animation_3fs6g"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/path = NodePath("MeshInstance3D2:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
@@ -22,44 +50,48 @@ tracks/0/keys = {
"update": 0,
"values": [Vector3(0, 0, 0)]
}
[sub_resource type="Animation" id="Animation_53g2p"]
resource_name = "open"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MeshInstance3D2/Handle:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(1.4, 0, 0)]
"values": [Vector3(0.349066, 1.5708, -1.5708)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_r8evj"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5xgbb"]
_data = {
"RESET": SubResource("Animation_hlq2m"),
"open": SubResource("Animation_53g2p")
"RESET": SubResource("Animation_3fs6g"),
"open": SubResource("Animation_1220n")
}
[node name="Door" type="Node3D"]
script = ExtResource("1_qix0h")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("BoxMesh_8iti4")
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.5, 0, 0, 0)
mesh = ExtResource("2_vc20h")
surface_material_override/0 = ExtResource("3_ti6vs")
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D2"]
transform = Transform3D(1.33333, 0, 0, 0, 1.33333, 0, 0, 0, 1.33333, 0, 0, 0)
collision_layer = 3
collision_mask = 3
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D2/StaticBody3D"]
shape = SubResource("BoxShape3D_pejvk")
[node name="Handle" type="MeshInstance3D" parent="MeshInstance3D2"]
transform = Transform3D(-0.456027, -1.17323e-07, 1.25292, -1.25292, -8.21505e-08, -0.456027, 7.82154e-08, -2, -5.4767e-08, -0.757807, -0.445, -0.399)
mesh = ExtResource("4_frcys")
skeleton = NodePath("../..")
surface_material_override/0 = ExtResource("3_ti6vs")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
root_node = NodePath("../MeshInstance3D")
libraries = {
"": SubResource("AnimationLibrary_r8evj")
"": SubResource("AnimationLibrary_5xgbb")
}

View File

@@ -2,27 +2,18 @@
[ext_resource type="PackedScene" uid="uid://dm8l36ephydnl" path="res://scenes/objects/interaction_area.tscn" id="1_0okd0"]
[ext_resource type="Script" path="res://scripts/interactables/completer/button_stand.gd" id="1_gkcm2"]
[ext_resource type="ArrayMesh" uid="uid://bjiycdbug2bd3" path="res://assets/models/button_stand.obj" id="2_0tsnx"]
[ext_resource type="Material" uid="uid://cxjgare3kcbtl" path="res://assets/materials/dark_metal2.material" id="3_u47pc"]
[ext_resource type="Material" uid="uid://df88ryv5mvkg0" path="res://assets/textures/material/metal/metal_red.material" id="4_sck5v"]
[sub_resource type="CylinderShape3D" id="CylinderShape3D_jpuiw"]
height = 1.4
height = 1.45
radius = 0.3
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q60ht"]
albedo_color = Color(0.54902, 0.54902, 0.54902, 1)
[sub_resource type="CylinderMesh" id="CylinderMesh_hgcvq"]
material = SubResource("StandardMaterial3D_q60ht")
top_radius = 0.3
bottom_radius = 0.3
height = 1.4
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_crdtx"]
albedo_color = Color(0.686275, 0, 0.168627, 1)
[sub_resource type="CylinderMesh" id="CylinderMesh_g1gjr"]
material = SubResource("StandardMaterial3D_crdtx")
top_radius = 0.2
bottom_radius = 0.2
material = ExtResource("4_sck5v")
top_radius = 0.12
bottom_radius = 0.12
height = 0.1
[sub_resource type="Animation" id="Animation_y5bt0"]
@@ -37,12 +28,12 @@ tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0.750413, 0)]
"values": [Vector3(0, 0.72, 0)]
}
[sub_resource type="Animation" id="Animation_stg1c"]
resource_name = "press"
length = 0.2
length = 0.1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
@@ -50,10 +41,10 @@ tracks/0/path = NodePath("Button:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0.750413, 0), Vector3(0, 0.67, 0), Vector3(0, 0.75, 0)]
"values": [Vector3(0, 0.72, 0), Vector3(0, 0.65, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_um1vs"]
@@ -68,13 +59,21 @@ collision_mask = 7
script = ExtResource("1_gkcm2")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0349109, 0)
shape = SubResource("CylinderShape3D_jpuiw")
[node name="Stand" type="MeshInstance3D" parent="."]
mesh = SubResource("CylinderMesh_hgcvq")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.63, 0)
mesh = ExtResource("2_0tsnx")
surface_material_override/0 = ExtResource("3_u47pc")
[node name="Stand2" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.63, 0)
mesh = ExtResource("2_0tsnx")
surface_material_override/0 = ExtResource("3_u47pc")
[node name="Button" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.750413, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.72, 0)
mesh = SubResource("CylinderMesh_g1gjr")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]

View File

@@ -1,9 +1,15 @@
[gd_scene load_steps=9 format=3 uid="uid://gg5ph541e4p3"]
[gd_scene load_steps=19 format=3 uid="uid://gg5ph541e4p3"]
[ext_resource type="Script" path="res://scripts/player.gd" id="1_8d33x"]
[ext_resource type="PackedScene" uid="uid://cl6gw3huejnrl" path="res://scenes/gravity_gun.tscn" id="2_ahuce"]
[ext_resource type="Script" path="res://shaders/gdscript_assist/ddof.gd" id="2_jg7te"]
[ext_resource type="Shader" path="res://shaders/ddof.gdshader" id="2_rpqdy"]
[ext_resource type="Script" path="res://scripts/sound_effect.gd" id="5_t1bvf"]
[ext_resource type="Script" path="res://scripts/soundeffect_resource.gd" id="6_4revs"]
[ext_resource type="AudioStream" uid="uid://do3u2sqjla0as" path="res://assets/audio/footsteps/jump.wav" id="6_oau5k"]
[ext_resource type="AudioStream" uid="uid://cugjcjiiq2xvo" path="res://assets/audio/footsteps/step1.wav" id="8_kxd2q"]
[ext_resource type="AudioStream" uid="uid://d112eqcmac840" path="res://assets/audio/footsteps/step2.wav" id="9_4mctc"]
[ext_resource type="AudioStream" uid="uid://cf87vn2hrh7u8" path="res://assets/audio/footsteps/land.wav" id="10_n3ln3"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2qx4s"]
radius = 0.4
@@ -25,6 +31,26 @@ size = Vector2(2, 2)
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_fvhib"]
[sub_resource type="Resource" id="Resource_n8h0v"]
script = ExtResource("6_4revs")
key = "jump"
audio = ExtResource("6_oau5k")
[sub_resource type="Resource" id="Resource_a4b4g"]
script = ExtResource("6_4revs")
key = "step1"
audio = ExtResource("8_kxd2q")
[sub_resource type="Resource" id="Resource_yjl6f"]
script = ExtResource("6_4revs")
key = "step2"
audio = ExtResource("9_4mctc")
[sub_resource type="Resource" id="Resource_qe4pm"]
script = ExtResource("6_4revs")
key = "land"
audio = ExtResource("10_n3ln3")
[node name="Player" type="CharacterBody3D"]
script = ExtResource("1_8d33x")
@@ -60,4 +86,13 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0,
[node name="GravityGunLayer" parent="." node_paths=PackedStringArray("player") instance=ExtResource("2_ahuce")]
player = NodePath("..")
[node name="FootStepTimer" type="Timer" parent="."]
wait_time = 0.4
[node name="FootSteps" type="AudioStreamPlayer" parent="."]
script = ExtResource("5_t1bvf")
audio_library = Array[ExtResource("6_4revs")]([SubResource("Resource_n8h0v"), SubResource("Resource_a4b4g"), SubResource("Resource_yjl6f"), SubResource("Resource_qe4pm")])
[connection signal="timeout" from="FootStepTimer" to="." method="_on_foot_step_timer_timeout"]
[editable path="GravityGunLayer"]