diff --git a/README.md b/README.md new file mode 100644 index 0000000..6b1b4af --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# Deadline +A week? A month? Pick a specific date + +# Roadmap +* Save/Load + * Serialization and deserialization +* Inventory +* Camera follow +* First person mode? +* Menu UI + * Inventory + * Status/Health/Condition + * Story/Log + * Title + * Settings +* Audio +* Level collisions +* Combat + * Health + * Damage +* Scene change +* Dialogue +* Enemy AI +* Enemy spawns +* Shaders + +# Aesthetic direction +* Gruel or new? +* General setting / vibe + +# Cleanup +* Callable/Signal abstraction +* Generic rotate_toward method +* Separate classes into own files +* Organize files into related directories +* Separate player logic into more reusable nodes +* Generalize input handling +* Fix following error that happens on load + +``` +E 0:00:02:0620 PromiseRejectCallback_: [jsb][Error] unhandled promise rejection: InternalError: [modules/GodotJS/bridge/jsb_primitive_bindings_reflect.cpp:498 call_builtin_function] bad argument: 0 + modules/GodotJS/bridge/jsb_environment.cpp:208 @ PromiseRejectCallback_() +``` + +# Considerations +* Gltf -> Godot workflow +* Easier way to combine animations on single model + * Possibly download character animation combiner and automate +* Purpose of PlayerAnimation +* PlayerInput doing too much + diff --git a/scenes/node_3d.tscn b/scenes/node_3d.tscn index 9d663a1..79f0a64 100644 --- a/scenes/node_3d.tscn +++ b/scenes/node_3d.tscn @@ -1,6 +1,7 @@ -[gd_scene load_steps=13 format=3 uid="uid://dl8pjf2esflbr"] +[gd_scene load_steps=14 format=3 uid="uid://dl8pjf2esflbr"] [ext_resource type="PackedScene" uid="uid://cersx8w4ps2sr" path="res://scenes/player.tscn" id="1_uum5p"] +[ext_resource type="Script" path="res://src/main_camera.ts" id="2_0n32s"] [ext_resource type="PackedScene" uid="uid://cwrgvwx3lfwf6" path="res://assets/level.glb" id="2_i3oty"] [ext_resource type="Script" path="res://src/interactable.ts" id="3_dt0nx"] [ext_resource type="Script" path="res://src/interactable/door.ts" id="3_imxmk"] @@ -34,6 +35,7 @@ transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, projection = 1 size = 15.0 far = 50.0 +script = ExtResource("2_0n32s") [node name="Player" parent="." instance=ExtResource("1_uum5p")] diff --git a/scenes/player.tscn b/scenes/player.tscn index 7dbd68f..37ef747 100644 --- a/scenes/player.tscn +++ b/scenes/player.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=24 format=3 uid="uid://cersx8w4ps2sr"] [ext_resource type="Script" path="res://src/player.ts" id="2_pdrhn"] -[ext_resource type="PackedScene" path="res://scenes/player_mesh2.tscn" id="2_rje1f"] +[ext_resource type="PackedScene" uid="uid://b1vb3py5av0e3" path="res://scenes/player_mesh2.tscn" id="2_rje1f"] [ext_resource type="Script" path="res://src/player_animation.ts" id="3_26yay"] [ext_resource type="Script" path="res://src/player_input.ts" id="3_x6527"] [ext_resource type="Script" path="res://src/interactor.ts" id="5_uk7c1"] @@ -97,134 +97,134 @@ shape = SubResource("CapsuleShape3D_1kx10") [node name="PlayerMesh" parent="." instance=ExtResource("2_rje1f")] [node name="Skeleton3D" parent="PlayerMesh/Scene/Armature" index="0"] -bones/0/position = Vector3(-0.00156784, 100.856, 1.24733) -bones/0/rotation = Quaternion(-0.0241959, -0.0266158, -0.087857, 0.995484) +bones/0/position = Vector3(0.176833, 101.07, 0.38662) +bones/0/rotation = Quaternion(-0.0150423, -0.0236543, -0.0875217, 0.995768) bones/1/position = Vector3(-1.08778e-06, 8.00974e-08, -5.45755e-07) -bones/2/rotation = Quaternion(-0.109554, -0.0139843, 0.0897288, 0.989824) +bones/2/rotation = Quaternion(-0.0838748, -0.0165437, 0.0900337, 0.992263) bones/3/position = Vector3(1.2666e-07, 1.38208e-06, 4.63426e-06) -bones/4/rotation = Quaternion(0.018472, -0.00360436, 0.0223806, 0.999572) +bones/4/rotation = Quaternion(-0.0327278, -0.0169828, 0.0188224, 0.999143) bones/5/position = Vector3(-8.19564e-07, -1.46851e-05, 4.30644e-06) -bones/6/rotation = Quaternion(0.0316743, -0.00504806, 0.0216011, 0.999252) +bones/6/rotation = Quaternion(-0.0198691, -0.0167323, 0.0188106, 0.999486) bones/7/position = Vector3(3.57632e-07, -2.42144e-05, -3.53158e-06) -bones/8/rotation = Quaternion(0.580046, -0.492109, 0.548672, 0.346892) +bones/8/rotation = Quaternion(0.517718, -0.542349, 0.561101, 0.3507) bones/9/position = Vector3(1.93715e-07, -8.76188e-06, -1.82156e-05) bones/10/position = Vector3(-2.22259e-06, 10.8382, 6.657e-05) -bones/10/rotation = Quaternion(0.459096, -0.121495, -0.0810144, 0.876303) +bones/10/rotation = Quaternion(0.522503, -0.16331, -0.0171283, 0.836676) bones/11/position = Vector3(1.66958e-06, -2.30764e-05, 5.90135e-07) -bones/12/rotation = Quaternion(8.73115e-08, -7.06018e-09, -0.24541, 0.96942) +bones/12/rotation = Quaternion(2.10712e-07, -4.57769e-08, -0.23756, 0.971373) bones/13/position = Vector3(7.10815e-06, 2.49848e-06, -3.67706e-07) bones/14/position = Vector3(1.00884e-05, 28.3289, 1.42043e-06) -bones/14/rotation = Quaternion(0.0143011, -0.137731, -0.00664099, 0.990344) +bones/14/rotation = Quaternion(-0.00790403, -0.149643, -0.0113763, 0.988643) bones/15/position = Vector3(1.43223e-06, -9.47448e-06, -3.04991e-06) -bones/16/rotation = Quaternion(0.162122, 0.00019677, 0.0185594, 0.986596) +bones/16/rotation = Quaternion(0.182234, 0.000843696, 0.0176438, 0.983096) bones/17/position = Vector3(2.78027e-07, -1.63051e-05, 2.7709e-07) bones/18/position = Vector3(-7.17311e-07, 3.6, -4.46059e-05) -bones/18/rotation = Quaternion(0.156883, 1.49012e-08, 0.0191203, 0.987432) +bones/18/rotation = Quaternion(0.176815, 5.96047e-08, 0.0215495, 0.984008) bones/19/position = Vector3(-1.09796e-06, -1.6639e-05, -1.30592e-05) -bones/20/rotation = Quaternion(0.222645, -1.765e-09, 0.0271343, 0.974522) +bones/20/rotation = Quaternion(0.241434, 3.59646e-08, 0.0294243, 0.969971) bones/21/position = Vector3(-3.42208e-06, -3.57069e-06, -7.88492e-06) bones/22/position = Vector3(-2.66578e-06, 2.11579, -6.80612e-06) bones/23/position = Vector3(1.99676e-06, 2.3176e-06, 1.13522e-06) bones/24/position = Vector3(-2.81929e-05, 9.5325, 4.46934e-05) -bones/24/rotation = Quaternion(0.144465, 0.0016678, 0.00607341, 0.98949) +bones/24/rotation = Quaternion(0.161329, 0.00289724, 0.00169867, 0.986895) bones/25/position = Vector3(-2.64221e-06, 1.33002e-05, 9.27813e-06) bones/26/position = Vector3(-3.12982e-06, 3.70001, -1.88553e-05) -bones/26/rotation = Quaternion(0.159018, -4.47035e-08, 0.0193803, 0.987086) +bones/26/rotation = Quaternion(0.185563, 1.19209e-07, 0.0226154, 0.982372) bones/27/position = Vector3(4.8121e-06, -1.06792e-05, -1.50226e-05) bones/28/position = Vector3(3.86115e-06, 2.95001, -1.38305e-05) -bones/28/rotation = Quaternion(0.274908, 0.0232031, 0.040264, 0.960347) +bones/28/rotation = Quaternion(0.309155, 0.0152924, 0.0427385, 0.949928) bones/31/position = Vector3(1.86637e-06, 5.9802e-06, -1.467e-05) -bones/32/rotation = Quaternion(0.205882, 0.00125593, 0.0191031, 0.97839) +bones/32/rotation = Quaternion(0.226315, 0.00251, 0.0167186, 0.973907) bones/33/position = Vector3(-2.25109e-06, -9.16777e-06, 1.35742e-05) bones/34/position = Vector3(-1.61634e-06, 3.37927, -2.16157e-06) -bones/34/rotation = Quaternion(0.124678, 3.72529e-09, 0.0151949, 0.992081) +bones/34/rotation = Quaternion(0.141885, -3.35276e-08, 0.017292, 0.989732) bones/36/position = Vector3(-1.34902e-06, 2.88968, 1.45266e-05) -bones/36/rotation = Quaternion(0.194697, 0.101037, 0.0444738, 0.974632) +bones/36/rotation = Quaternion(0.212741, 0.0999272, 0.0484335, 0.970778) bones/37/position = Vector3(7.45909e-07, -8.48482e-06, 1.51202e-05) bones/38/position = Vector3(-7.0702e-07, 2.63882, -1.46823e-05) bones/39/position = Vector3(-4.24683e-07, -3.16713e-06, -1.23643e-05) bones/40/position = Vector3(2.25983, 9.10828, 0.517866) -bones/40/rotation = Quaternion(0.209959, -0.00162836, 0.0331345, 0.977147) +bones/40/rotation = Quaternion(0.221989, -0.0014101, 0.0332243, 0.974482) bones/41/position = Vector3(5.8333e-07, 6.3235e-07, 1.57826e-05) -bones/42/rotation = Quaternion(0.107792, -3.57104e-08, 0.0131371, 0.994087) +bones/42/rotation = Quaternion(0.118753, 4.00469e-08, 0.0144729, 0.992818) bones/43/position = Vector3(-1.30539e-06, 1.28774e-05, 4.90486e-08) -bones/44/rotation = Quaternion(0.184101, -6.2101e-09, 0.022437, 0.982651) +bones/44/rotation = Quaternion(0.215965, -3.09388e-08, 0.0263204, 0.976046) bones/45/position = Vector3(-2.28086e-07, -1.45823e-06, -4.29744e-07) bones/48/position = Vector3(2.68185, 2.4648, 1.57399) -bones/48/rotation = Quaternion(0.123863, 0.0615859, -0.157938, 0.977712) +bones/48/rotation = Quaternion(0.123917, 0.0616336, -0.155966, 0.978019) bones/49/position = Vector3(-3.57628e-06, -1.16825e-05, 6.73833e-06) bones/50/position = Vector3(-7.17277e-06, 4.18897, 1.07578e-06) -bones/50/rotation = Quaternion(-0.065908, 0.0353134, 0.205088, 0.975883) +bones/50/rotation = Quaternion(-0.0663874, 0.0359793, 0.212625, 0.974212) bones/52/position = Vector3(-8.77766e-06, 3.41628, -4.79003e-06) -bones/52/rotation = Quaternion(0.0198537, -0.00208779, -0.030255, 0.999343) +bones/52/rotation = Quaternion(0.0182148, -0.00101305, -0.0121222, 0.99976) bones/53/position = Vector3(-3.03984e-06, 2.01762e-05, -1.93187e-06) -bones/56/rotation = Quaternion(0.0428424, 0.00373018, -0.0514745, 0.997748) +bones/56/rotation = Quaternion(0.0499111, 0.0123092, -0.0543172, 0.9972) bones/57/position = Vector3(1.19211e-07, -2.28947e-05, -3.36394e-06) -bones/58/rotation = Quaternion(-0.09518, -0.0152199, 0.00725781, 0.995317) +bones/58/rotation = Quaternion(-0.052403, -0.00615721, 0.00977397, 0.998559) bones/59/position = Vector3(-1.0431e-07, -1.54506e-05, -1.49384e-06) -bones/61/rotation = Quaternion(0.579899, 0.493993, -0.538761, 0.359757) +bones/61/rotation = Quaternion(0.542862, 0.525191, -0.544763, 0.364292) bones/62/position = Vector3(5.96046e-08, -6.10948e-07, -7.88433e-06) bones/63/position = Vector3(3.42725e-07, 10.8377, 3.26269e-05) -bones/63/rotation = Quaternion(0.575826, 0.0678332, 0.0593197, 0.812591) +bones/63/rotation = Quaternion(0.620858, 0.0663184, -0.093396, 0.775509) bones/64/position = Vector3(2.4772e-06, 1.24322e-06, 3.17702e-06) bones/65/position = Vector3(7.81477e-06, 27.8415, 3.26074e-05) -bones/65/rotation = Quaternion(1.42027e-07, -1.46212e-07, 0.187139, 0.982333) +bones/65/rotation = Quaternion(-2.79397e-08, 3.56424e-08, 0.182562, 0.983194) bones/66/position = Vector3(-3.25318e-06, -4.67625e-06, -1.50252e-06) -bones/67/rotation = Quaternion(0.0628093, 0.167989, 0.0452412, 0.982745) +bones/67/rotation = Quaternion(0.00482527, 0.107156, 0.0792239, 0.991069) bones/68/position = Vector3(7.47968e-08, -6.91227e-07, -2.51579e-06) -bones/69/rotation = Quaternion(0.124703, -0.0703717, 0.120712, 0.982306) +bones/69/rotation = Quaternion(0.124609, -0.0689143, 0.110773, 0.983592) bones/70/position = Vector3(1.18017e-05, 1.18017e-05, 1.03254e-05) bones/71/position = Vector3(-7.12144e-07, 4.18709, 2.40078e-06) -bones/71/rotation = Quaternion(-0.0114256, 0.00320561, -0.0964902, 0.995263) +bones/71/rotation = Quaternion(-0.0119962, 0.00347376, -0.104031, 0.994496) bones/72/position = Vector3(5.48363e-06, -9.44734e-06, -1.48937e-05) bones/73/position = Vector3(-6.19066e-06, 3.41839, -3.25305e-05) -bones/73/rotation = Quaternion(-0.0574109, -0.0921314, -0.0335194, 0.993525) +bones/73/rotation = Quaternion(-0.0740225, -0.0923392, -0.0508103, 0.991672) bones/74/position = Vector3(3.75509e-06, 1.69277e-05, 9.12723e-07) bones/75/position = Vector3(2.59013e-06, 2.5806, 1.43079e-06) -bones/77/rotation = Quaternion(0.139461, -0.00192688, -0.00298727, 0.990221) +bones/77/rotation = Quaternion(0.156512, -0.00225023, -0.00453302, 0.987663) bones/78/position = Vector3(2.34035e-07, 6.61208e-07, -1.22018e-06) bones/79/position = Vector3(-2.66701e-07, 3.7, -4.303e-07) -bones/79/rotation = Quaternion(0.169768, -2.14204e-07, -0.0204877, 0.985271) +bones/79/rotation = Quaternion(0.190766, -3.40398e-07, -0.0230217, 0.981366) bones/80/position = Vector3(-3.04282e-06, -2.24161e-06, -1.52532e-05) -bones/81/rotation = Quaternion(0.225351, -3.97203e-07, -0.0271954, 0.973898) +bones/81/rotation = Quaternion(0.258172, -4.55405e-07, -0.0311564, 0.965596) bones/84/position = Vector3(-1.56742e-06, -5.37828e-06, 1.60567e-05) -bones/85/rotation = Quaternion(0.0880754, -0.000857467, -0.000835853, 0.996113) +bones/85/rotation = Quaternion(0.106515, -0.00125608, -0.00100455, 0.99431) bones/86/position = Vector3(-2.09158e-07, 7.10476e-06, -1.37234e-05) -bones/87/rotation = Quaternion(0.177624, -2.45869e-07, -0.0214357, 0.983865) +bones/87/rotation = Quaternion(0.197488, -2.75672e-07, -0.0238329, 0.980016) bones/88/position = Vector3(-1.44259e-06, -2.81852e-06, -1.08586e-06) -bones/89/rotation = Quaternion(0.221521, -2.89766e-07, -0.0267331, 0.974789) +bones/89/rotation = Quaternion(0.248664, -3.51151e-07, -0.0300088, 0.968125) bones/90/position = Vector3(-1.67251e-06, -5.69229e-06, 4.16067e-06) bones/92/position = Vector3(-2.07638e-06, -8.50701e-06, 1.83102e-06) -bones/93/rotation = Quaternion(0.146033, -0.000818407, -0.0120549, 0.989206) +bones/93/rotation = Quaternion(0.165938, -0.000525475, -0.0168974, 0.985991) bones/94/position = Vector3(-1.24702e-06, -4.42364e-06, 5.52884e-07) -bones/95/rotation = Quaternion(0.172628, -2.70084e-07, -0.0208327, 0.984767) +bones/95/rotation = Quaternion(0.183817, -3.25963e-07, -0.022183, 0.98271) bones/96/position = Vector3(-2.19045e-06, -7.68091e-06, -2.55365e-06) bones/97/position = Vector3(1.62425e-06, 2.95, 1.38972e-05) -bones/97/rotation = Quaternion(0.262432, -4.03317e-07, -0.0316705, 0.964431) +bones/97/rotation = Quaternion(0.279327, -3.98396e-07, -0.0337093, 0.959604) bones/98/position = Vector3(-2.69965e-06, -1.43062e-07, 1.26105e-06) bones/99/position = Vector3(-2.845e-05, 2.64431, 1.98053e-06) bones/100/position = Vector3(6.57979e-07, -4.74934e-06, 1.44472e-05) bones/101/position = Vector3(3.80627, 8.07779, 0.486894) -bones/101/rotation = Quaternion(0.151669, 0.0047456, -0.0484545, 0.987232) +bones/101/rotation = Quaternion(0.167287, 0.00473829, -0.0475308, 0.984751) bones/102/position = Vector3(-2.33662e-06, 1.08604e-05, 1.6658e-05) -bones/103/rotation = Quaternion(0.188861, 0.00662838, 0.0124932, 0.981902) +bones/103/rotation = Quaternion(0.213501, 0.0075146, 0.00933899, 0.976869) bones/104/position = Vector3(1.84285e-06, 5.76279e-06, -1.71906e-05) -bones/105/rotation = Quaternion(0.197459, -2.64662e-07, -0.0238293, 0.980021) +bones/105/rotation = Quaternion(0.236478, -2.93264e-07, -0.028538, 0.971218) bones/106/position = Vector3(1.48522e-06, -3.60209e-06, 1.44012e-05) bones/107/position = Vector3(4.3816e-06, 2.12554, -2.07618e-05) bones/108/position = Vector3(-4.91738e-07, 8.79425e-06, -1.38031e-06) -bones/109/rotation = Quaternion(-0.0738262, 0.049394, 0.991854, -0.0912968) +bones/109/rotation = Quaternion(-0.0630378, 0.0598809, 0.992443, -0.0865868) bones/110/position = Vector3(-1.06222e-06, 3.19319e-05, -1.56533e-06) -bones/111/rotation = Quaternion(-0.20816, 0.0478937, 0.00235816, 0.976919) +bones/111/rotation = Quaternion(-0.196435, 0.0643838, 0.0150037, 0.978286) bones/112/position = Vector3(2.91388e-07, 4.25241e-06, -2.20301e-06) -bones/113/rotation = Quaternion(0.540309, -0.0295822, -0.00332286, 0.84094) -bones/115/rotation = Quaternion(0.340128, 3.45669e-05, 1.22083e-05, 0.940379) -bones/119/rotation = Quaternion(0.0578879, 0.138588, 0.982719, -0.10819) +bones/113/rotation = Quaternion(0.531598, -0.0326135, -0.0080297, 0.846331) +bones/115/rotation = Quaternion(0.341414, 3.45756e-05, 1.21776e-05, 0.939913) +bones/119/rotation = Quaternion(0.0470296, 0.147565, 0.980808, -0.118443) bones/120/position = Vector3(-8.23132e-07, -4.34501e-06, -1.59527e-06) -bones/121/rotation = Quaternion(-0.32988, -0.0696334, 0.0128686, 0.941363) +bones/121/rotation = Quaternion(-0.322286, -0.0563026, -0.0190235, 0.944775) bones/122/position = Vector3(-6.62286e-07, 6.482e-06, 2.36121e-07) -bones/123/rotation = Quaternion(0.582159, -0.01921, -0.0181531, 0.812645) -bones/125/rotation = Quaternion(0.323963, 3.82889e-05, 1.40474e-05, 0.94607) +bones/123/rotation = Quaternion(0.575107, -0.0263868, 0.00510642, 0.817637) +bones/125/rotation = Quaternion(0.324665, 3.72159e-05, 1.37132e-05, 0.945829) [node name="Input" type="Node3D" parent="."] script = ExtResource("3_x6527")