First commit

This commit is contained in:
2025-12-04 11:13:48 -05:00
commit 5d8452c70d
39 changed files with 1509 additions and 0 deletions

View File

@@ -0,0 +1,429 @@
[gd_scene load_steps=6 format=3 uid="uid://ck4x56txf676a"]
[ext_resource type="Shader" uid="uid://b2g6yddun2l6e" path="res://visuals/shaders/noise.gdshader" id="1_jgus3"]
[ext_resource type="Script" uid="uid://bnmklbse62lrf" path="res://scripts/static.gd" id="2_bow2h"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_uxcyu"]
shader = ExtResource("1_jgus3")
shader_parameter/granularity = 0.0
shader_parameter/opacity_limit = 0.0
[sub_resource type="Gradient" id="Gradient_ak2if"]
offsets = PackedFloat32Array(0)
colors = PackedColorArray(0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_fa52j"]
gradient = SubResource("Gradient_ak2if")
width = 1
[node name="Control" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel" type="Panel" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel" type="Panel" parent="Panel"]
layout_mode = 1
offset_left = 94.0
offset_top = 96.0
offset_right = 794.0
offset_bottom = 796.0
[node name="TextureRect" type="TextureRect" parent="Panel/Panel"]
material = SubResource("ShaderMaterial_uxcyu")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("GradientTexture1D_fa52j")
expand_mode = 1
script = ExtResource("2_bow2h")
[node name="Control" type="Control" parent="Panel/Panel"]
anchors_preset = 0
offset_left = 108.0
offset_top = 286.0
offset_right = 392.0
offset_bottom = 350.0
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/Panel/Control"]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -39.0
offset_top = 236.0
offset_right = 245.0
offset_bottom = 349.0
grow_horizontal = 2
grow_vertical = 0
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
text = "NAME GOES HERE"
horizontal_alignment = 1
[node name="Panel" type="PanelContainer" parent="Panel/Panel/Control/VBoxContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Panel/Control/VBoxContainer/Panel"]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer"]
custom_minimum_size = Vector2(92, 64)
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer/TextureRect"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -40.0
offset_top = -23.0
grow_horizontal = 0
grow_vertical = 0
text = "##"
horizontal_alignment = 2
[node name="TextureRect2" type="TextureRect" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer"]
custom_minimum_size = Vector2(92, 64)
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer/TextureRect2"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -40.0
offset_top = -23.0
grow_horizontal = 0
grow_vertical = 0
text = "##"
horizontal_alignment = 2
[node name="TextureRect3" type="TextureRect" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer"]
custom_minimum_size = Vector2(92, 64)
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Panel/Control/VBoxContainer/Panel/HBoxContainer/TextureRect3"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -40.0
offset_top = -23.0
grow_horizontal = 0
grow_vertical = 0
text = "##"
horizontal_alignment = 2
[node name="Panel2" type="Panel" parent="Panel"]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -794.0
offset_top = 98.0
offset_right = -94.0
offset_bottom = 798.0
grow_horizontal = 0
[node name="TextureRect" type="TextureRect" parent="Panel/Panel2"]
material = SubResource("ShaderMaterial_uxcyu")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("GradientTexture1D_fa52j")
expand_mode = 1
script = ExtResource("2_bow2h")
[node name="Label" type="Label" parent="Panel/Panel2"]
layout_mode = 1
anchors_preset = 1
anchor_left = 1.0
anchor_right = 1.0
offset_left = -40.0
offset_bottom = 23.0
grow_horizontal = 0
theme_override_font_sizes/font_size = 24
text = "EASY"
[node name="Control" type="Control" parent="Panel/Panel2"]
anchors_preset = 0
offset_left = 108.0
offset_top = 286.0
offset_right = 392.0
offset_bottom = 350.0
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/Panel2/Control"]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -42.0
offset_top = 235.0
offset_right = 242.0
offset_bottom = 348.0
grow_horizontal = 2
grow_vertical = 0
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 32
text = "NAME GOES HERE"
horizontal_alignment = 1
[node name="Panel" type="PanelContainer" parent="Panel/Panel2/Control/VBoxContainer"]
layout_mode = 2
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Panel2/Control/VBoxContainer/Panel"]
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer"]
custom_minimum_size = Vector2(92, 64)
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer/TextureRect"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -40.0
offset_top = -23.0
grow_horizontal = 0
grow_vertical = 0
text = "##"
horizontal_alignment = 2
[node name="TextureRect2" type="TextureRect" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer"]
custom_minimum_size = Vector2(92, 64)
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer/TextureRect2"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -40.0
offset_top = -23.0
grow_horizontal = 0
grow_vertical = 0
text = "##"
horizontal_alignment = 2
[node name="TextureRect3" type="TextureRect" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer"]
custom_minimum_size = Vector2(92, 64)
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Panel2/Control/VBoxContainer/Panel/HBoxContainer/TextureRect3"]
layout_mode = 1
anchors_preset = 3
anchor_left = 1.0
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
offset_left = -40.0
offset_top = -23.0
grow_horizontal = 0
grow_vertical = 0
text = "##"
horizontal_alignment = 2
[node name="Panel2" type="Panel" parent="."]
custom_minimum_size = Vector2(0, 250)
layout_mode = 1
anchors_preset = 12
anchor_top = 1.0
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 0
[node name="HBoxContainer" type="HBoxContainer" parent="Panel2"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -512.5
offset_top = -75.0
offset_right = 512.5
offset_bottom = 75.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 25
alignment = 1
[node name="Panel" type="Panel" parent="Panel2/HBoxContainer"]
custom_minimum_size = Vector2(150, 150)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel2" type="Panel" parent="Panel2/HBoxContainer"]
custom_minimum_size = Vector2(150, 150)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel2"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel2"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel3" type="Panel" parent="Panel2/HBoxContainer"]
custom_minimum_size = Vector2(150, 150)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel3"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel3"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel4" type="Panel" parent="Panel2/HBoxContainer"]
custom_minimum_size = Vector2(150, 150)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel4"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel4"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel5" type="Panel" parent="Panel2/HBoxContainer"]
custom_minimum_size = Vector2(150, 150)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel5"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel5"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel6" type="Panel" parent="Panel2/HBoxContainer"]
custom_minimum_size = Vector2(150, 150)
layout_mode = 2
[node name="TextureRect" type="TextureRect" parent="Panel2/HBoxContainer/Panel6"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="NinePatchRect" type="NinePatchRect" parent="Panel2/HBoxContainer/Panel6"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="Panel3" type="Panel" parent="."]
layout_mode = 1
anchors_preset = 10
anchor_right = 1.0
offset_bottom = 75.0
grow_horizontal = 2
[node name="Label" type="Label" parent="Panel3"]
layout_mode = 1
anchors_preset = 7
anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -75.5
offset_top = -23.0
offset_right = 75.5
grow_horizontal = 2
grow_vertical = 0
theme_override_font_sizes/font_size = 40
text = "CHARACTER SELECT"
horizontal_alignment = 1

View File

@@ -0,0 +1,155 @@
[gd_scene load_steps=2 format=3 uid="uid://cjnws52vwfxvq"]
[ext_resource type="Script" uid="uid://dep7nr2nkdmga" path="res://scripts/multiplayer_setup.gd" id="1_lckj3"]
[node name="Multiplayer Setup" 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_lckj3")
[node name="Panel" type="PanelContainer" parent="."]
visible = false
custom_minimum_size = Vector2(400, 400)
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -200.0
offset_top = -200.0
offset_right = 200.0
offset_bottom = 200.0
grow_horizontal = 2
grow_vertical = 2
[node name="Menu" type="VBoxContainer" parent="Panel"]
unique_name_in_owner = true
layout_mode = 2
[node name="HostButton" type="Button" parent="Panel/Menu"]
layout_mode = 2
text = "Host Match"
[node name="JoinButton" type="Button" parent="Panel/Menu"]
layout_mode = 2
text = "Join Match"
[node name="BackButton" type="Button" parent="Panel/Menu"]
layout_mode = 2
text = "Back"
[node name="Hosting" type="VBoxContainer" parent="Panel"]
unique_name_in_owner = true
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="Panel/Hosting"]
layout_mode = 2
text = "HOSTING MATCH"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Hosting"]
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Hosting/HBoxContainer"]
layout_mode = 2
text = "Handle"
[node name="HandleEdit" type="TextEdit" parent="Panel/Hosting/HBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 3
[node name="HostButton" type="Button" parent="Panel/Hosting"]
layout_mode = 2
text = "HOST"
[node name="BackButton" type="Button" parent="Panel/Hosting"]
layout_mode = 2
text = "Back"
[node name="Host Waiting" type="VBoxContainer" parent="Panel"]
unique_name_in_owner = true
visible = false
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="Panel/Host Waiting"]
layout_mode = 2
text = "WAITING FOR OPPONENT"
horizontal_alignment = 1
[node name="PanelContainer" type="PanelContainer" parent="Panel/Host Waiting"]
layout_mode = 2
[node name="TextEdit" type="RichTextLabel" parent="Panel/Host Waiting/PanelContainer"]
custom_minimum_size = Vector2(0, 70)
layout_mode = 2
size_flags_horizontal = 3
bbcode_enabled = true
text = "[b]*YOU (Host)[/b]
[color=\"FFFF00\"]*THEM (Opponent)[/color]"
[node name="StartButton" type="Button" parent="Panel/Host Waiting"]
layout_mode = 2
text = "START"
[node name="BackButton" type="Button" parent="Panel/Host Waiting"]
layout_mode = 2
text = "Back"
[node name="Joining" type="VBoxContainer" parent="Panel"]
unique_name_in_owner = true
visible = false
layout_mode = 2
alignment = 1
[node name="Label" type="Label" parent="Panel/Joining"]
layout_mode = 2
text = "JOINING MATCH"
horizontal_alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="Panel/Joining"]
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Joining/HBoxContainer"]
layout_mode = 2
text = "HANDLE"
[node name="TextEdit" type="TextEdit" parent="Panel/Joining/HBoxContainer"]
layout_mode = 2
size_flags_horizontal = 3
[node name="HBoxContainer2" type="HBoxContainer" parent="Panel/Joining"]
layout_mode = 2
[node name="Label" type="Label" parent="Panel/Joining/HBoxContainer2"]
layout_mode = 2
text = "MATCH CODE"
[node name="TextEdit" type="TextEdit" parent="Panel/Joining/HBoxContainer2"]
layout_mode = 2
size_flags_horizontal = 3
[node name="JoinButton" type="Button" parent="Panel/Joining"]
layout_mode = 2
text = "HOST"
[node name="BackButton" type="Button" parent="Panel/Joining"]
layout_mode = 2
text = "Back"
[connection signal="pressed" from="Panel/Menu/HostButton" to="." method="_on_host_game_button_pressed"]
[connection signal="pressed" from="Panel/Menu/JoinButton" to="." method="_on_join_game_button_pressed"]
[connection signal="pressed" from="Panel/Menu/BackButton" to="." method="_on_menu_back_button_pressed"]
[connection signal="pressed" from="Panel/Hosting/HostButton" to="." method="_on_start_hosting_button_pressed"]
[connection signal="pressed" from="Panel/Hosting/BackButton" to="." method="_on_hosting_back_button_pressed"]
[connection signal="pressed" from="Panel/Host Waiting/StartButton" to="." method="_on_start_game_button_pressed"]
[connection signal="pressed" from="Panel/Host Waiting/BackButton" to="." method="_on_waiting_back_button_pressed"]
[connection signal="pressed" from="Panel/Joining/JoinButton" to="." method="_on_join_button_pressed"]
[connection signal="pressed" from="Panel/Joining/BackButton" to="." method="_on_joining_back_button_pressed"]

View File

@@ -0,0 +1,68 @@
[gd_scene load_steps=9 format=3 uid="uid://ti65jukt8gvs"]
[ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_q2h5d"]
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://visuals/textures/tile.png" id="2_02mmr"]
[ext_resource type="Script" uid="uid://cymi1n4gavixy" path="res://scripts/level_camera.gd" id="3_qfwdi"]
[ext_resource type="Script" uid="uid://wpjuowslx60b" path="res://scripts/multiplayer_controller.gd" id="4_q2h5d"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbhdq"]
albedo_texture = ExtResource("2_02mmr")
uv1_scale = Vector3(100, 100, 100)
texture_filter = 0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y646j"]
albedo_color = Color(0.08468992, 0.08468992, 0.08468992, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lnbra"]
albedo_color = Color(0, 1, 1, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_6emce"]
size = Vector3(0.75, 2, 0.75)
[node name="Node3D" type="Node3D"]
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 1000
[node name="Control" parent="CanvasLayer" instance=ExtResource("1_q2h5d")]
[node name="CSGBox3D" type="CSGBox3D" parent="."]
size = Vector3(100, 1, 100)
material = SubResource("StandardMaterial3D_gbhdq")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.49999997, 0.86602545, 0, -0.86602545, 0.49999997, 0, 18.855, 9.603047)
projection = 1
size = 5.0
script = ExtResource("3_qfwdi")
[node name="Node3D" type="CharacterBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
script = ExtResource("4_q2h5d")
speed = 5.0
[node name="Body" type="CSGBox3D" parent="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
size = Vector3(0.75, 2, 0.75)
material = SubResource("StandardMaterial3D_y646j")
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Node3D/Body"]
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0.5, 0.556)
radius = 0.3
height = 0.1
material = SubResource("StandardMaterial3D_lnbra")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
shape = SubResource("BoxShape3D_6emce")
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.508709, 0)
omni_range = 25.142
omni_attenuation = -0.165
[node name="MultiplayerSpawner" type="MultiplayerSpawner" parent="."]
spawn_path = NodePath("../Players")
spawn_limit = 2
[node name="Players" type="Node3D" parent="."]

62
scenes/test_level.tscn Normal file
View File

@@ -0,0 +1,62 @@
[gd_scene load_steps=9 format=3 uid="uid://by6suwmds7xq2"]
[ext_resource type="PackedScene" uid="uid://bgocskbofewsr" path="res://templates/HUD.tscn" id="1_x4b8f"]
[ext_resource type="Texture2D" uid="uid://bj07x13pkoevk" path="res://visuals/textures/tile.png" id="2_tmr53"]
[ext_resource type="Script" uid="uid://cymi1n4gavixy" path="res://scripts/level_camera.gd" id="3_qcd3b"]
[ext_resource type="Script" uid="uid://bcs7ygh6s3l35" path="res://scripts/player.gd" id="4_88ety"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gbhdq"]
albedo_texture = ExtResource("2_tmr53")
uv1_scale = Vector3(100, 100, 100)
texture_filter = 0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y646j"]
albedo_color = Color(0.08468992, 0.08468992, 0.08468992, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lnbra"]
albedo_color = Color(0, 1, 1, 1)
[sub_resource type="BoxShape3D" id="BoxShape3D_6emce"]
size = Vector3(0.75, 2, 0.75)
[node name="Node3D" type="Node3D"]
[node name="CanvasLayer" type="CanvasLayer" parent="."]
layer = 1000
[node name="Control" parent="CanvasLayer" instance=ExtResource("1_x4b8f")]
[node name="CSGBox3D" type="CSGBox3D" parent="."]
size = Vector3(100, 1, 100)
material = SubResource("StandardMaterial3D_gbhdq")
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.49999997, 0.86602545, 0, -0.86602545, 0.49999997, 0, 18.855, 9.603047)
projection = 1
size = 5.0
script = ExtResource("3_qcd3b")
[node name="Node3D" type="CharacterBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
script = ExtResource("4_88ety")
speed = 5.0
[node name="Body" type="CSGBox3D" parent="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
size = Vector3(0.75, 2, 0.75)
material = SubResource("StandardMaterial3D_y646j")
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Node3D/Body"]
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, 0, 0.5, 0.556)
radius = 0.3
height = 0.1
material = SubResource("StandardMaterial3D_lnbra")
[node name="CollisionShape3D" type="CollisionShape3D" parent="Node3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
shape = SubResource("BoxShape3D_6emce")
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 18.508709, 0)
omni_range = 25.142
omni_attenuation = -0.165

183
scenes/title_screen.tscn Normal file
View File

@@ -0,0 +1,183 @@
[gd_scene load_steps=11 format=3 uid="uid://dd40q2mv84pmc"]
[ext_resource type="Script" uid="uid://dhu2psbhh1rl8" path="res://scripts/title_screen.gd" id="1_e54dn"]
[ext_resource type="Shader" uid="uid://b2g6yddun2l6e" path="res://visuals/shaders/noise.gdshader" id="2_3yumr"]
[ext_resource type="Script" uid="uid://bnmklbse62lrf" path="res://scripts/static.gd" id="3_cs5ya"]
[ext_resource type="FontFile" uid="uid://c83fwpdo5bu8j" path="res://ASTERA v2.ttf" id="4_3yumr"]
[ext_resource type="AudioStream" uid="uid://bl08d5aj1f7nf" path="res://audio/music/15 - Opening.mp3" id="4_mykxm"]
[ext_resource type="AudioStream" uid="uid://kj25hej55ckw" path="res://audio/sounds/BUTTON Generic Metal Medium High Mechanics 02.wav" id="5_tklts"]
[ext_resource type="AudioStream" uid="uid://cmnibhyxpag0a" path="res://audio/sounds/BeepBeep_high.wav" id="6_u26n3"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tpml5"]
shader = ExtResource("2_3yumr")
shader_parameter/granularity = 0.0
shader_parameter/opacity_limit = 0.0
[sub_resource type="Gradient" id="Gradient_cs5ya"]
offsets = PackedFloat32Array(0)
colors = PackedColorArray(0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ig5kc"]
gradient = SubResource("Gradient_cs5ya")
width = 1
[node name="Control" 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_e54dn")
[node name="TextureRect" type="TextureRect" parent="."]
material = SubResource("ShaderMaterial_tpml5")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("GradientTexture1D_ig5kc")
expand_mode = 1
script = ExtResource("3_cs5ya")
[node name="Label" type="RichTextLabel" parent="."]
layout_mode = 0
offset_left = 130.0
offset_top = 260.0
offset_right = 1791.0
offset_bottom = 678.0
theme_override_constants/line_separation = -450
theme_override_fonts/normal_font = ExtResource("4_3yumr")
theme_override_fonts/bold_font = ExtResource("4_3yumr")
theme_override_fonts/bold_italics_font = ExtResource("4_3yumr")
theme_override_font_sizes/bold_italics_font_size = 300
bbcode_enabled = true
text = "[b][i]TRAP
SHOOTER[/i][/b]"
[node name="Panel2" type="Panel" 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 = -192.0
offset_top = -364.0
offset_right = 208.0
offset_bottom = -214.0
grow_horizontal = 2
grow_vertical = 0
[node name="START" type="Label" parent="Panel2"]
unique_name_in_owner = true
modulate = Color(0, 0, 1, 1)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 60
text = "PUSH START"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Menu" type="Control" parent="Panel2"]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="STORY" type="Label" parent="Panel2/Menu"]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 80
text = "STORY"
horizontal_alignment = 1
vertical_alignment = 1
[node name="VS-COM" type="Label" parent="Panel2/Menu"]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 80
text = "VS COM"
horizontal_alignment = 1
vertical_alignment = 1
[node name="VS-MAN" type="Label" parent="Panel2/Menu"]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 80
text = "VS MAN"
horizontal_alignment = 1
vertical_alignment = 1
[node name="RECORD" type="Label" parent="Panel2/Menu"]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 80
text = "RECORD"
horizontal_alignment = 1
vertical_alignment = 1
[node name="OPTION" type="Label" parent="Panel2/Menu"]
unique_name_in_owner = true
visible = false
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_font_sizes/font_size = 80
text = "OPTION"
horizontal_alignment = 1
vertical_alignment = 1
[node name="Panel" type="Panel" parent="."]
visible = false
layout_mode = 0
offset_right = 1152.0
offset_bottom = 648.0
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
stream = ExtResource("4_mykxm")
autoplay = true
[node name="SelectSound" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("5_tklts")
[node name="SwitchSound" type="AudioStreamPlayer" parent="."]
unique_name_in_owner = true
stream = ExtResource("6_u26n3")