From d6906dc6a2bd1e36e93a7764372db5bab3aad502 Mon Sep 17 00:00:00 2001 From: Booklordofthedings Date: Sun, 18 Aug 2024 23:30:19 +0200 Subject: [PATCH] added levels --- .../levels/Level_2_Rooms/level_2_room_2.tscn | 35 +++++++++++++++++++ .../levels/Level_2_Rooms/level_2_room_3.tscn | 25 +++++++++++++ .../levels/Level_2_Rooms/level_2_room_4.tscn | 17 +++++++++ gmtk_2024/levels/lev208.tmp | 23 ++++++++++++ gmtk_2024/levels/level_2.tscn | 17 ++++++--- gmtk_2024/objects/Ene478E.tmp | 19 ++++++++++ gmtk_2024/objects/EnemyMover.tscn | 7 ++-- gmtk_2024/scripts/enemy_movement_mover.gd | 2 ++ gmtk_2024/scripts/player_movement.gd | 34 +++++++++++++++++- gmtk_2024/scripts/resizable_block.gd | 6 ++++ 10 files changed, 176 insertions(+), 9 deletions(-) create mode 100644 gmtk_2024/levels/Level_2_Rooms/level_2_room_2.tscn create mode 100644 gmtk_2024/levels/Level_2_Rooms/level_2_room_3.tscn create mode 100644 gmtk_2024/levels/Level_2_Rooms/level_2_room_4.tscn create mode 100644 gmtk_2024/levels/lev208.tmp create mode 100644 gmtk_2024/objects/Ene478E.tmp diff --git a/gmtk_2024/levels/Level_2_Rooms/level_2_room_2.tscn b/gmtk_2024/levels/Level_2_Rooms/level_2_room_2.tscn new file mode 100644 index 0000000..24fa6e2 --- /dev/null +++ b/gmtk_2024/levels/Level_2_Rooms/level_2_room_2.tscn @@ -0,0 +1,35 @@ +[gd_scene load_steps=5 format=4 uid="uid://frtjwlebpm8p"] + +[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_fnfel"] +[ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlockBig.tscn" id="2_myppf"] +[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="3_ubjab"] +[ext_resource type="PackedScene" uid="uid://dg4x0lmww373x" path="res://levels/Level_2_Rooms/level_2_room_3.tscn" id="4_kanmf"] + +[node name="LevelBase" instance=ExtResource("1_fnfel")] + +[node name="Player" parent="." index="0"] +position = Vector2(-271, -112) + +[node name="Layer0" parent="." index="5"] +tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAADAAIAAAD2//7/AAADAAAAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAACAAEAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAFAAIAAAAJAAEAAAABAAEAAAAJAAIAAAABAAEAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAAFAAAAAAD8//v/AAADAAAAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAAFAAAAAAABAPv/AAADAAAAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3//7/AAAGAAEAAAD4//7/AAAIAAAAAwD7//3/AAAIAAEAAAD8//7/AAABAAAAAAD9//7/AAABAAAAAAD6/wIAAAAAAAAAAAD6/wMAAAAAAAEAAAD7/wIAAAACAAAAAAD7/wMAAAACAAEAAAD7/wQAAAACAAEAAAD6/wQAAAAAAAEAAAD9////AAABAAIAAAD+////AAABAAIAAAD/////AAABAAIAAAAAAP//AAACAAIAAAABAAIAAAAAAAAAAAABAAMAAAAAAAEAAAABAAQAAAAAAAEAAAACAAMAAAACAAEAAAACAAIAAAACAAAAAAACAAQAAAACAAEAAAAAAP7/AAAGAAAAAAAIAAEAAAABAAEAAAAIAAIAAAABAAEAAAAIAAMAAAABAAEAAAAIAAQAAAABAAEAAAAHAAEAAAAAAAEAAAAHAAIAAAAAAAEAAAAHAAMAAAAAAAEAAAAHAAQAAAAAAAEAAAAHAAAAAAAAAAAAAAAIAAAAAAABAAAAAAD7//z/AAAGAAEAAFD7//7/AAAGAAAAAGD7////AAAAAAIAAAD8////AAABAAIAAAABAP7/AAAIAAEAAFACAP7/AAAIAAEAAFADAP7/AAAIAAAAAwD+//7/AAABAAAAAAD///7/AAABAAAAAAAAAPz/AAAAAAIAAAD3//3/AAACAAAAAAABAPz/AAACAAIAAAD8//z/AAACAAIAAAA=") + +[node name="Block" parent="." index="7" instance=ExtResource("2_myppf")] +position = Vector2(-192, -55) +delete_self = true + +[node name="Block2" parent="." index="8" instance=ExtResource("2_myppf")] +position = Vector2(-48, 127) +scale = Vector2(0.5, 0.5) + +[node name="Block3" parent="." index="9" instance=ExtResource("2_myppf")] +position = Vector2(256, -93) +delete_self = true + +[node name="Block4" parent="." index="10" instance=ExtResource("2_myppf")] +position = Vector2(17, -80) +scale = Vector2(0.5, 0.5) +delete_self = true + +[node name="Goal" parent="." index="11" instance=ExtResource("3_ubjab")] +position = Vector2(-72, -97) +next = ExtResource("4_kanmf") diff --git a/gmtk_2024/levels/Level_2_Rooms/level_2_room_3.tscn b/gmtk_2024/levels/Level_2_Rooms/level_2_room_3.tscn new file mode 100644 index 0000000..55c7a77 --- /dev/null +++ b/gmtk_2024/levels/Level_2_Rooms/level_2_room_3.tscn @@ -0,0 +1,25 @@ +[gd_scene load_steps=4 format=4 uid="uid://dg4x0lmww373x"] + +[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_slih4"] +[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="2_pc4vo"] +[ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlockBig.tscn" id="3_vma5r"] + +[node name="LevelBase" instance=ExtResource("1_slih4")] + +[node name="Player" parent="." index="0"] +position = Vector2(-266, 112) + +[node name="Layer0" parent="." index="5"] +tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAACAAEAAAD2/wIAAAACAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAABAAIAAAAJAP7/AAAHAAAAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAAAAEAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAACAAAAAAD5/wQAAAAGAAAAAGD5/wMAAAAIAAEAAAD//wQAAAACAAAAAAD+/wQAAAABAAAAAAD9/wIAAAAAAAIAAAD+/wIAAAACAAIAAAD9/wEAAAAAAAEAAAD+/wEAAAACAAEAAAD9/wAAAAAAAAAAAAD+/wAAAAACAAAAAAABAAIAAAAAAAIAAAABAAEAAAAAAAAAAAACAAEAAAACAAAAAAACAAIAAAACAAIAAAAFAAAAAAAIAAAAAgAGAAAAAAAIAAAAAwAIAP7/AAAIAAEAAFAHAP7/AAAIAAEAAFAGAP7/AAAIAAEAAFAFAP7/AAAIAAEAAFAEAP7/AAAIAAEAAFADAP7/AAAGAAEAAAADAP3/AAACAAAAAAACAP3/AAAHAAAAAAD5////AAAAAAIAAAD6////AAACAAIAAAD5//7/AAAAAAAAAAD6//7/AAACAAAAAAD8//3/AAAIAAAAAgD9//3/AAAIAAEAAFABAP3/AAAIAAAAAgD+//3/AAAIAAEAAFD5/wIAAAAIAAAAAAD9/wQAAAAAAAAAAAACAP7/AAAAAAIAAAD6/wQAAAACAAAAAAD///3/AAAIAAAAAwA=") + +[node name="Goal" parent="." index="7" instance=ExtResource("2_pc4vo")] +position = Vector2(298, -93) + +[node name="Block" parent="." index="8" instance=ExtResource("3_vma5r")] +position = Vector2(-128, 31) +delete_self = true + +[node name="Block2" parent="." index="9" instance=ExtResource("3_vma5r")] +position = Vector2(-78, 112) +scale = Vector2(0.5, 0.5) +delete_self = true diff --git a/gmtk_2024/levels/Level_2_Rooms/level_2_room_4.tscn b/gmtk_2024/levels/Level_2_Rooms/level_2_room_4.tscn new file mode 100644 index 0000000..b3b3643 --- /dev/null +++ b/gmtk_2024/levels/Level_2_Rooms/level_2_room_4.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=3 uid="uid://cfi13vg10e7hb"] + +[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_ok6ck"] +[ext_resource type="PackedScene" uid="uid://biaxahxft1xo0" path="res://objects/box_pushable_2.tscn" id="2_8x0do"] +[ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlockBig.tscn" id="3_7trmp"] + +[node name="LevelBase" instance=ExtResource("1_ok6ck")] + +[node name="Player" parent="." index="0"] +position = Vector2(-273, 115) + +[node name="BoxPushable1" parent="." index="7" instance=ExtResource("2_8x0do")] +position = Vector2(-212, 95) + +[node name="Block" parent="." index="8" instance=ExtResource("3_7trmp")] +position = Vector2(-257, 31) +delete_self = true diff --git a/gmtk_2024/levels/lev208.tmp b/gmtk_2024/levels/lev208.tmp new file mode 100644 index 0000000..5045c50 --- /dev/null +++ b/gmtk_2024/levels/lev208.tmp @@ -0,0 +1,23 @@ +[gd_scene load_steps=4 format=4 uid="uid://badb2xvsbtm5j"] + +[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_y0h5c"] +[ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlockBig.tscn" id="2_c6bkx"] +[ext_resource type="PackedScene" uid="uid://vtwswrkfkgas" path="res://objects/EnemyMover.tscn" id="3_gaw65"] + +[node name="LevelBase" instance=ExtResource("1_y0h5c")] + +[node name="Player" parent="." index="0"] +position = Vector2(-274, 115) + +[node name="Layer0" parent="." index="5"] +tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAADAAEAAAD2/wIAAAADAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAAEAAIAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAD7/wQAAAABAAAAAAD9/wQAAAABAAAAAAD//wQAAAABAAAAAAABAAQAAAABAAAAAAD3/wEAAAAEAAAAAAD4/wEAAAAEAAAAAAD5/wEAAAAEAAAAAAD6/wEAAAAEAAAAAAD7/wEAAAAEAAAAAAD8/wEAAAAEAAAAAAD9/wEAAAAEAAAAAAD+/wEAAAAEAAAAAAD//wEAAAAEAAAAAAAAAAEAAAAEAAAAAAABAAEAAAAEAAAAAAACAAEAAAAEAAAAAAADAAEAAAAEAAAAAAAGAAMAAAAFAAEAAAAHAAMAAAAFAAEAAAAIAAMAAAAFAAEAAAAIAAIAAAAFAAEAAAAHAAIAAAAFAAEAAAAIAAEAAAAFAAEAAAADAAAAAAABAAEAAAACAAAAAAABAAEAAAABAAAAAAABAAEAAAAAAAAAAAABAAEAAAD//wAAAAABAAEAAAD+/wAAAAABAAEAAAD9/wAAAAABAAEAAAD8/wAAAAABAAEAAAD7/wAAAAABAAEAAAD6/wAAAAABAAEAAAD5/wAAAAABAAEAAAD4/wAAAAABAAEAAAD3/wAAAAABAAEAAAAEAAAAAAABAAEAAAAFAP3/AAABAAEAAAAFAPz/AAABAAEAAAD3//3/AAABAAEAAAD4//3/AAABAAEAAAD4//z/AAABAAEAAAD3//z/AAABAAEAAAD5//z/AAABAAEAAAD6//z/AAABAAEAAAD7//z/AAABAAEAAAD8//z/AAABAAEAAAD9//z/AAABAAEAAAD+//z/AAABAAEAAAD///z/AAABAAEAAAAAAPz/AAABAAEAAAABAPz/AAABAAEAAAACAPz/AAABAAEAAAADAPz/AAABAAEAAAAEAPz/AAABAAEAAAABAP3/AAABAAEAAAAAAP3/AAABAAEAAAD///3/AAABAAEAAAD+//3/AAABAAEAAAD9//3/AAABAAEAAAD8//3/AAABAAEAAAD7//3/AAABAAEAAAD6//3/AAABAAEAAAD5//3/AAABAAEAAAD9//7/AAABAAEAAAD8//7/AAABAAEAAAD7//7/AAABAAEAAAD6//7/AAABAAEAAAD5//7/AAABAAEAAAA=") + +[node name="Block" parent="." index="7" instance=ExtResource("2_c6bkx")] +position = Vector2(243, -91) +scale = Vector2(0.5, 0.5) + +[node name="EnemyMover" parent="." index="8" instance=ExtResource("3_gaw65")] +position = Vector2(-7, 97) +scale = Vector2(2, 2) +gravity = null +direction = null diff --git a/gmtk_2024/levels/level_2.tscn b/gmtk_2024/levels/level_2.tscn index 8dbfe17..24099ff 100644 --- a/gmtk_2024/levels/level_2.tscn +++ b/gmtk_2024/levels/level_2.tscn @@ -1,7 +1,10 @@ -[gd_scene load_steps=3 format=4 uid="uid://badb2xvsbtm5j"] +[gd_scene load_steps=6 format=4 uid="uid://badb2xvsbtm5j"] [ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_y0h5c"] [ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlockBig.tscn" id="2_c6bkx"] +[ext_resource type="PackedScene" uid="uid://vtwswrkfkgas" path="res://objects/EnemyMover.tscn" id="3_gaw65"] +[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="4_b8j1s"] +[ext_resource type="PackedScene" uid="uid://frtjwlebpm8p" path="res://levels/Level_2_Rooms/level_2_room_2.tscn" id="5_yno21"] [node name="LevelBase" instance=ExtResource("1_y0h5c")] @@ -9,11 +12,17 @@ position = Vector2(-274, 115) [node name="Layer0" parent="." index="5"] -tile_map_data = PackedByteArray("AAD2//v/AAADAAAAAAD2//z/AAACAAEAAAD2//3/AAACAAEAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAACAAEAAAD2/wEAAAADAAEAAAD2/wIAAAADAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAAAAEAAAAJAAIAAAAAAAEAAAAJAAMAAAAAAAEAAAAJAAQAAAAFAAIAAAD3//v/AAABAAIAAAD4//v/AAABAAIAAAD5//v/AAABAAIAAAD6//v/AAABAAIAAAD7//v/AAABAAIAAAD8//v/AAABAAIAAAD9//v/AAABAAIAAAD+//v/AAABAAIAAAD///v/AAABAAIAAAAAAPv/AAABAAIAAAABAPv/AAABAAIAAAACAPv/AAABAAIAAAADAPv/AAABAAIAAAAEAPv/AAABAAIAAAAFAPv/AAABAAIAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAAEAAIAAAADAAQAAAABAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAABAAAAAAAHAAQAAAABAAAAAAAIAAQAAAABAAAAAAD7/wQAAAABAAAAAAD9/wQAAAABAAAAAAD//wQAAAABAAAAAAABAAQAAAABAAAAAAD3/wEAAAAEAAAAAAD4/wEAAAAEAAAAAAD5/wEAAAAEAAAAAAD6/wEAAAAEAAAAAAD7/wEAAAAEAAAAAAD8/wEAAAAEAAAAAAD9/wEAAAAEAAAAAAD+/wEAAAAEAAAAAAD//wEAAAAEAAAAAAAAAAEAAAAEAAAAAAABAAEAAAAEAAAAAAACAAEAAAAEAAAAAAADAAEAAAAEAAAAAAAGAAMAAAAFAAEAAAAHAAMAAAAFAAEAAAAIAAMAAAAFAAEAAAAIAAIAAAAFAAEAAAAHAAIAAAAFAAEAAAAIAAEAAAAFAAEAAAADAAAAAAABAAEAAAACAAAAAAABAAEAAAABAAAAAAABAAEAAAAAAAAAAAABAAEAAAD//wAAAAABAAEAAAD+/wAAAAABAAEAAAD9/wAAAAABAAEAAAD8/wAAAAABAAEAAAD7/wAAAAABAAEAAAD6/wAAAAABAAEAAAD5/wAAAAABAAEAAAD4/wAAAAABAAEAAAD3/wAAAAABAAEAAAAEAAAAAAABAAEAAAAFAP3/AAABAAEAAAAFAPz/AAABAAEAAAD3//3/AAABAAEAAAD4//3/AAABAAEAAAD4//z/AAABAAEAAAD3//z/AAABAAEAAAD5//z/AAABAAEAAAD6//z/AAABAAEAAAD7//z/AAABAAEAAAD8//z/AAABAAEAAAD9//z/AAABAAEAAAD+//z/AAABAAEAAAD///z/AAABAAEAAAAAAPz/AAABAAEAAAABAPz/AAABAAEAAAACAPz/AAABAAEAAAADAPz/AAABAAEAAAAEAPz/AAABAAEAAAABAP3/AAABAAEAAAAAAP3/AAABAAEAAAD///3/AAABAAEAAAD+//3/AAABAAEAAAD9//3/AAABAAEAAAD8//3/AAABAAEAAAD7//3/AAABAAEAAAD6//3/AAABAAEAAAD5//3/AAABAAEAAAD9//7/AAABAAEAAAD8//7/AAABAAEAAAD7//7/AAABAAEAAAD6//7/AAABAAEAAAD5//7/AAABAAEAAAA=") +tile_map_data = PackedByteArray("AAD2//v/AAABAAEAAAD2//z/AAABAAEAAAD2//3/AAADAAAAAAD2//7/AAACAAEAAAD2////AAACAAEAAAD2/wAAAAADAAIAAAD2/wEAAAADAAAAAAD2/wIAAAADAAEAAAD2/wMAAAACAAEAAAD2/wQAAAADAAIAAAAJAPv/AAAFAAAAAAAJAPz/AAAAAAEAAAAJAP3/AAAAAAEAAAAJAP7/AAAAAAEAAAAJAP//AAAAAAEAAAAJAAAAAAAAAAEAAAAJAAEAAAAFAAIAAAAJAAIAAAABAAEAAAAJAAMAAAABAAEAAAAJAAQAAAABAAEAAAD3//v/AAABAAEAAAD4//v/AAABAAEAAAD5//v/AAABAAEAAAD6//v/AAABAAEAAAD7//v/AAABAAEAAAD8//v/AAABAAEAAAD9//v/AAABAAEAAAD+//v/AAABAAEAAAD///v/AAABAAEAAAAAAPv/AAABAAEAAAABAPv/AAABAAEAAAACAPv/AAABAAEAAAADAPv/AAABAAEAAAAEAPv/AAABAAEAAAAFAPv/AAADAAAAAAAGAPv/AAABAAIAAAAHAPv/AAABAAIAAAAIAPv/AAABAAIAAAD3/wQAAAABAAAAAAD4/wQAAAABAAAAAAD5/wQAAAACAAAAAAADAAQAAAAAAAAAAAAEAAQAAAABAAAAAAAFAAQAAAABAAAAAAAGAAQAAAAFAAIAAAAHAAQAAAABAAEAAAAIAAQAAAABAAEAAAD7/wQAAAAIAAAAAAD9/wQAAAAIAAAAAAD//wQAAAAIAAAAAAABAAQAAAAIAAAAAAD3/wEAAAAEAAAAAAD4/wEAAAAEAAAAAAD5/wEAAAAEAAAAAAD6/wEAAAAEAAAAAAD7/wEAAAAEAAAAAAD8/wEAAAAEAAAAAAD9/wEAAAAEAAAAAAD+/wEAAAAEAAAAAAD//wEAAAAEAAAAAAAAAAEAAAAEAAAAAAABAAEAAAAEAAAAAAACAAEAAAAEAAAAAAADAAEAAAACAAIAAAAGAAMAAAAAAAAAAAAHAAMAAAAFAAIAAAAIAAMAAAABAAEAAAAIAAIAAAAFAAIAAAAHAAIAAAAAAAAAAAAIAAEAAAAAAAAAAAADAAAAAAAGAAAAAAACAAAAAAABAAAAAAABAAAAAAABAAAAAAAAAAAAAAABAAAAAAD//wAAAAABAAAAAAD+/wAAAAABAAAAAAD9/wAAAAABAAAAAAD8/wAAAAABAAAAAAD7/wAAAAABAAAAAAD6/wAAAAABAAAAAAD5/wAAAAABAAAAAAD4/wAAAAABAAAAAAD3/wAAAAABAAAAAAAEAAAAAAAIAAAAAwAFAP3/AAAIAAEAAAAFAPz/AAAHAAEAAGD3//3/AAABAAIAAAD4//3/AAABAAIAAAD4//z/AAABAAEAAAD3//z/AAABAAEAAAD5//z/AAABAAEAAAD6//z/AAABAAEAAAD7//z/AAABAAEAAAD8//z/AAABAAEAAAD9//z/AAABAAEAAAD+//z/AAABAAEAAAD///z/AAABAAEAAAAAAPz/AAABAAEAAAABAPz/AAADAAAAAAACAPz/AAABAAIAAAADAPz/AAABAAIAAAAEAPz/AAABAAIAAAABAP3/AAACAAIAAAAAAP3/AAABAAIAAAD///3/AAABAAIAAAD+//3/AAABAAIAAAD9//3/AAADAAAAAAD8//3/AAABAAEAAAD7//3/AAABAAEAAAD6//3/AAABAAEAAAD5//3/AAAFAAAAAAD9//7/AAACAAIAAAD8//7/AAABAAIAAAD7//7/AAABAAIAAAD6//7/AAABAAIAAAD5//7/AAAAAAIAAAAFAP7/AAAIAAAAADA=") [node name="Block" parent="." index="7" instance=ExtResource("2_c6bkx")] position = Vector2(243, -91) scale = Vector2(0.5, 0.5) -[node name="Block2" parent="." index="8" instance=ExtResource("2_c6bkx")] -position = Vector2(-171, 159) +[node name="EnemyMover" parent="." index="8" instance=ExtResource("3_gaw65")] +position = Vector2(-7, 97) +scale = Vector2(2, 2) +direction = -1 + +[node name="Goal" parent="." index="9" instance=ExtResource("4_b8j1s")] +position = Vector2(-260, -28) +next = ExtResource("5_yno21") diff --git a/gmtk_2024/objects/Ene478E.tmp b/gmtk_2024/objects/Ene478E.tmp new file mode 100644 index 0000000..09449d6 --- /dev/null +++ b/gmtk_2024/objects/Ene478E.tmp @@ -0,0 +1,19 @@ +[gd_scene load_steps=4 format=3 uid="uid://vtwswrkfkgas"] + +[ext_resource type="Script" path="res://scripts/enemy_movement_mover.gd" id="1_7kapi"] +[ext_resource type="Texture2D" uid="uid://buqgl7x10et1f" path="res://temp_assets/img.png" id="1_ci3x0"] + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cnt5"] +size = Vector2(24, 20) + +[node name="EnemyMover" type="CharacterBody2D"] +collision_layer = 2 +collision_mask = 23 +script = ExtResource("1_7kapi") +speed = 75 + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_ci3x0") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("RectangleShape2D_8cnt5") diff --git a/gmtk_2024/objects/EnemyMover.tscn b/gmtk_2024/objects/EnemyMover.tscn index 26b8c8f..99284d9 100644 --- a/gmtk_2024/objects/EnemyMover.tscn +++ b/gmtk_2024/objects/EnemyMover.tscn @@ -3,9 +3,8 @@ [ext_resource type="Script" path="res://scripts/enemy_movement_mover.gd" id="1_7kapi"] [ext_resource type="Texture2D" uid="uid://buqgl7x10et1f" path="res://temp_assets/img.png" id="1_ci3x0"] -[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_duogd"] -radius = 16.0 -height = 32.0 +[sub_resource type="RectangleShape2D" id="RectangleShape2D_8cnt5"] +size = Vector2(24, 26) [node name="EnemyMover" type="CharacterBody2D"] collision_layer = 2 @@ -17,4 +16,4 @@ speed = 75 texture = ExtResource("1_ci3x0") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource("CapsuleShape2D_duogd") +shape = SubResource("RectangleShape2D_8cnt5") diff --git a/gmtk_2024/scripts/enemy_movement_mover.gd b/gmtk_2024/scripts/enemy_movement_mover.gd index 761e5eb..2a2df9c 100644 --- a/gmtk_2024/scripts/enemy_movement_mover.gd +++ b/gmtk_2024/scripts/enemy_movement_mover.gd @@ -4,6 +4,8 @@ extends CharacterBody2D @export var gravity = 50; @export var direction = 1; +func _ready() -> void: + add_to_group("enemy") func _physics_process(delta): if is_on_wall(): diff --git a/gmtk_2024/scripts/player_movement.gd b/gmtk_2024/scripts/player_movement.gd index 1616bef..801d07f 100644 --- a/gmtk_2024/scripts/player_movement.gd +++ b/gmtk_2024/scripts/player_movement.gd @@ -4,6 +4,7 @@ extends CharacterBody2D @export var gravity = 50 var jump_count = 1 @export var jump_strength = 100 +@export var jump_strength_large = 400 var is_touching_floor : bool = true var jump_buffer_timer : float var coyote_timer : float = 0.2 @@ -30,6 +31,15 @@ func _unhandled_input(event): elif nearest_block.scale == Vector2(1.0, 1.0) and self.scale == Vector2(1.0, 1.0): nearest_block.scale_down() scale_up_player() + else: + var nearest_enemy = find_nearest_enemy() + if nearest_enemy: + if nearest_enemy.scale == Vector2(1, 1) and self.scale == Vector2(2.0, 2.0): + nearest_enemy.scale = Vector2(2,2) + scale_down_player() + elif nearest_enemy.scale == Vector2(2, 2) and self.scale == Vector2(1.0, 1.0): + nearest_enemy.scale = Vector2(1,1) + scale_up_player() func get_input(delta): @@ -74,10 +84,22 @@ func _physics_process(delta): get_input(delta) velocity.y += gravity move_and_slide() + if(get_slide_collision_count() > 0): + for i in get_slide_collision_count(): + var box = get_slide_collision(i).get_collider() as Box + if scale.x == 2: + if box and velocity.y >= 0: + box.velocity.x = velocity.x*0.8 + else: + if box and velocity.y >= 0 and box.scale.x < 2: + box.velocity.x = velocity.x*0.8 update_data_link() func Jump(): - velocity.y = -1 * jump_strength + if scale.x == 1: + velocity.y = -1 * jump_strength + else : + velocity.y = -1 * jump_strength_large jump_count = 0 is_touching_floor = false @@ -103,6 +125,16 @@ func find_nearest_block() -> Node2D: closest_block = block return closest_block +func find_nearest_enemy() -> Node2D: + var closest_distance = max_link_distance + var closest_block: Node2D = null + for block in get_tree().get_nodes_in_group("enemy"): + var distance = global_position.distance_to(block.global_position) + if distance <= closest_distance: + closest_distance = distance + closest_block = block + return closest_block + func start_scaling(target_node: Node2D, scale_value: Vector2): var tween = create_tween() tween.tween_property(target_node, "scale", scale_value, scale_duration) diff --git a/gmtk_2024/scripts/resizable_block.gd b/gmtk_2024/scripts/resizable_block.gd index 508fcb8..17a537f 100644 --- a/gmtk_2024/scripts/resizable_block.gd +++ b/gmtk_2024/scripts/resizable_block.gd @@ -6,6 +6,7 @@ extends StaticBody2D @export var ui_actions: Node @export var small_sprite = preload("res://textures/block-orange.png") @export var large_sprite = preload("res://textures/block-blue.png") +@export var delete_self = false func _ready(): add_to_group("scalable_blocks") @@ -17,11 +18,16 @@ func scale_up(): var tween = create_tween() tween.tween_property(self, "scale", scale_up_target, scale_duration) change_sprite_based_on_scale() + if delete_self: + queue_free() + func scale_down(): var tween = create_tween() tween.tween_property(self, "scale", scale_down_target, scale_duration) change_sprite_based_on_scale() + if delete_self: + queue_free() func change_sprite_based_on_scale(): var sprite = $Sprite2D