diff --git a/entities/Player.gd b/entities/Player.gd index e88d315..fc8c951 100644 --- a/entities/Player.gd +++ b/entities/Player.gd @@ -145,15 +145,15 @@ func calc_coloring_position(): return result; func on_player_spawn(): - print ("Player " + str(self) + ": spawning") + print ("Player " + str(name) + ": spawning") spawn_stream_player.pitch_scale = 0.8 + randf () * 0.4 spawn_stream_player.play() func on_player_falling(): - print ("Player " + str(self) + ": falling") + print ("Player " + str(name) + ": falling") func on_player_dead(): - print ("Player " + str(self) + ": death") + print ("Player " + str(name) + ": death") func on_dash(): is_dashing = true; diff --git a/entities/Player.tscn b/entities/Player.tscn index 3e9ab54..c2d0fd8 100644 --- a/entities/Player.tscn +++ b/entities/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=7 format=3 uid="uid://bfyjtfdko3l7o"] +[gd_scene load_steps=8 format=3 uid="uid://bfyjtfdko3l7o"] [ext_resource type="Script" path="res://entities/Player.gd" id="1_w5gy0"] [ext_resource type="AudioStream" uid="uid://bhbhh78j5rkfe" path="res://assets/sounds/pixabay/dash/whoosh-6316.mp3" id="2_ykhbt"] @@ -8,12 +8,13 @@ [sub_resource type="BoxMesh" id="BoxMesh_yle83"] size = Vector3(0.24, 0.75, 0.24) +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_y3fq5"] + [sub_resource type="CylinderShape3D" id="CylinderShape3D_rwgp3"] height = 0.75 radius = 0.15 [node name="Player1" type="CharacterBody3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -7329.1, 0) collision_layer = 5 collision_mask = 7 velocity = Vector3(0, -378.927, 0) @@ -22,6 +23,7 @@ script = ExtResource("1_w5gy0") [node name="Geometry" type="MeshInstance3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.472656, 0) mesh = SubResource("BoxMesh_yle83") +surface_material_override/0 = SubResource("StandardMaterial3D_y3fq5") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.496337, 0) diff --git a/levels/BasicLevel.png b/levels/BasicLevel.png index 94ee8a4..a2fce2f 100644 Binary files a/levels/BasicLevel.png and b/levels/BasicLevel.png differ diff --git a/levels/BasicLevel.tscn b/levels/BasicLevel.tscn index 555082d..b7073f5 100644 --- a/levels/BasicLevel.tscn +++ b/levels/BasicLevel.tscn @@ -1,50 +1,57 @@ -[gd_scene load_steps=4 format=3 uid="uid://dobm413reyqom"] +[gd_scene load_steps=5 format=3 uid="uid://dobm413reyqom"] [ext_resource type="PackedScene" uid="uid://7a2ma10hq0qa" path="res://scenes/PlatformA.tscn" id="1_ljufl"] [ext_resource type="PackedScene" uid="uid://bnmtyc1kkt6ku" path="res://scenes/PlatformB.tscn" id="2_alvfs"] [ext_resource type="PackedScene" uid="uid://cc521i07ajufm" path="res://entities/SpawnPoint.tscn" id="3_5ocaq"] +[ext_resource type="PackedScene" uid="uid://0fxjod84sli" path="res://scenes/PlatformParts/heptagon_platform_medium.tscn" id="4_w36x1"] -[node name="BasicLevel" type="Node3D"] +[node name="LotsaHoles" type="Node3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76534, 0, 5.93242) [node name="Platforms" parent="." instance=ExtResource("1_ljufl")] +transform = Transform3D(0.856951, 0, 0.515397, 0, 1, 0, -0.515397, 0, 0.856951, -0.673425, 0, 1.59883) -[node name="Platforms2" parent="." instance=ExtResource("1_ljufl")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.68666, 0, 5.21494) +[node name="SpawnPoint" parent="." instance=ExtResource("3_5ocaq")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.60433, 0, 0.463968) + +[node name="Platforms2" parent="." instance=ExtResource("2_alvfs")] +transform = Transform3D(0.923739, 0, -0.383022, 0, 1, 0, 0.383022, 0, 0.923739, -10.2072, 0, -10.4223) [node name="Platforms3" parent="." instance=ExtResource("1_ljufl")] -transform = Transform3D(0.768741, 0, -0.63956, 0, 1, 0, 0.63956, 0, 0.768741, 8.83345, 0, 2.90911) +transform = Transform3D(0.817256, 0, 0.576275, 0, 1, 0, -0.576275, 0, 0.817256, 8.80868, 0, -7.00391) + +[node name="SpawnPoint2" parent="." instance=ExtResource("3_5ocaq")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.45146, 0, -7.63975) + +[node name="HeptagonPlatform" parent="." instance=ExtResource("4_w36x1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.819961, 0, -5.89795) + +[node name="SpawnPoint3" parent="." instance=ExtResource("3_5ocaq")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.2548, 0, -10.074) [node name="Platforms4" parent="." instance=ExtResource("1_ljufl")] -transform = Transform3D(-0.99988, 0, -0.0155154, 0, 1, 0, 0.0155154, 0, -0.99988, 13.9505, -4.76837e-07, -0.629952) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.98194, 0, -2.85678) [node name="Platforms5" parent="." instance=ExtResource("1_ljufl")] -transform = Transform3D(-0.99988, 0, -0.0155154, 0, 1, 0, 0.0155154, 0, -0.99988, 6.40327, 0, -5.73714) +transform = Transform3D(0.9418, 0, -0.336175, 0, 1, 0, 0.336175, 0, 0.9418, 1.55973, 9.53674e-07, -13.245) -[node name="Platforms6" parent="." instance=ExtResource("1_ljufl")] -transform = Transform3D(-0.91991, 0, -0.392128, 0, 1, 0, 0.392128, 0, -0.91991, 17.1955, -4.76837e-07, -5.8158) +[node name="Platforms6" parent="." instance=ExtResource("2_alvfs")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.319829, 0, 0.317585) -[node name="Platforms7" parent="." instance=ExtResource("1_ljufl")] -transform = Transform3D(-0.91991, 0, -0.392128, 0, 1, 0, 0.392128, 0, -0.91991, 8.27811, 0, -7.69307) +[node name="Platforms7" parent="." instance=ExtResource("2_alvfs")] +transform = Transform3D(0.441584, 0, 0.89722, 0, 1, 0, -0.89722, 0, 0.441584, -14.4344, 9.53674e-07, -1.29715) -[node name="Platforms8" parent="." instance=ExtResource("2_alvfs")] -transform = Transform3D(0.769634, 0, 0.638486, 0, 1, 0, -0.638486, 0, 0.769634, -1.18219, 0, -6.89363) +[node name="SpawnPoint4" parent="." instance=ExtResource("3_5ocaq")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.1344, 0, 0.296233) -[node name="Platforms9" parent="." instance=ExtResource("2_alvfs")] -transform = Transform3D(0.330663, 0, -0.943749, 0, 1, 0, 0.943749, 0, 0.330663, 3.64812, -9.53674e-07, -15.7327) +[node name="Platforms8" parent="." instance=ExtResource("1_ljufl")] +transform = Transform3D(-0.247405, 0, 0.968912, 0, 1, 0, -0.968912, 0, -0.247405, -1.1221, 0, -6.80485) -[node name="Platforms10" parent="." instance=ExtResource("1_ljufl")] -transform = Transform3D(-0.851736, 0, 0.523971, 0, 1, 0, -0.523971, 0, -0.851736, 15.3333, 0, -12.1468) +[node name="Platforms9" parent="." instance=ExtResource("1_ljufl")] +transform = Transform3D(-0.878392, 0, -0.477941, 0, 1, 0, 0.477941, 0, -0.878392, -10.3357, 0, 3.40673) -[node name="SpawnPointPlayer1" parent="." instance=ExtResource("3_5ocaq")] +[node name="HeptagonPlatform2" parent="." instance=ExtResource("4_w36x1")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.23604, 0, 1.73223) -[node name="SpawnPointPlayer2" parent="." instance=ExtResource("3_5ocaq")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.83554, 0, -13.291) -player_index = 1 - -[node name="SpawnPointPlayer3" parent="." instance=ExtResource("3_5ocaq")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.4298, 0, 1.74365) - -[node name="SpawnPointPlayer4" parent="." instance=ExtResource("3_5ocaq")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.0431, 0, -9.95279) -player_index = 1 +[node name="SpawnPoint5" parent="." instance=ExtResource("3_5ocaq")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.89178, 0, -13.1054) diff --git a/levels/LotsaHoles.png b/levels/LotsaHoles.png new file mode 100644 index 0000000..0bcd200 Binary files /dev/null and b/levels/LotsaHoles.png differ diff --git a/levels/LotsaHoles.png.import b/levels/LotsaHoles.png.import new file mode 100644 index 0000000..d98a491 --- /dev/null +++ b/levels/LotsaHoles.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3bftdoqgqopj" +path="res://.godot/imported/LotsaHoles.png-9e2501e458428cba511d8c99fb395361.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://levels/LotsaHoles.png" +dest_files=["res://.godot/imported/LotsaHoles.png-9e2501e458428cba511d8c99fb395361.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/levels/LotsaHoles.tscn b/levels/LotsaHoles.tscn new file mode 100644 index 0000000..0b46a58 --- /dev/null +++ b/levels/LotsaHoles.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=5 format=3 uid="uid://8v8wcdht4g1n"] + +[ext_resource type="PackedScene" uid="uid://7a2ma10hq0qa" path="res://scenes/PlatformA.tscn" id="1_3vod7"] +[ext_resource type="PackedScene" uid="uid://bnmtyc1kkt6ku" path="res://scenes/PlatformB.tscn" id="2_1sjbn"] +[ext_resource type="PackedScene" uid="uid://cc521i07ajufm" path="res://entities/SpawnPoint.tscn" id="3_5fxgl"] +[ext_resource type="PackedScene" uid="uid://0fxjod84sli" path="res://scenes/PlatformParts/heptagon_platform_medium.tscn" id="4_tix3f"] + +[node name="LotsaHoles" type="Node3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.76534, 0, 5.93242) + +[node name="Platforms" parent="." instance=ExtResource("1_3vod7")] +transform = Transform3D(0.856951, 0, 0.515397, 0, 1, 0, -0.515397, 0, 0.856951, -0.673425, 0, 1.59883) + +[node name="SpawnPoint" parent="." instance=ExtResource("3_5fxgl")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.60433, 0, 0.463968) + +[node name="Platforms2" parent="." instance=ExtResource("2_1sjbn")] +transform = Transform3D(0.923739, 0, -0.383022, 0, 1, 0, 0.383022, 0, 0.923739, -10.2072, 0, -10.4223) + +[node name="Platforms3" parent="." instance=ExtResource("1_3vod7")] +transform = Transform3D(0.817256, 0, 0.576275, 0, 1, 0, -0.576275, 0, 0.817256, 8.80868, 0, -7.00391) + +[node name="SpawnPoint2" parent="." instance=ExtResource("3_5fxgl")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.45146, 0, -7.63975) + +[node name="HeptagonPlatform" parent="." instance=ExtResource("4_tix3f")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.819961, 0, -5.89795) + +[node name="SpawnPoint3" parent="." instance=ExtResource("3_5fxgl")] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.31, 0, -10.3338) diff --git a/scenes/Game.tscn b/scenes/Game.tscn index 1cb4a5e..7998a0e 100644 --- a/scenes/Game.tscn +++ b/scenes/Game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=11 format=3 uid="uid://rd48gl8k5x34"] +[gd_scene load_steps=12 format=3 uid="uid://rd48gl8k5x34"] [ext_resource type="Theme" uid="uid://bb8mjy6l7umui" path="res://themes/GameUI.tres" id="2_eun58"] [ext_resource type="PackedScene" uid="uid://b1nm5h3yccr16" path="res://scenes/World.tscn" id="2_voimb"] @@ -6,6 +6,7 @@ [ext_resource type="Texture2D" uid="uid://b5ah0ej10awd5" path="res://levels/Platforms.png" id="4_0en0p"] [ext_resource type="Script" path="res://scenes/GameUI.gd" id="4_2tdl1"] [ext_resource type="Texture2D" uid="uid://dam8r48qo0qqh" path="res://levels/BasicLevel.png" id="4_l63m5"] +[ext_resource type="Texture2D" uid="uid://b3bftdoqgqopj" path="res://levels/LotsaHoles.png" id="7_8su71"] [sub_resource type="World3D" id="World3D_5g233"] @@ -342,3 +343,9 @@ layout_mode = 2 toggle_mode = true button_group = ExtResource("4_0dlh8") icon = ExtResource("4_0en0p") + +[node name="PlatformLevelButton2" type="Button" parent="GameUI/GameLevelSelectWidgets/LevelListContainer"] +layout_mode = 2 +toggle_mode = true +button_group = ExtResource("4_0dlh8") +icon = ExtResource("7_8su71") diff --git a/scenes/World.gd b/scenes/World.gd index 19faacb..1b2ee85 100644 --- a/scenes/World.gd +++ b/scenes/World.gd @@ -14,8 +14,10 @@ var player_scene = preload("res://entities/Player.tscn") var level_scenes : Array = [ preload("res://levels/BasicLevel.tscn"), - preload("res://levels/Platforms.tscn") + preload("res://levels/Platforms.tscn"), + preload("res://levels/LotsaHoles.tscn") ] + var level_index = 0 var last_level_index = -1 @@ -130,6 +132,9 @@ func load_level(): level.add_child(level_instance) spawn_points.clear() + for node in $Players.get_children(): + node.queue_free() + find_spawn_points(level) print("Found " + str(spawn_points.size()) + " spawn points.") spawn_players()