diff --git a/common/icon.ico b/common/icon.ico
new file mode 100644
index 0000000..7adc2a5
Binary files /dev/null and b/common/icon.ico differ
diff --git a/common/player_head.png b/common/player_head.png
index c5a3fd6..43cc9ae 100644
Binary files a/common/player_head.png and b/common/player_head.png differ
diff --git a/common/tiles/assets/grass.svg b/common/tiles/assets/grass.svg
new file mode 100644
index 0000000..e15f6db
--- /dev/null
+++ b/common/tiles/assets/grass.svg
@@ -0,0 +1,727 @@
+
+
+
+
diff --git a/common/tiles/assets/grass.svg.import b/common/tiles/assets/grass.svg.import
new file mode 100644
index 0000000..05da665
--- /dev/null
+++ b/common/tiles/assets/grass.svg.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/grass.svg-1ec36997ec5e08723467fe7679d50c14.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://common/tiles/assets/grass.svg"
+dest_files=[ "res://.import/grass.svg-1ec36997ec5e08723467fe7679d50c14.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/common/tiles/assets/liquid.svg b/common/tiles/assets/liquid.svg
new file mode 100644
index 0000000..db8d4d0
--- /dev/null
+++ b/common/tiles/assets/liquid.svg
@@ -0,0 +1,156 @@
+
+
+
+
diff --git a/common/tiles/assets/liquid.svg.import b/common/tiles/assets/liquid.svg.import
new file mode 100644
index 0000000..526d27e
--- /dev/null
+++ b/common/tiles/assets/liquid.svg.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/liquid.svg-aa214e1d670e5bab430ff4195c297e4e.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://common/tiles/assets/liquid.svg"
+dest_files=[ "res://.import/liquid.svg-aa214e1d670e5bab430ff4195c297e4e.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/common/tiles/assets/water.svg b/common/tiles/assets/water.svg
new file mode 100644
index 0000000..9ea3c51
--- /dev/null
+++ b/common/tiles/assets/water.svg
@@ -0,0 +1,51 @@
+
+
+
+
diff --git a/common/tiles/assets/water.svg.import b/common/tiles/assets/water.svg.import
new file mode 100644
index 0000000..bf0d841
--- /dev/null
+++ b/common/tiles/assets/water.svg.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/water.svg-589a7f6f3af50104b42b9d564f2834e5.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://common/tiles/assets/water.svg"
+dest_files=[ "res://.import/water.svg-589a7f6f3af50104b42b9d564f2834e5.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/common/tiles/base.tres b/common/tiles/base.tres
new file mode 100644
index 0000000..f389f78
--- /dev/null
+++ b/common/tiles/base.tres
@@ -0,0 +1,559 @@
+[gd_resource type="TileSet" load_steps=32 format=2]
+
+[ext_resource path="res://common/tiles/assets/grass.svg" type="Texture" id=1]
+[ext_resource path="res://common/tiles/assets/liquid.svg" type="Texture" id=2]
+
+[sub_resource type="ConvexPolygonShape2D" id=1]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=2]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=3]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=4]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=5]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=6]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=7]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=17]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=24]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=25]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=26]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=27]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=28]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=29]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=8]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=9]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=10]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=11]
+points = PoolVector2Array( -10, 0, -10, 0, -10, 70, -10, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=12]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=13]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=14]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=15]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=16]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=18]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=19]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=20]
+points = PoolVector2Array( 0, 0, 0, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=21]
+points = PoolVector2Array( 0, 0, 70, 0, 70, 70, 0, 70 )
+
+[sub_resource type="ConvexPolygonShape2D" id=22]
+points = PoolVector2Array( -10, -10, -10, -10, -10, -10, -10, -10 )
+
+[sub_resource type="ConvexPolygonShape2D" id=23]
+points = PoolVector2Array( 0, 70, 70, 0, 70, 70, 0, 70 )
+
+[resource]
+0/name = "Grass 1"
+0/texture = ExtResource( 1 )
+0/tex_offset = Vector2( 0, 0 )
+0/modulate = Color( 1, 1, 1, 1 )
+0/region = Rect2( 0, 0, 310, 70 )
+0/tile_mode = 1
+0/autotile/bitmask_mode = 1
+0/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 1, 0 ), 48, Vector2( 2, 0 ), 56, Vector2( 3, 0 ), 24 ]
+0/autotile/icon_coordinate = Vector2( 0, 0 )
+0/autotile/tile_size = Vector2( 70, 70 )
+0/autotile/spacing = 10
+0/autotile/occluder_map = [ ]
+0/autotile/navpoly_map = [ ]
+0/autotile/priority_map = [ ]
+0/autotile/z_index_map = [ ]
+0/occluder_offset = Vector2( 0, 0 )
+0/navigation_offset = Vector2( 0, 0 )
+0/shape_offset = Vector2( 0, 0 )
+0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+0/shape = SubResource( 1 )
+0/shape_one_way = false
+0/shape_one_way_margin = 1.0
+0/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 1 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 1, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 2 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 2, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 3 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 3, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 4 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+0/z_index = 0
+1/name = "Grass 1"
+1/texture = ExtResource( 1 )
+1/tex_offset = Vector2( 0, 0 )
+1/modulate = Color( 1, 1, 1, 1 )
+1/region = Rect2( 80, 80, 230, 70 )
+1/tile_mode = 1
+1/autotile/bitmask_mode = 1
+1/autotile/bitmask_flags = [ Vector2( 0, 0 ), 48, Vector2( 1, 0 ), 56, Vector2( 2, 0 ), 24 ]
+1/autotile/icon_coordinate = Vector2( 0, 0 )
+1/autotile/tile_size = Vector2( 70, 70 )
+1/autotile/spacing = 10
+1/autotile/occluder_map = [ ]
+1/autotile/navpoly_map = [ ]
+1/autotile/priority_map = [ ]
+1/autotile/z_index_map = [ ]
+1/occluder_offset = Vector2( 0, 0 )
+1/navigation_offset = Vector2( 0, 0 )
+1/shape_offset = Vector2( 0, 0 )
+1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+1/shape = SubResource( 5 )
+1/shape_one_way = false
+1/shape_one_way_margin = 1.0
+1/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 5 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 1, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 6 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 2, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 7 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+1/z_index = 0
+2/name = "Grass 3"
+2/texture = ExtResource( 1 )
+2/tex_offset = Vector2( 0, 0 )
+2/modulate = Color( 1, 1, 1, 1 )
+2/region = Rect2( 80, 160, 230, 70 )
+2/tile_mode = 1
+2/autotile/bitmask_mode = 1
+2/autotile/bitmask_flags = [ Vector2( 0, 0 ), 48, Vector2( 1, 0 ), 56, Vector2( 2, 0 ), 24 ]
+2/autotile/icon_coordinate = Vector2( 0, 0 )
+2/autotile/tile_size = Vector2( 70, 70 )
+2/autotile/spacing = 10
+2/autotile/occluder_map = [ ]
+2/autotile/navpoly_map = [ ]
+2/autotile/priority_map = [ ]
+2/autotile/z_index_map = [ ]
+2/occluder_offset = Vector2( 0, 0 )
+2/navigation_offset = Vector2( 0, 0 )
+2/shape_offset = Vector2( 0, 0 )
+2/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+2/shape = SubResource( 8 )
+2/shape_one_way = false
+2/shape_one_way_margin = 1.0
+2/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 8 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 1, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 9 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 2, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 10 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+2/z_index = 0
+3/name = "Grass 12"
+3/texture = ExtResource( 1 )
+3/tex_offset = Vector2( 0, 0 )
+3/modulate = Color( 1, 1, 1, 1 )
+3/region = Rect2( 160, 240, 150, 150 )
+3/tile_mode = 1
+3/autotile/bitmask_mode = 1
+3/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 0, 1 ), 56, Vector2( 1, 0 ), 48, Vector2( 1, 1 ), 24 ]
+3/autotile/icon_coordinate = Vector2( 0, 0 )
+3/autotile/tile_size = Vector2( 70, 70 )
+3/autotile/spacing = 10
+3/autotile/occluder_map = [ ]
+3/autotile/navpoly_map = [ ]
+3/autotile/priority_map = [ ]
+3/autotile/z_index_map = [ ]
+3/occluder_offset = Vector2( 0, 0 )
+3/navigation_offset = Vector2( 0, 0 )
+3/shape_offset = Vector2( 0, 0 )
+3/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+3/shape = SubResource( 11 )
+3/shape_one_way = false
+3/shape_one_way_margin = 1.0
+3/shapes = [ {
+"autotile_coord": Vector2( 2, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 11 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 12 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 1, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 13 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 0, 1 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 14 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 1, 1 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 15 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+3/z_index = 0
+4/name = "Grass 5"
+4/texture = ExtResource( 1 )
+4/tex_offset = Vector2( 0, 0 )
+4/modulate = Color( 1, 1, 1, 1 )
+4/region = Rect2( 160, 0, 70, 70 )
+4/tile_mode = 0
+4/occluder_offset = Vector2( 0, 0 )
+4/navigation_offset = Vector2( 0, 0 )
+4/shape_offset = Vector2( 0, 0 )
+4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+4/shape = SubResource( 16 )
+4/shape_one_way = false
+4/shape_one_way_margin = 1.0
+4/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 16 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+4/z_index = 0
+5/name = "Grass 6"
+5/texture = ExtResource( 1 )
+5/tex_offset = Vector2( 0, 0 )
+5/modulate = Color( 1, 1, 1, 1 )
+5/region = Rect2( 0, 80, 70, 70 )
+5/tile_mode = 0
+5/occluder_offset = Vector2( 0, 0 )
+5/navigation_offset = Vector2( 0, 0 )
+5/shape_offset = Vector2( 0, 0 )
+5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+5/shape = SubResource( 18 )
+5/shape_one_way = false
+5/shape_one_way_margin = 1.0
+5/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 18 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+5/z_index = 0
+6/name = "Grass 7"
+6/texture = ExtResource( 1 )
+6/tex_offset = Vector2( 0, 0 )
+6/modulate = Color( 1, 1, 1, 1 )
+6/region = Rect2( 0, 160, 70, 70 )
+6/tile_mode = 0
+6/occluder_offset = Vector2( 0, 0 )
+6/navigation_offset = Vector2( 0, 0 )
+6/shape_offset = Vector2( 0, 0 )
+6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+6/shape = SubResource( 19 )
+6/shape_one_way = false
+6/shape_one_way_margin = 1.0
+6/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 19 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+6/z_index = 0
+7/name = "Grass 8"
+7/texture = ExtResource( 1 )
+7/tex_offset = Vector2( 0, 0 )
+7/modulate = Color( 1, 1, 1, 1 )
+7/region = Rect2( 0, 240, 70, 70 )
+7/tile_mode = 0
+7/occluder_offset = Vector2( 0, 0 )
+7/navigation_offset = Vector2( 0, 0 )
+7/shape_offset = Vector2( 0, 0 )
+7/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+7/shape = SubResource( 20 )
+7/shape_one_way = false
+7/shape_one_way_margin = 1.0
+7/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 20 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+7/z_index = 0
+8/name = "Grass 9"
+8/texture = ExtResource( 1 )
+8/tex_offset = Vector2( 0, 0 )
+8/modulate = Color( 1, 1, 1, 1 )
+8/region = Rect2( 0, 320, 70, 70 )
+8/tile_mode = 0
+8/occluder_offset = Vector2( 0, 0 )
+8/navigation_offset = Vector2( 0, 0 )
+8/shape_offset = Vector2( 0, 0 )
+8/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+8/shape = SubResource( 21 )
+8/shape_one_way = false
+8/shape_one_way_margin = 1.0
+8/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 21 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+8/z_index = 0
+9/name = "Grass 10"
+9/texture = ExtResource( 1 )
+9/tex_offset = Vector2( 0, 0 )
+9/modulate = Color( 1, 1, 1, 1 )
+9/region = Rect2( 80, 240, 70, 70 )
+9/tile_mode = 1
+9/autotile/bitmask_mode = 0
+9/autotile/bitmask_flags = [ ]
+9/autotile/icon_coordinate = Vector2( 0, 0 )
+9/autotile/tile_size = Vector2( 70, 70 )
+9/autotile/spacing = 10
+9/autotile/occluder_map = [ ]
+9/autotile/navpoly_map = [ ]
+9/autotile/priority_map = [ ]
+9/autotile/z_index_map = [ ]
+9/occluder_offset = Vector2( 0, 0 )
+9/navigation_offset = Vector2( 0, 0 )
+9/shape_offset = Vector2( 0, 0 )
+9/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+9/shape = SubResource( 22 )
+9/shape_one_way = false
+9/shape_one_way_margin = 1.0
+9/shapes = [ {
+"autotile_coord": Vector2( 1, 1 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 22 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 23 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+9/z_index = 0
+10/name = "Grass 11"
+10/texture = ExtResource( 1 )
+10/tex_offset = Vector2( 0, 0 )
+10/modulate = Color( 1, 1, 1, 1 )
+10/region = Rect2( 80, 320, 70, 70 )
+10/tile_mode = 0
+10/occluder_offset = Vector2( 0, 0 )
+10/navigation_offset = Vector2( 0, 0 )
+10/shape_offset = Vector2( 0, 0 )
+10/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+10/shape = SubResource( 17 )
+10/shape_one_way = false
+10/shape_one_way_margin = 1.0
+10/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 17 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+10/z_index = 0
+11/name = "Water 1"
+11/texture = ExtResource( 2 )
+11/tex_offset = Vector2( 0, 0 )
+11/modulate = Color( 1, 1, 1, 1 )
+11/region = Rect2( 80, 0, 70, 70 )
+11/tile_mode = 0
+11/occluder_offset = Vector2( 0, 0 )
+11/navigation_offset = Vector2( 0, 0 )
+11/shape_offset = Vector2( 0, 0 )
+11/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+11/shape_one_way = false
+11/shape_one_way_margin = 0.0
+11/shapes = [ ]
+11/z_index = 0
+12/name = "Water 2"
+12/texture = ExtResource( 2 )
+12/tex_offset = Vector2( 0, 0 )
+12/modulate = Color( 1, 1, 1, 1 )
+12/region = Rect2( 160, 0, 70, 70 )
+12/tile_mode = 0
+12/occluder_offset = Vector2( 0, 0 )
+12/navigation_offset = Vector2( 0, 0 )
+12/shape_offset = Vector2( 0, 0 )
+12/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+12/shape_one_way = false
+12/shape_one_way_margin = 0.0
+12/shapes = [ ]
+12/z_index = 0
+13/name = "Grass 13"
+13/texture = ExtResource( 1 )
+13/tex_offset = Vector2( 0, 0 )
+13/modulate = Color( 1, 1, 1, 1 )
+13/region = Rect2( 0, 400, 310, 70 )
+13/tile_mode = 1
+13/autotile/bitmask_mode = 1
+13/autotile/bitmask_flags = [ Vector2( 0, 0 ), 16, Vector2( 1, 0 ), 48, Vector2( 2, 0 ), 56, Vector2( 3, 0 ), 24 ]
+13/autotile/icon_coordinate = Vector2( 0, 0 )
+13/autotile/tile_size = Vector2( 70, 70 )
+13/autotile/spacing = 10
+13/autotile/occluder_map = [ ]
+13/autotile/navpoly_map = [ ]
+13/autotile/priority_map = [ ]
+13/autotile/z_index_map = [ ]
+13/occluder_offset = Vector2( 0, 0 )
+13/navigation_offset = Vector2( 0, 0 )
+13/shape_offset = Vector2( 0, 0 )
+13/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+13/shape = SubResource( 24 )
+13/shape_one_way = false
+13/shape_one_way_margin = 1.0
+13/shapes = [ {
+"autotile_coord": Vector2( 2, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 24 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 25 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 1, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 26 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+}, {
+"autotile_coord": Vector2( 3, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 27 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+13/z_index = 0
+14/name = "Grass 14"
+14/texture = ExtResource( 1 )
+14/tex_offset = Vector2( 0, 0 )
+14/modulate = Color( 1, 1, 1, 1 )
+14/region = Rect2( 80, 400, 70, 70 )
+14/tile_mode = 0
+14/occluder_offset = Vector2( 0, 0 )
+14/navigation_offset = Vector2( 0, 0 )
+14/shape_offset = Vector2( 0, 0 )
+14/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+14/shape = SubResource( 28 )
+14/shape_one_way = false
+14/shape_one_way_margin = 1.0
+14/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 28 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+14/z_index = 0
+15/name = "Grass 15"
+15/texture = ExtResource( 1 )
+15/tex_offset = Vector2( 0, 0 )
+15/modulate = Color( 1, 1, 1, 1 )
+15/region = Rect2( 240, 400, 70, 70 )
+15/tile_mode = 0
+15/occluder_offset = Vector2( 0, 0 )
+15/navigation_offset = Vector2( 0, 0 )
+15/shape_offset = Vector2( 0, 0 )
+15/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
+15/shape = SubResource( 29 )
+15/shape_one_way = false
+15/shape_one_way_margin = 1.0
+15/shapes = [ {
+"autotile_coord": Vector2( 0, 0 ),
+"one_way": false,
+"one_way_margin": 1.0,
+"shape": SubResource( 29 ),
+"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
+} ]
+15/z_index = 0
diff --git a/export_presets.cfg b/export_presets.cfg
index 6bcf94f..80ecbb9 100644
--- a/export_presets.cfg
+++ b/export_presets.cfg
@@ -7,7 +7,7 @@ custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
-export_path="../../Flopsy_the_Dog.exe"
+export_path="../../flopsy.exe"
script_export_mode=1
script_encryption_key=""
@@ -15,7 +15,7 @@ script_encryption_key=""
custom_template/debug=""
custom_template/release=""
-binary_format/64_bits=true
+binary_format/64_bits=false
binary_format/embed_pck=false
texture_format/bptc=false
texture_format/s3tc=true
@@ -30,7 +30,7 @@ codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PoolStringArray( )
-application/icon=""
+application/icon="res://common/icon.ico"
application/file_version=""
application/product_version=""
application/company_name=""
@@ -46,9 +46,9 @@ platform="Linux/X11"
runnable=true
custom_features=""
export_filter="all_resources"
-include_filter="*.ogg"
+include_filter=""
exclude_filter=""
-export_path="../../../../flopsy.x86_64"
+export_path="../../flopsy.x86_64"
script_export_mode=1
script_encryption_key=""
diff --git a/objects/characters/character.gd b/objects/characters/character.gd
index b06eec6..a44b76f 100644
--- a/objects/characters/character.gd
+++ b/objects/characters/character.gd
@@ -1,19 +1,20 @@
extends KinematicBody2D
-var motion = Vector2(0, 0)
-const UP = Vector2(0, -1)
-const GRAVITY = 30
+const GRAVITY = 2000.0
+const SNAP = Vector2(0, 100)
+var velocity = Vector2(0, 0)
+var snap = SNAP
export var health : int = 100
-func _process_gravity():
+func _process_gravity(delta):
if not is_on_floor():
- motion.y += GRAVITY
+ velocity.y += delta * GRAVITY
else:
- motion.y = 1
+ velocity.y = 1
if is_on_ceiling():
- motion.y = GRAVITY
+ velocity.y = 1
func _physics_process(delta):
- if motion != null:
- move_and_slide(motion, UP)
- _process_gravity()
+ if velocity != null:
+ move_and_slide_with_snap(velocity, snap, Vector2(0, -1))
+ _process_gravity(delta)
diff --git a/objects/characters/monsters/01/monster_01.gd b/objects/characters/monsters/01/monster_01.gd
index 68ddb45..87851d0 100644
--- a/objects/characters/monsters/01/monster_01.gd
+++ b/objects/characters/monsters/01/monster_01.gd
@@ -1,11 +1,11 @@
extends "res://objects/characters/monsters/monster.gd"
func _process(delta):
- if motion != null:
+ if velocity != null:
if not $RayBottomLeft.is_colliding():
- motion.x = speed
+ velocity.x = speed
if not $RayBottomRight.is_colliding():
- motion.x = -speed
+ velocity.x = -speed
if $RayPlayerLeft.is_colliding():
var collider = $RayPlayerLeft.get_collider()
collider.monster_hit(-speed, DAMAGE)
diff --git a/objects/characters/monsters/01/monster_01.tscn b/objects/characters/monsters/01/monster_01.tscn
index cec7c91..139d521 100644
--- a/objects/characters/monsters/01/monster_01.tscn
+++ b/objects/characters/monsters/01/monster_01.tscn
@@ -74,4 +74,4 @@ cast_to = Vector2( 10, 0 )
[node name="StampedSound" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 16 )
-volume_db = 20.0
+volume_db = 10.0
diff --git a/objects/characters/monsters/monster.gd b/objects/characters/monsters/monster.gd
index c9cbcc9..f2fa3eb 100644
--- a/objects/characters/monsters/monster.gd
+++ b/objects/characters/monsters/monster.gd
@@ -6,15 +6,15 @@ const DAMAGE = 5
func _ready():
if reverse_direction:
- motion.x = -speed
+ velocity.x = -speed
else:
- motion.x = speed
+ velocity.x = speed
func _process(delta):
- if motion != null:
- if motion.x > 0:
+ if velocity != null:
+ if velocity.x > 0:
$Sprite.flip_h = true
- elif motion.x < 0:
+ elif velocity.x < 0:
$Sprite.flip_h = false
if health <= 0:
_die()
@@ -23,5 +23,5 @@ func stomped_on_head():
pass
func _die():
- motion = null
+ velocity = null
$Collision.disabled = true
diff --git a/objects/characters/player.gd b/objects/characters/player.gd
index 418e063..a7ec011 100644
--- a/objects/characters/player.gd
+++ b/objects/characters/player.gd
@@ -76,9 +76,9 @@ func _ready():
$Sprite.animation = ANIMATIONS[player_state]['animation']
func _physics_process(delta):
- if motion.y > 5 * GRAVITY and not $RayBottomLeft.is_colliding() and not $RayBottomRight.is_colliding():
+ if velocity.y > 1 and not is_on_floor():
_set_player_state("fall_start")
-
+
if Input.is_action_pressed("move_left") and not Input.is_action_pressed("move_right") \
and not player_state in ["striked_start", "striked", "striked_end"]:
move_left(SPEED)
@@ -89,6 +89,7 @@ func _physics_process(delta):
move_stop()
if is_on_floor():
+ snap = SNAP
_end_animation()
if Input.is_action_just_pressed("jump"):
@@ -109,41 +110,42 @@ func _set_player_state(new_state):
func move_right(delta):
_set_player_state("run")
get_node("Sprite").set_flip_h(false)
- motion.x = delta
+ velocity.x = delta
func move_left(delta):
_set_player_state("run")
get_node("Sprite").set_flip_h(true)
- motion.x = -delta
+ velocity.x = -delta
func move_stop():
_set_player_state("idle")
- motion.x = 0
+ velocity.x = 0
func jump():
if _set_player_state("jump_start"):
+ snap = Vector2.ZERO
if get_floor_velocity().y < 0:
position.y += get_floor_velocity().y * get_physics_process_delta_time() \
- GRAVITY * get_physics_process_delta_time() - 3
- motion.y -= JUMP_HEIGHT
+ velocity.y -= JUMP_HEIGHT
func _on_GroundCheck_body_entered(body):
_end_animation()
func _end_animation():
- if motion.y > 0 and player_state in ["jump_start", "jump"]:
+ if velocity.y > 0 and player_state in ["jump_start", "jump"]:
_set_player_state("jump_end")
- if motion.y > 0 and player_state in ["fall_start", "fall"]:
+ if velocity.y > 0 and player_state in ["fall_start", "fall"]:
_set_player_state("fall_end")
- if motion.y > 0 and player_state in ["striked_start", "striked"]:
+ if velocity.y > 0 and player_state in ["striked_start", "striked"]:
_set_player_state("striked_end")
func monster_hit(direction : int, damage: int):
if not invincible_hit:
invincible_hit = true
_set_player_state("striked_start")
- motion.y = -STRIKED_HEIGHT
- motion.x = direction * 5
+ velocity.y = -STRIKED_HEIGHT
+ velocity.x = direction * 5
yield(get_tree().create_timer(1.0), "timeout")
invincible_hit = false
@@ -155,6 +157,6 @@ func coin_collected(value):
main.add_score(value)
func _on_screen_exited():
- if motion.y > 1:
+ if velocity.y > 1:
health = 0
main.player_died()
diff --git a/objects/characters/player.tscn b/objects/characters/player.tscn
index 8732c81..edbe0ca 100644
--- a/objects/characters/player.tscn
+++ b/objects/characters/player.tscn
@@ -20,7 +20,7 @@ script = ExtResource( 11 )
[node name="Sprite" type="AnimatedSprite" parent="."]
frames = ExtResource( 1 )
animation = "idle"
-frame = 8
+frame = 6
playing = true
__meta__ = {
"_edit_lock_": true
@@ -45,16 +45,18 @@ limit_smoothed = true
smoothing_enabled = true
[node name="RayBottomLeft" type="RayCast2D" parent="."]
-position = Vector2( -184, 212 )
+position = Vector2( -184, 0 )
enabled = true
-cast_to = Vector2( 0, 60 )
+cast_to = Vector2( 0, 400 )
collision_mask = 6
+collide_with_areas = true
[node name="RayBottomRight" type="RayCast2D" parent="."]
-position = Vector2( 138, 212 )
+position = Vector2( 154, 0 )
enabled = true
-cast_to = Vector2( 0, 60 )
+cast_to = Vector2( 0, 400 )
collision_mask = 6
+collide_with_areas = true
[node name="EnemyBottomCheck" type="Area2D" parent="."]
collision_mask = 2
diff --git a/objects/coin/coin.tscn b/objects/coin/coin.tscn
index 726af2c..4151465 100644
--- a/objects/coin/coin.tscn
+++ b/objects/coin/coin.tscn
@@ -68,7 +68,7 @@ shape = SubResource( 3 )
[node name="SoundCollected" type="AudioStreamPlayer2D" parent="."]
stream = ExtResource( 20 )
-volume_db = 20.0
+volume_db = -12.0
[connection signal="body_entered" from="PlayerCollision" to="." method="_on_Player_entered"]
[connection signal="finished" from="SoundCollected" to="." method="_on_SoundCollected_finished"]
diff --git a/objects/speech_bubble/speech_bubble.tscn b/objects/speech_bubble/speech_bubble.tscn
index 7270681..9fd846a 100644
--- a/objects/speech_bubble/speech_bubble.tscn
+++ b/objects/speech_bubble/speech_bubble.tscn
@@ -28,6 +28,7 @@ tracks/0/keys = {
}
[node name="SpeechBubble" type="ReferenceRect"]
+modulate = Color( 1, 1, 1, 0 )
margin_right = 490.0
margin_bottom = 175.0
script = ExtResource( 1 )
@@ -141,4 +142,4 @@ anims/fade = SubResource( 1 )
[node name="TypeSound" type="AudioStreamPlayer" parent="."]
stream = ExtResource( 7 )
-volume_db = 15.0
+volume_db = -14.0
diff --git a/scenes/levels/01/level_01.tscn b/scenes/levels/01/level_01.tscn
index 1bd9011..08425b7 100644
--- a/scenes/levels/01/level_01.tscn
+++ b/scenes/levels/01/level_01.tscn
@@ -3,7 +3,7 @@
[ext_resource path="res://scenes/levels/01/background_01.tscn" type="PackedScene" id=1]
[ext_resource path="res://scenes/levels/01/level_01.gd" type="Script" id=2]
[ext_resource path="res://objects/characters/flake/flake.tscn" type="PackedScene" id=3]
-[ext_resource path="res://scenes/levels/01/tilemap.tscn" type="PackedScene" id=4]
+[ext_resource path="res://common/tiles/base.tres" type="TileSet" id=4]
[ext_resource path="res://objects/coin/coin.tscn" type="PackedScene" id=5]
[ext_resource path="res://objects/characters/monsters/01/monster_01.tscn" type="PackedScene" id=6]
[ext_resource path="res://objects/characters/player.tscn" type="PackedScene" id=7]
@@ -18,12 +18,18 @@ position = Vector2( 105, 910 )
scale = Vector2( 0.2, 0.2 )
background_scene = ExtResource( 1 )
-[node name="Tiles" parent="." instance=ExtResource( 4 )]
-
[node name="monster_01" parent="." instance=ExtResource( 6 )]
position = Vector2( 1015, 945 )
reverse_direction = true
+[node name="TileMap" type="TileMap" parent="."]
+tile_set = ExtResource( 4 )
+cell_size = Vector2( 70, 70 )
+collision_layer = 4
+collision_mask = 0
+format = 1
+tile_data = PoolIntArray( 524305, 1, 0, 524306, 1, 1, 524307, 1, 1, 524308, 1, 1, 524309, 1, 2, 589835, 1, 0, 589836, 1, 1, 589837, 1, 1, 589838, 1, 2, 786449, 0, 1, 786450, 0, 2, 786451, 0, 3, 786459, 1, 0, 786460, 4, 0, 786461, 4, 0, 786462, 4, 0, 786463, 4, 0, 786464, 7, 0, 851990, 9, 0, 851991, 4, 0, 851992, 15, 0, 851996, 5, 0, 851997, 5, 0, 851998, 5, 0, 851999, 5, 0, 852000, 8, 0, 852001, 7, 0, 983039, 4, 0, 917504, 4, 0, 917505, 4, 0, 917506, 4, 0, 917507, 4, 0, 917508, 4, 0, 917509, 4, 0, 917510, 4, 0, 917511, 4, 0, 917512, 4, 0, 917513, 4, 0, 917514, 4, 0, 917515, 4, 0, 917516, 4, 0, 917517, 4, 0, 917518, 4, 0, 917519, 7, 0, 917525, 9, 0, 917526, 10, 0, 917527, 5, 0, 917528, 5, 0, 917529, 11, 0, 917530, 11, 0, 917531, 11, 0, 917532, 5, 0, 917533, 4, 0, 917534, 4, 0, 917535, 4, 0, 917536, 5, 0, 917537, 8, 0, 917538, 7, 0, 1048575, 5, 0, 983040, 5, 0, 983041, 5, 0, 983042, 5, 0, 983043, 5, 0, 983044, 5, 0, 983045, 5, 0, 983046, 5, 0, 983047, 5, 0, 983048, 5, 0, 983049, 5, 0, 983050, 5, 0, 983051, 5, 0, 983052, 5, 0, 983053, 5, 0, 983054, 5, 0, 983055, 8, 0, 983056, 4, 0, 983057, 4, 0, 983058, 4, 0, 983059, 4, 0, 983060, 4, 0, 983061, 10, 0, 983062, 5, 0, 983063, 5, 0, 983064, 5, 0, 983065, 12, 0, 983066, 12, 0, 983067, 12, 0, 983068, 5, 0, 983069, 5, 0, 983070, 5, 0, 983071, 5, 0, 983072, 5, 0, 983073, 5, 0, 983074, 8, 0, 983075, 4, 0, 983076, 4, 0, 983077, 4, 0, 983078, 4, 0, 983079, 4, 0, 983080, 4, 0, 983081, 4, 0 )
+
[node name="Coin" parent="." instance=ExtResource( 5 )]
position = Vector2( 315, 700 )
@@ -43,10 +49,10 @@ position = Vector2( 1435, 420 )
type = 2
[node name="Lift" parent="." instance=ExtResource( 8 )]
-margin_left = 2485.0
-margin_top = 140.0
-margin_right = 2865.0
-margin_bottom = 965.0
+margin_left = 2491.0
+margin_top = 146.0
+margin_right = 2871.0
+margin_bottom = 971.0
[node name="Coin6" parent="." instance=ExtResource( 5 )]
position = Vector2( 3010, 70 )
@@ -72,7 +78,7 @@ type = 1
position = Vector2( 3185, 105 )
[node name="Flake" parent="." instance=ExtResource( 3 )]
-position = Vector2( 3850, -140 )
+position = Vector2( 2774, 164 )
scale = Vector2( 0.2, 0.2 )
reverse_direction = true
flake_scene = "res://scenes/levels/01/interlude_01.tscn"
diff --git a/scenes/levels/01/tilemap.tscn b/scenes/levels/01/tilemap.tscn
index 7d036e1..ca7d9ce 100644
--- a/scenes/levels/01/tilemap.tscn
+++ b/scenes/levels/01/tilemap.tscn
@@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=2]
-[ext_resource path="res://common/tilemap/tilemap.tres" type="TileSet" id=1]
+[ext_resource path="res://common/tiles/base.tres" type="TileSet" id=1]
[node name="Tiles" type="TileMap"]
tile_set = ExtResource( 1 )
@@ -8,4 +8,3 @@ cell_size = Vector2( 70, 70 )
collision_layer = 4
collision_mask = 0
format = 1
-tile_data = PoolIntArray( -65485, 2, 1, -65484, 2, 2, -65483, 2, 2, -65482, 2, 2, -65481, 2, 3, 131114, 2, 1, 131115, 2, 2, 131116, 2, 2, 131117, 2, 2, 131118, 2, 2, 131119, 2, 2, 131120, 2, 3, 458769, 2, 1, 458770, 2, 2, 458771, 2, 2, 458772, 2, 2, 458773, 2, 3, 589835, 2, 1, 589836, 2, 2, 589837, 2, 2, 589838, 2, 3, 720912, 2, 0, 917504, 0, 1, 917505, 0, 2, 917506, 0, 2, 917507, 0, 2, 917508, 0, 2, 917509, 0, 2, 917510, 0, 2, 917511, 0, 2, 917512, 0, 2, 917513, 0, 2, 917514, 0, 2, 917515, 0, 2, 917516, 0, 2, 917517, 0, 2, 917518, 0, 2, 917519, 0, 2, 917520, 0, 2, 917521, 0, 2, 917522, 0, 2, 917523, 0, 2, 917524, 0, 2, 917525, 0, 2, 917526, 0, 2, 917527, 0, 2, 917528, 0, 3, 917532, 0, 1, 917533, 0, 2, 917534, 0, 2, 917535, 0, 2, 917536, 0, 2, 917537, 0, 2, 917538, 0, 3 )
diff --git a/scenes/levels/02/background_02.tscn b/scenes/levels/02/background_02.tscn
index 1ed0aca..120e784 100644
--- a/scenes/levels/02/background_02.tscn
+++ b/scenes/levels/02/background_02.tscn
@@ -100,3 +100,6 @@ position = Vector2( 1536, 975 )
texture = ExtResource( 1 )
region_enabled = true
region_rect = Rect2( 0, 0, 3072, 342 )
+
+[node name="CanvasModulate" type="CanvasModulate" parent="."]
+color = Color( 0.8, 0.8, 0.8, 1 )
diff --git a/scenes/levels/02/level_02.tscn b/scenes/levels/02/level_02.tscn
index bcdbb6d..22591a1 100644
--- a/scenes/levels/02/level_02.tscn
+++ b/scenes/levels/02/level_02.tscn
@@ -1,7 +1,7 @@
[gd_scene load_steps=5 format=2]
[ext_resource path="res://scenes/levels/02/level_02.gd" type="Script" id=1]
-[ext_resource path="res://common/tilemap/tilemap.tres" type="TileSet" id=2]
+[ext_resource path="res://common/tiles/base.tres" type="TileSet" id=2]
[ext_resource path="res://objects/characters/player.tscn" type="PackedScene" id=3]
[ext_resource path="res://scenes/levels/02/background_02.tscn" type="PackedScene" id=4]
@@ -12,15 +12,16 @@ hud_color = Color( 1, 1, 1, 1 )
clear_color = Color( 0.0431373, 0.298039, 0.403922, 1 )
[node name="Player" parent="." instance=ExtResource( 3 )]
-modulate = Color( 0.5, 0.5, 0.5, 1 )
position = Vector2( 136, 808 )
scale = Vector2( 0.2, 0.2 )
background_scene = ExtResource( 4 )
[node name="Tiles" type="TileMap" parent="."]
-modulate = Color( 0.5, 0.5, 0.5, 1 )
tile_set = ExtResource( 2 )
collision_layer = 4
collision_mask = 0
format = 1
tile_data = PoolIntArray( 917505, 0, 1, 917506, 0, 2, 917507, 0, 2, 917508, 0, 2, 917509, 0, 2, 917510, 0, 2, 917511, 0, 2, 917512, 0, 2, 917513, 0, 2, 917514, 0, 2, 917515, 0, 2, 917516, 0, 2, 917517, 0, 2, 917518, 0, 2, 917519, 0, 2, 917520, 0, 2, 917521, 0, 2, 917522, 0, 2, 917523, 0, 2, 917524, 0, 2, 917525, 0, 2, 917526, 0, 2, 917527, 0, 2, 917528, 0, 2, 917529, 0, 2, 917530, 0, 2, 917531, 0, 2, 917532, 0, 2, 917533, 0, 2, 917534, 0, 2, 917535, 0, 2, 917536, 0, 2, 917537, 0, 2, 917538, 0, 2, 917539, 0, 2, 917540, 0, 2, 917541, 0, 2, 917542, 0, 2, 917543, 0, 2, 917544, 0, 0, 983080, 0, 0, 983081, 0, 2, 983082, 0, 2, 983083, 0, 2, 983084, 0, 3 )
+
+[node name="CanvasModulate" type="CanvasModulate" parent="."]
+color = Color( 0.5, 0.5, 0.5, 1 )
diff --git a/scenes/main.gd b/scenes/main.gd
index f42324d..04b506c 100644
--- a/scenes/main.gd
+++ b/scenes/main.gd
@@ -25,7 +25,7 @@ func load_level(next_scene := level_path, fade_out : bool = false):
add_child(current_level)
play_bgm(current_level.bgm_path)
$HUD.scene_fadein()
- $BGM.volume_db = 10
+ $BGM.volume_db = -5
func play_bgm(bgm_path):
var stream
diff --git a/scenes/main.tscn b/scenes/main.tscn
index 556d900..bb99328 100644
--- a/scenes/main.tscn
+++ b/scenes/main.tscn
@@ -15,17 +15,17 @@ tracks/0/keys = {
"times": PoolRealArray( 0, 1 ),
"transitions": PoolRealArray( 1, 1 ),
"update": 0,
-"values": [ 10.0, -80.0 ]
+"values": [ -5.0, -80.0 ]
}
[node name="Main" type="Node2D"]
script = ExtResource( 3 )
-level_path = "res://scenes/levels/02/level_02.tscn"
+level_path = "res://scenes/levels/01/level_01.tscn"
[node name="HUD" parent="." instance=ExtResource( 1 )]
[node name="BGM" type="AudioStreamPlayer" parent="."]
-volume_db = 10.0
+volume_db = -20.0
[node name="Fader" type="AnimationPlayer" parent="BGM"]
anims/fade_out = SubResource( 2 )