Compare commits

...

7 commits

30 changed files with 825 additions and 160 deletions

BIN
Assets/ColorPallet.ase Normal file

Binary file not shown.

BIN
Assets/ColorPallet.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

View file

@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://bjyry6vvtr8h5" uid="uid://dwkjfno8mjrdp"
path="res://.godot/imported/PlaceHolderA.png-e2c024c9601592007fcae5cbf8aa801d.ctex" path="res://.godot/imported/ColorPallet.png-9feaa0f98adb7b976a9666999fd546c6.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://Assets/Sprites/PlaceHolderA.png" source_file="res://Assets/ColorPallet.png"
dest_files=["res://.godot/imported/PlaceHolderA.png-e2c024c9601592007fcae5cbf8aa801d.ctex"] dest_files=["res://.godot/imported/ColorPallet.png-9feaa0f98adb7b976a9666999fd546c6.ctex"]
[params] [params]

View file

Before

Width:  |  Height:  |  Size: 1,021 B

After

Width:  |  Height:  |  Size: 1,021 B

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://tv804qpxy44n"
path="res://.godot/imported/bunny_down.png-65e2d347963ef39987488ab06970e3b7.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Sprites/EvilBunny/bunny_down.png"
dest_files=["res://.godot/imported/bunny_down.png-65e2d347963ef39987488ab06970e3b7.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

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbelgiv204e2b"
path="res://.godot/imported/bunny_left.png-78242bd12e7c1e446aa544882eb0c11c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Sprites/EvilBunny/bunny_left.png"
dest_files=["res://.godot/imported/bunny_left.png-78242bd12e7c1e446aa544882eb0c11c.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

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cvji70p68eae8"
path="res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Sprites/EvilBunny/bunny_righ.png"
dest_files=["res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.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

View file

Before

Width:  |  Height:  |  Size: 973 B

After

Width:  |  Height:  |  Size: 973 B

View file

@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://cbtiuvqgnulmf" uid="uid://coyib2evn5o61"
path="res://.godot/imported/PlaceHolderB.png-e4349525f46542a37c6106a7ccfeea94.ctex" path="res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://Assets/Sprites/PlaceHolderB.png" source_file="res://Assets/Sprites/EvilBunny/bunny_up.png"
dest_files=["res://.godot/imported/PlaceHolderB.png-e4349525f46542a37c6106a7ccfeea94.ctex"] dest_files=["res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ep63wy3imw2d"
path="res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Sprites/GoodBunny/bunny_down.png"
dest_files=["res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0x834s5l1qot"
path="res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Sprites/GoodBunny/bunny_left.png"
dest_files=["res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://qvq11powneve" uid="uid://c7nmf03fho3m"
path="res://.godot/imported/bunny_righ.png-66416292c790a3c540d894b9b9f5a2c9.ctex" path="res://.godot/imported/bunny_righ.png-22915acce3c057f7ae0e80e8a00e8f45.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://Assets/Sprites/bunny_righ.png" source_file="res://Assets/Sprites/GoodBunny/bunny_righ.png"
dest_files=["res://.godot/imported/bunny_righ.png-66416292c790a3c540d894b9b9f5a2c9.ctex"] dest_files=["res://.godot/imported/bunny_righ.png-22915acce3c057f7ae0e80e8a00e8f45.ctex"]
[params] [params]
@ -31,4 +31,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=0 detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dynqs8dq175ty" uid="uid://d2m2jsxx5xpxx"
path="res://.godot/imported/bunny_left.png-b0a65864e50a1d10579cf71a4bd59148.ctex" path="res://.godot/imported/bunny_up.png-d5ed05cbbf36f84feb579ad11c8b8aca.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://Assets/Sprites/bunny_left.png" source_file="res://Assets/Sprites/GoodBunny/bunny_up.png"
dest_files=["res://.godot/imported/bunny_left.png-b0a65864e50a1d10579cf71a4bd59148.ctex"] dest_files=["res://.godot/imported/bunny_up.png-d5ed05cbbf36f84feb579ad11c8b8aca.ctex"]
[params] [params]
@ -31,4 +31,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=0 detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 B

BIN
Assets/Sprites/TileMap.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://xbx6qrjbu5h7" uid="uid://bqi3ddjrcj2bh"
path="res://.godot/imported/bunny_up.png-d9c6d22cb180401f29d7e9a4fd388bb1.ctex" path="res://.godot/imported/TileMap.png-5a8ebee45e38c1e4c53b5e5cf69bfe18.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://Assets/Sprites/bunny_up.png" source_file="res://Assets/Sprites/TileMap.png"
dest_files=["res://.godot/imported/bunny_up.png-d9c6d22cb180401f29d7e9a4fd388bb1.ctex"] dest_files=["res://.godot/imported/TileMap.png-5a8ebee45e38c1e4c53b5e5cf69bfe18.ctex"]
[params] [params]
@ -31,4 +31,4 @@ process/normal_map_invert_y=false
process/hdr_as_srgb=false process/hdr_as_srgb=false
process/hdr_clamp_exposure=false process/hdr_clamp_exposure=false
process/size_limit=0 process/size_limit=0
detect_3d/compress_to=0 detect_3d/compress_to=1

View file

@ -1,34 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dyibsqvmfitux"
path="res://.godot/imported/bunny_down.png-6511b38862324c280c3e08af22b07ee9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Sprites/bunny_down.png"
dest_files=["res://.godot/imported/bunny_down.png-6511b38862324c280c3e08af22b07ee9.ctex"]
[params]
compress/mode=4
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=0

View file

@ -1,25 +0,0 @@
[gd_resource type="TileSet" load_steps=5 format=3 uid="uid://b7cqbf6xdbeal"]
[ext_resource type="Texture2D" uid="uid://bjyry6vvtr8h5" path="res://Assets/Sprites/PlaceHolderA.png" id="1_nuhua"]
[ext_resource type="Texture2D" uid="uid://cbtiuvqgnulmf" path="res://Assets/Sprites/PlaceHolderB.png" id="2_jl0te"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_urqd5"]
texture = ExtResource("1_nuhua")
texture_region_size = Vector2i(8, 8)
0:0/0 = 0
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:0/0/physics_layer_0/angular_velocity = 0.0
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-4, -4, 4, -4, 4, 4, -4, 4)
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7bjb0"]
texture = ExtResource("2_jl0te")
texture_region_size = Vector2i(8, 8)
0:0/0 = 0
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:0/0/physics_layer_0/angular_velocity = 0.0
[resource]
tile_size = Vector2i(8, 8)
physics_layer_0/collision_layer = 1
sources/0 = SubResource("TileSetAtlasSource_urqd5")
sources/1 = SubResource("TileSetAtlasSource_7bjb0")

496
Assets/Tileset.tres Normal file
View file

@ -0,0 +1,496 @@
[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://bj7uu2180mie3"]
[ext_resource type="Texture2D" uid="uid://bqi3ddjrcj2bh" path="res://Assets/Sprites/TileMap.png" id="1_cl3se"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mgef5"]
texture = ExtResource("1_cl3se")
texture_region_size = Vector2i(32, 32)
0:0/0 = 0
0:0/0/terrain_set = 0
0:0/0/terrain = 0
0:0/0/probability = 2.0
0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:0/0/physics_layer_0/angular_velocity = 0.0
0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -12, 16, -12, -8, -8.5, -12, 8.5, -12, 12, -8)
0:0/0/terrains_peering_bit/bottom_side = 0
1:0/0 = 0
1:0/0/terrain_set = 0
1:0/0/terrain = 0
1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:0/0/physics_layer_0/angular_velocity = 0.0
1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -12, 16, -12, -8, -8, -12, 16, -12, 16, 12)
1:0/0/terrains_peering_bit/right_side = 0
1:0/0/terrains_peering_bit/bottom_side = 0
2:0/0 = 0
2:0/0/terrain_set = 0
2:0/0/terrain = 0
2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:0/0/physics_layer_0/angular_velocity = 0.0
2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, 16, -12, 16, 12, 12.5, 12.5, 12, 16, -12, 16, -12.5, 12.5)
2:0/0/terrains_peering_bit/right_side = 0
2:0/0/terrains_peering_bit/bottom_side = 0
2:0/0/terrains_peering_bit/left_side = 0
3:0/0 = 0
3:0/0/terrain_set = 0
3:0/0/terrain = 0
3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
3:0/0/physics_layer_0/angular_velocity = 0.0
3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -12, 8, -12, 12, -8, 12, 16, -12, 16)
3:0/0/terrains_peering_bit/bottom_side = 0
3:0/0/terrains_peering_bit/left_side = 0
4:0/0 = 0
4:0/0/terrain_set = 0
4:0/0/terrain = 0
4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:0/0/physics_layer_0/angular_velocity = 0.0
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12, 12.5, 12.5)
4:0/0/terrains_peering_bit/right_side = 0
4:0/0/terrains_peering_bit/bottom_side = 0
4:0/0/terrains_peering_bit/left_side = 0
4:0/0/terrains_peering_bit/top_left_corner = 0
4:0/0/terrains_peering_bit/top_side = 0
5:0/0 = 0
5:0/0/terrain_set = 0
5:0/0/terrain = 0
5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
5:0/0/physics_layer_0/angular_velocity = 0.0
5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -12, 16, -12, 16, 16, -12, 16)
5:0/0/terrains_peering_bit/right_side = 0
5:0/0/terrains_peering_bit/bottom_right_corner = 0
5:0/0/terrains_peering_bit/bottom_side = 0
5:0/0/terrains_peering_bit/left_side = 0
6:0/0 = 0
6:0/0/terrain_set = 0
6:0/0/terrain = 0
6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
6:0/0/physics_layer_0/angular_velocity = 0.0
6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 16, 12, 16, -12, -16, -12, -16, 16, 12, 16)
6:0/0/terrains_peering_bit/right_side = 0
6:0/0/terrains_peering_bit/bottom_side = 0
6:0/0/terrains_peering_bit/bottom_left_corner = 0
6:0/0/terrains_peering_bit/left_side = 0
7:0/0 = 0
7:0/0/terrain_set = 0
7:0/0/terrain = 0
7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
7:0/0/physics_layer_0/angular_velocity = 0.0
7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, -12.5, -12.5, -12, -16, 16, -16, 16, 12, 12.5, 12.5, 12, 16, -12, 16, -12.5, 12.5)
7:0/0/terrains_peering_bit/right_side = 0
7:0/0/terrains_peering_bit/bottom_side = 0
7:0/0/terrains_peering_bit/left_side = 0
7:0/0/terrains_peering_bit/top_side = 0
7:0/0/terrains_peering_bit/top_right_corner = 0
8:0/0 = 0
8:0/0/terrain_set = 0
8:0/0/terrain = 0
8:0/0/probability = 2.0
8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
8:0/0/physics_layer_0/angular_velocity = 0.0
8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 16, -12, 16, -12, -8, -8, -12, 16, -12)
8:0/0/terrains_peering_bit/right_side = 0
8:0/0/terrains_peering_bit/bottom_right_corner = 0
8:0/0/terrains_peering_bit/bottom_side = 0
9:0/0 = 0
9:0/0/terrain_set = 0
9:0/0/terrain = 0
9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
9:0/0/physics_layer_0/angular_velocity = 0.0
9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 16, -16, 16, -16, -12, -12.5, -12.5, -12, -16, 12, -16)
9:0/0/terrains_peering_bit/right_side = 0
9:0/0/terrains_peering_bit/bottom_right_corner = 0
9:0/0/terrains_peering_bit/bottom_side = 0
9:0/0/terrains_peering_bit/bottom_left_corner = 0
9:0/0/terrains_peering_bit/left_side = 0
9:0/0/terrains_peering_bit/top_side = 0
10:0/0 = 0
10:0/0/terrain_set = 0
10:0/0/terrain = 0
10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
10:0/0/physics_layer_0/angular_velocity = 0.0
10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 16, -16, 16, -16, -12)
10:0/0/terrains_peering_bit/right_side = 0
10:0/0/terrains_peering_bit/bottom_right_corner = 0
10:0/0/terrains_peering_bit/bottom_side = 0
10:0/0/terrains_peering_bit/bottom_left_corner = 0
10:0/0/terrains_peering_bit/left_side = 0
11:0/0 = 0
11:0/0/terrain_set = 0
11:0/0/terrain = 0
11:0/0/probability = 2.0
11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
11:0/0/physics_layer_0/angular_velocity = 0.0
11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -12, 8, -12, 12, -8, 12, 16)
11:0/0/terrains_peering_bit/bottom_side = 0
11:0/0/terrains_peering_bit/bottom_left_corner = 0
11:0/0/terrains_peering_bit/left_side = 0
0:1/0 = 0
0:1/0/terrain_set = 0
0:1/0/terrain = 0
0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:1/0/physics_layer_0/angular_velocity = 0.0
0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12, 16, -12, 16)
0:1/0/terrains_peering_bit/bottom_side = 0
0:1/0/terrains_peering_bit/top_side = 0
1:1/0 = 0
1:1/0/terrain_set = 0
1:1/0/terrain = 0
1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:1/0/physics_layer_0/angular_velocity = 0.0
1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -12, 16, -12, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12, 12.5, 12.5)
1:1/0/terrains_peering_bit/right_side = 0
1:1/0/terrains_peering_bit/bottom_side = 0
1:1/0/terrains_peering_bit/top_side = 0
2:1/0 = 0
2:1/0/terrain_set = 0
2:1/0/terrain = 0
2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:1/0/physics_layer_0/angular_velocity = 0.0
2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, -12.5, -12.5, -12, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12, 12.5, 12.5, 12, 16, -12, 16, -12.5, 12.5)
2:1/0/terrains_peering_bit/right_side = 0
2:1/0/terrains_peering_bit/bottom_side = 0
2:1/0/terrains_peering_bit/left_side = 0
2:1/0/terrains_peering_bit/top_side = 0
3:1/0 = 0
3:1/0/terrain_set = 0
3:1/0/terrain = 0
3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
3:1/0/physics_layer_0/angular_velocity = 0.0
3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -12, -12.5, -12.5)
3:1/0/terrains_peering_bit/bottom_side = 0
3:1/0/terrains_peering_bit/left_side = 0
3:1/0/terrains_peering_bit/top_side = 0
4:1/0 = 0
4:1/0/terrain_set = 0
4:1/0/terrain = 0
4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:1/0/physics_layer_0/angular_velocity = 0.0
4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 12, -16, -12, -16, -12, 16, 16, 16, 16, -12)
4:1/0/terrains_peering_bit/right_side = 0
4:1/0/terrains_peering_bit/bottom_right_corner = 0
4:1/0/terrains_peering_bit/bottom_side = 0
4:1/0/terrains_peering_bit/top_side = 0
5:1/0 = 0
5:1/0/terrain_set = 0
5:1/0/terrain = 0
5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
5:1/0/physics_layer_0/angular_velocity = 0.0
5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 16, -16, 16, 16, -16, 16, -16, -12)
5:1/0/terrains_peering_bit/right_side = 0
5:1/0/terrains_peering_bit/bottom_right_corner = 0
5:1/0/terrains_peering_bit/bottom_side = 0
5:1/0/terrains_peering_bit/bottom_left_corner = 0
5:1/0/terrains_peering_bit/left_side = 0
5:1/0/terrains_peering_bit/top_side = 0
5:1/0/terrains_peering_bit/top_right_corner = 0
6:1/0 = 0
6:1/0/terrain_set = 0
6:1/0/terrain = 0
6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
6:1/0/physics_layer_0/angular_velocity = 0.0
6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 16, -16, 16, -16, -16, 12, -16)
6:1/0/terrains_peering_bit/right_side = 0
6:1/0/terrains_peering_bit/bottom_right_corner = 0
6:1/0/terrains_peering_bit/bottom_side = 0
6:1/0/terrains_peering_bit/bottom_left_corner = 0
6:1/0/terrains_peering_bit/left_side = 0
6:1/0/terrains_peering_bit/top_left_corner = 0
6:1/0/terrains_peering_bit/top_side = 0
7:1/0 = 0
7:1/0/terrain_set = 0
7:1/0/terrain = 0
7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
7:1/0/physics_layer_0/angular_velocity = 0.0
7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 12, -16, 12, 16, -16, 16, -16, -12)
7:1/0/terrains_peering_bit/bottom_side = 0
7:1/0/terrains_peering_bit/bottom_left_corner = 0
7:1/0/terrains_peering_bit/left_side = 0
7:1/0/terrains_peering_bit/top_side = 0
8:1/0 = 0
8:1/0/terrain_set = 0
8:1/0/terrain = 0
8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
8:1/0/physics_layer_0/angular_velocity = 0.0
8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 16, -16, 16, 16, -12, 16)
8:1/0/terrains_peering_bit/right_side = 0
8:1/0/terrains_peering_bit/bottom_right_corner = 0
8:1/0/terrains_peering_bit/bottom_side = 0
8:1/0/terrains_peering_bit/top_side = 0
8:1/0/terrains_peering_bit/top_right_corner = 0
9:1/0 = 0
9:1/0/terrain_set = 0
9:1/0/terrain = 0
9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
9:1/0/physics_layer_0/angular_velocity = 0.0
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 16, 12, 12.5, 12.5, 12, 16, -16, 16, -16, -12, -12.5, -12.5, -12, -16)
9:1/0/terrains_peering_bit/right_side = 0
9:1/0/terrains_peering_bit/bottom_side = 0
9:1/0/terrains_peering_bit/bottom_left_corner = 0
9:1/0/terrains_peering_bit/left_side = 0
9:1/0/terrains_peering_bit/top_side = 0
9:1/0/terrains_peering_bit/top_right_corner = 0
11:1/0 = 0
11:1/0/terrain_set = 0
11:1/0/terrain = 0
11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
11:1/0/physics_layer_0/angular_velocity = 0.0
11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -16, 16, -16, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12)
11:1/0/terrains_peering_bit/right_side = 0
11:1/0/terrains_peering_bit/bottom_side = 0
11:1/0/terrains_peering_bit/bottom_left_corner = 0
11:1/0/terrains_peering_bit/left_side = 0
11:1/0/terrains_peering_bit/top_left_corner = 0
11:1/0/terrains_peering_bit/top_side = 0
0:2/0 = 0
0:2/0/terrain_set = 0
0:2/0/terrain = 0
0:2/0/probability = 2.0
0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:2/0/physics_layer_0/angular_velocity = 0.0
0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12, 8, 8.5, 12, -8.5, 12, -12, 8)
0:2/0/terrains_peering_bit/top_side = 0
1:2/0 = 0
1:2/0/terrain_set = 0
1:2/0/terrain = 0
1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:2/0/physics_layer_0/angular_velocity = 0.0
1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 12, -8, 12, -12, 8, -12, -16, 12, -16)
1:2/0/terrains_peering_bit/right_side = 0
1:2/0/terrains_peering_bit/top_side = 0
2:2/0 = 0
2:2/0/terrain_set = 0
2:2/0/terrain = 0
2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:2/0/physics_layer_0/angular_velocity = 0.0
2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, -16, 12, -16, -12, -12.5, -12.5, -12, -16, 12, -16, 12.5, -12.5)
2:2/0/terrains_peering_bit/right_side = 0
2:2/0/terrains_peering_bit/left_side = 0
2:2/0/terrains_peering_bit/top_side = 0
3:2/0 = 0
3:2/0/terrain_set = 0
3:2/0/terrain = 0
3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
3:2/0/physics_layer_0/angular_velocity = 0.0
3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 12, -16, 12, 8, 8, 12, -16, 12, -16, -12)
3:2/0/terrains_peering_bit/left_side = 0
3:2/0/terrains_peering_bit/top_side = 0
4:2/0 = 0
4:2/0/terrain_set = 0
4:2/0/terrain = 0
4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:2/0/physics_layer_0/angular_velocity = 0.0
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -12, 16, -12, -16, 16, -16, 16, 12)
4:2/0/terrains_peering_bit/right_side = 0
4:2/0/terrains_peering_bit/bottom_side = 0
4:2/0/terrains_peering_bit/top_side = 0
4:2/0/terrains_peering_bit/top_right_corner = 0
5:2/0 = 0
5:2/0/terrain_set = 0
5:2/0/terrain = 0
5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
5:2/0/physics_layer_0/angular_velocity = 0.0
5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -16, 16, -16, 16, 16, -12, 16)
5:2/0/terrains_peering_bit/right_side = 0
5:2/0/terrains_peering_bit/bottom_right_corner = 0
5:2/0/terrains_peering_bit/bottom_side = 0
5:2/0/terrains_peering_bit/left_side = 0
5:2/0/terrains_peering_bit/top_left_corner = 0
5:2/0/terrains_peering_bit/top_side = 0
5:2/0/terrains_peering_bit/top_right_corner = 0
6:2/0 = 0
6:2/0/terrain_set = 0
6:2/0/terrain = 0
6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
6:2/0/physics_layer_0/angular_velocity = 0.0
6:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -16, 16, -16, -16, 16, -16, 16, 12)
6:2/0/terrains_peering_bit/right_side = 0
6:2/0/terrains_peering_bit/bottom_side = 0
6:2/0/terrains_peering_bit/bottom_left_corner = 0
6:2/0/terrains_peering_bit/left_side = 0
6:2/0/terrains_peering_bit/top_left_corner = 0
6:2/0/terrains_peering_bit/top_side = 0
6:2/0/terrains_peering_bit/top_right_corner = 0
7:2/0 = 0
7:2/0/terrain_set = 0
7:2/0/terrain = 0
7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
7:2/0/physics_layer_0/angular_velocity = 0.0
7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -12, 16, 12, 16, 12, -16, -16, -16, -16, 12)
7:2/0/terrains_peering_bit/bottom_side = 0
7:2/0/terrains_peering_bit/left_side = 0
7:2/0/terrains_peering_bit/top_left_corner = 0
7:2/0/terrains_peering_bit/top_side = 0
8:2/0 = 0
8:2/0/terrain_set = 0
8:2/0/terrain = 0
8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
8:2/0/physics_layer_0/angular_velocity = 0.0
8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 16, -16, 16, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -12)
8:2/0/terrains_peering_bit/right_side = 0
8:2/0/terrains_peering_bit/bottom_right_corner = 0
8:2/0/terrains_peering_bit/bottom_side = 0
8:2/0/terrains_peering_bit/left_side = 0
8:2/0/terrains_peering_bit/top_side = 0
8:2/0/terrains_peering_bit/top_right_corner = 0
9:2/0 = 0
9:2/0/terrain_set = 0
9:2/0/terrain = 0
9:2/0/probability = 2.0
9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
9:2/0/physics_layer_0/angular_velocity = 0.0
9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
9:2/0/terrains_peering_bit/right_side = 0
9:2/0/terrains_peering_bit/bottom_right_corner = 0
9:2/0/terrains_peering_bit/bottom_side = 0
9:2/0/terrains_peering_bit/bottom_left_corner = 0
9:2/0/terrains_peering_bit/left_side = 0
9:2/0/terrains_peering_bit/top_left_corner = 0
9:2/0/terrains_peering_bit/top_side = 0
9:2/0/terrains_peering_bit/top_right_corner = 0
10:2/0 = 0
10:2/0/terrain_set = 0
10:2/0/terrain = 0
10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
10:2/0/physics_layer_0/angular_velocity = 0.0
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 16, -12, 16, -12.5, 12.5, -16, 12)
10:2/0/terrains_peering_bit/right_side = 0
10:2/0/terrains_peering_bit/bottom_right_corner = 0
10:2/0/terrains_peering_bit/bottom_side = 0
10:2/0/terrains_peering_bit/left_side = 0
10:2/0/terrains_peering_bit/top_left_corner = 0
10:2/0/terrains_peering_bit/top_side = 0
11:2/0 = 0
11:2/0/terrain_set = 0
11:2/0/terrain = 0
11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
11:2/0/physics_layer_0/angular_velocity = 0.0
11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -16, 16, -16, -16, 12, -16)
11:2/0/terrains_peering_bit/bottom_side = 0
11:2/0/terrains_peering_bit/bottom_left_corner = 0
11:2/0/terrains_peering_bit/left_side = 0
11:2/0/terrains_peering_bit/top_left_corner = 0
11:2/0/terrains_peering_bit/top_side = 0
0:3/0 = 0
0:3/0/terrain_set = 0
0:3/0/terrain = 0
0:3/0/probability = 2.0
0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
0:3/0/physics_layer_0/angular_velocity = 0.0
0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 12, -12, 8, -12, -8, -8, -12, 8, -12, 12, -8.5, 12, 8.5, 8, 12)
1:3/0 = 0
1:3/0/terrain_set = 0
1:3/0/terrain = 0
1:3/0/probability = 2.0
1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
1:3/0/physics_layer_0/angular_velocity = 0.0
1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, -8, 12, -12, 8.5, -12, -8.5, -8, -12)
1:3/0/terrains_peering_bit/right_side = 0
2:3/0 = 0
2:3/0/terrain_set = 0
2:3/0/terrain = 0
2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
2:3/0/physics_layer_0/angular_velocity = 0.0
2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, -16, 12, -16, -12)
2:3/0/terrains_peering_bit/right_side = 0
2:3/0/terrains_peering_bit/left_side = 0
3:3/0 = 0
3:3/0/terrain_set = 0
3:3/0/terrain = 0
3:3/0/probability = 2.0
3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
3:3/0/physics_layer_0/angular_velocity = 0.0
3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, 8, -12, 12, -8.5, 12, 8.5, 8, 12)
3:3/0/terrains_peering_bit/left_side = 0
4:3/0 = 0
4:3/0/terrain_set = 0
4:3/0/terrain = 0
4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
4:3/0/physics_layer_0/angular_velocity = 0.0
4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, 12.5, 12.5, 12, 16, -16, 16, -16, -12, -12.5, -12.5, -12, -16, 12, -16, 12.5, -12.5)
4:3/0/terrains_peering_bit/right_side = 0
4:3/0/terrains_peering_bit/bottom_side = 0
4:3/0/terrains_peering_bit/bottom_left_corner = 0
4:3/0/terrains_peering_bit/left_side = 0
4:3/0/terrains_peering_bit/top_side = 0
5:3/0 = 0
5:3/0/terrain_set = 0
5:3/0/terrain = 0
5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
5:3/0/physics_layer_0/angular_velocity = 0.0
5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -16, -12, -16, 12, 16, 12, 16, -16, -12, -16)
5:3/0/terrains_peering_bit/right_side = 0
5:3/0/terrains_peering_bit/left_side = 0
5:3/0/terrains_peering_bit/top_side = 0
5:3/0/terrains_peering_bit/top_right_corner = 0
6:3/0 = 0
6:3/0/terrain_set = 0
6:3/0/terrain = 0
6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
6:3/0/physics_layer_0/angular_velocity = 0.0
6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 12, -16, 12, -16, -16, 12, -16)
6:3/0/terrains_peering_bit/right_side = 0
6:3/0/terrains_peering_bit/left_side = 0
6:3/0/terrains_peering_bit/top_left_corner = 0
6:3/0/terrains_peering_bit/top_side = 0
7:3/0 = 0
7:3/0/terrain_set = 0
7:3/0/terrain = 0
7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
7:3/0/physics_layer_0/angular_velocity = 0.0
7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -12, -12.5, -12.5)
7:3/0/terrains_peering_bit/right_side = 0
7:3/0/terrains_peering_bit/bottom_right_corner = 0
7:3/0/terrains_peering_bit/bottom_side = 0
7:3/0/terrains_peering_bit/left_side = 0
7:3/0/terrains_peering_bit/top_side = 0
8:3/0 = 0
8:3/0/terrain_set = 0
8:3/0/terrain = 0
8:3/0/probability = 2.0
8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
8:3/0/physics_layer_0/angular_velocity = 0.0
8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 16, 12, -8, 12, -12, 8, -12, -16)
8:3/0/terrains_peering_bit/right_side = 0
8:3/0/terrains_peering_bit/top_side = 0
8:3/0/terrains_peering_bit/top_right_corner = 0
9:3/0 = 0
9:3/0/terrain_set = 0
9:3/0/terrain = 0
9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
9:3/0/physics_layer_0/angular_velocity = 0.0
9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -16, 16, -16, 16, 12)
9:3/0/terrains_peering_bit/right_side = 0
9:3/0/terrains_peering_bit/left_side = 0
9:3/0/terrains_peering_bit/top_left_corner = 0
9:3/0/terrains_peering_bit/top_side = 0
9:3/0/terrains_peering_bit/top_right_corner = 0
10:3/0 = 0
10:3/0/terrain_set = 0
10:3/0/terrain = 0
10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
10:3/0/physics_layer_0/angular_velocity = 0.0
10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -16, 16, -16, 16, 12, 12.5, 12.5, 12, 16, -12, 16)
10:3/0/terrains_peering_bit/right_side = 0
10:3/0/terrains_peering_bit/bottom_side = 0
10:3/0/terrains_peering_bit/left_side = 0
10:3/0/terrains_peering_bit/top_left_corner = 0
10:3/0/terrains_peering_bit/top_side = 0
10:3/0/terrains_peering_bit/top_right_corner = 0
11:3/0 = 0
11:3/0/terrain_set = 0
11:3/0/terrain = 0
11:3/0/probability = 2.0
11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
11:3/0/physics_layer_0/angular_velocity = 0.0
11:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 12, -16, 12, 8, 8, 12, -16, 12)
11:3/0/terrains_peering_bit/left_side = 0
11:3/0/terrains_peering_bit/top_left_corner = 0
11:3/0/terrains_peering_bit/top_side = 0
[resource]
tile_size = Vector2i(32, 32)
physics_layer_0/collision_layer = 1
physics_layer_0/collision_mask = 0
terrain_set_0/mode = 0
terrain_set_0/terrain_0/name = "Walls"
terrain_set_0/terrain_0/color = Color(1, 0.301961, 0.329412, 1)
sources/1 = SubResource("TileSetAtlasSource_mgef5")

