diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..24a8e87 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.png filter=lfs diff=lfs merge=lfs -text diff --git a/assets/misc/ExternalFrame.tscn b/assets/misc/ExternalFrame.tscn new file mode 100644 index 0000000..205f723 --- /dev/null +++ b/assets/misc/ExternalFrame.tscn @@ -0,0 +1,507 @@ +[gd_scene load_steps=23 format=2] + +[ext_resource path="res://assets/worlds/tiles/city.png" type="Texture" id=1] + +[sub_resource type="ConvexPolygonShape2D" id=1] +points = PoolVector2Array( 0, 0, 48, 0, 48, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=2] +points = PoolVector2Array( 0, 0, 48, 0, 48, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=3] +points = PoolVector2Array( 0, 0, 16, 0, 16, 48, 0, 48 ) + +[sub_resource type="ConvexPolygonShape2D" id=4] +points = PoolVector2Array( 0, 0, 32, 0, 32, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=5] +points = PoolVector2Array( 0, 0, 16, 0, 16, 48, 0, 48 ) + +[sub_resource type="ConvexPolygonShape2D" id=6] +points = PoolVector2Array( 0, 0, 32, 0, 32, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=7] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=8] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=9] +points = PoolVector2Array( 0, 0, 16, 0, 16, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=10] +points = PoolVector2Array( 0, 0, 16, 0, 16, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=11] +points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 ) + +[sub_resource type="ConvexPolygonShape2D" id=12] +points = PoolVector2Array( 0, 0, 32, 0, 32, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=13] +points = PoolVector2Array( 64, 0, 48, 16, 16, 16, 0, 0, 16, 0, 16, 0, 16, 0 ) + +[sub_resource type="ConvexPolygonShape2D" id=14] +points = PoolVector2Array( 0, 0, 16, 0, 16, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=15] +points = PoolVector2Array( 0, 0, 48, 0, 48, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=16] +points = PoolVector2Array( 0, 0, 16, 0, 16, 32, 0, 32 ) + +[sub_resource type="ConvexPolygonShape2D" id=17] +points = PoolVector2Array( 0, 0, 48, 0, 48, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=18] +points = PoolVector2Array( 0, 0, 16, 0, 16, 48, 0, 48 ) + +[sub_resource type="ConvexPolygonShape2D" id=19] +points = PoolVector2Array( 0, 0, 48, 0, 48, 64, 0, 64 ) + +[sub_resource type="ConvexPolygonShape2D" id=20] +points = PoolVector2Array( 0, 0, 16, 0, 16, 32, 0, 32 ) + +[sub_resource type="TileSet" id=21] +0/name = "Window1" +0/texture = ExtResource( 1 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 224, 16, 48, 64 ) +0/tile_mode = 0 +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 ) +} ] +0/z_index = 0 +1/name = "Window2" +1/texture = ExtResource( 1 ) +1/tex_offset = Vector2( 0, 0 ) +1/modulate = Color( 1, 1, 1, 1 ) +1/region = Rect2( 224, 96, 48, 64 ) +1/tile_mode = 0 +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( 2 ) +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( 2 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +1/z_index = 0 +2/name = "AirConditioner" +2/texture = ExtResource( 1 ) +2/tex_offset = Vector2( 0, 0 ) +2/modulate = Color( 1, 1, 1, 1 ) +2/region = Rect2( 176, 144, 32, 32 ) +2/tile_mode = 0 +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( 12 ) +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( 12 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +2/z_index = 0 +3/name = "Ladder" +3/texture = ExtResource( 1 ) +3/tex_offset = Vector2( 0, 0 ) +3/modulate = Color( 1, 1, 1, 1 ) +3/region = Rect2( 32, 96, 16, 32 ) +3/tile_mode = 0 +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( 14 ) +3/shape_one_way = false +3/shape_one_way_margin = 1.0 +3/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 14 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +3/z_index = 0 +4/name = "Pipes1" +4/texture = ExtResource( 1 ) +4/tex_offset = Vector2( 0, 0 ) +4/modulate = Color( 1, 1, 1, 1 ) +4/region = Rect2( 160, 96, 48, 32 ) +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( 15 ) +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( 15 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +4/z_index = 0 +5/name = "Pipe2" +5/texture = ExtResource( 1 ) +5/tex_offset = Vector2( 0, 0 ) +5/modulate = Color( 1, 1, 1, 1 ) +5/region = Rect2( 352, 96, 16, 32 ) +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( 16 ) +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( 16 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +5/z_index = 0 +6/name = "Window3" +6/texture = ExtResource( 1 ) +6/tex_offset = Vector2( 0, 0 ) +6/modulate = Color( 1, 1, 1, 1 ) +6/region = Rect2( 224, 176, 48, 64 ) +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( 17 ) +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( 17 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +6/z_index = 0 +7/name = "Pipe3" +7/texture = ExtResource( 1 ) +7/tex_offset = Vector2( 0, 0 ) +7/modulate = Color( 1, 1, 1, 1 ) +7/region = Rect2( 64, 96, 16, 48 ) +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( 18 ) +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( 18 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +7/z_index = 0 +8/name = "Window4" +8/texture = ExtResource( 1 ) +8/tex_offset = Vector2( 0, 0 ) +8/modulate = Color( 1, 1, 1, 1 ) +8/region = Rect2( 48, 16, 48, 64 ) +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( 19 ) +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( 19 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +8/z_index = 0 +9/name = "Cable1" +9/texture = ExtResource( 1 ) +9/tex_offset = Vector2( 0, 0 ) +9/modulate = Color( 1, 1, 1, 1 ) +9/region = Rect2( 64, 160, 16, 32 ) +9/tile_mode = 0 +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( 20 ) +9/shape_one_way = false +9/shape_one_way_margin = 1.0 +9/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 ) +} ] +9/z_index = 0 +10/name = "Light1" +10/texture = ExtResource( 1 ) +10/tex_offset = Vector2( 0, 0 ) +10/modulate = Color( 1, 1, 1, 1 ) +10/region = Rect2( 112, 96, 32, 64 ) +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_one_way = false +10/shape_one_way_margin = 0.0 +10/shapes = [ ] +10/z_index = 0 +11/name = "WallLeft1" +11/texture = ExtResource( 1 ) +11/tex_offset = Vector2( 0, 0 ) +11/modulate = Color( 1, 1, 1, 1 ) +11/region = Rect2( 16, 16, 16, 48 ) +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 = SubResource( 3 ) +11/shape_one_way = false +11/shape_one_way_margin = 1.0 +11/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 3 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +11/z_index = 0 +12/name = "WallLeft2" +12/texture = ExtResource( 1 ) +12/tex_offset = Vector2( 0, 0 ) +12/modulate = Color( 1, 1, 1, 1 ) +12/region = Rect2( 144, 16, 32, 64 ) +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 = SubResource( 4 ) +12/shape_one_way = false +12/shape_one_way_margin = 1.0 +12/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 4 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +12/z_index = 0 +13/name = "WallRight1" +13/texture = ExtResource( 1 ) +13/tex_offset = Vector2( 0, 0 ) +13/modulate = Color( 1, 1, 1, 1 ) +13/region = Rect2( 112, 16, 16, 48 ) +13/tile_mode = 0 +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( 5 ) +13/shape_one_way = false +13/shape_one_way_margin = 1.0 +13/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 ) +} ] +13/z_index = 0 +14/name = "WallRight2" +14/texture = ExtResource( 1 ) +14/tex_offset = Vector2( 0, 0 ) +14/modulate = Color( 1, 1, 1, 1 ) +14/region = Rect2( 288, 16, 32, 64 ) +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( 6 ) +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( 6 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +14/z_index = 0 +15/name = "Console1" +15/texture = ExtResource( 1 ) +15/tex_offset = Vector2( 0, 0 ) +15/modulate = Color( 1, 1, 1, 1 ) +15/region = Rect2( 320, 96, 16, 16 ) +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( 7 ) +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( 7 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +15/z_index = 0 +16/name = "Console2" +16/texture = ExtResource( 1 ) +16/tex_offset = Vector2( 0, 0 ) +16/modulate = Color( 1, 1, 1, 1 ) +16/region = Rect2( 320, 112, 16, 16 ) +16/tile_mode = 0 +16/occluder_offset = Vector2( 0, 0 ) +16/navigation_offset = Vector2( 0, 0 ) +16/shape_offset = Vector2( 0, 0 ) +16/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +16/shape = SubResource( 8 ) +16/shape_one_way = false +16/shape_one_way_margin = 1.0 +16/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 ) +} ] +16/z_index = 0 +17/name = "Grid1" +17/texture = ExtResource( 1 ) +17/tex_offset = Vector2( 0, 0 ) +17/modulate = Color( 1, 1, 1, 1 ) +17/region = Rect2( 288, 96, 16, 32 ) +17/tile_mode = 0 +17/occluder_offset = Vector2( 0, 0 ) +17/navigation_offset = Vector2( 0, 0 ) +17/shape_offset = Vector2( 0, 0 ) +17/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +17/shape = SubResource( 9 ) +17/shape_one_way = false +17/shape_one_way_margin = 1.0 +17/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 9 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +17/z_index = 0 +18/name = "WallCentral1" +18/texture = ExtResource( 1 ) +18/tex_offset = Vector2( 0, 0 ) +18/modulate = Color( 1, 1, 1, 1 ) +18/region = Rect2( 192, 16, 16, 64 ) +18/tile_mode = 0 +18/occluder_offset = Vector2( 0, 0 ) +18/navigation_offset = Vector2( 0, 0 ) +18/shape_offset = Vector2( 0, 0 ) +18/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +18/shape = SubResource( 10 ) +18/shape_one_way = false +18/shape_one_way_margin = 1.0 +18/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 10 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +18/z_index = 0 +19/name = "WallCentral2" +19/texture = ExtResource( 1 ) +19/tex_offset = Vector2( 0, 0 ) +19/modulate = Color( 1, 1, 1, 1 ) +19/region = Rect2( 336, 16, 16, 16 ) +19/tile_mode = 0 +19/occluder_offset = Vector2( 0, 0 ) +19/navigation_offset = Vector2( 0, 0 ) +19/shape_offset = Vector2( 0, 0 ) +19/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +19/shape = SubResource( 11 ) +19/shape_one_way = false +19/shape_one_way_margin = 1.0 +19/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 11 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +19/z_index = 0 +20/name = "Platform1" +20/texture = ExtResource( 1 ) +20/tex_offset = Vector2( 0, 0 ) +20/modulate = Color( 1, 1, 1, 1 ) +20/region = Rect2( 96, 176, 64, 16 ) +20/tile_mode = 0 +20/occluder_offset = Vector2( 0, 0 ) +20/navigation_offset = Vector2( 0, 0 ) +20/shape_offset = Vector2( 0, 0 ) +20/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) +20/shape = SubResource( 13 ) +20/shape_one_way = false +20/shape_one_way_margin = 1.0 +20/shapes = [ { +"autotile_coord": Vector2( 0, 0 ), +"one_way": false, +"one_way_margin": 1.0, +"shape": SubResource( 13 ), +"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) +} ] +20/z_index = 0 + +[node name="CityTiles" type="TileMap"] +tile_set = SubResource( 21 ) +cell_size = Vector2( 16, 16 ) +collision_layer = 4 +collision_mask = 0 +format = 1 +tile_data = PoolIntArray( -65536, 19, 0, -65535, 19, 0, -65534, 19, 0, -65533, 19, 0, -65532, 19, 0, -65531, 19, 0, -65530, 19, 0, -65529, 19, 0, -65528, 19, 0, -65527, 19, 0, -65526, 19, 0, -65525, 19, 0, -65524, 19, 0, -65523, 19, 0, -65522, 19, 0, -65521, 19, 0, -65520, 19, 0, -65519, 19, 0, -65518, 19, 0, -65517, 19, 0, -65516, 19, 0, -65515, 19, 0, -65514, 19, 0, -65513, 19, 0, -65512, 19, 0, -65511, 19, 0, -65510, 19, 0, -65509, 19, 0, -65508, 19, 0, -65507, 19, 0, -65506, 19, 0, 0, 15, 0, 1, 13, 0, 20, 11, 0, 30, 13, 0, 65536, 9, 0, 131072, 9, 0, 196608, 9, 0, 196609, 13, 0, 196628, 11, 0, 196638, 13, 0, 327680, 9, 0, 393216, 16, 0, 393217, 13, 0, 393236, 11, 0, 393237, 19, 0, 393238, 19, 0, 393239, 19, 0, 393240, 19, 0, 393241, 19, 0, 393242, 19, 0, 393243, 19, 0, 393244, 19, 0, 393245, 19, 0, 393246, 13, 0, 458752, 9, 0, 458779, 8, 0, 524288, 9, 0, 589825, 13, 0, 589844, 11, 0, 589854, 13, 0, 655360, 15, 0, 720896, 9, 0, 720923, 2, 0, 720925, 5, 0, 786433, 13, 0, 786452, 11, 0, 786462, 13, 0, 851968, 9, 0, 851995, 3, 0, 851996, 16, 0, 851997, 5, 0, 917532, 9, 0, 983040, 9, 0, 983041, 13, 0, 983060, 11, 0, 983066, 20, 0, 983069, 5, 0, 983070, 13, 0, 1048576, 9, 0, 1048603, 0, 0, 1114112, 9, 0, 1179649, 13, 0, 1179668, 11, 0, 1179678, 13, 0, 1245184, 16, 0, 1310720, 9, 0, 1310722, 19, 0, 1310723, 19, 0, 1310724, 19, 0, 1310725, 19, 0, 1310726, 19, 0, 1310727, 19, 0, 1310728, 19, 0, 1310729, 19, 0, 1310730, 19, 0, 1310731, 19, 0, 1310732, 19, 0, 1310733, 19, 0, 1310734, 19, 0, 1310735, 19, 0, 1310736, 19, 0, 1310737, 19, 0, 1310738, 19, 0, 1310739, 19, 0, 1310740, 19, 0, 1310741, 19, 0, 1310742, 19, 0, 1310743, 19, 0, 1310744, 19, 0, 1310745, 19, 0, 1310746, 19, 0, 1310747, 19, 0, 1310748, 19, 0, 1310749, 19, 0 ) diff --git a/assets/misc/Hitbox.tscn b/assets/misc/Hitbox.tscn new file mode 100644 index 0000000..c74ef33 --- /dev/null +++ b/assets/misc/Hitbox.tscn @@ -0,0 +1,5 @@ +[gd_scene format=2] + +[node name="Hitbox" type="Area2D"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] diff --git a/assets/misc/Hurtbox.tscn b/assets/misc/Hurtbox.tscn new file mode 100644 index 0000000..7edbcb4 --- /dev/null +++ b/assets/misc/Hurtbox.tscn @@ -0,0 +1,5 @@ +[gd_scene format=2] + +[node name="Hurtbox" type="Area2D"] + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] diff --git a/assets/players/Soldier.tscn b/assets/players/Soldier.tscn new file mode 100644 index 0000000..825f608 --- /dev/null +++ b/assets/players/Soldier.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://assets/players/soldier.png" type="Texture" id=1] +[ext_resource path="res://src/players/Soldier.gd" type="Script" id=2] + +[sub_resource type="CapsuleShape2D" id=1] +radius = 8.0 +height = 6.0 + +[node name="Soldier" type="KinematicBody2D"] +collision_mask = 6 +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +position = Vector2( 0, -4 ) +texture = ExtResource( 1 ) + +[node name="Body" type="CollisionShape2D" parent="."] +position = Vector2( 0, 3 ) +rotation = 1.5708 +shape = SubResource( 1 ) diff --git a/assets/players/soldier.png b/assets/players/soldier.png new file mode 100644 index 0000000..6ea92f2 --- /dev/null +++ b/assets/players/soldier.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c78ea764d12371615e9a35134abd83e60f39cf6630b2fdd86e5b7751452489a +size 2413 diff --git a/assets/players/soldier.png.import b/assets/players/soldier.png.import new file mode 100644 index 0000000..5656aff --- /dev/null +++ b/assets/players/soldier.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/soldier.png-251132fc7f17b9d0f270fd976aba38fd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/players/soldier.png" +dest_files=[ "res://.import/soldier.png-251132fc7f17b9d0f270fd976aba38fd.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/worlds/BasicWorld.tscn b/assets/worlds/BasicWorld.tscn new file mode 100644 index 0000000..060cbee --- /dev/null +++ b/assets/worlds/BasicWorld.tscn @@ -0,0 +1,60 @@ +[gd_scene load_steps=7 format=2] + +[ext_resource path="res://assets/players/Soldier.tscn" type="PackedScene" id=1] +[ext_resource path="res://assets/misc/ExternalFrame.tscn" type="PackedScene" id=2] +[ext_resource path="res://assets/worlds/backgrounds/near-buildings-bg.png" type="Texture" id=3] +[ext_resource path="res://assets/worlds/backgrounds/default-background.png" type="Texture" id=4] +[ext_resource path="res://assets/worlds/backgrounds/buildings-bg.png" type="Texture" id=7] + +[sub_resource type="TileSet" id=22] +0/name = "default-background.png 0" +0/texture = ExtResource( 4 ) +0/tex_offset = Vector2( 0, 0 ) +0/modulate = Color( 1, 1, 1, 1 ) +0/region = Rect2( 0, 0, 16, 16 ) +0/tile_mode = 1 +0/autotile/bitmask_mode = 0 +0/autotile/bitmask_flags = [ ] +0/autotile/icon_coordinate = Vector2( 0, 0 ) +0/autotile/tile_size = Vector2( 16, 16 ) +0/autotile/spacing = 0 +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_one_way = false +0/shape_one_way_margin = 0.0 +0/shapes = [ ] +0/z_index = 0 + +[node name="BasicWorld" type="Node2D"] + +[node name="BackgroundTile" type="TileMap" parent="."] +position = Vector2( 280, 216 ) +tile_set = SubResource( 22 ) +cell_size = Vector2( 16, 16 ) +format = 1 +tile_data = PoolIntArray( -851984, 0, 0, -851983, 0, 0, -851982, 0, 0, -851981, 0, 0, -851980, 0, 0, -851979, 0, 0, -851978, 0, 0, -851977, 0, 0, -851976, 0, 0, -851975, 0, 0, -851974, 0, 0, -851973, 0, 0, -851972, 0, 0, -851971, 0, 0, -851970, 0, 0, -851969, 0, 0, -917504, 0, 0, -917503, 0, 0, -917502, 0, 0, -786448, 0, 0, -786447, 0, 0, -786446, 0, 0, -786445, 0, 0, -786444, 0, 0, -786443, 0, 0, -786442, 0, 0, -786441, 0, 0, -786440, 0, 0, -786439, 0, 0, -786438, 0, 0, -786437, 0, 0, -786436, 0, 0, -786435, 0, 0, -786434, 0, 0, -786433, 0, 0, -851968, 0, 0, -851967, 0, 0, -851966, 0, 0, -720913, 0, 0, -720912, 0, 0, -720911, 0, 0, -720910, 0, 0, -720909, 0, 0, -720908, 0, 0, -720907, 0, 0, -720906, 0, 0, -720905, 0, 0, -720904, 0, 0, -720903, 0, 0, -720902, 0, 0, -720901, 0, 0, -720900, 0, 0, -720899, 0, 0, -720898, 0, 0, -720897, 0, 0, -786432, 0, 0, -786431, 0, 0, -786430, 0, 0, -655377, 0, 0, -655376, 0, 0, -655375, 0, 0, -655374, 0, 0, -655373, 0, 0, -655372, 0, 0, -655371, 0, 0, -655370, 0, 0, -655369, 0, 0, -655368, 0, 0, -655367, 0, 0, -655366, 0, 0, -655365, 0, 0, -655364, 0, 0, -655363, 0, 0, -655362, 0, 0, -655361, 0, 0, -720896, 0, 0, -720895, 0, 0, -720894, 0, 0, -589840, 0, 0, -589839, 0, 0, -589838, 0, 0, -589837, 0, 0, -589836, 0, 0, -589835, 0, 0, -589834, 0, 0, -589833, 0, 0, -589832, 0, 0, -589831, 0, 0, -589830, 0, 0, -589829, 0, 0, -589828, 0, 0, -589827, 0, 0, -589826, 0, 0, -589825, 0, 0, -655360, 0, 0, -655359, 0, 0, -655358, 0, 0, -524304, 0, 0, -524303, 0, 0, -524302, 0, 0, -524301, 0, 0, -524300, 0, 0, -524299, 0, 0, -524298, 0, 0, -524297, 0, 0, -524296, 0, 0, -524295, 0, 0, -524294, 0, 0, -524293, 0, 0, -524292, 0, 0, -524291, 0, 0, -524290, 0, 0, -524289, 0, 0, -589824, 0, 0, -589823, 0, 0, -589822, 0, 0, -458768, 0, 0, -458767, 0, 0, -458766, 0, 0, -458765, 0, 0, -458764, 0, 0, -458763, 0, 0, -458762, 0, 0, -458761, 0, 0, -458760, 0, 0, -458759, 0, 0, -458758, 0, 0, -458757, 0, 0, -458756, 0, 0, -458755, 0, 0, -458754, 0, 0, -458753, 0, 0, -524288, 0, 0, -524287, 0, 0, -524286, 0, 0, -393232, 0, 0, -393231, 0, 0, -393230, 0, 0, -393229, 0, 0, -393228, 0, 0, -393227, 0, 0, -393226, 0, 0, -393225, 0, 0, -393224, 0, 0, -393223, 0, 0, -393222, 0, 0, -393221, 0, 0, -393220, 0, 0, -393219, 0, 0, -393218, 0, 0, -393217, 0, 0, -458752, 0, 0, -458751, 0, 0, -458750, 0, 0, -327696, 0, 0, -327695, 0, 0, -327694, 0, 0, -327693, 0, 0, -327692, 0, 0, -327691, 0, 0, -327690, 0, 0, -327689, 0, 0, -327688, 0, 0, -327687, 0, 0, -327686, 0, 0, -327685, 0, 0, -327684, 0, 0, -327683, 0, 0, -327682, 0, 0, -327681, 0, 0, -393216, 0, 0, -393215, 0, 0, -393214, 0, 0, -262160, 0, 0, -262159, 0, 0, -262158, 0, 0, -262157, 0, 0, -262156, 0, 0, -262155, 0, 0, -262154, 0, 0, -262153, 0, 0, -262152, 0, 0, -262151, 0, 0, -262150, 0, 0, -262149, 0, 0, -262148, 0, 0, -262147, 0, 0, -262146, 0, 0, -262145, 0, 0, -327680, 0, 0, -327679, 0, 0, -327678, 0, 0, -196624, 0, 0, -196623, 0, 0, -196622, 0, 0, -196621, 0, 0, -196620, 0, 0, -196619, 0, 0, -196618, 0, 0, -196617, 0, 0, -196616, 0, 0, -196615, 0, 0, -196614, 0, 0, -196613, 0, 0, -196612, 0, 0, -196611, 0, 0, -196610, 0, 0, -196609, 0, 0, -262144, 0, 0, -262143, 0, 0, -262142, 0, 0, -131088, 0, 0, -131087, 0, 0, -131086, 0, 0, -131085, 0, 0, -131084, 0, 0, -131083, 0, 0, -131082, 0, 0, -131081, 0, 0, -131080, 0, 0, -131079, 0, 0, -131078, 0, 0, -131077, 0, 0, -131076, 0, 0, -131075, 0, 0, -131074, 0, 0, -131073, 0, 0, -196608, 0, 0, -196607, 0, 0, -196606, 0, 0, -65552, 0, 0, -65551, 0, 0, -65550, 0, 0, -65549, 0, 0, -65548, 0, 0, -65547, 0, 0, -65546, 0, 0, -65545, 0, 0, -65544, 0, 0, -65543, 0, 0, -65542, 0, 0, -65541, 0, 0, -65540, 0, 0, -65539, 0, 0, -65538, 0, 0, -65537, 0, 0, -131072, 0, 0, -131071, 0, 0, -131070, 0, 0, -16, 0, 0, -15, 0, 0, -14, 0, 0, -13, 0, 0, -12, 0, 0, -11, 0, 0, -10, 0, 0, -9, 0, 0, -8, 0, 0, -7, 0, 0, -6, 0, 0, -5, 0, 0, -4, 0, 0, -3, 0, 0, -2, 0, 0, -1, 0, 0, -65536, 0, 0, -65535, 0, 0, -65534, 0, 0, 65520, 0, 0, 65521, 0, 0, 65522, 0, 0, 65523, 0, 0, 65524, 0, 0, 65525, 0, 0, 65526, 0, 0, 65527, 0, 0, 65528, 0, 0, 65529, 0, 0, 65530, 0, 0, 65531, 0, 0, 65532, 0, 0, 65533, 0, 0, 65534, 0, 0, 65535, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 131056, 0, 0, 131057, 0, 0, 131058, 0, 0, 131059, 0, 0, 131060, 0, 0, 131061, 0, 0, 131062, 0, 0, 131063, 0, 0, 131064, 0, 0, 131065, 0, 0, 131066, 0, 0, 131067, 0, 0, 131068, 0, 0, 131069, 0, 0, 131070, 0, 0, 131071, 0, 0, 65536, 0, 0, 65537, 0, 0, 65538, 0, 0, 196592, 0, 0, 196593, 0, 0, 196594, 0, 0, 196595, 0, 0, 196596, 0, 0, 196597, 0, 0, 196598, 0, 0, 196599, 0, 0, 196600, 0, 0, 196601, 0, 0, 196602, 0, 0, 196603, 0, 0, 196604, 0, 0, 196605, 0, 0, 196606, 0, 0, 196607, 0, 0, 131072, 0, 0, 131073, 0, 0, 131074, 0, 0, 262128, 0, 0, 262129, 0, 0, 262130, 0, 0, 262131, 0, 0, 262132, 0, 0, 262133, 0, 0, 262134, 0, 0, 262135, 0, 0, 262136, 0, 0, 262137, 0, 0, 262138, 0, 0, 262139, 0, 0, 262140, 0, 0, 262141, 0, 0, 262142, 0, 0, 262143, 0, 0, 196608, 0, 0, 196609, 0, 0, 196610, 0, 0, 327664, 0, 0, 327665, 0, 0, 327666, 0, 0, 327667, 0, 0, 327668, 0, 0, 327669, 0, 0, 327670, 0, 0, 327671, 0, 0, 327672, 0, 0, 327673, 0, 0, 327674, 0, 0, 327675, 0, 0, 327676, 0, 0, 327677, 0, 0, 327678, 0, 0, 327679, 0, 0, 262144, 0, 0, 262145, 0, 0, 262146, 0, 0, 393200, 0, 0, 393201, 0, 0, 393202, 0, 0, 393203, 0, 0, 393204, 0, 0, 393205, 0, 0, 393206, 0, 0, 393207, 0, 0, 393208, 0, 0, 393209, 0, 0, 393210, 0, 0, 393211, 0, 0, 393212, 0, 0, 393213, 0, 0, 393214, 0, 0, 393215, 0, 0, 327680, 0, 0, 327681, 0, 0, 327682, 0, 0, 458736, 0, 0, 458737, 0, 0, 458738, 0, 0, 458739, 0, 0, 458740, 0, 0, 458741, 0, 0, 458742, 0, 0, 458743, 0, 0, 458744, 0, 0, 458745, 0, 0, 458746, 0, 0, 458747, 0, 0, 458748, 0, 0, 458749, 0, 0, 458750, 0, 0, 458751, 0, 0, 393216, 0, 0, 393217, 0, 0, 393218, 0, 0 ) + +[node name="buildings-bg2" type="Sprite" parent="."] +position = Vector2( 72, 264 ) +texture = ExtResource( 7 ) + +[node name="buildings-bg" type="Sprite" parent="."] +position = Vector2( 216, 264 ) +texture = ExtResource( 7 ) + +[node name="CityBackground" type="Sprite" parent="."] +position = Vector2( 176, 224 ) +texture = ExtResource( 3 ) +region_enabled = true +region_rect = Rect2( 0, 0, 300, 200 ) + +[node name="ExternalFrame" parent="." instance=ExtResource( 2 )] + +[node name="Soldier" parent="." instance=ExtResource( 1 )] +position = Vector2( 160.164, 152.523 ) diff --git a/assets/worlds/backgrounds/buildings-bg.png b/assets/worlds/backgrounds/buildings-bg.png new file mode 100644 index 0000000..1aa86f5 --- /dev/null +++ b/assets/worlds/backgrounds/buildings-bg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2bcf93444924a333a340920ad773421137bc2d59d629017d5eb886239e70e7df +size 4612 diff --git a/assets/worlds/backgrounds/buildings-bg.png.import b/assets/worlds/backgrounds/buildings-bg.png.import new file mode 100644 index 0000000..3660bdf --- /dev/null +++ b/assets/worlds/backgrounds/buildings-bg.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/buildings-bg.png-89d51162fa56205d0ace2f4c0b59ff31.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/worlds/backgrounds/buildings-bg.png" +dest_files=[ "res://.import/buildings-bg.png-89d51162fa56205d0ace2f4c0b59ff31.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/worlds/backgrounds/default-background.png b/assets/worlds/backgrounds/default-background.png new file mode 100644 index 0000000..1aa5797 --- /dev/null +++ b/assets/worlds/backgrounds/default-background.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3203af65c4fb524eff5dc6fbca5b7120a64d18be06a4eaeda9b721b5d80f9154 +size 512 diff --git a/assets/worlds/backgrounds/default-background.png.import b/assets/worlds/backgrounds/default-background.png.import new file mode 100644 index 0000000..3ca2a69 --- /dev/null +++ b/assets/worlds/backgrounds/default-background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/default-background.png-cd15db8a98fd961639cb55f77dbf4ee2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/worlds/backgrounds/default-background.png" +dest_files=[ "res://.import/default-background.png-cd15db8a98fd961639cb55f77dbf4ee2.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/worlds/backgrounds/near-buildings-bg.png b/assets/worlds/backgrounds/near-buildings-bg.png new file mode 100644 index 0000000..f9f48b6 --- /dev/null +++ b/assets/worlds/backgrounds/near-buildings-bg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70eca49ce42f7c57135ade657d669ee9c7850f1bd02ba3eeece5f3f33c731205 +size 21635 diff --git a/assets/worlds/backgrounds/near-buildings-bg.png.import b/assets/worlds/backgrounds/near-buildings-bg.png.import new file mode 100644 index 0000000..b0b1307 --- /dev/null +++ b/assets/worlds/backgrounds/near-buildings-bg.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/near-buildings-bg.png-4cab8366da2ff7646747e98027f73395.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/worlds/backgrounds/near-buildings-bg.png" +dest_files=[ "res://.import/near-buildings-bg.png-4cab8366da2ff7646747e98027f73395.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/worlds/backgrounds/skyline-a.png b/assets/worlds/backgrounds/skyline-a.png new file mode 100644 index 0000000..5abd800 --- /dev/null +++ b/assets/worlds/backgrounds/skyline-a.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:396a8ed4cc3027f38737319ebf78dd55452e0f6d56a28179dd6bd268e9870344 +size 4051 diff --git a/assets/worlds/backgrounds/skyline-a.png.import b/assets/worlds/backgrounds/skyline-a.png.import new file mode 100644 index 0000000..d9c411f --- /dev/null +++ b/assets/worlds/backgrounds/skyline-a.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/skyline-a.png-8e2efc2e97600295636b24b480436a8c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/worlds/backgrounds/skyline-a.png" +dest_files=[ "res://.import/skyline-a.png-8e2efc2e97600295636b24b480436a8c.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/worlds/backgrounds/skyline-b.png b/assets/worlds/backgrounds/skyline-b.png new file mode 100644 index 0000000..325e644 --- /dev/null +++ b/assets/worlds/backgrounds/skyline-b.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:96deb29230a929a7464791195ea81c637736353e99f48ba309552ee06536a695 +size 4994 diff --git a/assets/worlds/backgrounds/skyline-b.png.import b/assets/worlds/backgrounds/skyline-b.png.import new file mode 100644 index 0000000..d56d136 --- /dev/null +++ b/assets/worlds/backgrounds/skyline-b.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/skyline-b.png-63a13124048ffb47a15864a4ce9512a4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/worlds/backgrounds/skyline-b.png" +dest_files=[ "res://.import/skyline-b.png-63a13124048ffb47a15864a4ce9512a4.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/assets/worlds/tiles/city.png b/assets/worlds/tiles/city.png new file mode 100644 index 0000000..403a25b --- /dev/null +++ b/assets/worlds/tiles/city.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b84bbcac67eb7497c5be1644acced216e4cb170b1573b89bef1d2ba78be02536 +size 7127 diff --git a/assets/worlds/tiles/city.png.import b/assets/worlds/tiles/city.png.import new file mode 100644 index 0000000..e50d425 --- /dev/null +++ b/assets/worlds/tiles/city.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/city.png-aecc9b4cce39199d1db32c0922d30d1e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/worlds/tiles/city.png" +dest_files=[ "res://.import/city.png-aecc9b4cce39199d1db32c0922d30d1e.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/default_env.tres b/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..0b4d74e --- /dev/null +++ b/icon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2c160bfdb8d0423b958083202dc7b58d499cbef22f28d2a58626884378ce9b7f +size 3305 diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..c16cdba --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.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=false +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 +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..3ed05cb --- /dev/null +++ b/project.godot @@ -0,0 +1,102 @@ +; 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=4 + +_global_script_classes=[ ] +_global_script_class_icons={ + +} + +[application] + +config/name="CyberInvaders" +run/main_scene="res://assets/worlds/BasicWorld.tscn" +config/icon="res://icon.png" + +[display] + +window/size/width=480 +window/size/height=320 +window/size/test_width=1280 +window/size/test_height=720 +window/stretch/mode="2d" + +[importer_defaults] + +texture={ +"compress/bptc_ldr": 0, +"compress/hdr_mode": 0, +"compress/lossy_quality": 0.7, +"compress/mode": 0, +"compress/normal_map": 0, +"detect_3d": false, +"flags/anisotropic": false, +"flags/filter": false, +"flags/mipmaps": false, +"flags/repeat": 0, +"flags/srgb": 2, +"process/HDR_as_SRGB": false, +"process/fix_alpha_border": true, +"process/invert_color": false, +"process/premult_alpha": false, +"size_limit": 0, +"stream": false, +"svg/scale": 1.0 +} + +[input] + +ui_accept={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777222,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":0,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":32,"unicode":0,"echo":false,"script":null) + ] +} +ui_left={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777231,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) + ] +} +ui_right={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777233,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":15,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) + ] +} +ui_up={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777232,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) + ] +} +ui_down={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777234,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) + ] +} + +[layer_names] + +2d_physics/layer_1="player" +2d_physics/layer_2="enemy" +2d_physics/layer_3="world" +2d_physics/layer_4="playerHurtbox" +2d_physics/layer_5="enemyHurtbox" + +[rendering] + +environment/default_environment="res://default_env.tres" diff --git a/src/players/Soldier.gd b/src/players/Soldier.gd new file mode 100644 index 0000000..45fd471 --- /dev/null +++ b/src/players/Soldier.gd @@ -0,0 +1,21 @@ +extends KinematicBody2D + +export var ACCELERATION: int = 700 +export var MAX_SPEED: int = 150 +export var ROLL_SPEED: int = 120 +export var FRICTION: int = 550 + +var velocity: Vector2 = Vector2.ZERO + +func _physics_process(delta: float) -> void: + var input_vector := Vector2.ZERO + input_vector.x = Input.get_action_strength("ui_right") - Input.get_action_strength("ui_left") + input_vector.y = Input.get_action_strength("ui_down") - Input.get_action_strength("ui_up") + input_vector = input_vector.normalized() + + if input_vector != Vector2.ZERO: + input_vector = velocity.move_toward(input_vector * MAX_SPEED, ACCELERATION * delta) + else: + input_vector = velocity.move_toward(Vector2.ZERO, FRICTION * delta) + + velocity = move_and_slide(input_vector)