diff --git a/.idea/.idea.fgj26/.idea/.gitignore b/.idea/.idea.fgj26/.idea/.gitignore
new file mode 100644
index 0000000..17c6d5b
--- /dev/null
+++ b/.idea/.idea.fgj26/.idea/.gitignore
@@ -0,0 +1,15 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Rider ignored files
+/modules.xml
+/projectSettingsUpdater.xml
+/contentModel.xml
+/.idea.fgj26.iml
+# Ignored default folder with query files
+/queries/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/.idea.fgj26/.idea/.name b/.idea/.idea.fgj26/.idea/.name
new file mode 100644
index 0000000..3acca09
--- /dev/null
+++ b/.idea/.idea.fgj26/.idea/.name
@@ -0,0 +1 @@
+fgj26
\ No newline at end of file
diff --git a/.idea/.idea.fgj26/.idea/encodings.xml b/.idea/.idea.fgj26/.idea/encodings.xml
new file mode 100644
index 0000000..df87cf9
--- /dev/null
+++ b/.idea/.idea.fgj26/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.fgj26/.idea/indexLayout.xml b/.idea/.idea.fgj26/.idea/indexLayout.xml
new file mode 100644
index 0000000..7b08163
--- /dev/null
+++ b/.idea/.idea.fgj26/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.fgj26/.idea/libraries/GdSdk.xml b/.idea/.idea.fgj26/.idea/libraries/GdSdk.xml
new file mode 100644
index 0000000..0059883
--- /dev/null
+++ b/.idea/.idea.fgj26/.idea/libraries/GdSdk.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.fgj26/.idea/vcs.xml b/.idea/.idea.fgj26/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/.idea.fgj26/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Sprites/Characters/Enemies/stone-Sheet.png b/Assets/Sprites/Characters/Enemies/stone-Sheet.png
new file mode 100644
index 0000000..3822397
Binary files /dev/null and b/Assets/Sprites/Characters/Enemies/stone-Sheet.png differ
diff --git a/Assets/Sprites/Characters/Enemies/stone-Sheet.png.import b/Assets/Sprites/Characters/Enemies/stone-Sheet.png.import
new file mode 100644
index 0000000..f2088fc
--- /dev/null
+++ b/Assets/Sprites/Characters/Enemies/stone-Sheet.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cm8gnfvfysyyl"
+path="res://.godot/imported/stone-Sheet.png-6a8d5c3feec80de1d12c1419c56fc3a4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Sprites/Characters/Enemies/stone-Sheet.png"
+dest_files=["res://.godot/imported/stone-Sheet.png-6a8d5c3feec80de1d12c1419c56fc3a4.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Assets/Sprites/Characters/Player/kitsune-Sheet.png b/Assets/Sprites/Characters/Player/kitsune-Sheet.png
new file mode 100644
index 0000000..cd6af67
Binary files /dev/null and b/Assets/Sprites/Characters/Player/kitsune-Sheet.png differ
diff --git a/Assets/Sprites/Characters/Player/kitsune-Sheet.png.import b/Assets/Sprites/Characters/Player/kitsune-Sheet.png.import
new file mode 100644
index 0000000..06f16ef
--- /dev/null
+++ b/Assets/Sprites/Characters/Player/kitsune-Sheet.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://be7hl01iuo5af"
+path="res://.godot/imported/kitsune-Sheet.png-2e8e87b85c8cd31c30e570eeeb293f55.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Sprites/Characters/Player/kitsune-Sheet.png"
+dest_files=["res://.godot/imported/kitsune-Sheet.png-2e8e87b85c8cd31c30e570eeeb293f55.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Assets/Sprites/Environments/environment.png b/Assets/Sprites/Environments/environment.png
new file mode 100644
index 0000000..47b0eaa
Binary files /dev/null and b/Assets/Sprites/Environments/environment.png differ
diff --git a/Assets/Sprites/Environments/environment.png.import b/Assets/Sprites/Environments/environment.png.import
new file mode 100644
index 0000000..d36bfe6
--- /dev/null
+++ b/Assets/Sprites/Environments/environment.png.import
@@ -0,0 +1,40 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cs7vjtoap8v26"
+path="res://.godot/imported/environment.png-c68fc1d70faa64deb3834f90b15ce83a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://Assets/Sprites/Environments/environment.png"
+dest_files=["res://.godot/imported/environment.png-c68fc1d70faa64deb3834f90b15ce83a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/uastc_level=0
+compress/rdo_quality_loss=0.0
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/channel_remap/red=0
+process/channel_remap/green=1
+process/channel_remap/blue=2
+process/channel_remap/alpha=3
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/Prefabs/Enemies/rock_boi.tscn b/Prefabs/Enemies/rock_boi.tscn
new file mode 100644
index 0000000..7765d79
--- /dev/null
+++ b/Prefabs/Enemies/rock_boi.tscn
@@ -0,0 +1,89 @@
+[gd_scene load_steps=12 format=3 uid="uid://y54cvugsx75b"]
+
+[ext_resource type="Texture2D" uid="uid://cm8gnfvfysyyl" path="res://Assets/Sprites/Characters/Enemies/stone-Sheet.png" id="1_7puah"]
+[ext_resource type="Script" uid="uid://cu37tswrk107q" path="res://Scripts/Enemies/EnemyMovement.cs" id="2_wtb2n"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ldgsr"]
+atlas = ExtResource("1_7puah")
+region = Rect2(0, 0, 32, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_o5yvi"]
+atlas = ExtResource("1_7puah")
+region = Rect2(32, 0, 32, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rku1e"]
+atlas = ExtResource("1_7puah")
+region = Rect2(64, 0, 32, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rfjv2"]
+atlas = ExtResource("1_7puah")
+region = Rect2(96, 0, 32, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1phco"]
+atlas = ExtResource("1_7puah")
+region = Rect2(128, 0, 32, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nb51f"]
+atlas = ExtResource("1_7puah")
+region = Rect2(160, 0, 32, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nnt18"]
+atlas = ExtResource("1_7puah")
+region = Rect2(192, 0, 32, 32)
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_ewbju"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ldgsr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_o5yvi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rku1e")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rfjv2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1phco")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nb51f")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nnt18")
+}],
+"loop": true,
+"name": &"default",
+"speed": 5.0
+}]
+
+[sub_resource type="CircleShape2D" id="CircleShape2D_i6g32"]
+radius = 7.0
+
+[node name="RockBoi" type="CharacterBody2D"]
+motion_mode = 1
+
+[node name="NavigationAgent2D" type="NavigationAgent2D" parent="."]
+path_desired_distance = 1.0
+simplify_path = true
+simplify_epsilon = 0.25
+
+[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
+texture_filter = 1
+sprite_frames = SubResource("SpriteFrames_ewbju")
+offset = Vector2(0, -16)
+
+[node name="Scripts" type="Node" parent="."]
+
+[node name="Movement" type="Node" parent="Scripts" node_paths=PackedStringArray("_agent2D", "_body2D")]
+script = ExtResource("2_wtb2n")
+_agent2D = NodePath("../../NavigationAgent2D")
+_body2D = NodePath("../..")
+_speed = 44.59
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, -7)
+shape = SubResource("CircleShape2D_i6g32")
diff --git a/Prefabs/player.tscn b/Prefabs/player.tscn
new file mode 100644
index 0000000..33d0123
--- /dev/null
+++ b/Prefabs/player.tscn
@@ -0,0 +1,83 @@
+[gd_scene load_steps=11 format=3 uid="uid://cx7gr555b1gov"]
+
+[ext_resource type="Texture2D" uid="uid://be7hl01iuo5af" path="res://Assets/Sprites/Characters/Player/kitsune-Sheet.png" id="1_5wxv7"]
+[ext_resource type="Script" uid="uid://8drbh4rcl410" path="res://Scripts/PlayerMovement.cs" id="2_y5hcb"]
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_wrm1d"]
+radius = 2.0
+height = 10.0
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3dryh"]
+atlas = ExtResource("1_5wxv7")
+region = Rect2(0, 0, 16, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wowpa"]
+atlas = ExtResource("1_5wxv7")
+region = Rect2(16, 0, 16, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_i6g32"]
+atlas = ExtResource("1_5wxv7")
+region = Rect2(32, 0, 16, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1l0tm"]
+atlas = ExtResource("1_5wxv7")
+region = Rect2(48, 0, 16, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_v158k"]
+atlas = ExtResource("1_5wxv7")
+region = Rect2(64, 0, 16, 32)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_h4fw4"]
+atlas = ExtResource("1_5wxv7")
+region = Rect2(80, 0, 16, 32)
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_ebmjs"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3dryh")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wowpa")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_i6g32")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1l0tm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_v158k")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_h4fw4")
+}],
+"loop": true,
+"name": &"idle",
+"speed": 8.0
+}]
+
+[node name="Player" type="CharacterBody2D"]
+y_sort_enabled = true
+texture_filter = 1
+collision_layer = 2
+collision_mask = 5
+motion_mode = 1
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+position = Vector2(0, -2)
+rotation = 1.5707964
+shape = SubResource("CapsuleShape2D_wrm1d")
+
+[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
+sprite_frames = SubResource("SpriteFrames_ebmjs")
+animation = &"idle"
+frame_progress = 0.8244228
+offset = Vector2(0, -16)
+
+[node name="Scripts" type="Node" parent="."]
+
+[node name="Movement" type="Node" parent="Scripts" node_paths=PackedStringArray("_body2D")]
+script = ExtResource("2_y5hcb")
+_body2D = NodePath("../..")
+_speed = 4000.0
diff --git a/Resources/environment.tres b/Resources/environment.tres
new file mode 100644
index 0000000..2e19eec
--- /dev/null
+++ b/Resources/environment.tres
@@ -0,0 +1,86 @@
+[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://b15j7vhkfu415"]
+
+[ext_resource type="Texture2D" uid="uid://cs7vjtoap8v26" path="res://Assets/Sprites/Environments/environment.png" id="1_weel8"]
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_12wsl"]
+texture = ExtResource("1_weel8")
+0:0/0 = 0
+0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, 8, 0, 0, 8, 0, 8, -8, -8, -8, -8, 8)
+2:2/0 = 0
+2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, -8, 8, -8, 8, 8, -8, 8)
+1:2/0 = 0
+1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8)
+0:2/0 = 0
+0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -8, 0, 0, 8, 0, 8, 8, -8, 8)
+0:1/0 = 0
+0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 0, -8, 0, 8, -8, 8)
+1:0/0 = 0
+1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -8, 8, -8, 8, 0, -8, 0)
+1:1/0 = 0
+2:1/0 = 0
+2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, 8, 8, 8, -8)
+2:0/0 = 0
+2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, 8, 8, 8, 8, -8, -8, -8)
+3:0/0 = 0
+3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, 8, 0, 0, 8, 0, 8, -8, -8, -8, -8, 8)
+3:1/0 = 0
+3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, -8, 8, -8, -8)
+3:2/0 = 0
+3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 0, 8, 0, 8, 8, -8, 8, -8, -8)
+4:2/0 = 0
+4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8)
+4:1/0 = 0
+4:0/0 = 0
+4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, -8, -8, -8)
+5:0/0 = 0
+5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, 8, 8, 8, 8, -8, -8, -8)
+5:1/0 = 0
+5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(0, -8, 0, 8, 8, 8, 8, -8)
+5:2/0 = 0
+5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0, 0, 0, -8, 8, -8, 8, 8, -8, 8)
+7:1/0 = 0
+8:1/0 = 0
+9:1/0 = 0
+7:2/0 = 0
+8:2/0 = 0
+9:2/0 = 0
+8:4/size_in_atlas = Vector2i(1, 2)
+8:4/0 = 0
+8:4/0/texture_origin = Vector2i(0, 8)
+8:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8)
+9:4/size_in_atlas = Vector2i(1, 2)
+9:4/0 = 0
+9:4/0/texture_origin = Vector2i(0, 8)
+9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 6, 0, 6, 8, -8, 8)
+0:4/size_in_atlas = Vector2i(4, 5)
+0:4/0 = 0
+0:4/0/texture_origin = Vector2i(0, 32)
+0:4/0/y_sort_origin = -4
+0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, -4, 8, -4, 12, 4, -12, 4)
+7:4/size_in_atlas = Vector2i(1, 2)
+7:4/0 = 0
+7:4/0/texture_origin = Vector2i(0, 8)
+7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-6, 0, 8, 0, 8, 8, -6, 8)
+4:7/size_in_atlas = Vector2i(2, 2)
+4:7/0 = 0
+4:7/0/texture_origin = Vector2i(0, 8)
+4:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 0, 16, 0, 12, 8, -12, 8)
+5:6/0 = 0
+5:6/0/y_sort_origin = 4
+5:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 6, -6, 8, 6, 8, 8, 6, 8, 4, -8, 4)
+7:7/size_in_atlas = Vector2i(1, 2)
+7:7/0 = 0
+7:7/0/texture_origin = Vector2i(0, 8)
+7:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 0.9892235, 0, 8, 0, 8, 8, -8, 8)
+8:7/size_in_atlas = Vector2i(1, 2)
+8:7/0 = 0
+8:7/0/texture_origin = Vector2i(0, 8)
+8:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8)
+9:7/size_in_atlas = Vector2i(1, 2)
+9:7/0 = 0
+9:7/0/texture_origin = Vector2i(0, 8)
+9:7/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 0, 8, 0, 8, 8, -8, 8)
+
+[resource]
+physics_layer_0/collision_layer = 1
+sources/0 = SubResource("TileSetAtlasSource_12wsl")
diff --git a/Scenes/game.tscn b/Scenes/game.tscn
new file mode 100644
index 0000000..b6cad98
--- /dev/null
+++ b/Scenes/game.tscn
@@ -0,0 +1,46 @@
+[gd_scene load_steps=6 format=4 uid="uid://csyk43kt3xbyx"]
+
+[ext_resource type="TileSet" uid="uid://b15j7vhkfu415" path="res://Resources/environment.tres" id="1_ebmjs"]
+[ext_resource type="Script" uid="uid://djp8dmixf6sq2" path="res://Scripts/Common/GameController.cs" id="1_i6g32"]
+[ext_resource type="PackedScene" uid="uid://cx7gr555b1gov" path="res://Prefabs/player.tscn" id="3_3dryh"]
+[ext_resource type="PackedScene" uid="uid://y54cvugsx75b" path="res://Prefabs/Enemies/rock_boi.tscn" id="5_wowpa"]
+
+[sub_resource type="NavigationPolygon" id="NavigationPolygon_wrm1d"]
+vertices = PackedVector2Array(-114.07031, 51, -115, 51, -115, 50.070313, -43, -27, -43, -34.820313, -39.09375, -27, -85, 51, -93.92969, 51, -91, 48.070313, -85, 43, 80.07031, -11, 85, -15.9296875, 92.90625, -17, 83.90625, 1, 51, 19, 194.35156, -122.36719, 204, -61.59375, 204, 8.03125, 149, -27, 149, -53, 170.78125, -142.3125, -91, 39, -75, 21, 51, 37, 75, 27, 75, 53, 59, 75, 16.070313, -59, 21, -63.929688, 43, -75, 43, -61.179688, 35.90625, -47, 11, -25, 149, 21, 149, -21, 204.99219, 82.72656, 85, -25, 91, -27, 27, -75, 21, -73, 123, -53, 123, -45, 117, -45, 117, -69, 91, -69, 91, -61, 85, -61, 85, -85, 69, -85, 69, -101, 105.5, -154.00781, 53, -101, 53, -117, 11, -117, 11, -99, 5, -99, 5, -117, 7.96875, -156.99219, -37, -91, -29, -91, -29, -85, -69, -85, -69, -59, -61, -59, -61, -53, -101, -53, -101, -11, -93, -11, -93, -5, -133, -5, -115, 21, -115, 13, -101, 13, -101, 21, -75, 5, -63.929688, 5, -59, 43, -59, -9, -75, -9, -75, -21, -69, -27, -83, -21, -83, -35, -69, -35, -43, -45, -43, -67, -37, -67, -37, -59, 0.09375, -45, -11, -59, -11, -99, -5, -73, 27, -99, -5, -63.929688, 59, -47, 59, -43, 37, -25, 91, -43, 59, -25, 131, -21, 131, -5, 121.09375, -5, 115.09375, -17, 59, -15.9296875, 37, -15.9296875, -0.0703125, -59, 107, 1, 107, 11, 91, 11, 91, 27, 83, 53, 83, 75, 59, 95, 44.90625, 95, -3, 37, 35.90625, 113, 67, 113, 67, 131, 27, 131, 21, 112.07031, 21, 103, 16.070313, 117, 21, 131, 27, 149, 21, 149, -19, 131, -0.0703125, 117, -19, 101, -5, 112.07031, -11, 101, -5, 103, -60.09375, 81, -37, 81, -37, 83, -67, 83, -67, 69, -59, 69, -51.09375, 63, -115, 39, -115, 27, -133, 69, -85, 69, -85, 101, -148.60156, 175.10156, -173.40625, 162.70313, -183.03125, 94.39844, -37, 101, -37, 149, -76.6875, 182, 168.10938, 173.17188, 90.77344, 181, 85, 149, 85, 101, 101, 101, 196.29688, 152.25, 101, 53, 117, 53, 117, 37, 133, 37, 133, 21, -8.90625, -27, 11, -15.9296875, -3, 19, -72.63281, -155, -37, -117, -157.07813, -144.32031, -178.24219, -112.11719, -188, -52.5625, -189.99219, 9.921875, -133, 21, 63.929688, -11, -11, 75, -22.90625, 75, -28.90625, 63, 7.9296875, 182.99219, -59, 0.0703125, 32.070313, -11, 15.9296875, -11, -133, 27)
+polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2), PackedInt32Array(3, 4, 5), PackedInt32Array(6, 7, 8, 9), PackedInt32Array(10, 11, 12, 13, 14), PackedInt32Array(15, 16, 17, 18, 19, 20), PackedInt32Array(9, 8, 21, 22), PackedInt32Array(23, 14, 24, 25, 26), PackedInt32Array(27, 28, 29, 30, 31, 32), PackedInt32Array(33, 34, 17, 35), PackedInt32Array(18, 17, 34), PackedInt32Array(12, 11, 36, 37), PackedInt32Array(38, 29, 28, 39), PackedInt32Array(40, 41, 42, 43), PackedInt32Array(44, 45, 46, 47), PackedInt32Array(47, 48, 49, 50), PackedInt32Array(49, 51, 52, 50), PackedInt32Array(53, 54, 55, 56, 57), PackedInt32Array(58, 59, 60, 61), PackedInt32Array(62, 63, 64, 65), PackedInt32Array(66, 67, 68, 69), PackedInt32Array(70, 71, 72, 73), PackedInt32Array(22, 74, 75, 76), PackedInt32Array(77, 78, 79, 80, 3), PackedInt32Array(79, 81, 82, 83, 80), PackedInt32Array(84, 85, 86, 87), PackedInt32Array(88, 84, 87, 89), PackedInt32Array(89, 90, 55, 91), PackedInt32Array(54, 92, 38, 39, 91), PackedInt32Array(55, 54, 91), PackedInt32Array(89, 91, 93), PackedInt32Array(31, 94, 95, 96, 32), PackedInt32Array(95, 97, 37, 36, 98), PackedInt32Array(37, 18, 34, 99), PackedInt32Array(99, 100, 101, 102), PackedInt32Array(37, 99, 102, 12), PackedInt32Array(98, 103, 14, 104, 96), PackedInt32Array(95, 98, 96), PackedInt32Array(105, 27, 32, 88), PackedInt32Array(13, 106, 107, 108), PackedInt32Array(13, 108, 109, 24, 14), PackedInt32Array(25, 110, 111, 26), PackedInt32Array(26, 112, 113, 114, 23), PackedInt32Array(115, 116, 117, 118), PackedInt32Array(115, 118, 119, 120), PackedInt32Array(121, 119, 118, 122), PackedInt32Array(118, 123, 124, 122), PackedInt32Array(121, 122, 125, 126), PackedInt32Array(126, 125, 127, 128), PackedInt32Array(128, 127, 129, 130), PackedInt32Array(131, 132, 133, 134), PackedInt32Array(131, 134, 135, 136), PackedInt32Array(137, 131, 136), PackedInt32Array(137, 136, 76), PackedInt32Array(21, 138, 139, 73, 22), PackedInt32Array(140, 141, 142, 143, 144, 145), PackedInt32Array(142, 146, 147, 148, 143), PackedInt32Array(149, 150, 151, 152, 153, 154), PackedInt32Array(153, 155, 156, 35, 154), PackedInt32Array(156, 157, 158, 35), PackedInt32Array(158, 159, 33, 35), PackedInt32Array(88, 89, 93, 105), PackedInt32Array(160, 88, 32, 161, 162), PackedInt32Array(113, 115, 120, 114), PackedInt32Array(50, 20, 19, 40, 43), PackedInt32Array(50, 43, 44, 47), PackedInt32Array(57, 50, 52, 53), PackedInt32Array(163, 57, 56, 164), PackedInt32Array(165, 163, 164, 58, 61, 166), PackedInt32Array(167, 166, 61, 62, 65), PackedInt32Array(167, 65, 66, 69), PackedInt32Array(168, 167, 69, 169, 145), PackedInt32Array(170, 10, 14), PackedInt32Array(114, 120, 130, 129, 171), PackedInt32Array(114, 171, 172, 173), PackedInt32Array(151, 150, 174, 123), PackedInt32Array(124, 123, 174), PackedInt32Array(147, 124, 174, 148), PackedInt32Array(3, 5, 162, 114, 173, 137, 76, 175), PackedInt32Array(103, 170, 14), PackedInt32Array(176, 104, 14), PackedInt32Array(176, 14, 162, 177), PackedInt32Array(161, 177, 162), PackedInt32Array(5, 160, 162), PackedInt32Array(178, 140, 145), PackedInt32Array(178, 145, 169), PackedInt32Array(178, 169, 70, 139), PackedInt32Array(139, 70, 73), PackedInt32Array(76, 9, 22), PackedInt32Array(76, 75, 175), PackedInt32Array(3, 175, 77)])
+outlines = Array[PackedVector2Array]([PackedVector2Array(-160, -149, -73, -160, 8, -162, 106, -159, 173, -147, 199, -125, 209, -62, 209, 8, 210, 83, 201, 155, 170, 178, 91, 186, 8, 188, -77, 187, -150, 180, -178, 166, -188, 95, -195, 10, -193, -53, -183, -114)])
+parsed_geometry_type = 1
+agent_radius = 5.0
+
+[node name="Root" type="Node2D"]
+texture_filter = 1
+
+[node name="GameController" type="Node" parent="." node_paths=PackedStringArray("Player")]
+script = ExtResource("1_i6g32")
+Player = NodePath("../NavigationRegion2D/YSorted/Player")
+
+[node name="Camera2D" type="Camera2D" parent="."]
+zoom = Vector2(2, 2)
+
+[node name="NavigationRegion2D" type="NavigationRegion2D" parent="."]
+position = Vector2(-8, -8)
+navigation_polygon = SubResource("NavigationPolygon_wrm1d")
+
+[node name="BaseLayer" type="TileMapLayer" parent="NavigationRegion2D"]
+tile_map_data = PackedByteArray("AAAAAP//AAABAAEAAAD/////AAABAAEAAAD//wAAAAABAAEAAAAAAAAAAAABAAEAAAABAP7/AAABAAEAAAAAAP7/AAABAAEAAAD///7/AAABAAEAAAD+////AAABAAEAAAD+/wAAAAABAAEAAAD+//7/AAABAAEAAAD9////AAABAAEAAAD9/wAAAAABAAEAAAD9/wEAAAABAAEAAAD9/wIAAAABAAEAAAD+/wIAAAABAAEAAAD//wIAAAABAAEAAAAAAAIAAAABAAEAAAABAAEAAAABAAEAAAABAAAAAAABAAEAAAABAP//AAABAAEAAAD//wEAAAABAAEAAAAAAAEAAAABAAEAAAABAAIAAAABAAEAAAABAAMAAAABAAEAAAACAAMAAAABAAEAAAACAAIAAAABAAEAAAADAAIAAAABAAEAAAADAAEAAAABAAEAAAACAAEAAAABAAEAAAACAAAAAAABAAEAAAACAP//AAABAAEAAAACAP7/AAABAAEAAAD+/wEAAAABAAEAAAAAAAMAAAABAAEAAAD//wMAAAABAAEAAAD+/wMAAAABAAEAAAD9/wMAAAABAAEAAAD8/wMAAAABAAEAAAD8/wIAAAABAAEAAAD8/wEAAAABAAEAAAD8/wAAAAABAAEAAAD8////AAABAAEAAAD8//7/AAABAAEAAAD9//7/AAABAAEAAAD9//3/AAABAAEAAAD+//3/AAABAAEAAAD///3/AAABAAEAAAAAAP3/AAABAAEAAAABAP3/AAABAAEAAAACAP3/AAABAAEAAAADAP7/AAABAAEAAAADAP//AAABAAEAAAADAAAAAAABAAEAAAADAAMAAAABAAEAAAADAP3/AAABAAEAAAD8//3/AAAFAAIAAAD8/wQAAAABAAEAAAD9/wQAAAABAAEAAAD+/wQAAAABAAEAAAD//wQAAAABAAEAAAAAAAQAAAABAAEAAAABAAQAAAABAAEAAAACAAQAAAABAAEAAAADAAQAAAABAAEAAAADAAUAAAABAAEAAAACAAUAAAABAAEAAAABAAUAAAABAAEAAAAAAAUAAAABAAEAAAD//wUAAAABAAEAAAD+/wUAAAAFAAAAAAD9/wUAAAABAAIAAAD8/wUAAAABAAIAAAD8//z/AAAFAAEAAAD9//z/AAABAAEAAAD+//z/AAABAAEAAAD///z/AAABAAEAAAAAAPz/AAABAAEAAAABAPz/AAABAAEAAAACAPz/AAABAAEAAAADAPz/AAABAAEAAAAEAPz/AAADAAIAAAAEAP3/AAABAAEAAAAEAP7/AAABAAEAAAAEAP//AAABAAEAAAAEAAAAAAABAAEAAAAEAAEAAAABAAEAAAAEAAIAAAABAAEAAAAEAAMAAAABAAEAAAAEAAQAAAABAAEAAAAEAAUAAAADAAAAAAD7/wQAAAAAAAEAAAD7/wUAAAAAAAIAAAD7/wMAAAAFAAAAAAD7/wIAAAABAAEAAAD7/wEAAAABAAEAAAD7/wAAAAABAAEAAAD7////AAABAAEAAAD7//7/AAABAAEAAAD7//3/AAABAAAAAAAFAPz/AAAEAAIAAAAFAP3/AAABAAEAAAAFAP7/AAABAAEAAAAFAP//AAABAAEAAAAFAAAAAAABAAEAAAAFAAEAAAABAAEAAAAFAAIAAAADAAAAAAAFAAMAAAACAAEAAAAFAAQAAAACAAEAAAAFAAUAAAACAAIAAAD6/wUAAAAEAAEAAAD6/wQAAAAEAAEAAAD6/wMAAAABAAIAAAD6/wIAAAABAAEAAAD6/wEAAAABAAEAAAD6/wAAAAAFAAIAAAD6////AAAFAAEAAAD6//7/AAAAAAEAAAD6//3/AAAAAAAAAAD6//z/AAAEAAEAAAD6//v/AAAEAAEAAAD7//v/AAAEAAEAAAD8//v/AAAAAAAAAAD9//v/AAABAAAAAAD+//v/AAAFAAIAAAD///v/AAABAAEAAAAAAPv/AAABAAEAAAABAPv/AAABAAEAAAACAPv/AAABAAEAAAADAPv/AAADAAIAAAAEAPv/AAACAAAAAAAFAPv/AAAEAAEAAAAGAPv/AAAEAAEAAAAGAPz/AAACAAAAAAAGAP3/AAADAAIAAAAGAP7/AAABAAEAAAAGAP//AAABAAEAAAAGAAAAAAABAAEAAAAGAAEAAAADAAAAAAAGAAIAAAACAAIAAAAGAAMAAAAEAAEAAAAHAAMAAAAEAAEAAAAHAAQAAAAEAAEAAAAGAAQAAAAEAAEAAAAGAAUAAAAEAAEAAAAHAAUAAAAEAAEAAAAHAAIAAAAEAAEAAAAHAAEAAAACAAIAAAAHAAAAAAADAAAAAAAHAP//AAABAAEAAAAHAP7/AAABAAEAAAAHAP3/AAAEAAIAAAAHAPv/AAAEAAEAAAAHAPr/AAAEAAEAAAAGAPr/AAAEAAEAAAAHAPz/AAAEAAEAAAAFAPr/AAAEAAEAAAAEAPr/AAAEAAEAAAADAPr/AAACAAAAAAACAPr/AAADAAIAAAABAPr/AAABAAEAAAAAAPr/AAABAAEAAAD///r/AAABAAEAAAD+//r/AAAFAAEAAAD9//r/AAAEAAEAAAD8//r/AAAEAAEAAAD7//r/AAAEAAEAAAD6//r/AAAEAAEAAAD5//r/AAAEAAEAAAD4//r/AAAEAAEAAAD4//v/AAAEAAEAAAD5//v/AAAEAAEAAAD5//z/AAAEAAEAAAD5//3/AAAEAAEAAAD5//7/AAAEAAEAAAD5////AAAEAAEAAAD4////AAAEAAEAAAD4/wAAAAAAAAAAAAD4/wEAAAAEAAEAAAD4/wIAAAAAAAEAAAD4/wMAAAAAAAIAAAD4/wQAAAAEAAEAAAD4/wUAAAAEAAEAAAD5/wUAAAAEAAEAAAD5/wQAAAAEAAEAAAD5/wMAAAABAAIAAAD5/wIAAAABAAEAAAD5/wEAAAABAAEAAAD4//z/AAAEAAEAAAD4//3/AAAEAAEAAAD4//7/AAAEAAEAAAD5/wAAAAABAAAAAAD4/wYAAAAEAAEAAAD5/wcAAAAEAAEAAAD5/wgAAAAEAAEAAAD6/wkAAAAEAAEAAAD4/wcAAAAEAAEAAAD4/wgAAAAEAAEAAAD4/wkAAAAEAAEAAAD5/wkAAAAEAAEAAAD6/wgAAAAEAAEAAAD5/wYAAAAEAAEAAAD6/wYAAAAEAAEAAAD6/wcAAAAEAAEAAAD7/wYAAAAEAAEAAAD7/wcAAAAEAAEAAAD7/wgAAAAEAAEAAAD7/wkAAAAEAAEAAAD8/wYAAAAEAAEAAAD8/wcAAAAEAAEAAAD8/wgAAAAEAAEAAAD8/wkAAAAEAAEAAAD9/wYAAAAEAAEAAAD9/wcAAAAEAAEAAAD9/wgAAAAEAAEAAAD9/wkAAAAEAAEAAAD+/wYAAAAAAAEAAAD+/wcAAAAAAAEAAAD+/wgAAAAAAAIAAAD+/wkAAAAEAAEAAAD//wYAAAABAAEAAAD//wcAAAABAAEAAAD//wgAAAABAAIAAAD//wkAAAAEAAEAAAAAAAYAAAABAAEAAAAAAAcAAAABAAEAAAAAAAgAAAABAAIAAAAAAAkAAAAEAAEAAAABAAYAAAABAAEAAAABAAcAAAABAAEAAAABAAgAAAAEAAEAAAABAAkAAAAEAAEAAAACAAYAAAABAAEAAAACAAcAAAABAAEAAAACAAgAAAABAAIAAAACAAkAAAAEAAEAAAADAAYAAAABAAEAAAADAAcAAAABAAEAAAADAAgAAAABAAIAAAADAAkAAAAEAAEAAAAEAAYAAAACAAEAAAAEAAcAAAACAAEAAAAEAAgAAAACAAIAAAAEAAkAAAAEAAEAAAAFAAYAAAAEAAEAAAAFAAcAAAAEAAEAAAAFAAgAAAAEAAEAAAAFAAkAAAAEAAEAAAAGAAYAAAAEAAEAAAAGAAcAAAAEAAEAAAAGAAgAAAAEAAEAAAAGAAkAAAAEAAEAAAAHAAYAAAAEAAEAAAAHAAcAAAAEAAEAAAAHAAgAAAAEAAEAAAAHAAkAAAAEAAEAAAAIAPr/AAAEAAEAAAAIAPv/AAAEAAEAAAAIAPz/AAAEAAEAAAAIAP3/AAACAAAAAAAIAP7/AAAEAAEAAAAIAP//AAACAAEAAAAIAAAAAAACAAIAAAAIAAEAAAAEAAEAAAAIAAIAAAAEAAEAAAAIAAMAAAAEAAEAAAAIAAQAAAAEAAEAAAAIAAUAAAAEAAEAAAAIAAYAAAAEAAEAAAAIAAcAAAAEAAEAAAAIAAgAAAAEAAEAAAAIAAkAAAAEAAEAAAAJAPr/AAAEAAEAAAAJAPv/AAAEAAEAAAAJAPz/AAAEAAEAAAAJAP3/AAAEAAEAAAAJAP7/AAAEAAEAAAAJAP//AAAEAAEAAAAJAAAAAAAEAAEAAAAJAAEAAAAEAAEAAAAJAAIAAAAEAAEAAAAJAAMAAAAEAAEAAAAJAAQAAAAEAAEAAAAJAAUAAAAEAAEAAAAJAAYAAAAEAAEAAAAJAAcAAAAEAAEAAAAJAAgAAAAEAAEAAAAJAAkAAAAEAAEAAAAKAPr/AAAEAAEAAAAKAPv/AAAEAAEAAAAKAPz/AAAEAAEAAAAKAP3/AAAEAAEAAAAKAP7/AAAEAAEAAAAKAP//AAAEAAEAAAAKAAAAAAAEAAEAAAAKAAEAAAAEAAEAAAAKAAIAAAAEAAEAAAAKAAMAAAAEAAEAAAAKAAQAAAAEAAEAAAAKAAUAAAAEAAEAAAAKAAYAAAAEAAEAAAAKAAcAAAAEAAEAAAAKAAgAAAAEAAEAAAAKAAkAAAAEAAEAAAALAPr/AAAEAAEAAAALAPv/AAAEAAEAAAALAPz/AAAEAAEAAAALAP3/AAAEAAEAAAALAP7/AAAEAAEAAAALAP//AAAEAAEAAAALAAAAAAAEAAEAAAALAAEAAAAEAAEAAAALAAIAAAAEAAEAAAALAAMAAAAEAAEAAAALAAQAAAAEAAEAAAALAAUAAAAEAAEAAAALAAYAAAAEAAEAAAALAAcAAAAEAAEAAAALAAgAAAAEAAEAAAALAAkAAAAEAAEAAAAMAPr/AAAEAAEAAAAMAPv/AAAEAAEAAAAMAPz/AAAEAAEAAAAMAP3/AAAEAAEAAAAMAP7/AAAEAAEAAAAMAP//AAAEAAEAAAAMAAAAAAAEAAEAAAAMAAEAAAAEAAEAAAAMAAIAAAAEAAEAAAAMAAMAAAAEAAEAAAAMAAQAAAAEAAEAAAAMAAUAAAAEAAEAAAAMAAYAAAAEAAEAAAAMAAcAAAAEAAEAAAAMAAgAAAAEAAEAAAAMAAkAAAAEAAEAAAD4//b/AAAEAAEAAAD4//f/AAAEAAEAAAD4//j/AAAEAAEAAAD4//n/AAAEAAEAAAD5//b/AAAEAAEAAAD5//f/AAAEAAEAAAD5//j/AAAEAAEAAAD5//n/AAAEAAEAAAD6//b/AAAEAAEAAAD6//f/AAAEAAEAAAD6//j/AAAEAAEAAAD6//n/AAAEAAEAAAD7//b/AAAEAAEAAAD7//f/AAAEAAEAAAD7//j/AAAEAAEAAAD7//n/AAAEAAEAAAD8//b/AAAEAAEAAAD8//f/AAAEAAEAAAD8//j/AAAEAAEAAAD8//n/AAAEAAEAAAD9//b/AAAEAAEAAAD9//f/AAAEAAEAAAD9//j/AAAEAAEAAAD9//n/AAAEAAEAAAD+//b/AAAEAAEAAAD+//f/AAAEAAEAAAD+//j/AAAEAAEAAAD+//n/AAAAAAAAAAD///b/AAAEAAEAAAD///f/AAAEAAEAAAD///j/AAAEAAEAAAD///n/AAABAAAAAAAAAPb/AAAEAAEAAAAAAPf/AAAEAAEAAAAAAPj/AAAEAAEAAAAAAPn/AAAEAAEAAAABAPb/AAAEAAEAAAABAPf/AAAEAAEAAAABAPj/AAAEAAEAAAABAPn/AAABAAAAAAACAPb/AAAEAAEAAAACAPf/AAAEAAEAAAACAPj/AAAEAAEAAAACAPn/AAACAAAAAAADAPb/AAAEAAEAAAADAPf/AAAEAAEAAAADAPj/AAAEAAEAAAADAPn/AAAEAAEAAAAEAPb/AAAEAAEAAAAEAPf/AAAEAAEAAAAEAPj/AAAEAAEAAAAEAPn/AAAEAAEAAAAFAPb/AAAEAAEAAAAFAPf/AAAEAAEAAAAFAPj/AAAEAAEAAAAFAPn/AAAEAAEAAAAGAPb/AAAEAAEAAAAGAPf/AAAEAAEAAAAGAPj/AAAEAAEAAAAGAPn/AAAEAAEAAAAHAPb/AAAEAAEAAAAHAPf/AAAEAAEAAAAHAPj/AAAEAAEAAAAHAPn/AAAEAAEAAAAIAPb/AAAEAAEAAAAIAPf/AAAEAAEAAAAIAPj/AAAEAAEAAAAIAPn/AAAEAAEAAAAJAPb/AAAEAAEAAAAJAPf/AAAEAAEAAAAJAPj/AAAEAAEAAAAJAPn/AAAEAAEAAAAKAPb/AAAEAAEAAAAKAPf/AAAEAAEAAAAKAPj/AAAEAAEAAAAKAPn/AAAEAAEAAAALAPb/AAAEAAEAAAALAPf/AAAEAAEAAAALAPj/AAAEAAEAAAALAPn/AAAEAAEAAAAMAPb/AAAEAAEAAAAMAPf/AAAEAAEAAAAMAPj/AAAEAAEAAAAMAPn/AAAEAAEAAAD0//b/AAAEAAEAAAD0//f/AAAEAAEAAAD0//j/AAAEAAEAAAD0//n/AAAEAAEAAAD0//r/AAAEAAEAAAD0//v/AAAEAAEAAAD0//z/AAAEAAEAAAD0//3/AAAEAAEAAAD0//7/AAAEAAEAAAD0////AAAEAAEAAAD0/wAAAAAEAAEAAAD0/wEAAAAEAAEAAAD0/wIAAAAEAAEAAAD0/wMAAAAEAAEAAAD0/wQAAAAEAAEAAAD0/wUAAAAEAAEAAAD0/wYAAAAEAAEAAAD0/wcAAAAEAAEAAAD0/wgAAAAEAAEAAAD0/wkAAAAEAAEAAAD1//b/AAAEAAEAAAD1//f/AAAEAAEAAAD1//j/AAAEAAEAAAD1//n/AAAEAAEAAAD1//r/AAAEAAEAAAD1//v/AAAEAAEAAAD1//z/AAAEAAEAAAD1//3/AAAEAAEAAAD1//7/AAAEAAEAAAD1////AAAEAAEAAAD1/wAAAAAEAAEAAAD1/wEAAAAEAAEAAAD1/wIAAAAEAAEAAAD1/wMAAAAEAAEAAAD1/wQAAAAEAAEAAAD1/wUAAAAEAAEAAAD1/wYAAAAEAAEAAAD1/wcAAAAEAAEAAAD1/wgAAAAEAAEAAAD1/wkAAAAEAAEAAAD2//b/AAAEAAEAAAD2//f/AAAEAAEAAAD2//j/AAAEAAEAAAD2//n/AAAEAAEAAAD2//r/AAAEAAEAAAD2//v/AAAEAAEAAAD2//z/AAAEAAEAAAD2//3/AAAEAAEAAAD2//7/AAAEAAEAAAD2////AAAEAAEAAAD2/wAAAAAEAAEAAAD2/wEAAAAEAAEAAAD2/wIAAAAEAAEAAAD2/wMAAAAEAAEAAAD2/wQAAAAEAAEAAAD2/wUAAAAEAAEAAAD2/wYAAAAEAAEAAAD2/wcAAAAEAAEAAAD2/wgAAAAEAAEAAAD2/wkAAAAEAAEAAAD3//b/AAAEAAEAAAD3//f/AAAEAAEAAAD3//j/AAAEAAEAAAD3//n/AAAEAAEAAAD3//r/AAAEAAEAAAD3//v/AAAEAAEAAAD3//z/AAAEAAEAAAD3//3/AAAEAAEAAAD3//7/AAAEAAEAAAD3////AAAEAAEAAAD3/wAAAAAEAAEAAAD3/wEAAAAEAAEAAAD3/wIAAAAEAAEAAAD3/wMAAAAEAAEAAAD3/wQAAAAEAAEAAAD3/wUAAAAEAAEAAAD3/wYAAAAEAAEAAAD3/wcAAAAEAAEAAAD3/wgAAAAEAAEAAAD3/wkAAAAEAAEAAAD0/woAAAAEAAEAAAD0/wsAAAAEAAEAAAD0/wwAAAAEAAEAAAD0/w0AAAAEAAEAAAD0/w4AAAAEAAEAAAD1/woAAAAEAAEAAAD1/wsAAAAEAAEAAAD1/wwAAAAEAAEAAAD1/w0AAAAEAAEAAAD1/w4AAAAEAAEAAAD2/woAAAAEAAEAAAD2/wsAAAAEAAEAAAD2/wwAAAAEAAEAAAD2/w0AAAAEAAEAAAD2/w4AAAAEAAEAAAD3/woAAAAEAAEAAAD3/wsAAAAEAAEAAAD3/wwAAAAEAAEAAAD3/w0AAAAEAAEAAAD3/w4AAAAEAAEAAAD4/woAAAAEAAEAAAD4/wsAAAAEAAEAAAD4/wwAAAAEAAEAAAD4/w0AAAAEAAEAAAD4/w4AAAAEAAEAAAD5/woAAAAEAAEAAAD5/wsAAAAEAAEAAAD5/wwAAAAEAAEAAAD5/w0AAAAEAAEAAAD5/w4AAAAEAAEAAAD6/woAAAAEAAEAAAD6/wsAAAAEAAEAAAD6/wwAAAAEAAEAAAD6/w0AAAAEAAEAAAD6/w4AAAAEAAEAAAD7/woAAAAEAAEAAAD7/wsAAAAEAAEAAAD7/wwAAAAEAAEAAAD7/w0AAAAEAAEAAAD7/w4AAAAEAAEAAAD8/woAAAAEAAEAAAD8/wsAAAAEAAEAAAD8/wwAAAAEAAEAAAD8/w0AAAAEAAEAAAD8/w4AAAAEAAEAAAD9/woAAAAEAAEAAAD9/wsAAAAEAAEAAAD9/wwAAAAEAAEAAAD9/w0AAAAEAAEAAAD9/w4AAAAEAAEAAAD+/woAAAAEAAEAAAD+/wsAAAAEAAEAAAD+/wwAAAAEAAEAAAD+/w0AAAAEAAEAAAD+/w4AAAAEAAEAAAD//woAAAAEAAEAAAD//wsAAAAEAAEAAAD//wwAAAAEAAEAAAD//w0AAAAEAAEAAAD//w4AAAAEAAEAAAAAAAoAAAAEAAEAAAAAAAsAAAAEAAEAAAAAAAwAAAAEAAEAAAAAAA0AAAAEAAEAAAAAAA4AAAAEAAEAAAABAAoAAAAEAAEAAAABAAsAAAAEAAEAAAABAAwAAAAEAAEAAAABAA0AAAAEAAEAAAABAA4AAAAEAAEAAAACAAoAAAAEAAEAAAACAAsAAAAEAAEAAAACAAwAAAAEAAEAAAACAA0AAAAEAAEAAAACAA4AAAAEAAEAAAADAAoAAAAEAAEAAAADAAsAAAAEAAEAAAADAAwAAAAEAAEAAAADAA0AAAAEAAEAAAADAA4AAAAEAAEAAAAEAAoAAAAEAAEAAAAEAAsAAAAEAAEAAAAEAAwAAAAEAAEAAAAEAA0AAAAEAAEAAAAEAA4AAAAEAAEAAAAFAAoAAAAEAAEAAAAFAAsAAAAEAAEAAAAFAAwAAAAEAAEAAAAFAA0AAAAEAAEAAAAFAA4AAAAEAAEAAAAGAAoAAAAEAAEAAAAGAAsAAAAEAAEAAAAGAAwAAAAEAAEAAAAGAA0AAAAEAAEAAAAGAA4AAAAEAAEAAAAHAAoAAAAEAAEAAAAHAAsAAAAEAAEAAAAHAAwAAAAEAAEAAAAHAA0AAAAEAAEAAAAHAA4AAAAEAAEAAAAIAAoAAAAEAAEAAAAIAAsAAAAEAAEAAAAIAAwAAAAEAAEAAAAIAA0AAAAEAAEAAAAIAA4AAAAEAAEAAAAJAAoAAAAEAAEAAAAJAAsAAAAEAAEAAAAJAAwAAAAEAAEAAAAJAA0AAAAEAAEAAAAJAA4AAAAEAAEAAAAKAAoAAAAEAAEAAAAKAAsAAAAEAAEAAAAKAAwAAAAEAAEAAAAKAA0AAAAEAAEAAAAKAA4AAAAEAAEAAAALAAoAAAAEAAEAAAALAAsAAAAEAAEAAAALAAwAAAAEAAEAAAALAA0AAAAEAAEAAAALAA4AAAAEAAEAAAAMAAoAAAAEAAEAAAAMAAsAAAAEAAEAAAAMAAwAAAAEAAEAAAAMAA0AAAAEAAEAAAAMAA4AAAAEAAEAAAD7//z/AAAEAAEAAAA=")
+tile_set = ExtResource("1_ebmjs")
+
+[node name="YSorted" type="Node2D" parent="NavigationRegion2D"]
+y_sort_enabled = true
+texture_filter = 1
+
+[node name="Player" parent="NavigationRegion2D/YSorted" instance=ExtResource("3_3dryh")]
+position = Vector2(8, 64)
+
+[node name="TileMapLayer" type="TileMapLayer" parent="NavigationRegion2D/YSorted"]
+y_sort_enabled = true
+tile_map_data = PackedByteArray("AAAGAP//AAAAAAQAAAD9/wQAAAAAAAQAAAADAPz/AAAAAAQAABABAAEAAAAIAAQAAAAAAAEAAAAHAAQAAAACAAEAAAAJAAQAAAADAAYAAAAAAAQAABAAAAYAAAAFAAYAAAAEAP7/AAAFAAYAABD7////AAAFAAYAABAAAPv/AAAFAAYAAAABAP7/AAAFAAYAAAD5/wIAAAAFAAYAABD+//3/AAAEAAcAAAA=")
+tile_set = ExtResource("1_ebmjs")
+
+[node name="RockBoi" parent="NavigationRegion2D/YSorted" instance=ExtResource("5_wowpa")]
+position = Vector2(-161, 33)
diff --git a/Scripts/Common/GameController.cs b/Scripts/Common/GameController.cs
new file mode 100644
index 0000000..dd9cd23
--- /dev/null
+++ b/Scripts/Common/GameController.cs
@@ -0,0 +1,14 @@
+using Godot;
+using System;
+
+public partial class GameController : Node
+{
+ public static GameController Instance;
+
+ [Export] public Node2D Player;
+
+ public override void _Ready()
+ {
+ GameController.Instance = this;
+ }
+}
diff --git a/Scripts/Common/GameController.cs.uid b/Scripts/Common/GameController.cs.uid
new file mode 100644
index 0000000..e35dfdf
--- /dev/null
+++ b/Scripts/Common/GameController.cs.uid
@@ -0,0 +1 @@
+uid://djp8dmixf6sq2
diff --git a/Scripts/Enemies/EnemyMovement.cs b/Scripts/Enemies/EnemyMovement.cs
new file mode 100644
index 0000000..b7f636f
--- /dev/null
+++ b/Scripts/Enemies/EnemyMovement.cs
@@ -0,0 +1,26 @@
+using Godot;
+using System;
+
+public partial class EnemyMovement : Node
+{
+ [Export] private NavigationAgent2D _agent2D;
+ [Export] private CharacterBody2D _body2D;
+ [Export] private float _speed;
+
+ private double _time = 0;
+
+ public override void _PhysicsProcess(double delta)
+ {
+ _time += delta;
+ if (_time > 0.2)
+ {
+ _time = 0;
+ _agent2D.SetTargetPosition(GameController.Instance.Player.GlobalPosition);
+ }
+ // _parent.Position = _agent2D.GetNextPathPosition();
+ var gpos = _agent2D.GetNextPathPosition();
+ var dir = (gpos - _body2D.GlobalPosition).Normalized();
+ // _body2D.SetVelocity(dir * _speed * (float)delta);
+ _body2D.GlobalPosition += dir * _speed * (float)delta;
+ }
+}
diff --git a/Scripts/Enemies/EnemyMovement.cs.uid b/Scripts/Enemies/EnemyMovement.cs.uid
new file mode 100644
index 0000000..beec006
--- /dev/null
+++ b/Scripts/Enemies/EnemyMovement.cs.uid
@@ -0,0 +1 @@
+uid://cu37tswrk107q
diff --git a/Scripts/PlayerMovement.cs b/Scripts/PlayerMovement.cs
new file mode 100644
index 0000000..17fce7f
--- /dev/null
+++ b/Scripts/PlayerMovement.cs
@@ -0,0 +1,31 @@
+using Godot;
+using System;
+
+public partial class PlayerMovement : Node
+{
+ [Export] private CharacterBody2D _body2D;
+
+ [Export] private float _speed;
+
+ private Vector2 _direction = new ();
+
+ public override void _Process(double delta)
+ {
+ ReadInput();
+ }
+
+ public override void _PhysicsProcess(double delta)
+ {
+ float dt = (float)delta;
+
+ _body2D.SetVelocity(_direction * _speed * dt);
+ _body2D.MoveAndSlide();
+ }
+
+ private void ReadInput()
+ {
+ _direction.X = Input.GetAxis("move_left", "move_right");
+ _direction.Y = Input.GetAxis("move_up", "move_down");
+ _direction = _direction.Normalized();
+ }
+}
diff --git a/Scripts/PlayerMovement.cs.uid b/Scripts/PlayerMovement.cs.uid
new file mode 100644
index 0000000..5ae919f
--- /dev/null
+++ b/Scripts/PlayerMovement.cs.uid
@@ -0,0 +1 @@
+uid://8drbh4rcl410
diff --git a/fgj26.csproj b/fgj26.csproj
new file mode 100644
index 0000000..35eb59a
--- /dev/null
+++ b/fgj26.csproj
@@ -0,0 +1,7 @@
+
+
+ net8.0
+ net9.0
+ true
+
+
\ No newline at end of file
diff --git a/fgj26.sln b/fgj26.sln
new file mode 100644
index 0000000..94268eb
--- /dev/null
+++ b/fgj26.sln
@@ -0,0 +1,19 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "fgj26", "fgj26.csproj", "{ECD24DA8-80B8-437C-9DB1-839996C9A21B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ ExportDebug|Any CPU = ExportDebug|Any CPU
+ ExportRelease|Any CPU = ExportRelease|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
+ {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
+ {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
+ {ECD24DA8-80B8-437C-9DB1-839996C9A21B}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/project.godot b/project.godot
index 1d617df..d03a47f 100644
--- a/project.godot
+++ b/project.godot
@@ -11,9 +11,53 @@ config_version=5
[application]
config/name="fgj26"
-config/features=PackedStringArray("4.5", "Forward Plus")
+run/main_scene="uid://csyk43kt3xbyx"
+config/features=PackedStringArray("4.5", "C#", "Forward Plus")
config/icon="res://icon.svg"
[dotnet]
project/assembly_name="fgj26"
+
+[input]
+
+move_up={
+"deadzone": 0.1,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":-1.0,"script":null)
+]
+}
+move_right={
+"deadzone": 0.1,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":1.0,"script":null)
+]
+}
+move_down={
+"deadzone": 0.1,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":1,"axis_value":1.0,"script":null)
+]
+}
+move_left={
+"deadzone": 0.1,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":0,"axis":0,"axis_value":-1.0,"script":null)
+]
+}
+dash={
+"deadzone": 0.1,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null)
+]
+}
+attack={
+"deadzone": 0.1,
+"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
+, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":2,"pressure":0.0,"pressed":false,"script":null)
+]
+}
+
+[physics]
+
+2d/default_gravity_vector=Vector2(0, 0)