gd: game feel improvement, dash limit, improved jump while aiming for dash

This commit is contained in:
2025-06-16 16:13:29 +02:00
parent b214441b45
commit 107c7622d5
8 changed files with 669 additions and 101 deletions

View File

@ -34,13 +34,16 @@
[ext_resource type="PackedScene" uid="uid://ckm3d6k08a72u" path="res://systems/weapon/weapon.tscn" id="29_wv70j"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_xc2g5"]
height = 1.7
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_wydro"]
height = 1.7
[node name="Player" type="CharacterBody3D"]
script = ExtResource("1_poq2x")
TimeScaleAimInAir = 0.15
MaxJumpBoostAfterDashing = 1.4
MaxJumpBoostAfterDashing = 0.7
MaxNumberOfDashActions = 3
[node name="InputController" type="Node3D" parent="."]
script = ExtResource("16_v31n3")
@ -56,16 +59,18 @@ hit = ExtResource("11_cresl")
drop = ExtResource("12_34snm")
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.85, 0)
visible = false
mesh = SubResource("CapsuleMesh_xc2g5")
[node name="CapsuleCollider" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.85, 0)
shape = SubResource("CapsuleShape3D_wydro")
script = ExtResource("8_lmtjd")
CapsuleDefaultHeight = 1.7
[node name="HeadSystem" parent="." instance=ExtResource("11_rxwoh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.68, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.6, 0)
[node name="HealthSystem" type="Node3D" parent="."]
script = ExtResource("5_umw0l")
@ -85,10 +90,12 @@ target_position = Vector3(0, -0.75, 0)
[node name="MantleSystem" parent="." instance=ExtResource("8_qu4wy")]
MantleEndLocationDistanceFromWall = 0.3
MantleHeightCastStart = 2.0
MantleHeightCastStart = 1.5
[node name="Bobbing" type="Node3D" parent="."]
script = ExtResource("10_7wk1w")
BobbingFrequency = 3.0
BobbingAmplitude = 0.05
[node name="FieldOfView" type="Node3D" parent="."]
script = ExtResource("12_m2mxi")
@ -113,14 +120,15 @@ target_position = Vector3(0, 1, 0)
[node name="MoveSystem" type="Node3D" parent="."]
script = ExtResource("20_rxwoh")
WalkSpeed = 10.0
SprintSpeed = 15.0
DoubleJumpSpeedFactor = 1.4
WalkSpeed = 7.2
DecelerationSpeedFactorFloor = 7.0
ApexHoldTime = 0.1
[node name="Gravity" type="Node3D" parent="."]
script = ExtResource("9_lsueh")
Weight = 6.5
StartVelocity = 4.0
Weight = 3.5
StartVelocity = 0.7
JumpFromDashSpeedFactor = 4.0
[node name="TweenQueueSystem" parent="." instance=ExtResource("22_rpwev")]
@ -173,7 +181,6 @@ offset_left = 1530.0
offset_top = 1.0
offset_right = -2.0
offset_bottom = 1.0
enabled = false
initial_node_to_watch = NodePath("../StateChart")
[node name="StateChart" type="Node" parent="."]
@ -373,6 +380,12 @@ to = NodePath("../../DoubleJumpEnabled")
event = &"to_double_jump"
delay_in_seconds = "0.0"
[node name="ToFalling" type="Node" parent="StateChart/Root/Movement/Airborne/Jump"]
script = ExtResource("28_n7qhm")
to = NodePath("../../Falling")
event = &"jump_from_dash"
delay_in_seconds = "0.0"
[node name="JumpFromWall" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource("27_34snm")
@ -382,6 +395,12 @@ to = NodePath("../../DoubleJumpEnabled")
event = &"to_double_jump"
delay_in_seconds = "0.0"
[node name="ToFalling" type="Node" parent="StateChart/Root/Movement/Airborne/JumpFromWall"]
script = ExtResource("28_n7qhm")
to = NodePath("../../Falling")
event = &"jump_from_dash"
delay_in_seconds = "0.0"
[node name="DoubleJumpEnabled" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource("27_34snm")
@ -403,6 +422,12 @@ delay_in_seconds = "0.0"
[node name="Falling" type="Node" parent="StateChart/Root/Movement/Airborne"]
script = ExtResource("27_34snm")
[node name="ToDoubleJump" type="Node" parent="StateChart/Root/Movement/Airborne/Falling"]
script = ExtResource("28_n7qhm")
to = NodePath("../../DoubleJumpEnabled")
event = &"enable_double_jump"
delay_in_seconds = "0.0"
[connection signal="input_aim_canceled" from="InputController" to="." method="OnInputAimCanceled"]
[connection signal="input_aim_pressed" from="InputController" to="." method="OnInputAimPressed"]
[connection signal="input_aim_released" from="InputController" to="." method="OnInputAimReleased"]