did a lot of stuff holy shit

This commit is contained in:
2024-01-26 13:18:15 +01:00
parent 3ce02c2147
commit 8d237ae1d4
110 changed files with 2282 additions and 351 deletions

View File

@@ -0,0 +1,142 @@
[gd_scene load_steps=7 format=3 uid="uid://d0c5hrutllyqx"]
[ext_resource type="Script" path="res://scripts/autoloads/level_manager.gd" id="1_r0vey"]
[ext_resource type="PackedScene" uid="uid://ckad8stc13n83" path="res://scenes/levels/lvl_1.tscn" id="2_tl22s"]
[ext_resource type="PackedScene" uid="uid://c17x7kmjmqdk3" path="res://scenes/levels/lvl_2.tscn" id="3_i56tx"]
[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_xt4fu"]
shader = SubResource("Shader_6md8p")
[sub_resource type="LabelSettings" id="LabelSettings_v50fi"]
font_size = 48
[node name="LevelManager" type="Node"]
script = ExtResource("1_r0vey")
levels = Array[PackedScene]([ExtResource("2_tl22s"), ExtResource("3_i56tx")])
[node name="Transition" type="CanvasLayer" parent="."]
layer = 2
visible = false
[node name="ColorRect" type="ColorRect" parent="Transition"]
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="Transition"]
material = SubResource("ShaderMaterial_xt4fu")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Label" type="Label" parent="Transition"]
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_v50fi")

View File

@@ -57,11 +57,11 @@ clearcoat_enabled = true
ao_light_affect = 0.22
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6ml44"]
albedo_color = Color(1, 0, 0, 1)
albedo_color = Color(0.207843, 0.639216, 0, 1)
metallic_specular = 0.0
emission_enabled = true
emission = Color(1, 0.156863, 0, 1)
emission_energy_multiplier = 16.0
emission = Color(0, 0.662745, 0, 1)
emission_energy_multiplier = 0.0
backlight_enabled = true
backlight = Color(1, 0.215686, 0, 1)
disable_receive_shadows = true

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=3 format=3 uid="uid://dvb7rkyyyllkc"]
[ext_resource type="Script" path="res://scripts/close_game_confirmation.gd" id="1_qqjao"]
[ext_resource type="Script" path="res://scripts/close_game_confirmation.gd" id="1_7dm65"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_2juxv"]
bg_color = Color(0, 0, 0, 0.482353)
@@ -12,7 +12,7 @@ corner_radius_bottom_left = 25
[node name="CloseGameConfirmation" type="CanvasLayer"]
layer = 6
visible = false
script = ExtResource("1_qqjao")
script = ExtResource("1_7dm65")
[node name="Panel" type="Panel" parent="."]
custom_minimum_size = Vector2(615, 360)

View File

@@ -0,0 +1,78 @@
[gd_scene load_steps=9 format=3 uid="uid://cik0cjt5vdkxf"]
[ext_resource type="Script" path="res://scripts/menus/game_finished.gd" id="1_boc3n"]
[ext_resource type="FontFile" uid="uid://cr7a85ntk0t0k" path="res://assets/fonts/spacegrotesk_bold.ttf" id="2_6jsm4"]
[sub_resource type="LabelSettings" id="LabelSettings_0vtd5"]
font = ExtResource("2_6jsm4")
font_size = 90
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wsdrp"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_pcy04"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_u03up"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_jpy2c"]
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_n6en7"]
[node name="GameFinished" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_boc3n")
[node name="ColorRect" type="ColorRect" parent="."]
layout_mode = 1
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="Label" type="Label" parent="."]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -702.0
offset_top = -117.5
offset_right = 702.0
offset_bottom = 117.5
grow_horizontal = 2
grow_vertical = 2
text = "Wow!
Du hast das Spiel durchgespielt!"
label_settings = SubResource("LabelSettings_0vtd5")
horizontal_alignment = 1
[node name="Button" type="Button" parent="."]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -63.0
offset_top = -50.0
offset_right = 63.0
offset_bottom = -9.0
grow_horizontal = 2
grow_vertical = 0
focus_mode = 0
theme_override_font_sizes/font_size = 32
theme_override_styles/normal = SubResource("StyleBoxEmpty_wsdrp")
theme_override_styles/hover = SubResource("StyleBoxEmpty_pcy04")
theme_override_styles/pressed = SubResource("StyleBoxEmpty_u03up")
theme_override_styles/disabled = SubResource("StyleBoxEmpty_jpy2c")
theme_override_styles/focus = SubResource("StyleBoxEmpty_n6en7")
text = "Hauptmenü"
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]

View File

@@ -0,0 +1,83 @@
[gd_scene load_steps=6 format=3 uid="uid://ceq785h1fcvq"]
[ext_resource type="Script" path="res://scripts/game_over.gd" id="1_oydw2"]
[ext_resource type="FontFile" uid="uid://cr7a85ntk0t0k" path="res://assets/fonts/spacegrotesk_bold.ttf" id="2_1rhse"]
[sub_resource type="Shader" id="Shader_1tfvw"]
code = "shader_type canvas_item;
uniform float blur_amount : hint_range(0, 5);
uniform sampler2D SCREEN_TEXTURE : hint_screen_texture, filter_linear_mipmap;
void fragment() {
COLOR = textureLod(SCREEN_TEXTURE, SCREEN_UV, blur_amount);
}"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_08jax"]
shader = SubResource("Shader_1tfvw")
shader_parameter/blur_amount = 2.0
[sub_resource type="LabelSettings" id="LabelSettings_y2u7n"]
font = ExtResource("2_1rhse")
font_size = 72
[node name="GameOver" type="CanvasLayer"]
process_mode = 3
script = ExtResource("1_oydw2")
[node name="Blur" type="ColorRect" parent="."]
process_mode = 3
material = SubResource("ShaderMaterial_08jax")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
metadata/_edit_use_anchors_ = true
[node name="ColorRect" type="ColorRect" parent="."]
process_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(1, 0, 0, 0.305882)
metadata/_edit_use_anchors_ = true
[node name="Label" type="Label" parent="."]
process_mode = 3
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -195.0
offset_top = -46.5
offset_right = 195.0
offset_bottom = 46.5
grow_horizontal = 2
grow_vertical = 2
text = "Game Over!"
label_settings = SubResource("LabelSettings_y2u7n")
metadata/_edit_use_anchors_ = true
[node name="Button" type="Button" parent="."]
process_mode = 3
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -138.5
offset_top = -155.0
offset_right = 138.5
offset_bottom = -82.0
grow_horizontal = 2
grow_vertical = 0
focus_mode = 0
theme_override_font_sizes/font_size = 32
text = "Level neustarten"
metadata/_edit_use_anchors_ = true
[connection signal="pressed" from="Button" to="." method="_on_button_pressed"]

View File

@@ -53,10 +53,7 @@ render_target_update_mode = 4
[node name="LVL1" parent="SubViewportContainer/SubViewport" instance=ExtResource("2_pnids")]
[node name="Camera3D" parent="SubViewportContainer/SubViewport/LVL1/Player" index="1"]
current = false
[node name="SpringArm3D" parent="SubViewportContainer/SubViewport/LVL1/Player/Camera3D" index="1"]
[node name="Player" parent="SubViewportContainer/SubViewport/LVL1" index="2"]
visible = false
[node name="AudioListener3D" parent="SubViewportContainer/SubViewport/LVL1/Player/Camera3D" index="3"]

View File

@@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://scripts/menus/pause_menu.gd" id="1_e70hy"]
[sub_resource type="Shader" id="Shader_1tfvw"]
[sub_resource type="Shader" id="Shader_y0jqs"]
code = "shader_type canvas_item;
uniform float blur_amount : hint_range(0, 5);
@@ -13,7 +13,7 @@ void fragment() {
}"
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bxx1r"]
shader = SubResource("Shader_1tfvw")
shader = SubResource("Shader_y0jqs")
shader_parameter/blur_amount = 2.0
[node name="PauseMenu" type="CanvasLayer"]

