diff --git a/assets/bomb.ase b/assets/bomb.ase new file mode 100644 index 0000000..9ae04e4 Binary files /dev/null and b/assets/bomb.ase differ diff --git a/assets/bomb.png b/assets/bomb.png new file mode 100644 index 0000000..fe82f4e Binary files /dev/null and b/assets/bomb.png differ diff --git a/assets/commands.ase b/assets/commands.ase new file mode 100644 index 0000000..57c6390 Binary files /dev/null and b/assets/commands.ase differ diff --git a/assets/commands.png b/assets/commands.png new file mode 100644 index 0000000..6dbc41b Binary files /dev/null and b/assets/commands.png differ diff --git a/assets/door.ase b/assets/door.ase new file mode 100644 index 0000000..1926c4b Binary files /dev/null and b/assets/door.ase differ diff --git a/assets/door.png b/assets/door.png new file mode 100644 index 0000000..0406580 Binary files /dev/null and b/assets/door.png differ diff --git a/src/Door/door.gd b/src/Door/door.gd index d1e9ed5..f6e512a 100644 --- a/src/Door/door.gd +++ b/src/Door/door.gd @@ -24,6 +24,7 @@ func process_idle(_delta): func process_open(delta): if m_open_timer >= m_open_time: + Music.play_sfx('door') queue_free() else: var t = min(1.0, m_open_timer / m_open_time) diff --git a/src/Door/door.png b/src/Door/door.png new file mode 100644 index 0000000..0406580 Binary files /dev/null and b/src/Door/door.png differ diff --git a/src/Door/door.tscn b/src/Door/door.tscn index aeb4b9e..f43ddd6 100644 --- a/src/Door/door.tscn +++ b/src/Door/door.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://d30oryxv0w7pf"] [ext_resource type="Script" path="res://Door/door.gd" id="1_62c16"] -[ext_resource type="Texture2D" uid="uid://blr8qcmuqs5vl" path="res://icon.svg" id="1_urwyt"] +[ext_resource type="Texture2D" uid="uid://bv4ceafnro3u4" path="res://Door/door.png" id="2_pv44r"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_2o8ax"] size = Vector2(74, 20) @@ -10,9 +10,8 @@ size = Vector2(74, 20) script = ExtResource("1_62c16") [node name="Sprite2D" type="Sprite2D" parent="."] -modulate = Color(1, 0, 1, 1) -scale = Vector2(0.5, 0.25) -texture = ExtResource("1_urwyt") +modulate = Color(0, 0.698039, 0.811765, 1) +texture = ExtResource("2_pv44r") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("RectangleShape2D_2o8ax") diff --git a/src/DoorCommand/commands.png b/src/DoorCommand/commands.png new file mode 100644 index 0000000..6dbc41b Binary files /dev/null and b/src/DoorCommand/commands.png differ diff --git a/src/DoorCommand/door_command.gd b/src/DoorCommand/door_command.gd index 09d5b6d..5633c77 100644 --- a/src/DoorCommand/door_command.gd +++ b/src/DoorCommand/door_command.gd @@ -6,7 +6,7 @@ func _ready(): pass func _process(_delta): - pass + $Sprite2D.play("default") func _on_body_entered(body): if body in get_tree().get_nodes_in_group('bombs'): diff --git a/src/DoorCommand/door_command.tscn b/src/DoorCommand/door_command.tscn index de47618..d8880c2 100644 --- a/src/DoorCommand/door_command.tscn +++ b/src/DoorCommand/door_command.tscn @@ -1,7 +1,36 @@ -[gd_scene load_steps=4 format=3 uid="uid://c5f7m5oi32kr5"] +[gd_scene load_steps=8 format=3 uid="uid://c5f7m5oi32kr5"] [ext_resource type="Script" path="res://DoorCommand/door_command.gd" id="1_l2uva"] -[ext_resource type="Texture2D" uid="uid://blr8qcmuqs5vl" path="res://icon.svg" id="1_uchk3"] +[ext_resource type="Texture2D" uid="uid://67a60syoky0d" path="res://DoorCommand/commands.png" id="2_yjk6e"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_2ck6n"] +atlas = ExtResource("2_yjk6e") +region = Rect2(0, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_q4vbp"] +atlas = ExtResource("2_yjk6e") +region = Rect2(32, 0, 32, 64) + +[sub_resource type="AtlasTexture" id="AtlasTexture_8kd0w"] +atlas = ExtResource("2_yjk6e") +region = Rect2(64, 0, 32, 64) + +[sub_resource type="SpriteFrames" id="SpriteFrames_815y6"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_2ck6n") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_q4vbp") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_8kd0w") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] [sub_resource type="RectangleShape2D" id="RectangleShape2D_6j0py"] size = Vector2(36, 60) @@ -11,14 +40,12 @@ collision_layer = 2 collision_mask = 2 script = ExtResource("1_l2uva") -[node name="Sprite2D" type="Sprite2D" parent="."] -modulate = Color(0.329412, 0.329412, 0.329412, 1) +[node name="Sprite2D" type="AnimatedSprite2D" parent="."] position = Vector2(-0.5, -8.5) -scale = Vector2(0.179688, 0.382812) -texture = ExtResource("1_uchk3") +sprite_frames = SubResource("SpriteFrames_815y6") [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2(3, -10) +position = Vector2(-1, -8) shape = SubResource("RectangleShape2D_6j0py") [connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/src/Levels/level_intro.tscn b/src/Levels/level_intro.tscn index c39d0c3..6c4b71f 100644 --- a/src/Levels/level_intro.tscn +++ b/src/Levels/level_intro.tscn @@ -157,7 +157,7 @@ title = "Jumping" text = "You can jump with the [space] key" [node name="MsgArea3" parent="." instance=ExtResource("3_7vths")] -position = Vector2(671, 1601) +position = Vector2(671, 1611) title = "We won't let you go" text = "Guards will kill you, unless you kill them before. Press left mouse button to shoot at them" @@ -227,16 +227,16 @@ shape = SubResource("RectangleShape2D_8v3w3") position = Vector2(672, 2432) [node name="CheckPointArea3" parent="." instance=ExtResource("7_jpeg0")] -position = Vector2(678, 4572) +position = Vector2(672, 4505) [node name="CheckPointArea5" parent="." instance=ExtResource("7_jpeg0")] position = Vector2(1487, 4764) [node name="CheckPointArea4" parent="." instance=ExtResource("7_jpeg0")] -position = Vector2(1488, 5461) +position = Vector2(1488, 5427) [node name="CheckPointArea2" parent="." instance=ExtResource("7_jpeg0")] -position = Vector2(672, 1576) +position = Vector2(668, 1534) [node name="CheckPointArea6" parent="." instance=ExtResource("7_jpeg0")] position = Vector2(681, 919) @@ -250,7 +250,7 @@ position = Vector2(21.5, 0) metadata/_edit_lock_ = true [node name="MusicArea2" parent="." instance=ExtResource("8_ag3pa")] -position = Vector2(655, 1505) +position = Vector2(646, 1596) music = "speed_is_the_key" [node name="CollisionShape2D" parent="MusicArea2" index="0"] @@ -259,7 +259,7 @@ debug_color = Color(0.627451, 0.823529, 0.270588, 0.419608) metadata/_edit_lock_ = true [node name="MusicArea3" parent="." instance=ExtResource("8_ag3pa")] -position = Vector2(654, 4466) +position = Vector2(739, 4558) music = "fight_or_die" [node name="CollisionShape2D" parent="MusicArea3" index="0"] @@ -267,6 +267,15 @@ position = Vector2(21.5, 0) debug_color = Color(0.627451, 0.823529, 0.270588, 0.419608) metadata/_edit_lock_ = true +[node name="MusicArea4" parent="." instance=ExtResource("8_ag3pa")] +position = Vector2(1441, 5484) +music = "final" + +[node name="CollisionShape2D" parent="MusicArea4" index="0"] +position = Vector2(42, -4) +debug_color = Color(0.627451, 0.823529, 0.270588, 0.419608) +metadata/_edit_lock_ = true + [node name="CanvasTime" type="CanvasLayer" parent="."] visible = false @@ -306,3 +315,4 @@ ID = 6 [editable path="MusicArea"] [editable path="MusicArea2"] [editable path="MusicArea3"] +[editable path="MusicArea4"] diff --git a/src/Molotov/bomb.png b/src/Molotov/bomb.png new file mode 100644 index 0000000..fe82f4e Binary files /dev/null and b/src/Molotov/bomb.png differ diff --git a/src/Molotov/molotov.gd b/src/Molotov/molotov.gd index 88b7f5a..8683500 100644 --- a/src/Molotov/molotov.gd +++ b/src/Molotov/molotov.gd @@ -17,6 +17,7 @@ func _process(_delta): func throw_at(pos: Vector2, dir: Vector2, dist: float): self.position = pos + $Sprite2D.play("default") m_origin = pos m_dir = dir m_state = self._moving @@ -35,5 +36,6 @@ func _explode(_delta): func _moving(delta): self.velocity = m_dir * m_speed + $Sprite2D.rotation = m_dir.angle() - PI/2 move_and_collide(self.velocity * delta) diff --git a/src/Molotov/molotov.tscn b/src/Molotov/molotov.tscn index de47fba..a321b63 100644 --- a/src/Molotov/molotov.tscn +++ b/src/Molotov/molotov.tscn @@ -1,7 +1,29 @@ -[gd_scene load_steps=5 format=3 uid="uid://b212rruvxhwqe"] +[gd_scene load_steps=8 format=3 uid="uid://b212rruvxhwqe"] -[ext_resource type="Texture2D" uid="uid://blr8qcmuqs5vl" path="res://icon.svg" id="1_ga5l4"] [ext_resource type="Script" path="res://Molotov/molotov.gd" id="1_uepii"] +[ext_resource type="Texture2D" uid="uid://bnbcfg3q24fbv" path="res://Molotov/bomb.png" id="2_eeyjr"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_o0v0u"] +atlas = ExtResource("2_eeyjr") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_uo8u2"] +atlas = ExtResource("2_eeyjr") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_oij13"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_o0v0u") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_uo8u2") +}], +"loop": true, +"name": &"default", +"speed": 5.0 +}] [sub_resource type="CircleShape2D" id="CircleShape2D_oq4si"] radius = 14.0 @@ -14,10 +36,11 @@ collision_layer = 2 collision_mask = 0 script = ExtResource("1_uepii") -[node name="Sprite2D" type="Sprite2D" parent="."] +[node name="Sprite2D" type="AnimatedSprite2D" parent="."] modulate = Color(0.956863, 0.956863, 0, 1) -scale = Vector2(0.25, 0.25) -texture = ExtResource("1_ga5l4") +sprite_frames = SubResource("SpriteFrames_oij13") +frame = 1 +frame_progress = 0.169838 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] shape = SubResource("CircleShape2D_oq4si") diff --git a/src/Music/door.wav b/src/Music/door.wav new file mode 100644 index 0000000..d0f3f19 Binary files /dev/null and b/src/Music/door.wav differ diff --git a/src/Music/final.ogg b/src/Music/final.ogg new file mode 100644 index 0000000..60bd931 Binary files /dev/null and b/src/Music/final.ogg differ diff --git a/src/Music/shot.wav b/src/Music/shot.wav new file mode 100644 index 0000000..5e6596e Binary files /dev/null and b/src/Music/shot.wav differ diff --git a/src/MusicArea/music_area.tscn b/src/MusicArea/music_area.tscn index c944ab2..7b118d4 100644 --- a/src/MusicArea/music_area.tscn +++ b/src/MusicArea/music_area.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" path="res://MusicArea/music_area.gd" id="1_60yhl"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_c834i"] -size = Vector2(383, 20) +size = Vector2(732, 28) [node name="MusicArea" type="Area2D"] script = ExtResource("1_60yhl") diff --git a/src/Player/player.gd b/src/Player/player.gd index f4d92a9..b346a0f 100644 --- a/src/Player/player.gd +++ b/src/Player/player.gd @@ -43,6 +43,9 @@ func _physics_process(dt): $Actor/Sprite2D.play("Idle") if $Actor.is_normal() or $Actor.is_jump(): - $Actor.velocity = delta * $Actor.m_speed + if delta.length_squared() > 0: + $Actor.velocity = delta * $Actor.m_speed + else: + $Actor.velocity = Vector2(0, 0) $Actor.move_and_slide() diff --git a/src/Sandbox/sandbox.gd b/src/Sandbox/sandbox.gd index d296b38..3301fce 100644 --- a/src/Sandbox/sandbox.gd +++ b/src/Sandbox/sandbox.gd @@ -93,6 +93,7 @@ func is_outside(actor): func throw_bomb(from: Vector2, dir: Vector2, dist: float): + Music.play_sfx('shot') var bomb = preload("res://Molotov/molotov.tscn").instantiate() bomb.on_explode.connect(_on_bomb_explode) bomb.throw_at(from, dir, dist) diff --git a/src/export_presets.cfg b/src/export_presets.cfg index 823e31d..4739131 100644 --- a/src/export_presets.cfg +++ b/src/export_presets.cfg @@ -8,7 +8,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="../../Export/aze/hello.zip" +export_path="../../Export/ld54_bog_test0.zip" encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false diff --git a/src/project.godot b/src/project.godot index c61d9c1..482925e 100644 --- a/src/project.godot +++ b/src/project.godot @@ -20,6 +20,10 @@ config/icon="res://icon.svg" CheckPoint="*res://Checkpoint/CheckPoint.gd" Music="*res://Music/music.gd" +[display] + +window/stretch/mode="viewport" + [input] player_up={