feat: finishing touches
This commit is contained in:
parent
cebae80b5c
commit
6d4a961423
39 changed files with 4028 additions and 2162 deletions
|
|
@ -9,7 +9,7 @@ func _on_body_entered(body: Node3D) -> void:
|
|||
if body.is_class(\"PlayerBody\"):
|
||||
body.can_bash = true
|
||||
queue_free()
|
||||
GameUI.get_singleton().display_message(\"Bash through obstacles by pressing (X) during a split-step\")
|
||||
GameUI.get_singleton().display_message(\"Bash through obstacles by pressing [img height=\\\"100\\\"]uid://baw7deolvkudx[/img] and [img height=\\\"100\\\"]uid://cfy8lgh61hsxg[/img] simultaneously\")
|
||||
(body as PlayerBody).save_checkpoint()
|
||||
|
||||
func _physics_process(delta):
|
||||
|
|
|
|||
|
|
@ -6,8 +6,8 @@
|
|||
script/source = "extends Node3D
|
||||
|
||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||
print(\"Body entered \", body.get_path())
|
||||
if body.is_class(\"PlayerBody\") and body.get_node(\"PlayerStateMachine\").get_current_state() == \"BashState\":
|
||||
body.emit_signal(\"obstacle_broken\")
|
||||
queue_free()
|
||||
"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,29 +1,190 @@
|
|||
[gd_scene load_steps=3 format=3 uid="uid://c6p8iu3mpsbwv"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://c6p8iu3mpsbwv"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dqjurq1nq1fle" path="res://objects/tre.tscn" id="1_g0g6w"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwdsh1pco7bf1" path="res://models/props/vines.blend" id="2_iqt14"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_g0g6w"]
|
||||
script/source = "extends Node3D
|
||||
[sub_resource type="Animation" id="Animation_g0g6w"]
|
||||
resource_name = "game_over"
|
||||
tracks/0/type = "position_3d"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Tree2")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = PackedFloat32Array(0, 1, -7.26657, -8.656, -1.63025, 1, 1, -5.437, -4, -2.488)
|
||||
tracks/1/type = "rotation_3d"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Tree2")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = PackedFloat32Array(0, 1, 0.288312, 0.538113, 0.762333, 0.214846, 1, 1, 0, 0, 0, 1)
|
||||
tracks/2/type = "scale_3d"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Tree2")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = PackedFloat32Array(0, 1, 0.1, 0.1, 0.1, 1, 1, 1, 1, 1)
|
||||
tracks/3/type = "position_3d"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Tree")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = PackedFloat32Array(0, 1, -4.11348, -8.44742, -5.51347, 1, 1, -2.123, -4, -6.727)
|
||||
tracks/4/type = "rotation_3d"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Tree")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = PackedFloat32Array(0, 1, -0.792182, 0.104192, 0.254308, 0.544903, 1, 1, 0, 0, 0, 1)
|
||||
tracks/5/type = "scale_3d"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Tree")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = PackedFloat32Array(0, 1, 0.190917, 0.190917, 0.190917, 1, 1, 1, 1, 1)
|
||||
tracks/6/type = "position_3d"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Tree4")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = PackedFloat32Array(0, 1, 6.3913, -5.60759, -1.16465, 1, 1, 5.118, -4, -1.293)
|
||||
tracks/7/type = "rotation_3d"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Tree4")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = PackedFloat32Array(0, 1, 0.885791, 0.349205, 0.171122, -0.253273, 1, 1, 0, -0.70826, 0, 0.705952)
|
||||
tracks/8/type = "scale_3d"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Tree4")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = PackedFloat32Array(0, 1, 0.150617, 0.150617, 0.150617, 1, 1, 1, 1, 1)
|
||||
tracks/9/type = "position_3d"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Tree3")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = PackedFloat32Array(0, 1, 2.23542, -9.87989, -1.31789, 1, 1, 1.325, -4, -6.535)
|
||||
tracks/10/type = "rotation_3d"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Tree3")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = PackedFloat32Array(0, 1, 0.906533, 0.0410827, 0.307121, -0.286683, 1, 1, 0, 0, 0, 1)
|
||||
tracks/11/type = "scale_3d"
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Tree3")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = PackedFloat32Array(0, 1, 0.13533, 0.13533, 0.13533, 1, 1, 1, 1, 1)
|
||||
tracks/12/type = "position_3d"
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("vines")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = PackedFloat32Array(0, 1, -3.84568, -5.77872, -3.44804, 1, 1, -2.085, -1, -2.146)
|
||||
tracks/13/type = "rotation_3d"
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/path = NodePath("vines")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/keys = PackedFloat32Array(0, 1, 0.815395, -0.170462, -0.424158, -0.355194, 1, 1, 0, 0.455312, 0, 0.890332)
|
||||
tracks/14/type = "scale_3d"
|
||||
tracks/14/imported = false
|
||||
tracks/14/enabled = true
|
||||
tracks/14/path = NodePath("vines")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/keys = PackedFloat32Array(0, 1, 0.244831, 0.244831, 0.244831, 1, 1, 1.5, 1.5, 1.5)
|
||||
tracks/15/type = "position_3d"
|
||||
tracks/15/imported = false
|
||||
tracks/15/enabled = true
|
||||
tracks/15/path = NodePath("vines2")
|
||||
tracks/15/interp = 1
|
||||
tracks/15/loop_wrap = true
|
||||
tracks/15/keys = PackedFloat32Array(0, 1, -0.180626, -8.10766, -4.2077, 1, 1, -0.028, -1, -2.888)
|
||||
tracks/16/type = "rotation_3d"
|
||||
tracks/16/imported = false
|
||||
tracks/16/enabled = true
|
||||
tracks/16/path = NodePath("vines2")
|
||||
tracks/16/interp = 1
|
||||
tracks/16/loop_wrap = true
|
||||
tracks/16/keys = PackedFloat32Array(0, 1, 0.95634, 0, 0, -0.292255, 1, 1, 0, 0, 0, 1)
|
||||
tracks/17/type = "scale_3d"
|
||||
tracks/17/imported = false
|
||||
tracks/17/enabled = true
|
||||
tracks/17/path = NodePath("vines2")
|
||||
tracks/17/interp = 1
|
||||
tracks/17/loop_wrap = true
|
||||
tracks/17/keys = PackedFloat32Array(0, 1, 0.262036, 0.262036, 0.262036, 1, 1, 1.5, 1.5, 1.5)
|
||||
tracks/18/type = "position_3d"
|
||||
tracks/18/imported = false
|
||||
tracks/18/enabled = true
|
||||
tracks/18/path = NodePath("vines3")
|
||||
tracks/18/interp = 1
|
||||
tracks/18/loop_wrap = true
|
||||
tracks/18/keys = PackedFloat32Array(0, 1, 3.39978, -5.91485, -1.31423, 1, 1, 2.925, -1, -1.503)
|
||||
tracks/19/type = "rotation_3d"
|
||||
tracks/19/imported = false
|
||||
tracks/19/enabled = true
|
||||
tracks/19/path = NodePath("vines3")
|
||||
tracks/19/interp = 1
|
||||
tracks/19/loop_wrap = true
|
||||
tracks/19/keys = PackedFloat32Array(0, 1, 0.801512, 0.216846, 0.34856, -0.434812, 1, 1, 0, -0.423211, 0, 0.906031)
|
||||
tracks/20/type = "scale_3d"
|
||||
tracks/20/imported = false
|
||||
tracks/20/enabled = true
|
||||
tracks/20/path = NodePath("vines3")
|
||||
tracks/20/interp = 1
|
||||
tracks/20/loop_wrap = true
|
||||
tracks/20/keys = PackedFloat32Array(0, 1, 0.182257, 0.182257, 0.182257, 1, 1, 1.5, 1.5, 1.5)
|
||||
|
||||
@export var camera : Camera3D
|
||||
@export var trees : Array[Node3D]
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_iqt14"]
|
||||
_data = {
|
||||
&"game_over": SubResource("Animation_g0g6w")
|
||||
}
|
||||
|
||||
func _process(delta: float):
|
||||
pass
|
||||
"
|
||||
[node name="GameOverEffect" type="GameOverEffect"]
|
||||
|
||||
[node name="GameOverEffect" type="Node3D" node_paths=PackedStringArray("trees")]
|
||||
script = SubResource("GDScript_g0g6w")
|
||||
trees = [NodePath("Tree"), NodePath("Tree3"), NodePath("Tree4"), NodePath("Tree2")]
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
callback_mode_process = 0
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_iqt14")
|
||||
}
|
||||
autoplay = "game_over"
|
||||
speed_scale = 0.0
|
||||
|
||||
[node name="Tree" parent="." instance=ExtResource("1_g0g6w")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.38125, 0, -6.61966)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.123, -4, -6.727)
|
||||
|
||||
[node name="Tree3" parent="." instance=ExtResource("1_g0g6w")]
|
||||
transform = Transform3D(-0.398413, 0, -0.917206, 0, 1, 0, 0.917206, 0, -0.398413, 2.8449, 0, -4.31524)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.325, -4, -6.535)
|
||||
|
||||
[node name="Tree4" parent="." instance=ExtResource("1_g0g6w")]
|
||||
transform = Transform3D(-0.00326398, 0, -0.999995, 0, 1, 0, 0.999995, 0, -0.00326398, 5.11824, 0, -1.29329)
|
||||
transform = Transform3D(-0.00326411, 0, -0.999995, 0, 1, 0, 0.999995, 0, -0.00326411, 5.118, -4, -1.293)
|
||||
|
||||
[node name="Tree2" parent="." instance=ExtResource("1_g0g6w")]
|
||||
transform = Transform3D(-0.487951, 0, 0.872871, 0, 1, 0, -0.872871, 0, -0.487951, -5.43739, 1.90735e-06, -2.48827)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.437, -4, -2.488)
|
||||
|
||||
[node name="vines" parent="." instance=ExtResource("2_iqt14")]
|
||||
transform = Transform3D(0.878073, 0, 1.21614, 0, 1.5, 0, -1.21614, 0, 0.878073, -2.085, -1, -2.146)
|
||||
|
||||
[node name="vines2" parent="." instance=ExtResource("2_iqt14")]
|
||||
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, -0.028, -1, -2.888)
|
||||
|
||||
[node name="vines3" parent="." instance=ExtResource("2_iqt14")]
|
||||
transform = Transform3D(0.962677, 0, -1.15033, 0, 1.5, 0, 1.15033, 0, 0.962677, 2.925, -1, -1.503)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ func _on_body_entered(body: Node3D) -> void:
|
|||
if body.is_class(\"PlayerBody\"):
|
||||
body.can_jump = true
|
||||
queue_free()
|
||||
GameUI.get_singleton().display_message(\"Jump by pressing (A) during a split-step\")
|
||||
GameUI.get_singleton().display_message(\"Jump by pressing [img height=\\\"100\\\"]uid://baw7deolvkudx[/img] and [img height=\\\"100\\\"]uid://d1kw2owusg8fn[/img] simultaneously\")
|
||||
(body as PlayerBody).save_checkpoint()
|
||||
|
||||
func _physics_process(delta):
|
||||
|
|
|
|||
2031
project/objects/level.tscn
Normal file
2031
project/objects/level.tscn
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,8 +1,9 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://dcgsrdacswacl"]
|
||||
[gd_scene load_steps=7 format=3 uid="uid://dcgsrdacswacl"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cl7a4q5m73vlw" path="res://models/player/character.blend" id="1_eqqp1"]
|
||||
[ext_resource type="PackedScene" uid="uid://clspx5suh5ywx" path="res://models/player/bash_attack.blend" id="2_uxov2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dy4yl1paa8whs" path="res://ui/ui.tscn" id="2_ykyjo"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdyr4yad84cp2" path="res://models/pickups/twirly.blend" id="3_nmc1l"]
|
||||
[ext_resource type="PackedScene" uid="uid://c6p8iu3mpsbwv" path="res://objects/game_over_effect.tscn" id="4_nmc1l"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_bxedw"]
|
||||
radius = 0.339355
|
||||
|
|
@ -33,11 +34,15 @@ collision_mask = 3
|
|||
wall_min_slide_angle = 0.785398
|
||||
floor_max_angle = 0.460767
|
||||
floor_snap_length = 0.35
|
||||
acceleration = 15.0
|
||||
target_speed = 25.0
|
||||
split_step_time = 0.35
|
||||
split_step_stop_time = 0.34
|
||||
jump_impulse = Vector2(0.9, 5)
|
||||
stopping_deceleration = 40.0
|
||||
start_speed = 10.0
|
||||
acceleration = 13.0
|
||||
split_step_time = 0.3
|
||||
split_step_stop_time = 0.25
|
||||
bash_speed = 75.0
|
||||
bash_time = 0.4
|
||||
extra_bash_time = 0.2
|
||||
jump_impulse = Vector2(0.7, 5)
|
||||
|
||||
[node name="PlayerStateMachine" type="PlayerStateMachine" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
|
@ -51,8 +56,8 @@ transform = Transform3D(-1, -6.18173e-08, -6.18173e-08, -6.71313e-08, 0.99594, 0
|
|||
fov = 100.0
|
||||
script = SubResource("GDScript_eqqp1")
|
||||
dist = 1.75
|
||||
pivot_height = 2.0
|
||||
look_target_height = 1.5
|
||||
pivot_height = 2.1
|
||||
look_target_height = 2.2
|
||||
|
||||
[node name="character" parent="." instance=ExtResource("1_eqqp1")]
|
||||
unique_name_in_owner = true
|
||||
|
|
@ -61,6 +66,15 @@ unique_name_in_owner = true
|
|||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 6.60846e-09, 1.19557, 0.0755919)
|
||||
visible = false
|
||||
|
||||
[node name="CanvasLayer" parent="." instance=ExtResource("2_ykyjo")]
|
||||
[node name="jump_effect" type="Node3D" parent="character"]
|
||||
visible = false
|
||||
|
||||
[node name="twirly" parent="character/jump_effect" instance=ExtResource("3_nmc1l")]
|
||||
transform = Transform3D(0.321382, -0.0898554, 0.0472911, -0.0208723, 0.0951608, 0.322654, -0.099372, -0.310592, 0.085175, -0.190964, 1.56847, 0.0617094)
|
||||
|
||||
[node name="twirly2" parent="character/jump_effect" instance=ExtResource("3_nmc1l")]
|
||||
transform = Transform3D(-0.225283, 0.241709, -0.0664951, -0.11224, -0.0173125, 0.317332, 0.224158, 0.234252, 0.0920642, 0.165191, 1.56847, 0.0617094)
|
||||
|
||||
[node name="GameOverEffect" parent="." instance=ExtResource("4_nmc1l")]
|
||||
|
||||
[editable path="character"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue