summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSophia Pearson <codergal89@gmail.com>2026-05-20 09:39:22 +0200
committerSophia Pearson <codergal89@gmail.com>2026-05-20 09:39:22 +0200
commit75c83f4d7a628077d9ec98bfbd674699bfa20529 (patch)
tree092244938ba3f2bf9e4355840e7f65176a6f5e3f
downloadmoon-buggy-2d-develop.tar.xz
moon-buggy-2d-develop.zip
initial gdscript rewritedevelop
-rw-r--r--.gitattributes3
-rw-r--r--.gitignore2
-rw-r--r--assets/backgrounds/space_blue.png3
-rw-r--r--assets/backgrounds/space_blue.png.import34
-rw-r--r--assets/backgrounds/space_purple.png3
-rw-r--r--assets/backgrounds/space_purple.png.import34
-rw-r--r--assets/backgrounds/space_with_stars_blue.png3
-rw-r--r--assets/backgrounds/space_with_stars_blue.png.import34
-rw-r--r--assets/backgrounds/space_with_stars_purple.png3
-rw-r--r--assets/backgrounds/space_with_stars_purple.png.import34
-rw-r--r--assets/backgrounds/stars_blue.png3
-rw-r--r--assets/backgrounds/stars_blue.png.import34
-rw-r--r--assets/backgrounds/stars_purple.png3
-rw-r--r--assets/backgrounds/stars_purple.png.import34
-rw-r--r--assets/sprites/base_plain.png3
-rw-r--r--assets/sprites/base_plain.png.import34
-rw-r--r--assets/sprites/base_textured.png3
-rw-r--r--assets/sprites/base_textured.png.import34
-rw-r--r--assets/sprites/buggy_shadow.png3
-rw-r--r--assets/sprites/buggy_shadow.png.import34
-rw-r--r--assets/sprites/earth_large.png3
-rw-r--r--assets/sprites/earth_large.png.import34
-rw-r--r--assets/sprites/earth_small.png3
-rw-r--r--assets/sprites/earth_small.png.import34
-rw-r--r--assets/sprites/meteor_0_blue.png3
-rw-r--r--assets/sprites/meteor_0_blue.png.import34
-rw-r--r--assets/sprites/meteor_0_purple.png3
-rw-r--r--assets/sprites/meteor_0_purple.png.import34
-rw-r--r--assets/sprites/meteor_1_blue.png3
-rw-r--r--assets/sprites/meteor_1_blue.png.import34
-rw-r--r--assets/sprites/meteor_1_purple.png3
-rw-r--r--assets/sprites/meteor_1_purple.png.import34
-rw-r--r--assets/sprites/meteor_2_blue.png3
-rw-r--r--assets/sprites/meteor_2_blue.png.import34
-rw-r--r--assets/sprites/meteor_2_purple.png3
-rw-r--r--assets/sprites/meteor_2_purple.png.import34
-rw-r--r--assets/sprites/meteor_3_blue.png3
-rw-r--r--assets/sprites/meteor_3_blue.png.import34
-rw-r--r--assets/sprites/meteor_3_purple.png3
-rw-r--r--assets/sprites/meteor_3_purple.png.import34
-rw-r--r--assets/spritesheets/astronaut.png3
-rw-r--r--assets/spritesheets/astronaut.png.import34
-rw-r--r--assets/spritesheets/astronaut.tres138
-rw-r--r--assets/spritesheets/base_flag.png3
-rw-r--r--assets/spritesheets/base_flag.png.import34
-rw-r--r--assets/spritesheets/buggy.tres196
-rw-r--r--assets/spritesheets/buggy_drive.png3
-rw-r--r--assets/spritesheets/buggy_drive.png.import34
-rw-r--r--assets/spritesheets/buggy_fly.png3
-rw-r--r--assets/spritesheets/buggy_fly.png.import34
-rw-r--r--assets/spritesheets/buggy_flying.png.import34
-rw-r--r--assets/spritesheets/buggy_idle.png3
-rw-r--r--assets/spritesheets/buggy_idle.png.import34
-rw-r--r--assets/spritesheets/buggy_jump.png3
-rw-r--r--assets/spritesheets/buggy_jump.png.import34
-rw-r--r--assets/spritesheets/buggy_jumping.png.import34
-rw-r--r--assets/spritesheets/buggy_land.png3
-rw-r--r--assets/spritesheets/buggy_land.png.import34
-rw-r--r--assets/spritesheets/buggy_landing.png.import34
-rw-r--r--assets/spritesheets/meteor.tres46
-rw-r--r--assets/spritesheets/meteor_crash_background.png3
-rw-r--r--assets/spritesheets/meteor_crash_background.png.import34
-rw-r--r--assets/spritesheets/meteor_crash_foreground.png3
-rw-r--r--assets/spritesheets/meteor_crash_foreground.png.import34
-rw-r--r--assets/spritesheets/meteor_fly.png3
-rw-r--r--assets/spritesheets/meteor_fly.png.import34
-rw-r--r--assets/tilesets/moon_blue.png3
-rw-r--r--assets/tilesets/moon_blue.png.import34
-rw-r--r--assets/tilesets/moon_purple.png3
-rw-r--r--assets/tilesets/moon_purple.png.import34
-rw-r--r--components/astronaut.gd8
-rw-r--r--components/astronaut.gd.uid1
-rw-r--r--components/astronaut.tscn12
-rw-r--r--components/buggy.gd8
-rw-r--r--components/buggy.gd.uid1
-rw-r--r--components/buggy.tscn12
-rw-r--r--components/meteor.gd12
-rw-r--r--components/meteor.gd.uid1
-rw-r--r--components/meteor.tscn23
-rw-r--r--components/meteor_spawner.gd36
-rw-r--r--components/meteor_spawner.gd.uid1
-rw-r--r--components/meteor_spawner.tscn19
-rw-r--r--components/space_background.gd27
-rw-r--r--components/space_background.gd.uid1
-rw-r--r--components/space_background.tscn32
-rw-r--r--icon.svg1
-rw-r--r--icon.svg.import37
-rw-r--r--project.godot27
-rw-r--r--ui/main.tscn45
89 files changed, 1938 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..5b0d1a4
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,3 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
+*.png filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4709183
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+# Godot 4+ specific ignores
+.godot/
diff --git a/assets/backgrounds/space_blue.png b/assets/backgrounds/space_blue.png
new file mode 100644
index 0000000..86ecb55
--- /dev/null
+++ b/assets/backgrounds/space_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8dedeac742fe9202591d3779f2c1123ad0e6d05432bc16aab90a19a4a1bad33e
+size 10289
diff --git a/assets/backgrounds/space_blue.png.import b/assets/backgrounds/space_blue.png.import
new file mode 100644
index 0000000..7fe112a
--- /dev/null
+++ b/assets/backgrounds/space_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bew8m2r1bb4y0"
+path="res://.godot/imported/space_blue.png-6d65bb1d587a03d1f94591ece9164b1f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/backgrounds/space_blue.png"
+dest_files=["res://.godot/imported/space_blue.png-6d65bb1d587a03d1f94591ece9164b1f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal=""
+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/backgrounds/space_purple.png b/assets/backgrounds/space_purple.png
new file mode 100644
index 0000000..7577d56
--- /dev/null
+++ b/assets/backgrounds/space_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:af03bc70996c63ac483a79c2d553fee071a6bd1acef1b2b2ae7863279e313b3d
+size 9247
diff --git a/assets/backgrounds/space_purple.png.import b/assets/backgrounds/space_purple.png.import
new file mode 100644
index 0000000..8bf712e
--- /dev/null
+++ b/assets/backgrounds/space_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cfkl3i6txy8na"
+path="res://.godot/imported/space_purple.png-8733d522ffa71a4cfbcf1a9e2104dc7a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/backgrounds/space_purple.png"
+dest_files=["res://.godot/imported/space_purple.png-8733d522ffa71a4cfbcf1a9e2104dc7a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal=""
+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/backgrounds/space_with_stars_blue.png b/assets/backgrounds/space_with_stars_blue.png
new file mode 100644
index 0000000..6c77d73
--- /dev/null
+++ b/assets/backgrounds/space_with_stars_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:17b4e3b793660284d5f2364624a8765568b4688de0308a8fd5f2954d2a799e32
+size 13659
diff --git a/assets/backgrounds/space_with_stars_blue.png.import b/assets/backgrounds/space_with_stars_blue.png.import
new file mode 100644
index 0000000..151795b
--- /dev/null
+++ b/assets/backgrounds/space_with_stars_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://fdu7x3xixbio"
+path="res://.godot/imported/space_with_stars_blue.png-34d49eebd0c7adaf947cc78c333d58c4.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/backgrounds/space_with_stars_blue.png"
+dest_files=["res://.godot/imported/space_with_stars_blue.png-34d49eebd0c7adaf947cc78c333d58c4.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/backgrounds/space_with_stars_purple.png b/assets/backgrounds/space_with_stars_purple.png
new file mode 100644
index 0000000..084a4a0
--- /dev/null
+++ b/assets/backgrounds/space_with_stars_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:f43aededcb97a05f329e0e8ae8eb528d4aa41189ce26aea5424d6f21dda7171c
+size 12657
diff --git a/assets/backgrounds/space_with_stars_purple.png.import b/assets/backgrounds/space_with_stars_purple.png.import
new file mode 100644
index 0000000..f82dc9b
--- /dev/null
+++ b/assets/backgrounds/space_with_stars_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ddanwpiw1r54b"
+path="res://.godot/imported/space_with_stars_purple.png-5142871dc0d34924ab84dff6b5aeb9e3.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/backgrounds/space_with_stars_purple.png"
+dest_files=["res://.godot/imported/space_with_stars_purple.png-5142871dc0d34924ab84dff6b5aeb9e3.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/backgrounds/stars_blue.png b/assets/backgrounds/stars_blue.png
new file mode 100644
index 0000000..251a6bd
--- /dev/null
+++ b/assets/backgrounds/stars_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8efc736c04af82c4d107acc1d929d2a195d0c3a33b88cd0f69f4661304bbeca8
+size 5101
diff --git a/assets/backgrounds/stars_blue.png.import b/assets/backgrounds/stars_blue.png.import
new file mode 100644
index 0000000..350562c
--- /dev/null
+++ b/assets/backgrounds/stars_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://er80b3t7dkhf"
+path="res://.godot/imported/stars_blue.png-87712e7b98433d29d52d99695eb4017e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/backgrounds/stars_blue.png"
+dest_files=["res://.godot/imported/stars_blue.png-87712e7b98433d29d52d99695eb4017e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal=""
+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/backgrounds/stars_purple.png b/assets/backgrounds/stars_purple.png
new file mode 100644
index 0000000..9463449
--- /dev/null
+++ b/assets/backgrounds/stars_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:5468fb8c01acee24fbd5cb6a91e9a31b6fe85c2409d7da35b1f28b931073ea1d
+size 5398
diff --git a/assets/backgrounds/stars_purple.png.import b/assets/backgrounds/stars_purple.png.import
new file mode 100644
index 0000000..643a547
--- /dev/null
+++ b/assets/backgrounds/stars_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gjjvdhpw6e7u"
+path="res://.godot/imported/stars_purple.png-a9f023729804637264b4d8d0e4c3eb7e.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/backgrounds/stars_purple.png"
+dest_files=["res://.godot/imported/stars_purple.png-a9f023729804637264b4d8d0e4c3eb7e.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal=""
+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/base_plain.png b/assets/sprites/base_plain.png
new file mode 100644
index 0000000..642a973
--- /dev/null
+++ b/assets/sprites/base_plain.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d757f3029c2e3f08a0e736762fa342adb88ed6f72adad797b10c78496f30a0e7
+size 1877
diff --git a/assets/sprites/base_plain.png.import b/assets/sprites/base_plain.png.import
new file mode 100644
index 0000000..7f6c769
--- /dev/null
+++ b/assets/sprites/base_plain.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://h622imvm41vq"
+path="res://.godot/imported/base_plain.png-c7f9a70bbfc3c4e196bb80aaa2f55c13.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/base_plain.png"
+dest_files=["res://.godot/imported/base_plain.png-c7f9a70bbfc3c4e196bb80aaa2f55c13.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/base_textured.png b/assets/sprites/base_textured.png
new file mode 100644
index 0000000..3eae209
--- /dev/null
+++ b/assets/sprites/base_textured.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1bd855de2d276e8716b774715eeaa6d94f75968261c01db26398260f123964aa
+size 2251
diff --git a/assets/sprites/base_textured.png.import b/assets/sprites/base_textured.png.import
new file mode 100644
index 0000000..0a1d28d
--- /dev/null
+++ b/assets/sprites/base_textured.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b5ons2oll3xq2"
+path="res://.godot/imported/base_textured.png-c30d38273a702c39808f223c3bba83cd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/base_textured.png"
+dest_files=["res://.godot/imported/base_textured.png-c30d38273a702c39808f223c3bba83cd.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/buggy_shadow.png b/assets/sprites/buggy_shadow.png
new file mode 100644
index 0000000..b4bab89
--- /dev/null
+++ b/assets/sprites/buggy_shadow.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d4c01892d4dbda6ee5098682d23249259aee15ad4c07352e8ca741e85594571f
+size 112
diff --git a/assets/sprites/buggy_shadow.png.import b/assets/sprites/buggy_shadow.png.import
new file mode 100644
index 0000000..db93e48
--- /dev/null
+++ b/assets/sprites/buggy_shadow.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://e7ag5p4fvh6o"
+path="res://.godot/imported/buggy_shadow.png-570155dad796870c3ba9e885e2ed9630.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/buggy_shadow.png"
+dest_files=["res://.godot/imported/buggy_shadow.png-570155dad796870c3ba9e885e2ed9630.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/earth_large.png b/assets/sprites/earth_large.png
new file mode 100644
index 0000000..4a9bd9a
--- /dev/null
+++ b/assets/sprites/earth_large.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:453593a2e5767214bac4edab0d88ff884d23161786cc691834aefd45826485fd
+size 2936
diff --git a/assets/sprites/earth_large.png.import b/assets/sprites/earth_large.png.import
new file mode 100644
index 0000000..b52ac80
--- /dev/null
+++ b/assets/sprites/earth_large.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dt80aa3ts5l16"
+path="res://.godot/imported/earth_large.png-4beddcf063c5480737db4f1961430be8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/earth_large.png"
+dest_files=["res://.godot/imported/earth_large.png-4beddcf063c5480737db4f1961430be8.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/earth_small.png b/assets/sprites/earth_small.png
new file mode 100644
index 0000000..7a1a761
--- /dev/null
+++ b/assets/sprites/earth_small.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9155435790bad006e338e98acbcb45768e2d5fcafbc9f960f507da98d1afe867
+size 1821
diff --git a/assets/sprites/earth_small.png.import b/assets/sprites/earth_small.png.import
new file mode 100644
index 0000000..2d5f147
--- /dev/null
+++ b/assets/sprites/earth_small.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c6kpvjlxp1cm3"
+path="res://.godot/imported/earth_small.png-033a7f88e28edaa65d497c4cabf92bb9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/earth_small.png"
+dest_files=["res://.godot/imported/earth_small.png-033a7f88e28edaa65d497c4cabf92bb9.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_0_blue.png b/assets/sprites/meteor_0_blue.png
new file mode 100644
index 0000000..8a93ea4
--- /dev/null
+++ b/assets/sprites/meteor_0_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c73ef26fff21763dae05b49a89fda21e8746c188cd491ae1914ebd9e06e83d14
+size 217
diff --git a/assets/sprites/meteor_0_blue.png.import b/assets/sprites/meteor_0_blue.png.import
new file mode 100644
index 0000000..6c6dc85
--- /dev/null
+++ b/assets/sprites/meteor_0_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bnhk2nm2qf211"
+path="res://.godot/imported/meteor_0_blue.png-670e844dab63e33b4f72b34a28700c5d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_0_blue.png"
+dest_files=["res://.godot/imported/meteor_0_blue.png-670e844dab63e33b4f72b34a28700c5d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_0_purple.png b/assets/sprites/meteor_0_purple.png
new file mode 100644
index 0000000..41eb83a
--- /dev/null
+++ b/assets/sprites/meteor_0_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a9cb46cd912e73e5b79475132a71bc6c6aa5c3dff9772ad9093baca55b0fb5af
+size 217
diff --git a/assets/sprites/meteor_0_purple.png.import b/assets/sprites/meteor_0_purple.png.import
new file mode 100644
index 0000000..16e042b
--- /dev/null
+++ b/assets/sprites/meteor_0_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c71ns3sgolbfp"
+path="res://.godot/imported/meteor_0_purple.png-75e764a4d11e98dbdc8bbeff2ccfc9cd.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_0_purple.png"
+dest_files=["res://.godot/imported/meteor_0_purple.png-75e764a4d11e98dbdc8bbeff2ccfc9cd.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_1_blue.png b/assets/sprites/meteor_1_blue.png
new file mode 100644
index 0000000..4f3a875
--- /dev/null
+++ b/assets/sprites/meteor_1_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:02ed6b158369cd2e454cb5da7d5ffb6862d35723a3deabaa00d441263dda4ab2
+size 210
diff --git a/assets/sprites/meteor_1_blue.png.import b/assets/sprites/meteor_1_blue.png.import
new file mode 100644
index 0000000..3f4a75f
--- /dev/null
+++ b/assets/sprites/meteor_1_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://0beuy81jh84s"
+path="res://.godot/imported/meteor_1_blue.png-dcb99ecd12fc9e3371a28453a906828a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_1_blue.png"
+dest_files=["res://.godot/imported/meteor_1_blue.png-dcb99ecd12fc9e3371a28453a906828a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_1_purple.png b/assets/sprites/meteor_1_purple.png
new file mode 100644
index 0000000..d843da1
--- /dev/null
+++ b/assets/sprites/meteor_1_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c0739a015abd7887406e07018626bf3bf56c312bf582de893d46b95256be4b17
+size 210
diff --git a/assets/sprites/meteor_1_purple.png.import b/assets/sprites/meteor_1_purple.png.import
new file mode 100644
index 0000000..1ea9f54
--- /dev/null
+++ b/assets/sprites/meteor_1_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgrmapjymhsdu"
+path="res://.godot/imported/meteor_1_purple.png-aeba428b702c689cd1b2ce39afc0f467.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_1_purple.png"
+dest_files=["res://.godot/imported/meteor_1_purple.png-aeba428b702c689cd1b2ce39afc0f467.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_2_blue.png b/assets/sprites/meteor_2_blue.png
new file mode 100644
index 0000000..88e424f
--- /dev/null
+++ b/assets/sprites/meteor_2_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3c4a916fc7eca2bc2cba4e3899566ce9b098dc0b23ca43cd9c58ee98bc124100
+size 212
diff --git a/assets/sprites/meteor_2_blue.png.import b/assets/sprites/meteor_2_blue.png.import
new file mode 100644
index 0000000..9449742
--- /dev/null
+++ b/assets/sprites/meteor_2_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://yhpq7crcshnq"
+path="res://.godot/imported/meteor_2_blue.png-e494ce63321ab65e5b232429e4a9505d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_2_blue.png"
+dest_files=["res://.godot/imported/meteor_2_blue.png-e494ce63321ab65e5b232429e4a9505d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_2_purple.png b/assets/sprites/meteor_2_purple.png
new file mode 100644
index 0000000..47e00ce
--- /dev/null
+++ b/assets/sprites/meteor_2_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:80726aa8a65c60e6415b86a79b1dece1974351063b8653607c14676000c4e905
+size 212
diff --git a/assets/sprites/meteor_2_purple.png.import b/assets/sprites/meteor_2_purple.png.import
new file mode 100644
index 0000000..97b69a7
--- /dev/null
+++ b/assets/sprites/meteor_2_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgcme0awuyp56"
+path="res://.godot/imported/meteor_2_purple.png-8cc52bfc704e8d91cf04a9b48ea75091.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_2_purple.png"
+dest_files=["res://.godot/imported/meteor_2_purple.png-8cc52bfc704e8d91cf04a9b48ea75091.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_3_blue.png b/assets/sprites/meteor_3_blue.png
new file mode 100644
index 0000000..694ec64
--- /dev/null
+++ b/assets/sprites/meteor_3_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6603cf7a0f36f4c5351dcb1deef2ed6ebc58acefbfb2e6147d66add97fe1b1c1
+size 217
diff --git a/assets/sprites/meteor_3_blue.png.import b/assets/sprites/meteor_3_blue.png.import
new file mode 100644
index 0000000..fd99e74
--- /dev/null
+++ b/assets/sprites/meteor_3_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bk5egcy846an6"
+path="res://.godot/imported/meteor_3_blue.png-289b874f13a0d1b669d688c733763851.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_3_blue.png"
+dest_files=["res://.godot/imported/meteor_3_blue.png-289b874f13a0d1b669d688c733763851.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/meteor_3_purple.png b/assets/sprites/meteor_3_purple.png
new file mode 100644
index 0000000..c7c2ccf
--- /dev/null
+++ b/assets/sprites/meteor_3_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3300ea095dc5aeb6928c8e18767b918817f484945def34205bd0731c7428566c
+size 217
diff --git a/assets/sprites/meteor_3_purple.png.import b/assets/sprites/meteor_3_purple.png.import
new file mode 100644
index 0000000..d3253b1
--- /dev/null
+++ b/assets/sprites/meteor_3_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://clfx32rfkiswr"
+path="res://.godot/imported/meteor_3_purple.png-8c40b220c103ffbadd7688469253026d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/sprites/meteor_3_purple.png"
+dest_files=["res://.godot/imported/meteor_3_purple.png-8c40b220c103ffbadd7688469253026d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/astronaut.png b/assets/spritesheets/astronaut.png
new file mode 100644
index 0000000..b01a754
--- /dev/null
+++ b/assets/spritesheets/astronaut.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c63ac3b005d3b50109751bdc4cf8395964d48575c48c129afe61a3ccdf70869d
+size 2645
diff --git a/assets/spritesheets/astronaut.png.import b/assets/spritesheets/astronaut.png.import
new file mode 100644
index 0000000..8b8aeae
--- /dev/null
+++ b/assets/spritesheets/astronaut.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b66gmx6h2f6bt"
+path="res://.godot/imported/astronaut.png-a6ba0823b8a8dffbe21a450ee89cf336.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/astronaut.png"
+dest_files=["res://.godot/imported/astronaut.png-a6ba0823b8a8dffbe21a450ee89cf336.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal=""
+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=0
diff --git a/assets/spritesheets/astronaut.tres b/assets/spritesheets/astronaut.tres
new file mode 100644
index 0000000..a14eb55
--- /dev/null
+++ b/assets/spritesheets/astronaut.tres
@@ -0,0 +1,138 @@
+[gd_resource type="SpriteFrames" load_steps=18 format=3 uid="uid://b0ova5ouowx3l"]
+
+[ext_resource type="Texture2D" uid="uid://b66gmx6h2f6bt" path="res://assets/spritesheets/astronaut.png" id="1_qeh8l"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_h74ya"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(320, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4fcis"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(384, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7w8rm"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(0, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qtmb3"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(64, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_m7udb"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(128, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_pdv7n"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(192, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jh6r1"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(256, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_x60lt"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(0, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_a5mo5"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(0, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_i88dm"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(64, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_njd8r"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(128, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_connd"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(192, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_32sbg"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(256, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_02kc8"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(320, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_21tvj"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(384, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5kp33"]
+atlas = ExtResource("1_qeh8l")
+region = Rect2(448, 0, 64, 64)
+
+[resource]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_h74ya")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4fcis")
+}],
+"loop": true,
+"name": &"celebrate",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7w8rm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qtmb3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_m7udb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_pdv7n")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jh6r1")
+}],
+"loop": true,
+"name": &"jump",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_x60lt")
+}],
+"loop": true,
+"name": &"stand",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_a5mo5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_i88dm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_njd8r")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_connd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_32sbg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_02kc8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_21tvj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5kp33")
+}],
+"loop": true,
+"name": &"walk",
+"speed": 5.0
+}]
diff --git a/assets/spritesheets/base_flag.png b/assets/spritesheets/base_flag.png
new file mode 100644
index 0000000..bd204f1
--- /dev/null
+++ b/assets/spritesheets/base_flag.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1ef2be9b0928039bb3fd509a73163f93063ccca933ac809af2c44adf591872dd
+size 814
diff --git a/assets/spritesheets/base_flag.png.import b/assets/spritesheets/base_flag.png.import
new file mode 100644
index 0000000..286170c
--- /dev/null
+++ b/assets/spritesheets/base_flag.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://beumcuo75oe0x"
+path="res://.godot/imported/base_flag.png-9770853456c8d5a72bfe0d21fade8661.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/base_flag.png"
+dest_files=["res://.godot/imported/base_flag.png-9770853456c8d5a72bfe0d21fade8661.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy.tres b/assets/spritesheets/buggy.tres
new file mode 100644
index 0000000..f340404
--- /dev/null
+++ b/assets/spritesheets/buggy.tres
@@ -0,0 +1,196 @@
+[gd_resource type="SpriteFrames" load_steps=29 format=3 uid="uid://bwh1vdwqpig8o"]
+
+[ext_resource type="Texture2D" uid="uid://cy6ftqnowl5uj" path="res://assets/spritesheets/buggy_idle.png" id="1_cgel5"]
+[ext_resource type="Texture2D" uid="uid://b5nr500kwx4bg" path="res://assets/spritesheets/buggy_drive.png" id="1_tr5i0"]
+[ext_resource type="Texture2D" uid="uid://gh2mmskc1y30" path="res://assets/spritesheets/buggy_fly.png" id="2_xt5sl"]
+[ext_resource type="Texture2D" uid="uid://blj6oidfm28dr" path="res://assets/spritesheets/buggy_jumping.png" id="4_kes0o"]
+[ext_resource type="Texture2D" uid="uid://cwfa46qlr37da" path="res://assets/spritesheets/buggy_land.png" id="5_x3jbn"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wmqdg"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(0, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wbf6o"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(128, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_i76cp"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(256, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1kb4u"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(384, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_854e3"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(512, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lptf7"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(640, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mt1wk"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(768, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gd0m2"]
+atlas = ExtResource("1_tr5i0")
+region = Rect2(896, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ksl40"]
+atlas = ExtResource("2_xt5sl")
+region = Rect2(0, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8a4ak"]
+atlas = ExtResource("2_xt5sl")
+region = Rect2(128, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_72jnn"]
+atlas = ExtResource("1_cgel5")
+region = Rect2(0, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3blpm"]
+atlas = ExtResource("1_cgel5")
+region = Rect2(128, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_h45lq"]
+atlas = ExtResource("1_cgel5")
+region = Rect2(256, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_g672m"]
+atlas = ExtResource("1_cgel5")
+region = Rect2(384, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_bmk8d"]
+atlas = ExtResource("1_cgel5")
+region = Rect2(512, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_77sxi"]
+atlas = ExtResource("1_cgel5")
+region = Rect2(640, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_s45o0"]
+atlas = ExtResource("4_kes0o")
+region = Rect2(0, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gkfg0"]
+atlas = ExtResource("4_kes0o")
+region = Rect2(128, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1g6k5"]
+atlas = ExtResource("4_kes0o")
+region = Rect2(256, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ohsy3"]
+atlas = ExtResource("5_x3jbn")
+region = Rect2(0, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1sb5x"]
+atlas = ExtResource("5_x3jbn")
+region = Rect2(128, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ue4g2"]
+atlas = ExtResource("5_x3jbn")
+region = Rect2(256, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_l6ddm"]
+atlas = ExtResource("5_x3jbn")
+region = Rect2(384, 0, 128, 128)
+
+[resource]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wmqdg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wbf6o")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_i76cp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1kb4u")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_854e3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lptf7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mt1wk")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gd0m2")
+}],
+"loop": true,
+"name": &"drive",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ksl40")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8a4ak")
+}],
+"loop": true,
+"name": &"fly",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_72jnn")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3blpm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_h45lq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_g672m")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_bmk8d")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_77sxi")
+}],
+"loop": true,
+"name": &"idle",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_s45o0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gkfg0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1g6k5")
+}],
+"loop": true,
+"name": &"jump",
+"speed": 5.0
+}, {
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ohsy3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1sb5x")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ue4g2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_l6ddm")
+}],
+"loop": true,
+"name": &"land",
+"speed": 5.0
+}]
diff --git a/assets/spritesheets/buggy_drive.png b/assets/spritesheets/buggy_drive.png
new file mode 100644
index 0000000..04faf14
--- /dev/null
+++ b/assets/spritesheets/buggy_drive.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:41dbed83ed3d2037e1a74f3e746f9b2e9d0d9687b664ef06dd90508ee3d2bf65
+size 2605
diff --git a/assets/spritesheets/buggy_drive.png.import b/assets/spritesheets/buggy_drive.png.import
new file mode 100644
index 0000000..e38dab4
--- /dev/null
+++ b/assets/spritesheets/buggy_drive.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b5nr500kwx4bg"
+path="res://.godot/imported/buggy_drive.png-82b33b1a191836762a9c27b1bac3edad.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_drive.png"
+dest_files=["res://.godot/imported/buggy_drive.png-82b33b1a191836762a9c27b1bac3edad.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy_fly.png b/assets/spritesheets/buggy_fly.png
new file mode 100644
index 0000000..8b12c48
--- /dev/null
+++ b/assets/spritesheets/buggy_fly.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fc156f4d75c02ca9937e6d4f64bbe78b53608333559071d74efd62bfc662fec3
+size 876
diff --git a/assets/spritesheets/buggy_fly.png.import b/assets/spritesheets/buggy_fly.png.import
new file mode 100644
index 0000000..3239c83
--- /dev/null
+++ b/assets/spritesheets/buggy_fly.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://gh2mmskc1y30"
+path="res://.godot/imported/buggy_fly.png-68485d502ba42f43cdb7ab2d77586319.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_fly.png"
+dest_files=["res://.godot/imported/buggy_fly.png-68485d502ba42f43cdb7ab2d77586319.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy_flying.png.import b/assets/spritesheets/buggy_flying.png.import
new file mode 100644
index 0000000..65d222a
--- /dev/null
+++ b/assets/spritesheets/buggy_flying.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cj3vljo22ubtd"
+path="res://.godot/imported/buggy_flying.png-10f882b27c366c2d646f5e04b5a42a50.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_flying.png"
+dest_files=["res://.godot/imported/buggy_flying.png-10f882b27c366c2d646f5e04b5a42a50.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy_idle.png b/assets/spritesheets/buggy_idle.png
new file mode 100644
index 0000000..a8c83a9
--- /dev/null
+++ b/assets/spritesheets/buggy_idle.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:941c2ed65969f56da7e24a7156bf9e323488c6bae807b9a8b754962694f551ee
+size 1654
diff --git a/assets/spritesheets/buggy_idle.png.import b/assets/spritesheets/buggy_idle.png.import
new file mode 100644
index 0000000..258361b
--- /dev/null
+++ b/assets/spritesheets/buggy_idle.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cy6ftqnowl5uj"
+path="res://.godot/imported/buggy_idle.png-1a641b88a332edd93c717e2dbfc12ac1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_idle.png"
+dest_files=["res://.godot/imported/buggy_idle.png-1a641b88a332edd93c717e2dbfc12ac1.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy_jump.png b/assets/spritesheets/buggy_jump.png
new file mode 100644
index 0000000..299b607
--- /dev/null
+++ b/assets/spritesheets/buggy_jump.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:c76e54fd0b48e28be48261717f2a18b00ad5ad2d7dd44187a735fd5c89772cfa
+size 1360
diff --git a/assets/spritesheets/buggy_jump.png.import b/assets/spritesheets/buggy_jump.png.import
new file mode 100644
index 0000000..0bcd073
--- /dev/null
+++ b/assets/spritesheets/buggy_jump.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bgw8df3fwo2pu"
+path="res://.godot/imported/buggy_jump.png-323ee8fd9a06a5246ca1f28afaef3a78.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_jump.png"
+dest_files=["res://.godot/imported/buggy_jump.png-323ee8fd9a06a5246ca1f28afaef3a78.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy_jumping.png.import b/assets/spritesheets/buggy_jumping.png.import
new file mode 100644
index 0000000..a2e20ee
--- /dev/null
+++ b/assets/spritesheets/buggy_jumping.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://blj6oidfm28dr"
+path="res://.godot/imported/buggy_jumping.png-f9d344ce68459471336250b4df571e8c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_jumping.png"
+dest_files=["res://.godot/imported/buggy_jumping.png-f9d344ce68459471336250b4df571e8c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy_land.png b/assets/spritesheets/buggy_land.png
new file mode 100644
index 0000000..8c4ee6e
--- /dev/null
+++ b/assets/spritesheets/buggy_land.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:46d173bcea258a6827ad38573e33f747519b9a6c09efa886274c0b679b364812
+size 1755
diff --git a/assets/spritesheets/buggy_land.png.import b/assets/spritesheets/buggy_land.png.import
new file mode 100644
index 0000000..8b3bafb
--- /dev/null
+++ b/assets/spritesheets/buggy_land.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cwfa46qlr37da"
+path="res://.godot/imported/buggy_land.png-d7266e4d62f7ceb15322fb75c797241f.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_land.png"
+dest_files=["res://.godot/imported/buggy_land.png-d7266e4d62f7ceb15322fb75c797241f.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/buggy_landing.png.import b/assets/spritesheets/buggy_landing.png.import
new file mode 100644
index 0000000..961d6e2
--- /dev/null
+++ b/assets/spritesheets/buggy_landing.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cij4vuptk5tvm"
+path="res://.godot/imported/buggy_landing.png-1ac98a98b97e7c394da02b6768c4994b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/buggy_landing.png"
+dest_files=["res://.godot/imported/buggy_landing.png-1ac98a98b97e7c394da02b6768c4994b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/meteor.tres b/assets/spritesheets/meteor.tres
new file mode 100644
index 0000000..9e33efa
--- /dev/null
+++ b/assets/spritesheets/meteor.tres
@@ -0,0 +1,46 @@
+[gd_resource type="SpriteFrames" load_steps=7 format=3 uid="uid://bskfnkqnofmxv"]
+
+[ext_resource type="Texture2D" uid="uid://cxkhpq4jibtkf" path="res://assets/spritesheets/meteor_fly.png" id="1_5ohgr"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3p033"]
+atlas = ExtResource("1_5ohgr")
+region = Rect2(0, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qiptr"]
+atlas = ExtResource("1_5ohgr")
+region = Rect2(128, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_k6wfn"]
+atlas = ExtResource("1_5ohgr")
+region = Rect2(256, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lveoh"]
+atlas = ExtResource("1_5ohgr")
+region = Rect2(384, 0, 128, 128)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_kvan7"]
+atlas = ExtResource("1_5ohgr")
+region = Rect2(512, 0, 128, 128)
+
+[resource]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3p033")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qiptr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_k6wfn")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lveoh")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_kvan7")
+}],
+"loop": true,
+"name": &"fly",
+"speed": 5.0
+}]
diff --git a/assets/spritesheets/meteor_crash_background.png b/assets/spritesheets/meteor_crash_background.png
new file mode 100644
index 0000000..7f93c7b
--- /dev/null
+++ b/assets/spritesheets/meteor_crash_background.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3840627c8e4c13d68bf412f5c751a82137e50accde37f142a8be4005eee5e913
+size 6864
diff --git a/assets/spritesheets/meteor_crash_background.png.import b/assets/spritesheets/meteor_crash_background.png.import
new file mode 100644
index 0000000..3c29857
--- /dev/null
+++ b/assets/spritesheets/meteor_crash_background.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b8q28w2bhsvc5"
+path="res://.godot/imported/meteor_crash_background.png-b6f929b08dda53cdb4f97c45c6746d38.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/meteor_crash_background.png"
+dest_files=["res://.godot/imported/meteor_crash_background.png-b6f929b08dda53cdb4f97c45c6746d38.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/meteor_crash_foreground.png b/assets/spritesheets/meteor_crash_foreground.png
new file mode 100644
index 0000000..0762fdf
--- /dev/null
+++ b/assets/spritesheets/meteor_crash_foreground.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0d98e4e4aab2c730c390c058d9c3be7554e9960ec629a5b5cc3f59eafa2041d3
+size 1726
diff --git a/assets/spritesheets/meteor_crash_foreground.png.import b/assets/spritesheets/meteor_crash_foreground.png.import
new file mode 100644
index 0000000..02cb0cd
--- /dev/null
+++ b/assets/spritesheets/meteor_crash_foreground.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://tgbxpcos2314"
+path="res://.godot/imported/meteor_crash_foreground.png-379532803a8b371496a87d47e1c6ea42.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/meteor_crash_foreground.png"
+dest_files=["res://.godot/imported/meteor_crash_foreground.png-379532803a8b371496a87d47e1c6ea42.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/spritesheets/meteor_fly.png b/assets/spritesheets/meteor_fly.png
new file mode 100644
index 0000000..709a111
--- /dev/null
+++ b/assets/spritesheets/meteor_fly.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:104d8937387cc22542d707a858d58b2175757ca42ae81772de6da19b69f4f463
+size 2501
diff --git a/assets/spritesheets/meteor_fly.png.import b/assets/spritesheets/meteor_fly.png.import
new file mode 100644
index 0000000..00c4b95
--- /dev/null
+++ b/assets/spritesheets/meteor_fly.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cxkhpq4jibtkf"
+path="res://.godot/imported/meteor_fly.png-34d6658f9deb161d1ebfce2b6f3668b9.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/spritesheets/meteor_fly.png"
+dest_files=["res://.godot/imported/meteor_fly.png-34d6658f9deb161d1ebfce2b6f3668b9.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=true
+mipmaps/limit=-1
+roughness/mode=1
+roughness/src_normal=""
+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=0
diff --git a/assets/tilesets/moon_blue.png b/assets/tilesets/moon_blue.png
new file mode 100644
index 0000000..4bca1b0
--- /dev/null
+++ b/assets/tilesets/moon_blue.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:623d1ebbe6eb84a17f676b48f6300c07dba3108747b3049a4eb1c44f1f76bfbc
+size 2369
diff --git a/assets/tilesets/moon_blue.png.import b/assets/tilesets/moon_blue.png.import
new file mode 100644
index 0000000..fd8dee2
--- /dev/null
+++ b/assets/tilesets/moon_blue.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cocdy51ljjcb3"
+path="res://.godot/imported/moon_blue.png-22da1b08e53ca96c1f7f830f1da0d477.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/tilesets/moon_blue.png"
+dest_files=["res://.godot/imported/moon_blue.png-22da1b08e53ca96c1f7f830f1da0d477.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/tilesets/moon_purple.png b/assets/tilesets/moon_purple.png
new file mode 100644
index 0000000..e2bf9f0
--- /dev/null
+++ b/assets/tilesets/moon_purple.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:117a0f5441da5afb55389abc2e11fdea5bb5354e79eec636233949d2f36a8a93
+size 2362
diff --git a/assets/tilesets/moon_purple.png.import b/assets/tilesets/moon_purple.png.import
new file mode 100644
index 0000000..7848315
--- /dev/null
+++ b/assets/tilesets/moon_purple.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqmjrxq77tqm"
+path="res://.godot/imported/moon_purple.png-603df4965a33a8fc8e6c03b1231e7a54.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/tilesets/moon_purple.png"
+dest_files=["res://.godot/imported/moon_purple.png-603df4965a33a8fc8e6c03b1231e7a54.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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/components/astronaut.gd b/components/astronaut.gd
new file mode 100644
index 0000000..89e0f0d
--- /dev/null
+++ b/components/astronaut.gd
@@ -0,0 +1,8 @@
+extends Node2D
+
+@onready var _sprite = $Sprite
+
+func _ready() -> void:
+ _sprite.animation = "stand"
+ _sprite.frame = 0
+ _sprite.stop()
diff --git a/components/astronaut.gd.uid b/components/astronaut.gd.uid
new file mode 100644
index 0000000..9b83867
--- /dev/null
+++ b/components/astronaut.gd.uid
@@ -0,0 +1 @@
+uid://b3efeqqwpw5ls
diff --git a/components/astronaut.tscn b/components/astronaut.tscn
new file mode 100644
index 0000000..da72e10
--- /dev/null
+++ b/components/astronaut.tscn
@@ -0,0 +1,12 @@
+[gd_scene load_steps=3 format=3 uid="uid://br2mmh866wj88"]
+
+[ext_resource type="SpriteFrames" uid="uid://b0ova5ouowx3l" path="res://assets/spritesheets/astronaut.tres" id="1_6g1vj"]
+[ext_resource type="Script" uid="uid://b3efeqqwpw5ls" path="res://components/astronaut.gd" id="1_7jmex"]
+
+[node name="Astronaut" type="Node2D"]
+script = ExtResource("1_7jmex")
+
+[node name="Sprite" type="AnimatedSprite2D" parent="."]
+texture_filter = 3
+sprite_frames = ExtResource("1_6g1vj")
+animation = &"celebrate"
diff --git a/components/buggy.gd b/components/buggy.gd
new file mode 100644
index 0000000..eb6befa
--- /dev/null
+++ b/components/buggy.gd
@@ -0,0 +1,8 @@
+extends Node2D
+
+@onready var _sprite = $Sprite
+
+func _ready() -> void:
+ _sprite.animation = "idle"
+ _sprite.frame = 0
+ _sprite.play()
diff --git a/components/buggy.gd.uid b/components/buggy.gd.uid
new file mode 100644
index 0000000..7de9514
--- /dev/null
+++ b/components/buggy.gd.uid
@@ -0,0 +1 @@
+uid://clw8wad88k5x3
diff --git a/components/buggy.tscn b/components/buggy.tscn
new file mode 100644
index 0000000..20140ac
--- /dev/null
+++ b/components/buggy.tscn
@@ -0,0 +1,12 @@
+[gd_scene load_steps=3 format=3 uid="uid://dihkljqd6qmgl"]
+
+[ext_resource type="SpriteFrames" uid="uid://bwh1vdwqpig8o" path="res://assets/spritesheets/buggy.tres" id="1_ordkh"]
+[ext_resource type="Script" uid="uid://clw8wad88k5x3" path="res://components/buggy.gd" id="1_yvbad"]
+
+[node name="Buggy" type="Node2D"]
+script = ExtResource("1_yvbad")
+
+[node name="Sprite" type="AnimatedSprite2D" parent="."]
+texture_filter = 3
+sprite_frames = ExtResource("1_ordkh")
+animation = &"drive"
diff --git a/components/meteor.gd b/components/meteor.gd
new file mode 100644
index 0000000..4ce587d
--- /dev/null
+++ b/components/meteor.gd
@@ -0,0 +1,12 @@
+extends RigidBody2D
+
+@onready var _sprite = $Sprite
+
+func _ready() -> void:
+ _sprite.animation = "fly"
+ _sprite.frame = 0
+ _sprite.play()
+
+func _process(_delta: float) -> void:
+ if not $VisibleOnScreenNotifier2D.is_on_screen():
+ queue_free()
diff --git a/components/meteor.gd.uid b/components/meteor.gd.uid
new file mode 100644
index 0000000..137190c
--- /dev/null
+++ b/components/meteor.gd.uid
@@ -0,0 +1 @@
+uid://cpi64jvpvbdah
diff --git a/components/meteor.tscn b/components/meteor.tscn
new file mode 100644
index 0000000..6b1fdf1
--- /dev/null
+++ b/components/meteor.tscn
@@ -0,0 +1,23 @@
+[gd_scene load_steps=4 format=3 uid="uid://7n650wm14il0"]
+
+[ext_resource type="SpriteFrames" uid="uid://bskfnkqnofmxv" path="res://assets/spritesheets/meteor.tres" id="1_8c42w"]
+[ext_resource type="Script" uid="uid://cpi64jvpvbdah" path="res://components/meteor.gd" id="1_10gax"]
+
+[sub_resource type="CircleShape2D" id="CircleShape2D_hyb7h"]
+radius = 14.0
+
+[node name="Meteor" type="RigidBody2D"]
+script = ExtResource("1_10gax")
+
+[node name="Sprite" type="AnimatedSprite2D" parent="."]
+texture_filter = 3
+position = Vector2(-2, -55)
+rotation = -0.785398
+sprite_frames = ExtResource("1_8c42w")
+animation = &"fly"
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("CircleShape2D_hyb7h")
+
+[node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]
+rect = Rect2(-16, -123, 32, 138)
diff --git a/components/meteor_spawner.gd b/components/meteor_spawner.gd
new file mode 100644
index 0000000..fbdb097
--- /dev/null
+++ b/components/meteor_spawner.gd
@@ -0,0 +1,36 @@
+class_name MeteorSpawner
+extends Path2D
+
+## Whether meteors spawned by this spawner ignore gravity or not.
+@export var ignore_gravity: bool = false
+
+@export_group("Spawning")
+
+## The duration of time, in seconds, that has to pass between consecutive spawn attempts.
+@export_range(0.0, 120, 0.1, "suffix:s") var cooldown: float = 5.0:
+ get:
+ return cooldown
+ set(value):
+ $CooldownTimer.wait_time = value
+ cooldown = value
+
+## The likelihood of actually spawning a meteor once the cooldown has elapsed.
+@export_range(0.0, 1.0) var probability: float = 0.5
+
+const _meteor_scene = preload("res://components/meteor.tscn")
+
+func _ready() -> void:
+ assert(curve.point_count == 2)
+ $SpawnPoint.progress_ratio = 0
+ $CooldownTimer.wait_time = cooldown
+ $CooldownTimer.start()
+
+func _try_to_spawn() -> void:
+ if(randf() > probability):
+ return
+
+ $SpawnPoint.progress_ratio = randf()
+ var meteor = _meteor_scene.instantiate()
+ add_child(meteor)
+
+ meteor.position = $SpawnPoint.position
diff --git a/components/meteor_spawner.gd.uid b/components/meteor_spawner.gd.uid
new file mode 100644
index 0000000..06fd02d
--- /dev/null
+++ b/components/meteor_spawner.gd.uid
@@ -0,0 +1 @@
+uid://doy4iee5r1fsb
diff --git a/components/meteor_spawner.tscn b/components/meteor_spawner.tscn
new file mode 100644
index 0000000..be90180
--- /dev/null
+++ b/components/meteor_spawner.tscn
@@ -0,0 +1,19 @@
+[gd_scene load_steps=3 format=3 uid="uid://b5aceskalmit7"]
+
+[ext_resource type="Script" uid="uid://doy4iee5r1fsb" path="res://components/meteor_spawner.gd" id="1_a0n2t"]
+
+[sub_resource type="Curve2D" id="Curve2D_ia26v"]
+_data = {
+"points": PackedVector2Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0)
+}
+point_count = 2
+
+[node name="MeteorSpawner" type="Path2D"]
+curve = SubResource("Curve2D_ia26v")
+script = ExtResource("1_a0n2t")
+
+[node name="CooldownTimer" type="Timer" parent="."]
+
+[node name="SpawnPoint" type="PathFollow2D" parent="."]
+
+[connection signal="timeout" from="CooldownTimer" to="." method="_try_to_spawn"]
diff --git a/components/space_background.gd b/components/space_background.gd
new file mode 100644
index 0000000..b1e4ec0
--- /dev/null
+++ b/components/space_background.gd
@@ -0,0 +1,27 @@
+extends Node2D
+
+@export var autoscroll: bool = false:
+ set(value):
+ autoscroll = value
+ $Space.autoscroll.x = int(value) * 5
+ $Stars.autoscroll.x = int(value) * 7
+
+@export_enum("Blue", "Purple") var theme: int = 0:
+ set(value):
+ theme = value
+ apply_theme(theme)
+
+func _ready() -> void:
+ apply_theme(theme)
+
+func apply_theme(id: int) -> void:
+ match id:
+ 0:
+ $Space/Blue.visible = true
+ $Stars/Blue.visible = true
+ 1:
+ $Space/Blue.visible = false
+ $Stars/Blue.visible = false
+ $Space/Purple.visible = not $Space/Blue.visible
+ $Stars/Purple.visible = not $Stars/Blue.visible
+
diff --git a/components/space_background.gd.uid b/components/space_background.gd.uid
new file mode 100644
index 0000000..887ff32
--- /dev/null
+++ b/components/space_background.gd.uid
@@ -0,0 +1 @@
+uid://ybcadaoxm4rq
diff --git a/components/space_background.tscn b/components/space_background.tscn
new file mode 100644
index 0000000..85307c9
--- /dev/null
+++ b/components/space_background.tscn
@@ -0,0 +1,32 @@
+[gd_scene load_steps=6 format=3 uid="uid://bkpids4l5roy3"]
+
+[ext_resource type="Script" uid="uid://ybcadaoxm4rq" path="res://components/space_background.gd" id="1_gqvc1"]
+[ext_resource type="Texture2D" uid="uid://cfkl3i6txy8na" path="res://assets/backgrounds/space_purple.png" id="1_stfb6"]
+[ext_resource type="Texture2D" uid="uid://gjjvdhpw6e7u" path="res://assets/backgrounds/stars_purple.png" id="2_wb1py"]
+[ext_resource type="Texture2D" uid="uid://bew8m2r1bb4y0" path="res://assets/backgrounds/space_blue.png" id="2_wdsn8"]
+[ext_resource type="Texture2D" uid="uid://er80b3t7dkhf" path="res://assets/backgrounds/stars_blue.png" id="4_kbbb8"]
+
+[node name="SpaceBackground" type="Node2D"]
+script = ExtResource("1_gqvc1")
+
+[node name="Space" type="Parallax2D" parent="."]
+repeat_size = Vector2(1024, 0)
+
+[node name="Blue" type="Sprite2D" parent="Space"]
+texture = ExtResource("2_wdsn8")
+centered = false
+
+[node name="Purple" type="Sprite2D" parent="Space"]
+texture = ExtResource("1_stfb6")
+centered = false
+
+[node name="Stars" type="Parallax2D" parent="."]
+repeat_size = Vector2(1024, 0)
+
+[node name="Blue" type="Sprite2D" parent="Stars"]
+texture = ExtResource("4_kbbb8")
+centered = false
+
+[node name="Purple" type="Sprite2D" parent="Stars"]
+texture = ExtResource("2_wb1py")
+centered = false
diff --git a/icon.svg b/icon.svg
new file mode 100644
index 0000000..b370ceb
--- /dev/null
+++ b/icon.svg
@@ -0,0 +1 @@
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 813 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H447l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c3 34 55 34 58 0v-86c-3-34-55-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
diff --git a/icon.svg.import b/icon.svg.import
new file mode 100644
index 0000000..5ecd915
--- /dev/null
+++ b/icon.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bpvij8bq15rvf"
+path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.svg"
+dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+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/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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/project.godot b/project.godot
new file mode 100644
index 0000000..c996a57
--- /dev/null
+++ b/project.godot
@@ -0,0 +1,27 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+; [section] ; section goes between []
+; param=value ; assign values to parameters
+
+config_version=5
+
+[application]
+
+config/name="Moon Buggy 2D"
+config/version="0.0.1"
+run/main_scene="res://ui/main.tscn"
+config/features=PackedStringArray("4.4", "Forward Plus")
+config/icon="res://icon.svg"
+
+[display]
+
+window/size/viewport_width=640
+window/size/viewport_height=480
+window/stretch/mode="canvas_items"
+
+[rendering]
+
+textures/canvas_textures/default_texture_filter=0
diff --git a/ui/main.tscn b/ui/main.tscn
new file mode 100644
index 0000000..3046607
--- /dev/null
+++ b/ui/main.tscn
@@ -0,0 +1,45 @@
+[gd_scene load_steps=3 format=3 uid="uid://bdcois27t8hvv"]
+
+[ext_resource type="PackedScene" uid="uid://b5aceskalmit7" path="res://components/meteor_spawner.tscn" id="1_nil3n"]
+[ext_resource type="PackedScene" uid="uid://bkpids4l5roy3" path="res://components/space_background.tscn" id="2_vjqhe"]
+
+[node name="Main" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="SpaceBackground" parent="." instance=ExtResource("2_vjqhe")]
+autoscroll = true
+
+[node name="Spawner" parent="." instance=ExtResource("1_nil3n")]
+ignore_gravity = true
+cooldown = 0.5
+probability = 0.75
+
+[node name="Menu" type="VBoxContainer" parent="."]
+layout_mode = 1
+anchors_preset = 14
+anchor_top = 0.5
+anchor_right = 1.0
+anchor_bottom = 0.5
+offset_left = 40.0
+offset_top = -50.5
+offset_right = -40.0
+offset_bottom = 50.5
+grow_horizontal = 2
+grow_vertical = 2
+
+[node name="Start" type="Button" parent="Menu"]
+layout_mode = 2
+text = "Start"
+
+[node name="Credits" type="Button" parent="Menu"]
+layout_mode = 2
+text = "Credits"
+
+[node name="Quit" type="Button" parent="Menu"]
+layout_mode = 2
+text = "Quit"