View file

@ -1,13 +1,14 @@
[gd_scene load_steps=3 format=3 uid="uid://chfp8mm3vwh2e"] [gd_scene load_steps=3 format=3 uid="uid://chfp8mm3vwh2e"]
[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="1_8lepy"] [ext_resource type="TileSet" uid="uid://bj7uu2180mie3" path="res://Assets/Tileset.tres" id="1_a2htf"]
[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="2_qvwn8"] [ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="2_qvwn8"]
[node name="Node2D" type="Node2D"] [node name="Node2D" type="Node2D"]
[node name="TileMap" type="TileMap" parent="."] [node name="TileMap" type="TileMap" parent="."]
tile_set = ExtResource("1_8lepy") tile_set = ExtResource("1_a2htf")
cell_quadrant_size = 8 cell_quadrant_size = 8
collision_visibility_mode = 1 collision_visibility_mode = 1
format = 2 format = 2
script = ExtResource("2_qvwn8") script = ExtResource("2_qvwn8")
height = 33

View file

@ -1,7 +1,7 @@
[gd_scene load_steps=12 format=3 uid="uid://ccgpsim5nfxd6"] [gd_scene load_steps=12 format=3 uid="uid://ccgpsim5nfxd6"]
[ext_resource type="TileSet" uid="uid://bj7uu2180mie3" path="res://Assets/Tileset.tres" id="1_wkp62"]
[ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"] [ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"]
[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="3_0at2g"]
[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="4_8st0q"] [ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="4_8st0q"]
[ext_resource type="Texture2D" uid="uid://bl7vfn05ul1vu" path="res://Assets/Sprites/Jesus/Jesus Spritesheet.png" id="4_e5cec"] [ext_resource type="Texture2D" uid="uid://bl7vfn05ul1vu" path="res://Assets/Sprites/Jesus/Jesus Spritesheet.png" id="4_e5cec"]
@ -116,16 +116,20 @@ _data = {
[node name="Player Movement" type="Node2D"] [node name="Player Movement" type="Node2D"]
[node name="Map Generator" type="TileMap" parent="."] [node name="Map Generator" type="TileMap" parent="."]
tile_set = ExtResource("3_0at2g") tile_set = ExtResource("1_wkp62")
cell_quadrant_size = 8 cell_quadrant_size = 32
collision_visibility_mode = 1 collision_visibility_mode = 1
format = 2 format = 2
script = ExtResource("4_8st0q") script = ExtResource("4_8st0q")
start_area_size = 3
start_area_corner_size = 1
[node name="Player" type="CharacterBody2D" parent="." node_paths=PackedStringArray("animation_player")] [node name="Player" type="CharacterBody2D" parent="." node_paths=PackedStringArray("animation_player")]
position = Vector2(512, 300) position = Vector2(960, 512)
scale = Vector2(0.25, 0.25) scale = Vector2(0.5, 0.5)
collision_layer = 0
script = ExtResource("1_x3102") script = ExtResource("1_x3102")
speed = 60
animation_player = NodePath("Player Animator") animation_player = NodePath("Player Animator")
[node name="Player Sprite" type="Sprite2D" parent="Player"] [node name="Player Sprite" type="Sprite2D" parent="Player"]
@ -138,11 +142,10 @@ vframes = 4
polygon = PackedVector2Array(12, 32, -16, 32, -16, -24, 12, -24) polygon = PackedVector2Array(12, 32, -16, 32, -16, -24, 12, -24)
[node name="Player Camera" type="Camera2D" parent="Player"] [node name="Player Camera" type="Camera2D" parent="Player"]
zoom = Vector2(10, 10) zoom = Vector2(3, 3)
position_smoothing_enabled = true position_smoothing_enabled = true
drag_horizontal_enabled = true drag_horizontal_enabled = true
drag_vertical_enabled = true drag_vertical_enabled = true
editor_draw_limits = true
editor_draw_drag_margin = true editor_draw_drag_margin = true
[node name="Player Animator" type="AnimationPlayer" parent="Player"] [node name="Player Animator" type="AnimationPlayer" parent="Player"]

View file

@ -1,12 +1,9 @@
extends TileMap extends TileMap
@export var width := 128 @export var width := 60
@export var height := 75 @export var height := 32
@export var fill_percentage := 0.65 @export var fill_percentage := 0.65
@export var solid_id := 0
@export var non_solid_id := 1
@export var solid_threshold := 7 @export var solid_threshold := 7
@export var nonsolid_threshold := 4 @export var nonsolid_threshold := 4
@ -16,35 +13,60 @@ extends TileMap
@export var cave_gen_iterations := 3 @export var cave_gen_iterations := 3
@export var cave_mine_size_threshold := 80 @export var cave_mine_size_threshold := 80
var tile_array : Array
func _ready(): func _ready():
var time = generate()
print("time for generation: " + str(time))
pass
func generate() -> float:
var start_time = Time.get_unix_time_from_system() var start_time = Time.get_unix_time_from_system()
randomize() randomize()
random_fill() setup_tile_data_array()
make_cave_areas() fill_random_noise()
make_borders()
for i in cave_gen_iterations:
change_cells_by_neighbor_thresholds()
set_borders_solid()
prepare_player_start_area() prepare_player_start_area()
connect_caves(get_caves()) connect_caves(get_caves())
make_cave_areas() for i in cave_gen_iterations:
make_borders() change_cells_by_neighbor_thresholds()
print(Time.get_unix_time_from_system() - start_time) set_borders_solid()
func random_fill(): tile_array_to_terrain()
return Time.get_unix_time_from_system() - start_time
func setup_tile_data_array():
tile_array.clear()
tile_array = []
for x in width:
tile_array.append([])
for y in height:
tile_array[x].append([])
func fill_random_noise():
for x in width: for x in width:
for y in height: for y in height:
if randf() < fill_percentage: if randf() < fill_percentage:
self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0)) set_tile_solid(x,y)
else: else:
self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) set_tile_non_solid(x,y)
pass pass
func make_borders(): func set_borders_solid():
for x in width: for x in width:
self.set_cell(0, Vector2i(x,0),solid_id, Vector2i(0, 0)) set_tile_solid(x,0)
self.set_cell(0, Vector2i(x,height-1),solid_id, Vector2i(0, 0)) set_tile_solid(x,height-1)
for y in height: for y in height:
self.set_cell(0, Vector2i(0,y),solid_id, Vector2i(0, 0)) set_tile_solid(0,y)
self.set_cell(0, Vector2i(width-1,y),solid_id, Vector2i(0, 0)) set_tile_solid(width-1,y)
pass
func prepare_player_start_area(): func prepare_player_start_area():
var center = Vector2i(width/2, height/2) var center = Vector2i(width/2, height/2)
for x in range(center.x - start_area_size, center.x + start_area_size): for x in range(center.x - start_area_size, center.x + start_area_size):
@ -58,49 +80,48 @@ func prepare_player_start_area():
var p2 = p var p2 = p
for y in range(center.y - start_area_size, center.y + start_area_size): for y in range(center.y - start_area_size, center.y + start_area_size):
# Decide if the tile is part of the Corner or not # Decide if the tile is part of the Corner or not
if !(p2 > 0 or p2 <= - (start_area_size*2 - p*2)): if !(p2 > 0 or p2 <= - (start_area_size*2 - p*2)):
self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) set_tile_non_solid(x,y)
p2 -= 1 p2 -= 1
func make_cave_areas():
for i in cave_gen_iterations:
for x in range(1, width):
for y in range(1, height):
# Count Solid Neighbor Cells
var count := 0
#y-1
if self.get_cell_source_id(0, Vector2i(x-1, y-1)) == solid_id: count +=1
if self.get_cell_source_id(0, Vector2i(x, y-1)) == solid_id: count +=1
if self.get_cell_source_id(0, Vector2i(x+1, y-1)) == solid_id: count +=1
#y
if self.get_cell_source_id(0, Vector2i(x-1, y)) == solid_id: count +=1
if self.get_cell_source_id(0, Vector2i(x+1, y)) == solid_id: count +=1
#y+1
if self.get_cell_source_id(0, Vector2i(x-1, y+1)) == solid_id: count +=1
if self.get_cell_source_id(0, Vector2i(x, y+1)) == solid_id: count +=1
if self.get_cell_source_id(0, Vector2i(x+1, y+1)) == solid_id: count +=1
# Check Wether to Change the Cell or Not
if count < nonsolid_threshold:
self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0))
if count >= solid_threshold:
self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0))
pass pass
func change_cells_by_neighbor_thresholds():
for x in range(1, width-1):
for y in range(1, height-1):
# Count Solid Neighbor Cells
var count := 0
#y-1
if get_tile_solid(x-1, y-1): count +=1
if get_tile_solid(x, y-1): count +=1
if get_tile_solid(x+1, y-1): count +=1
#y
if get_tile_solid(x-1, y): count +=1
if get_tile_solid(x+1, y): count +=1
#y+1
if get_tile_solid(x-1, y+1): count +=1
if get_tile_solid(x, y+1): count +=1
if get_tile_solid(x+1, y+1): count +=1
# Check Threshold
if count < nonsolid_threshold:
set_tile_non_solid(x,y)
if count >= solid_threshold:
set_tile_solid(x,y)
pass
func get_caves() -> Array: func get_caves() -> Array:
# get caves # get caves
var caves := [] var caves := []
for x in range (2, width-2): for x in range (2, width-2):
for y in range (2, height-2): for y in range (2, height-2):
if self.get_cell_source_id(0, Vector2i(x, y)) == non_solid_id: if get_tile_non_solid(x, y):
flood_fill(x,y, caves) flood_fill(x,y, caves)
for cave in caves: for cave in caves:
for tile in cave: for tile in cave:
self.set_cell(0, Vector2i(tile.x,tile.y),non_solid_id, Vector2i(0, 0)) set_tile_non_solid(tile.x,tile.y)
return caves return caves
func flood_fill(tilex, tiley, caves) -> Array: func flood_fill(tilex, tiley, caves) -> Array:
@ -111,7 +132,7 @@ func flood_fill(tilex, tiley, caves) -> Array:
if !cave.has(tile): if !cave.has(tile):
cave.append(tile) cave.append(tile)
self.set_cell(0, Vector2i(tile.x,tile.y),solid_id, Vector2i(0, 0)) set_tile_solid(tile.x,tile.y)
#check adjacent cells #check adjacent cells
var north = Vector2i(tile.x, tile.y+1) var north = Vector2i(tile.x, tile.y+1)
@ -120,14 +141,14 @@ func flood_fill(tilex, tiley, caves) -> Array:
var west = Vector2i(tile.x-1, tile.y) var west = Vector2i(tile.x-1, tile.y)
for dir in [north,south,east,west]: for dir in [north,south,east,west]:
if self.get_cell_source_id(0, dir) == non_solid_id: if get_tile_non_solid(dir.x, dir.y):
if !to_fill.has(dir) and !cave.has(dir): if !to_fill.has(dir) and !cave.has(dir):
to_fill.append(dir) to_fill.append(dir)
if cave.size() >= cave_mine_size_threshold: if cave.size() >= cave_mine_size_threshold:
caves.append(cave) caves.append(cave)
return caves return caves
func choose(choices): func choose_rand(choices):
randomize() randomize()
var rand_index = randi() % choices.size() var rand_index = randi() % choices.size()
@ -139,8 +160,8 @@ func connect_caves(caves):
for cave in tunnel_caves: for cave in tunnel_caves:
if prev_cave: if prev_cave:
var new_point = choose(cave) var new_point = choose_rand(cave)
var prev_point = choose(prev_cave) var prev_point = choose_rand(prev_cave)
# ensure not the same point # ensure not the same point
if new_point != prev_point: if new_point != prev_point:
@ -151,7 +172,7 @@ func connect_caves(caves):
func create_tunnel(point1, point2, cave): func create_tunnel(point1, point2, cave):
randomize() # for randf randomize() # for randf
var max_steps = 500 # so editor won't hang if walk fails var max_steps = 500 # so game won't hang if walk fails
var steps = 0 var steps = 0
var drunk_x = point2[0] var drunk_x = point2[0]
var drunk_y = point2[1] var drunk_y = point2[1]
@ -167,13 +188,13 @@ func create_tunnel(point1, point2, cave):
var weight = 1 var weight = 1
# weight the random walk against edges # weight the random walk against edges
if drunk_x < point1.x: # drunkard is left of point1 if drunk_x < point1.x:
e += weight e += weight
elif drunk_x > point1.x: # drunkard is right of point1 elif drunk_x > point1.x:
w += weight w += weight
if drunk_y < point1.y: # drunkard is above point1 if drunk_y < point1.y:
s += weight s += weight
elif drunk_y > point1.y: # drunkard is below point1 elif drunk_y > point1.y:
n += weight n += weight
# normalize probabilities so they form a range from 0 to 1 # normalize probabilities so they form a range from 0 to 1
@ -186,7 +207,7 @@ func create_tunnel(point1, point2, cave):
var dx var dx
var dy var dy
# choose the direction # choose_rand the direction
var choice = randf() var choice = randf()
if 0 <= choice and choice < n: if 0 <= choice and choice < n:
@ -208,9 +229,41 @@ func create_tunnel(point1, point2, cave):
drunk_x += dx drunk_x += dx
drunk_y += dy drunk_y += dy
if get_tile_solid(drunk_x, drunk_y):
if self.get_cell_source_id(0, Vector2i(drunk_x, drunk_y)) == solid_id: set_tile_non_solid(drunk_x, drunk_y)
self.set_cell(0, Vector2i(drunk_x, drunk_y),non_solid_id, Vector2i(0, 0))
#make tunnel wider #make tunnel wider
self.set_cell(0, Vector2i(drunk_x+1, drunk_y),non_solid_id, Vector2i(0, 0)) set_tile_non_solid(drunk_x+1, drunk_y)
self.set_cell(0, Vector2i(drunk_x+1, drunk_y+1),non_solid_id, Vector2i(0, 0)) set_tile_non_solid(drunk_x+1, drunk_y+1)
pass
func tile_array_to_terrain():
for x in width:
for y in height:
match tile_array[x][y]:
0: set_terrain_tile_non_solid(x,y)
1: set_terrain_tile_solid(x,y)
pass
# Getter
func get_tile_solid(x : int, y : int) -> bool:
return tile_array[x][y] == 1
func get_tile_non_solid(x : int, y : int) -> bool:
return tile_array[x][y] == 0
# Setter
func set_tile_solid(x : int, y : int):
tile_array[x][y] = 1
pass
func set_tile_non_solid(x : int, y : int):
tile_array[x][y] = 0
pass
func set_terrain_tile_solid(x : int, y : int):
self.set_cells_terrain_connect(0, [Vector2i(x,y)], 0, 0, false)
pass
func set_terrain_tile_non_solid(x : int, y : int):
self.set_cell(0, Vector2i(x,y), -1)
pass

View file

@ -53,6 +53,7 @@ move_down={
[layer_names] [layer_names]
2d_physics/layer_1="Map" 2d_physics/layer_1="Map"
2d_physics/layer_2="Player"
[rendering] [rendering]