View File

@@ -1,179 +1,35 @@
[gd_scene load_steps=8 format=3 uid="uid://d2rmg0r1hircj"]
[gd_scene load_steps=5 format=3 uid="uid://d2rmg0r1hircj"]
[ext_resource type="Script" path="res://scripts/level_finish_area.gd" id="1_cfjpp"]
[sub_resource type="BoxShape3D" id="BoxShape3D_urlb8"]
size = Vector3(11, 7, 1)
[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.
[sub_resource type="QuadMesh" id="QuadMesh_hjut0"]
flip_faces = true
size = Vector2(4, 4)
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
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_iaevn"]
albedo_color = Color(0, 1, 0.266667, 1)
emission_enabled = true
emission = Color(0, 1, 0, 1)
emission_energy_multiplier = 3.0
[node name="Area3D" type="Area3D"]
script = ExtResource("1_cfjpp")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.153507)
shape = SubResource("BoxShape3D_urlb8")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("PlaneMesh_u64vp")
mesh = SubResource("QuadMesh_hjut0")
surface_material_override/0 = SubResource("StandardMaterial3D_iaevn")
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="Label3D" type="Label3D" parent="."]
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, -0.524372)
billboard = 2
text = "Nächstes Level"
font_size = 48
[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")
[connection signal="body_entered" from="." to="." method="_on_body_entered"]

View File

@@ -1,8 +1,11 @@
[gd_scene load_steps=25 format=3 uid="uid://ckad8stc13n83"]
[gd_scene load_steps=30 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"]
[ext_resource type="Material" uid="uid://du8w0x0kmgjui" path="res://assets/textures/material/bricks/bricks.tres" id="3_b6ww3"]
[ext_resource type="Material" uid="uid://bg5hb1744y4ik" path="res://assets/textures/material/planks/planks.material" id="4_lyce0"]
[ext_resource type="Material" uid="uid://c6rvbga7g5f4l" path="res://assets/textures/material/tiles_white/tiles_white.material" id="7_nrt8m"]
[ext_resource type="Material" uid="uid://bpaoho76mro65" path="res://assets/textures/material/crate/crate2.material" id="9_icmwj"]
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="11_lls6p"]
[ext_resource type="PackedScene" uid="uid://22blfybi6n4q" path="res://scenes/objects/completion_counter.tscn" id="12_vn8j0"]
[ext_resource type="PackedScene" uid="uid://cy0x2nliyw8gw" path="res://scenes/objects/door.tscn" id="13_fhdru"]
@@ -15,9 +18,13 @@
[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://rg20ayxe5m75" path="res://assets/audio/voicelines/anouncer_intro_03.ogg" id="20_dqpxk"]
[ext_resource type="PackedScene" uid="uid://d2rmg0r1hircj" path="res://scenes/level_finish_area.tscn" id="20_tt84f"]
[ext_resource type="AudioStream" uid="uid://ddpvabd43s3p4" path="res://assets/audio/voicelines/anouncer_intro_04.ogg" id="21_n11nj"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_thqbu"]
[sub_resource type="BoxMesh" id="BoxMesh_wyr1d"]
material = ExtResource("9_icmwj")
size = Vector3(4, 0.2, 5)
[sub_resource type="BoxShape3D" id="BoxShape3D_lygjd"]
@@ -64,14 +71,27 @@ sky_mode = 1
[node name="interior" parent="." instance=ExtResource("1_xs30l")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
[node name="Hallway" parent="interior" index="0"]
[node name="Ground1" parent="interior" index="0"]
surface_material_override/0 = ExtResource("2_evxh1")
[node name="Room" parent="interior" index="1"]
[node name="Walls2" parent="interior" index="1"]
surface_material_override/0 = ExtResource("3_b6ww3")
[node name="Ground2" parent="interior" index="2"]
surface_material_override/0 = ExtResource("4_lyce0")
[node name="Walls1" parent="interior" index="3"]
surface_material_override/0 = ExtResource("7_nrt8m")
[node name="Ceiling" parent="interior" index="4"]
surface_material_override/0 = SubResource("StandardMaterial3D_thqbu")
[node name="StaticBody3D" parent="interior/Ceiling" index="0"]
collision_layer = 7
collision_mask = 7
[node name="Player" parent="." instance=ExtResource("11_lls6p")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.23956)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.7209)
[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.08507, 6.31598)
@@ -84,7 +104,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0536218, 1.48562, 6.64)
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.65, 0.043)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 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)
@@ -96,7 +116,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 0.51, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.1968, 0.51, 0)
[node name="Plane" type="StaticBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 3.9, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 4, 0)
collision_layer = 7
collision_mask = 7
@@ -113,6 +133,9 @@ voice_lines = Array[ExtResource("18_jxpoe")]([SubResource("Resource_u3j5u"), Sub
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3, 6)
[node name="Area3D" parent="." instance=ExtResource("20_tt84f")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.318473, 2, 10.63)
[connection signal="lock" from="CompletionCounter" to="Door" method="close"]
[connection signal="unlock" from="CompletionCounter" to="Door" method="open"]

View File

@@ -1,12 +1,29 @@
[gd_scene load_steps=8 format=3 uid="uid://c17x7kmjmqdk3"]
[gd_scene load_steps=16 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://cbb37i3xvtp50" path="res://assets/models/interior2.obj" id="3_wurqx"]
[ext_resource type="Texture2D" uid="uid://dsn5u1ymp1eki" path="res://assets/textures/material/concrete/concrete_color.png" id="4_1qe3t"]
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="4_s0xrk"]
[ext_resource type="Material" uid="uid://dc07mg6jyhsq6" path="res://assets/textures/material/gray_bricks/gray_bricks.material" id="4_wsys7"]
[ext_resource type="Texture2D" uid="uid://dgp24icxy8biu" path="res://assets/textures/material/concrete/concrete_ambientocclusion.png" id="5_2hu3x"]
[ext_resource type="Material" uid="uid://c3qgfnlx7ik2n" path="res://assets/textures/material/paintedplaster/paintedplaster.material" id="5_dye2r"]
[ext_resource type="PackedScene" uid="uid://bk4h14lkwp04a" path="res://scenes/objects/furniture/desk.tscn" id="5_u4bki"]
[ext_resource type="Texture2D" uid="uid://dh5k61ko53gn6" path="res://assets/textures/material/concrete/concrete_normalgl.png" id="6_h1os3"]
[ext_resource type="PackedScene" uid="uid://ced2w03t8er5k" path="res://scenes/objects/physics_objects/cube.tscn" id="6_ndtyp"]
[ext_resource type="PackedScene" uid="uid://y7mgnooudpqv" path="res://scenes/objects/physics_objects/vent.tscn" id="7_r3yjb"]
[ext_resource type="Texture2D" uid="uid://b230m11b62rk4" path="res://assets/textures/material/concrete/concrete_roughness.png" id="7_pqq8x"]
[ext_resource type="PackedScene" uid="uid://jtb3abokylwq" path="res://scenes/objects/physics_objects/keyboard_mouse.tscn" id="11_58enu"]
[ext_resource type="PackedScene" uid="uid://ryumwinqbqgr" path="res://scenes/objects/physics_objects/computer_screen.tscn" id="12_djkgb"]
[ext_resource type="PackedScene" uid="uid://idxtvhvxccgl" path="res://scenes/objects/physics_objects/bottle.tscn" id="14_8trno"]
[ext_resource type="PackedScene" uid="uid://d2rmg0r1hircj" path="res://scenes/level_finish_area.tscn" id="15_0vmxp"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_6f4qa"]
albedo_texture = ExtResource("4_1qe3t")
roughness_texture = ExtResource("7_pqq8x")
normal_enabled = true
normal_scale = 3.0
normal_texture = ExtResource("6_h1os3")
ao_enabled = true
ao_texture = ExtResource("5_2hu3x")
uv1_scale = Vector3(8.5, 8.5, 8.5)
[node name="LVL1" type="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
@@ -16,28 +33,71 @@ transform = Transform3D(0.707107, -0.707107, -4.21468e-08, -0.5, -0.5, 0.707107,
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)
[node name="Desk" parent="." instance=ExtResource("5_u4bki")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.64074, 1, 0)
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, -21.1122)
[node name="Cube" parent="." instance=ExtResource("6_ndtyp")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.920002, 0.15612, 1.95953)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.37859, 0.15612, 2.35514)
freeze = true
[node name="Vent" parent="." instance=ExtResource("7_r3yjb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.54621, 2.315, -3.06745)
[node name="interior2" parent="." instance=ExtResource("3_wurqx")]
[editable path="interior"]
[node name="Walls1" parent="interior2" index="0"]
surface_material_override/0 = ExtResource("4_wsys7")
[node name="Walls2" parent="interior2" index="1"]
surface_material_override/0 = ExtResource("5_dye2r")
[node name="Ground" parent="interior2" index="2"]
surface_material_override/0 = SubResource("StandardMaterial3D_6f4qa")
[node name="Desk" parent="." instance=ExtResource("5_u4bki")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.497, 1.25, -20.898)
[node name="Cube2" parent="." instance=ExtResource("11_58enu")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.0851, 1.33987, -21.5152)
[node name="ComputerScreen" parent="." instance=ExtResource("12_djkgb")]
transform = Transform3D(-0.176775, -0.0764619, 0.981277, -0.0818855, 0.994664, 0.0627536, -0.980839, -0.0692591, -0.182093, 16.7956, 1.99061, -21.4736)
[node name="Desk2" parent="." instance=ExtResource("5_u4bki")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.497, 1.25, -16.1503)
[node name="Cube3" parent="." instance=ExtResource("11_58enu")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.0851, 1.33987, -16.7675)
[node name="ComputerScreen2" parent="." instance=ExtResource("12_djkgb")]
transform = Transform3D(-0.305014, 0, 0.952348, 0, 1, 0, -0.952348, 0, -0.305014, 16.7956, 1.99061, -16.7259)
[node name="Desk3" parent="." instance=ExtResource("5_u4bki")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.2247, 1.25, -7.9819)
[node name="Cube4" parent="." instance=ExtResource("11_58enu")]
transform = Transform3D(0.98423, 0, 0.176896, 0, 1, 0, -0.176896, 0, 0.98423, 15.8128, 1.33987, -8.59911)
[node name="ComputerScreen3" parent="." instance=ExtResource("12_djkgb")]
transform = Transform3D(0.104667, 0, 0.994507, 0, 1, 0, -0.994507, 0, 0.104667, 16.5233, 1.99061, -8.55754)
[node name="Desk4" parent="." instance=ExtResource("5_u4bki")]
transform = Transform3D(0.963821, 0, -0.266549, 0, 1, 0, 0.266549, 0, 0.963821, 16.286, 1.25, -11.7658)
[node name="Cube5" parent="." instance=ExtResource("11_58enu")]
transform = Transform3D(0.963821, 0, -0.266549, 0, 1, 0, 0.266549, 0, 0.963821, 16.0536, 1.33987, -12.4705)
[node name="ComputerScreen4" parent="." instance=ExtResource("12_djkgb")]
transform = Transform3D(0.119617, 0, 0.99282, 0, 1, 0, -0.99282, 0, 0.119617, 16.7273, 1.99061, -12.241)
[node name="Cube6" parent="." instance=ExtResource("14_8trno")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.6955, 1.42305, -15.217)
[node name="Area3D" parent="." instance=ExtResource("15_0vmxp")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.431601, 1.81218, 19.1515)
[node name="CollisionShape3D" parent="Area3D" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1.5, 0.0964928)
[node name="MeshInstance3D" parent="Area3D" index="1"]
transform = Transform3D(3, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0.951174)
[editable path="interior2"]
[editable path="Area3D"]

View File

@@ -8,6 +8,33 @@
[sub_resource type="BoxShape3D" id="BoxShape3D_pejvk"]
size = Vector3(1.5, 3, 0.2)
[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("MeshInstance3D2:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 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),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.349066, 1.5708, -1.5708)]
}
[sub_resource type="Animation" id="Animation_1220n"]
resource_name = "open"
length = 0.5
@@ -36,33 +63,6 @@ tracks/1/keys = {
"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("MeshInstance3D2:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 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),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0.349066, 1.5708, -1.5708)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_5xgbb"]
_data = {
"RESET": SubResource("Animation_3fs6g"),
@@ -86,7 +86,7 @@ collision_mask = 3
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)
transform = Transform3D(-0.456026, -9.7162e-06, 1.25292, -1.25292, -6.80336e-06, -0.456026, 6.47745e-06, -2, -4.53556e-06, -0.757807, -0.445, -0.399)
mesh = ExtResource("4_frcys")
skeleton = NodePath("../..")
surface_material_override/0 = ExtResource("3_ti6vs")

View File

@@ -0,0 +1,35 @@
[gd_scene load_steps=6 format=3 uid="uid://idxtvhvxccgl"]
[ext_resource type="ArrayMesh" uid="uid://c7i8bpqtest8q" path="res://assets/models/bottle.obj" id="1_pj6wy"]
[ext_resource type="Shader" path="res://shaders/pbr_glass.gdshader" id="2_nc55p"]
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
rough = true
bounce = 0.1
absorbent = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dus7y"]
render_priority = 0
shader = ExtResource("2_nc55p")
shader_parameter/albedo = Color(0.2, 0.0470588, 0, 0.631373)
shader_parameter/roughness = 0.15
shader_parameter/normal_strength = 1.0
shader_parameter/edge_color = Color(0, 0, 0, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
size = Vector3(0.15, 0.5, 0.15)
[node name="Cube" type="RigidBody3D" groups=["pushables"]]
collision_priority = 2.0
mass = 1.5
physics_material_override = SubResource("PhysicsMaterial_rff84")
continuous_cd = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
mesh = ExtResource("1_pj6wy")
surface_material_override/0 = SubResource("ShaderMaterial_dus7y")
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.168721, 0)
shape = SubResource("BoxShape3D_bsmvc")

View File

@@ -11,7 +11,7 @@ absorbent = true
[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
size = Vector3(0.276, 0.04, 0.7)
[node name="Cube" type="RigidBody3D" groups=["pushables"]]
[node name="KeyboardMouse" type="RigidBody3D" groups=["pushables"]]
collision_priority = 2.0
mass = 1.5
physics_material_override = SubResource("PhysicsMaterial_rff84")

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=19 format=3 uid="uid://gg5ph541e4p3"]
[gd_scene load_steps=20 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"]
@@ -10,6 +10,7 @@
[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"]
[ext_resource type="PackedScene" uid="uid://ceq785h1fcvq" path="res://scenes/gui/menus/game_over.tscn" id="11_0dlqh"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_2qx4s"]
radius = 0.4
@@ -93,6 +94,9 @@ wait_time = 0.4
script = ExtResource("5_t1bvf")
audio_library = Array[ExtResource("6_4revs")]([SubResource("Resource_n8h0v"), SubResource("Resource_a4b4g"), SubResource("Resource_yjl6f"), SubResource("Resource_qe4pm")])
[node name="GameOver" parent="." instance=ExtResource("11_0dlqh")]
visible = false
[connection signal="timeout" from="FootStepTimer" to="." method="_on_foot_step_timer_timeout"]
[editable path="GravityGunLayer"]