diff --git a/assets/ball/ball-kenney-accurate.png b/assets/ball/ball-kenney-accurate.png new file mode 100644 index 0000000..943e61c Binary files /dev/null and b/assets/ball/ball-kenney-accurate.png differ diff --git a/assets/ball/ball-kenney-accurate.png.import b/assets/ball/ball-kenney-accurate.png.import new file mode 100644 index 0000000..62e66d0 --- /dev/null +++ b/assets/ball/ball-kenney-accurate.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vfxgx3oc6nm1" +path="res://.godot/imported/ball-kenney-accurate.png-0756708f1c1144f4e204fcfb7addc497.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/ball/ball-kenney-accurate.png" +dest_files=["res://.godot/imported/ball-kenney-accurate.png-0756708f1c1144f4e204fcfb7addc497.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/court/court-lines.png b/assets/court/court-lines.png new file mode 100644 index 0000000..0b28d4e Binary files /dev/null and b/assets/court/court-lines.png differ diff --git a/assets/court/court-lines.png.import b/assets/court/court-lines.png.import new file mode 100644 index 0000000..9b6f79b --- /dev/null +++ b/assets/court/court-lines.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qq1gvnw7an1s" +path="res://.godot/imported/court-lines.png-ebae5a0593199d780b630d750ccafba4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/court/court-lines.png" +dest_files=["res://.godot/imported/court-lines.png-ebae5a0593199d780b630d750ccafba4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/court/court-lines.svg b/assets/court/court-lines.svg new file mode 100644 index 0000000..439725f --- /dev/null +++ b/assets/court/court-lines.svg @@ -0,0 +1,82 @@ + + + Basketball court dimensions + Basketball court. written by maix (Marian Sigler). License: CreativeCommons ShareAlike (http://creativecommons.org/licenses/sa/1.0/) + + + + + + Basketball court dimensions + + + + + + + + + + + + diff --git a/assets/court/court-lines.svg.import b/assets/court/court-lines.svg.import new file mode 100644 index 0000000..3ac9add --- /dev/null +++ b/assets/court/court-lines.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://itt5cfktry8p" +path="res://.godot/imported/court-lines.svg-b9f665f61329fddc51d5bbe8f8b0aaf9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/court/court-lines.svg" +dest_files=["res://.godot/imported/court-lines.svg-b9f665f61329fddc51d5bbe8f8b0aaf9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/assets/court/hoop-sprite-accurate.png b/assets/court/hoop-sprite-accurate.png new file mode 100644 index 0000000..47361c5 Binary files /dev/null and b/assets/court/hoop-sprite-accurate.png differ diff --git a/assets/court/hoop-sprite-accurate.png.import b/assets/court/hoop-sprite-accurate.png.import new file mode 100644 index 0000000..e0dbd9a --- /dev/null +++ b/assets/court/hoop-sprite-accurate.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwgdxhba5p8xk" +path="res://.godot/imported/hoop-sprite-accurate.png-6fec8b047602eaedc475e1c8aacbf362.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/court/hoop-sprite-accurate.png" +dest_files=["res://.godot/imported/hoop-sprite-accurate.png-6fec8b047602eaedc475e1c8aacbf362.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/players/top-down/orange-45.png b/assets/players/top-down/orange-45.png new file mode 100644 index 0000000..f20550b Binary files /dev/null and b/assets/players/top-down/orange-45.png differ diff --git a/assets/players/top-down/orange-45.png.import b/assets/players/top-down/orange-45.png.import new file mode 100644 index 0000000..93a2ff4 --- /dev/null +++ b/assets/players/top-down/orange-45.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ctakygdw82fs2" +path="res://.godot/imported/orange-45.png-ccec7bbce707c05643b204e9db0810d8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/players/top-down/orange-45.png" +dest_files=["res://.godot/imported/orange-45.png-ccec7bbce707c05643b204e9db0810d8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/ball.tscn b/ball.tscn index c83e2c5..0ec27d7 100644 --- a/ball.tscn +++ b/ball.tscn @@ -1,7 +1,7 @@ [gd_scene format=3 uid="uid://cbqaj6trvqat0"] [ext_resource type="Script" uid="uid://3c5arbqbgr2l" path="res://scripts/ball.gd" id="1_x8fbi"] -[ext_resource type="Texture2D" uid="uid://ot6gbcnca0lu" path="res://assets/ball/ball_basket2.png" id="2_41u45"] +[ext_resource type="Texture2D" uid="uid://vfxgx3oc6nm1" path="res://assets/ball/ball-kenney-accurate.png" id="2_41u45"] [node name="Ball" type="Node2D" unique_id=1245529605] script = ExtResource("1_x8fbi") diff --git a/court.tscn b/court.tscn index e0c7d69..e645d55 100644 --- a/court.tscn +++ b/court.tscn @@ -1,20 +1,48 @@ [gd_scene format=3 uid="uid://cxbu51aedxg3c"] [ext_resource type="Script" uid="uid://bpyti0u3ig8rs" path="res://scripts/court.gd" id="1_ih5bv"] -[ext_resource type="Texture2D" uid="uid://cf4vy3j12ydus" path="res://assets/court/half-court-custom.png" id="2_ih5bv"] +[ext_resource type="Texture2D" uid="uid://qq1gvnw7an1s" path="res://assets/court/court-lines.png" id="2_ih5bv"] [sub_resource type="NavigationPolygon" id="NavigationPolygon_klx28"] vertices = PackedVector2Array(1500, 1400, 10, 1400, 10, 10, 1500, 10) polygons = Array[PackedInt32Array]([PackedInt32Array(0, 1, 2, 3)]) outlines = Array[PackedVector2Array]([PackedVector2Array(0, 0, 1510, 0, 1510, 1410, 0, 1410)]) +[sub_resource type="RectangleShape2D" id="RectangleShape2D_ih5bv"] +size = Vector2(490, 585) + +[sub_resource type="CircleShape2D" id="CircleShape2D_ih5bv"] +radius = 675.0 + +[sub_resource type="RectangleShape2D" id="RectangleShape2D_acrlw"] +size = Vector2(1350, 157.5) + [node name="Court" type="Node2D" unique_id=1870443472] script = ExtResource("1_ih5bv") -[node name="CourtSprite" type="Sprite2D" parent="." unique_id=401540171] +[node name="CourtLines" type="Sprite2D" parent="." unique_id=401540171] modulate = Color(1, 1, 1, 0.4627451) texture = ExtResource("2_ih5bv") centered = false [node name="NavigationRegion2D" type="NavigationRegion2D" parent="." unique_id=1617904918] navigation_polygon = SubResource("NavigationPolygon_klx28") + +[node name="KeyArea" type="Area2D" parent="." unique_id=538903225] +position = Vector2(755, 292) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="KeyArea" unique_id=1398173864] +shape = SubResource("RectangleShape2D_ih5bv") +debug_color = Color(1, 1, 0, 0.41960785) + +[node name="TwoPointArea" type="Area2D" parent="." unique_id=1591376341] +position = Vector2(760, 162.5) + +[node name="TwoPointArc" type="CollisionShape2D" parent="TwoPointArea" unique_id=704197509] +shape = SubResource("CircleShape2D_ih5bv") +debug_color = Color(0.9843137, 0.35686275, 0.49019608, 0.41960785) + +[node name="TwoPointBox" type="CollisionShape2D" parent="TwoPointArea" unique_id=1263644238] +position = Vector2(0, -78.75) +shape = SubResource("RectangleShape2D_acrlw") +debug_color = Color(0.9843137, 0.35686275, 0.49019608, 0.41960785) diff --git a/game.tscn b/game.tscn index 5c6cf56..351b27f 100644 --- a/game.tscn +++ b/game.tscn @@ -3,17 +3,10 @@ [ext_resource type="Script" uid="uid://0xvlu81d8a01" path="res://scripts/game_manager.gd" id="1_7jktm"] [ext_resource type="PackedScene" uid="uid://cxbu51aedxg3c" path="res://court.tscn" id="1_e2o6t"] [ext_resource type="PackedScene" uid="uid://boqs7k6ia532h" path="res://player.tscn" id="2_feb5d"] -[ext_resource type="Texture2D" uid="uid://cdisx65vqrn21" path="res://assets/players/red_wing.png" id="3_fc0e3"] -[ext_resource type="Script" uid="uid://bbey5ttwv5utd" path="res://scripts/custom resources/player_attributes.gd" id="4_7jktm"] [ext_resource type="PackedScene" uid="uid://i0ijmmchb3s1" path="res://hoop.tscn" id="4_215e1"] -[ext_resource type="Texture2D" uid="uid://46vgqxp2imyw" path="res://assets/players/blue_guard.png" id="4_j5wjh"] [ext_resource type="Script" uid="uid://c7dxj0ifl687s" path="res://scripts/custom resources/team_attributes.gd" id="4_mfdv2"] [ext_resource type="PackedScene" uid="uid://cbqaj6trvqat0" path="res://ball.tscn" id="6_ryrav"] -[ext_resource type="Texture2D" uid="uid://df7cknvvngtij" path="res://assets/players/blue_big.png" id="6_vef74"] -[ext_resource type="Texture2D" uid="uid://dl54l4wvub6ro" path="res://assets/players/blue_wing.png" id="7_hve3p"] [ext_resource type="PackedScene" uid="uid://cfq463kejcp2m" path="res://team.tscn" id="11_mfdv2"] -[ext_resource type="Texture2D" uid="uid://cn2xfwvejclvo" path="res://assets/players/red_guard.png" id="12_iotsf"] -[ext_resource type="Texture2D" uid="uid://w10nqq5ng8n5" path="res://assets/players/red_big.png" id="14_215e1"] [sub_resource type="Resource" id="Resource_e8heu"] script = ExtResource("4_mfdv2") @@ -21,52 +14,12 @@ team_name = "Royals" team_color = Color(1, 0, 0, 1) metadata/_custom_type_script = "uid://c7dxj0ifl687s" -[sub_resource type="Resource" id="Resource_215e1"] -script = ExtResource("4_7jktm") -player_name = "Stevie" -player_texture = ExtResource("12_iotsf") -metadata/_custom_type_script = "uid://bbey5ttwv5utd" - -[sub_resource type="Resource" id="Resource_7sc4i"] -script = ExtResource("4_7jktm") -player_name = "Dave" -player_position = 1 -player_texture = ExtResource("3_fc0e3") -metadata/_custom_type_script = "uid://bbey5ttwv5utd" - -[sub_resource type="Resource" id="Resource_80cx4"] -script = ExtResource("4_7jktm") -player_name = "Brendan" -player_position = 2 -player_texture = ExtResource("14_215e1") -metadata/_custom_type_script = "uid://bbey5ttwv5utd" - [sub_resource type="Resource" id="Resource_lc2xo"] script = ExtResource("4_mfdv2") team_name = "Blue Devils" team_color = Color(0, 0, 1, 1) metadata/_custom_type_script = "uid://c7dxj0ifl687s" -[sub_resource type="Resource" id="Resource_ryrav"] -script = ExtResource("4_7jktm") -player_name = "Kirt" -player_texture = ExtResource("4_j5wjh") -metadata/_custom_type_script = "uid://bbey5ttwv5utd" - -[sub_resource type="Resource" id="Resource_mfdv2"] -script = ExtResource("4_7jktm") -player_name = "Greg" -player_position = 1 -player_texture = ExtResource("7_hve3p") -metadata/_custom_type_script = "uid://bbey5ttwv5utd" - -[sub_resource type="Resource" id="Resource_iotsf"] -script = ExtResource("4_7jktm") -player_name = "Cheryl" -player_position = 2 -player_texture = ExtResource("6_vef74") -metadata/_custom_type_script = "uid://bbey5ttwv5utd" - [node name="Game" type="Node2D" unique_id=980666470 node_paths=PackedStringArray("ball", "court")] script = ExtResource("1_7jktm") ball = NodePath("Ball") @@ -75,37 +28,31 @@ court = NodePath("Court") [node name="Court" parent="." unique_id=1870443472 instance=ExtResource("1_e2o6t")] [node name="Ball" parent="." unique_id=1245529605 instance=ExtResource("6_ryrav")] -position = Vector2(748, 857) +position = Vector2(792, 838) [node name="Hoop" parent="." unique_id=567327541 instance=ExtResource("4_215e1")] -position = Vector2(760, 78) +position = Vector2(755, 120) [node name="RedTeam" parent="." unique_id=1449767365 instance=ExtResource("11_mfdv2")] attributes = SubResource("Resource_e8heu") [node name="Red1" parent="RedTeam" unique_id=1614241571 instance=ExtResource("2_feb5d")] position = Vector2(778, 858) -attributes = SubResource("Resource_215e1") [node name="Red2" parent="RedTeam" unique_id=812999974 instance=ExtResource("2_feb5d")] position = Vector2(164, 571) -attributes = SubResource("Resource_7sc4i") [node name="Red3" parent="RedTeam" unique_id=142493116 instance=ExtResource("2_feb5d")] position = Vector2(1358, 484) -attributes = SubResource("Resource_80cx4") [node name="BlueTeam" parent="." unique_id=1689836688 instance=ExtResource("11_mfdv2")] attributes = SubResource("Resource_lc2xo") [node name="Blue1" parent="BlueTeam" unique_id=1267043713 instance=ExtResource("2_feb5d")] position = Vector2(770, 758) -attributes = SubResource("Resource_ryrav") [node name="Blue2" parent="BlueTeam" unique_id=1850933619 instance=ExtResource("2_feb5d")] position = Vector2(348, 489) -attributes = SubResource("Resource_mfdv2") [node name="Blue3" parent="BlueTeam" unique_id=75794271 instance=ExtResource("2_feb5d")] position = Vector2(1209, 468) -attributes = SubResource("Resource_iotsf") diff --git a/hoop.tscn b/hoop.tscn index b1e7de4..a1afe1e 100644 --- a/hoop.tscn +++ b/hoop.tscn @@ -1,7 +1,7 @@ [gd_scene format=3 uid="uid://i0ijmmchb3s1"] [ext_resource type="Script" uid="uid://ba66m7qpokeib" path="res://scripts/hoop.gd" id="1_ivl1g"] -[ext_resource type="Texture2D" uid="uid://dclxeeo08l7rj" path="res://assets/court/hoop-sprite-custom-2.png" id="2_ivl1g"] +[ext_resource type="Texture2D" uid="uid://dwgdxhba5p8xk" path="res://assets/court/hoop-sprite-accurate.png" id="2_ivl1g"] [node name="Hoop" type="Node2D" unique_id=567327541] script = ExtResource("1_ivl1g") @@ -9,5 +9,4 @@ script = ExtResource("1_ivl1g") [node name="HoopSprite" type="Sprite2D" parent="." unique_id=334585636] texture_filter = 1 texture = ExtResource("2_ivl1g") -centered = false -offset = Vector2(-42, 0) +offset = Vector2(0, 30) diff --git a/player.tscn b/player.tscn index 33537ef..4cc3239 100644 --- a/player.tscn +++ b/player.tscn @@ -1,13 +1,15 @@ [gd_scene format=3 uid="uid://boqs7k6ia532h"] -[ext_resource type="Texture2D" uid="uid://46vgqxp2imyw" path="res://assets/players/blue_guard.png" id="1_4flbx"] [ext_resource type="Script" uid="uid://bs8r5rqnt33rf" path="res://scripts/player.gd" id="1_onrkg"] +[ext_resource type="Texture2D" uid="uid://ctakygdw82fs2" path="res://assets/players/top-down/orange-45.png" id="2_onrkg"] [node name="Player" type="Node2D" unique_id=1267043713] script = ExtResource("1_onrkg") [node name="PlayerSprite" type="Sprite2D" parent="." unique_id=1692351563] -texture = ExtResource("1_4flbx") +texture_filter = 1 +rotation = -1.5707964 +texture = ExtResource("2_onrkg") [node name="PlayerNav" type="NavigationAgent2D" parent="." unique_id=1205813043] avoidance_enabled = true @@ -20,9 +22,9 @@ anchor_top = 1.0 anchor_right = 0.5 anchor_bottom = 1.0 offset_left = -48.0 -offset_top = 24.0 +offset_top = 16.0 offset_right = 47.0 -offset_bottom = 47.0 +offset_bottom = 39.0 grow_horizontal = 2 grow_vertical = 0 text = "PlayerName"