From b0caf9937384bdee34e097798788cff27157349e Mon Sep 17 00:00:00 2001 From: Ivan Kuzmenko <6745157+rndtrash@users.noreply.github.com> Date: Fri, 18 Aug 2023 18:57:25 +0300 Subject: [PATCH] Main menu, ZX Spectrum-like font, Death screen, Fixed typo, Game Manager --- CREDITS.md | 2 + export_presets.cfg | 145 ++++++++++++++++++++++++ fonts/ZxSpectrum7-nROZ0.ttf | Bin 0 -> 96264 bytes fonts/ZxSpectrum7-nROZ0.ttf.import | 38 +++++++ fonts/ZxSpectrum7Bold-1GpEB.ttf | Bin 0 -> 89336 bytes fonts/ZxSpectrum7Bold-1GpEB.ttf.import | 33 ++++++ prefabs/play_zone.tscn | 6 + project.godot | 8 +- scenes/main_scene.tscn | 50 ++++++-- scenes/menu.tscn | 48 ++++++++ scripts/Constants.cs | 2 +- scripts/DeathScreen.cs | 59 ++++++++++ scripts/Flashlight.cs | 2 +- scripts/GameCamera.cs | 2 - scripts/GameManager.cs | 38 +++++++ scripts/Menu.cs | 29 +++++ scripts/PlayZone.cs | 16 +++ scripts/Player.cs | 5 + scripts/enemies/Watcher.cs | 1 - sounds/thunderclap.ogg | Bin 0 -> 25515 bytes sounds/thunderclap.ogg.import | 19 ++++ sprites/tiles/floor/pressure_plate.tres | 2 +- sprites/tiles/floor/spikes/spikes.tres | 2 +- themes/zx_theme.tres | 7 ++ 24 files changed, 497 insertions(+), 17 deletions(-) create mode 100644 export_presets.cfg create mode 100644 fonts/ZxSpectrum7-nROZ0.ttf create mode 100644 fonts/ZxSpectrum7-nROZ0.ttf.import create mode 100644 fonts/ZxSpectrum7Bold-1GpEB.ttf create mode 100644 fonts/ZxSpectrum7Bold-1GpEB.ttf.import create mode 100644 prefabs/play_zone.tscn create mode 100644 scenes/menu.tscn create mode 100644 scripts/DeathScreen.cs create mode 100644 scripts/GameManager.cs create mode 100644 scripts/Menu.cs create mode 100644 scripts/PlayZone.cs create mode 100644 sounds/thunderclap.ogg create mode 100644 sounds/thunderclap.ogg.import create mode 100644 themes/zx_theme.tres diff --git a/CREDITS.md b/CREDITS.md index 9ff4eb5..649a457 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -10,6 +10,8 @@ - crank sound - https://freesound.org/people/tosha73/sounds/546859/ - watcher sigh - https://freesound.org/people/AbrahamMast/sounds/501339/ + - thunderclap - https://freesound.org/people/Rie-chanThirty/sounds/691960/ + - zx spectrum font - Sizenko Alexander from [Style-7](http://www.styleseven.com) ## Tools diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..80a994c --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,145 @@ +[preset.0] + +name="Web" +platform="Web" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +variant/extensions_support=false +vram_texture_compression/for_desktop=true +vram_texture_compression/for_mobile=false +html/export_icon=true +html/custom_html_shell="" +html/head_include="" +html/canvas_resize_policy=2 +html/focus_canvas_on_start=true +html/experimental_virtual_keyboard=false +progressive_web_app/enabled=false +progressive_web_app/offline_page="" +progressive_web_app/display=1 +progressive_web_app/orientation=0 +progressive_web_app/icon_144x144="" +progressive_web_app/icon_180x180="" +progressive_web_app/icon_512x512="" +progressive_web_app/background_color=Color(0, 0, 0, 1) +dotnet/include_scripts_content=false +dotnet/include_debug_symbols=true + +[preset.1] + +name="Windows Desktop" +platform="Windows Desktop" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.1.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +binary_format/architecture="x86_64" +codesign/enable=false +codesign/timestamp=true +codesign/timestamp_server_url="" +codesign/digest_algorithm=1 +codesign/description="" +codesign/custom_options=PackedStringArray() +application/modify_resources=true +application/icon="" +application/console_wrapper_icon="" +application/icon_interpolation=4 +application/file_version="" +application/product_version="" +application/company_name="" +application/product_name="" +application/file_description="" +application/copyright="" +application/trademarks="" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}' +$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}' +$trigger = New-ScheduledTaskTrigger -Once -At 00:00 +$settings = New-ScheduledTaskSettingsSet +$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings +Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true +Start-ScheduledTask -TaskName godot_remote_debug +while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 } +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue" +ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue +Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue +Remove-Item -Recurse -Force '{temp_dir}'" +dotnet/include_scripts_content=false +dotnet/include_debug_symbols=true + +[preset.2] + +name="Linux/X11" +platform="Linux/X11" +runnable=true +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="" +encryption_include_filters="" +encryption_exclude_filters="" +encrypt_pck=false +encrypt_directory=false + +[preset.2.options] + +custom_template/debug="" +custom_template/release="" +debug/export_console_wrapper=1 +binary_format/embed_pck=false +texture_format/bptc=true +texture_format/s3tc=true +texture_format/etc=false +texture_format/etc2=false +binary_format/architecture="x86_64" +ssh_remote_deploy/enabled=false +ssh_remote_deploy/host="user@host_ip" +ssh_remote_deploy/port="22" +ssh_remote_deploy/extra_args_ssh="" +ssh_remote_deploy/extra_args_scp="" +ssh_remote_deploy/run_script="#!/usr/bin/env bash +export DISPLAY=:0 +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +\"{temp_dir}/{exe_name}\" {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" +dotnet/include_scripts_content=false +dotnet/include_debug_symbols=true diff --git a/fonts/ZxSpectrum7-nROZ0.ttf b/fonts/ZxSpectrum7-nROZ0.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9a1989dbeb2b3d9810004e95f788a1828dd35f58 GIT binary patch literal 96264 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¿!0mn_|yu08ZTrB6DveCxvw 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 literal 0 HcmV?d00001 diff --git a/fonts/ZxSpectrum7Bold-1GpEB.ttf.import b/fonts/ZxSpectrum7Bold-1GpEB.ttf.import new file mode 100644 index 0000000..0064814 --- /dev/null +++ b/fonts/ZxSpectrum7Bold-1GpEB.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://blrrssv7yvot2" +path="res://.godot/imported/ZxSpectrum7Bold-1GpEB.ttf-90e16e9694eef89eadb4ded82bfb64ea.fontdata" + +[deps] + +source_file="res://fonts/ZxSpectrum7Bold-1GpEB.ttf" +dest_files=["res://.godot/imported/ZxSpectrum7Bold-1GpEB.ttf-90e16e9694eef89eadb4ded82bfb64ea.fontdata"] + +[params] + +Rendering=null +antialiasing=0 +generate_mipmaps=false +multichannel_signed_distance_field=false +msdf_pixel_range=8 +msdf_size=48 +allow_system_fallback=false +force_autohinter=false +hinting=0 +subpixel_positioning=0 +oversampling=0.0 +Fallbacks=null +fallbacks=[] +Compress=null +compress=true +preload=[] +language_support={} +script_support={} +opentype_features={} diff --git a/prefabs/play_zone.tscn b/prefabs/play_zone.tscn new file mode 100644 index 0000000..e2a56c4 --- /dev/null +++ b/prefabs/play_zone.tscn @@ -0,0 +1,6 @@ +[gd_scene load_steps=2 format=3 uid="uid://bdtjnmjopi5h2"] + +[ext_resource type="Script" path="res://scripts/PlayZone.cs" id="1_k3xi5"] + +[node name="PlayZone" type="Node2D"] +script = ExtResource("1_k3xi5") diff --git a/project.godot b/project.godot index 6ec3ddc..8dd5ea9 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="1bit-game-jam" -run/main_scene="res://scenes/main_scene.tscn" +run/main_scene="res://scenes/menu.tscn" config/features=PackedStringArray("4.1", "C#", "Mobile") boot_splash/bg_color=Color(0.141176, 0.141176, 0.141176, 1) config/icon="res://icon.svg" @@ -65,6 +65,12 @@ flashlight_charge={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":0,"echo":false,"script":null) ] } +ui_confirm={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194309,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":false,"script":null) +] +} [layer_names] diff --git a/scenes/main_scene.tscn b/scenes/main_scene.tscn index 40b89c4..f9362c6 100644 --- a/scenes/main_scene.tscn +++ b/scenes/main_scene.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=22 format=3 uid="uid://dhn7yt46fyac8"] +[gd_scene load_steps=26 format=3 uid="uid://dhn7yt46fyac8"] [ext_resource type="PackedScene" uid="uid://bhulqhxesd5gc" path="res://prefabs/player.tscn" id="1_65a7v"] [ext_resource type="AudioStream" uid="uid://bsy2d0bl3lgg0" path="res://sounds/crank.ogg" id="1_cweq4"] +[ext_resource type="Script" path="res://scripts/GameManager.cs" id="1_ij566"] [ext_resource type="Texture2D" uid="uid://py6qiu3rm7cu" path="res://sprites/brickwall.png" id="2_edqdh"] [ext_resource type="Texture2D" uid="uid://dlbl6d4yghvht" path="res://sprites/mask.png" id="3_8o315"] [ext_resource type="Script" path="res://scripts/Flashlight.cs" id="3_cylxo"] @@ -10,9 +11,10 @@ [ext_resource type="Script" path="res://scripts/GameCamera.cs" id="6_quua3"] [ext_resource type="Script" path="res://scripts/PointLight2DWorkaround.cs" id="6_slohe"] [ext_resource type="PackedScene" uid="uid://ccg3n7sobsvdw" path="res://prefabs/enemies/watcher.tscn" id="10_fsiss"] -[ext_resource type="PackedScene" uid="uid://bpusphyhhg074" path="res://prefabs/enemies/living_armor.tscn" id="11_x3ep3"] +[ext_resource type="PackedScene" path="res://prefabs/enemies/living_armor.tscn" id="11_x3ep3"] [ext_resource type="PackedScene" uid="uid://bj1ixwjdpnooo" path="res://prefabs/entities/pressure_plate.tscn" id="12_ynt5e"] [ext_resource type="PackedScene" uid="uid://dqx43vr727ft8" path="res://prefabs/entities/spikes.tscn" id="13_w1hk1"] +[ext_resource type="Script" path="res://scripts/DeathScreen.cs" id="15_12mhe"] [sub_resource type="Curve" id="Curve_o5byr"] _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0824742, 0.273684), -10.2105, 0.0, 0, 0, Vector2(0.242268, 0.494737), -5.10526, 0.0, 0, 0, Vector2(0.396907, 0.736842), -7.6579, 0.0, 0, 0, Vector2(0.737113, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] @@ -24,7 +26,7 @@ light_mode = 2 [sub_resource type="ShaderMaterial" id="ShaderMaterial_m680d"] shader = ExtResource("5_64d71") -[sub_resource type="ViewportTexture" id="ViewportTexture_y74yf"] +[sub_resource type="ViewportTexture" id="ViewportTexture_psi2l"] viewport_path = NodePath("FlashlightViewport") [sub_resource type="CircleShape2D" id="CircleShape2D_prnh4"] @@ -35,12 +37,25 @@ radius = 16.0 [sub_resource type="ViewportTexture" id="ViewportTexture_nnmvo"] viewport_path = NodePath("FlashlightViewport") +[sub_resource type="Gradient" id="Gradient_cy0nu"] +interpolation_mode = 1 +offsets = PackedFloat32Array(0) +colors = PackedColorArray(0, 0, 0, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_2sbp3"] +gradient = SubResource("Gradient_cy0nu") +width = 256 +height = 192 + [sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_au1d0"] light_mode = 2 [node name="Root" type="Node2D"] y_sort_enabled = true +[node name="GameManager" type="Node" parent="."] +script = ExtResource("1_ij566") + [node name="Sounds" type="Node" parent="."] [node name="CrankSound" type="AudioStreamPlayer" parent="Sounds"] @@ -107,7 +122,7 @@ CameraBounds = Vector2(30, 20) [node name="PointLight2D" type="PointLight2D" parent="PlayerCamera" node_paths=PackedStringArray("LightViewport")] blend_mode = 2 range_item_cull_mask = 2 -texture = SubResource("ViewportTexture_y74yf") +texture = SubResource("ViewportTexture_psi2l") script = ExtResource("6_slohe") LightViewport = NodePath("../../FlashlightViewport") @@ -146,6 +161,27 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +[node name="DeathScreen" type="TextureRect" parent="CanvasLayer" node_paths=PackedStringArray("Camera")] +visible = false +z_index = 10 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = SubResource("GradientTexture2D_2sbp3") +script = ExtResource("15_12mhe") +Camera = NodePath("../../PlayerCamera") + +[node name="Timer" type="Timer" parent="CanvasLayer/DeathScreen"] +wait_time = 3.0 + +[node name="PlayerSprite" type="TextureRect" parent="CanvasLayer/DeathScreen"] +layout_mode = 0 + +[node name="MonsterSprite" type="TextureRect" parent="CanvasLayer/DeathScreen"] +layout_mode = 0 + [node name="Sprite2D" type="Sprite2D" parent="."] light_mask = 2 y_sort_enabled = true @@ -191,8 +227,4 @@ Enabled = true SpikesTimeout = 0.5 StartOffset = 0.5 -[connection signal="ButtonPressed" from="pressure_plate" to="spikes" method="Off"] -[connection signal="ButtonPressed" from="pressure_plate" to="spikes2" method="Off"] -[connection signal="ButtonPressed" from="pressure_plate" to="spikes3" method="Off"] -[connection signal="ButtonUnpressed" from="pressure_plate" to="spikes" method="On"] -[connection signal="ButtonUnpressed" from="pressure_plate" to="spikes3" method="On"] +[connection signal="timeout" from="CanvasLayer/DeathScreen/Timer" to="CanvasLayer/DeathScreen" method="Timeout"] diff --git a/scenes/menu.tscn b/scenes/menu.tscn new file mode 100644 index 0000000..7af5b50 --- /dev/null +++ b/scenes/menu.tscn @@ -0,0 +1,48 @@ +[gd_scene load_steps=6 format=3 uid="uid://c7w8oqlobjae0"] + +[ext_resource type="Script" path="res://scripts/Menu.cs" id="1_dlrmp"] +[ext_resource type="AudioStream" uid="uid://ilvpdkvibr7c" path="res://sounds/thunderclap.ogg" id="2_nviw8"] +[ext_resource type="Theme" uid="uid://daxgxg7c8v0ih" path="res://themes/zx_theme.tres" id="3_d3ur4"] + +[sub_resource type="Animation" id="Animation_6kcty"] +resource_name = "intro_animation" + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_mjata"] +_data = { +"intro_animation": SubResource("Animation_6kcty") +} + +[node name="Menu" type="Node2D"] +script = ExtResource("1_dlrmp") + +[node name="Camera2D" type="Camera2D" parent="."] + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +libraries = { +"": SubResource("AnimationLibrary_mjata") +} + +[node name="Timer" type="Timer" parent="."] +wait_time = 2.0 +one_shot = true + +[node name="Thunderclap" type="AudioStreamPlayer2D" parent="."] +stream = ExtResource("2_nviw8") + +[node name="CanvasLayer" type="CanvasLayer" parent="."] + +[node name="Label" type="Label" parent="CanvasLayer"] +anchors_preset = 12 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = -26.0 +grow_horizontal = 2 +grow_vertical = 0 +rotation = -0.001216 +theme = ExtResource("3_d3ur4") +text = "Press Start or Enter" +horizontal_alignment = 1 +vertical_alignment = 1 + +[connection signal="timeout" from="Timer" to="." method="ChangeScene"] diff --git a/scripts/Constants.cs b/scripts/Constants.cs index 86ad88a..9eacdf4 100644 --- a/scripts/Constants.cs +++ b/scripts/Constants.cs @@ -10,5 +10,5 @@ public static class Constants public const float MaxFlashlightDistance = 96; public const float MinFlashlightDistance = 16; public const float MaxFlashlightEnergy = 100; - public const float FlashlightEneregyPerCharge = 5; + public const float FlashlightEnergyPerCharge = 5; } diff --git a/scripts/DeathScreen.cs b/scripts/DeathScreen.cs new file mode 100644 index 0000000..e8854f8 --- /dev/null +++ b/scripts/DeathScreen.cs @@ -0,0 +1,59 @@ +using Godot; + +public partial class DeathScreen : TextureRect +{ + public static DeathScreen Instance { get; private set; } + + [Export] public GameCamera Camera; + + private Timer _timer; + private TextureRect _playerSprite; + private TextureRect _monsterSprite; + + public override void _Ready() + { + Instance = this; + + Visible = false; + + _timer = (Timer)FindChild("Timer"); + _playerSprite = (TextureRect)FindChild("PlayerSprite"); + _monsterSprite = (TextureRect)FindChild("MonsterSprite"); + } + + public void Timeout() + { + GD.Print("Timer end"); + + GetTree().ReloadCurrentScene(); + } + + public void Killed(Node2D killer) + { + GD.Print($"DeathScreen {killer is null}"); + + _playerSprite.Position = Player.Instance.Position - Camera.Position + Constants.HalfScreenSize; + _monsterSprite.Position = killer.Position - Camera.Position + Constants.HalfScreenSize; + + if (Player.Instance.FindChild("AnimatedSprite2D") is AnimatedSprite2D animatedSprite2D) + { + GD.Print("Found AnimatedSprite2D for Player"); + _playerSprite.Texture = + animatedSprite2D.SpriteFrames.GetFrameTexture(animatedSprite2D.Animation, animatedSprite2D.Frame); + _playerSprite.Position -= _playerSprite.Texture.GetSize() / 2; + } + + if (killer.FindChild("AnimatedSprite2D") is AnimatedSprite2D killerAnimatedSprite2D) + { + GD.Print("Found AnimatedSprite2D for Monster"); + _monsterSprite.Texture = + killerAnimatedSprite2D.SpriteFrames.GetFrameTexture(killerAnimatedSprite2D.Animation, killerAnimatedSprite2D.Frame); + _monsterSprite.Position -= _monsterSprite.Texture.GetSize() / 2; + } + + Visible = true; + _timer.Start(); + + GD.Print("Timer start"); + } +} diff --git a/scripts/Flashlight.cs b/scripts/Flashlight.cs index 6efe809..86e3185 100644 --- a/scripts/Flashlight.cs +++ b/scripts/Flashlight.cs @@ -80,7 +80,7 @@ public partial class Flashlight : Node if (Input.IsActionJustPressed("flashlight_charge") && FlashlightChargeTimeout <= 0) { FlashlightChargeTimeout = 1; - FlashlightEnergy += Constants.FlashlightEneregyPerCharge; + FlashlightEnergy += Constants.FlashlightEnergyPerCharge; var rng = new RandomNumberGenerator(); CrankSoundPlayer.PitchScale = rng.RandfRange(1f, 1.15f); CrankSoundPlayer.Play(); diff --git a/scripts/GameCamera.cs b/scripts/GameCamera.cs index 09db48e..52f7e7b 100644 --- a/scripts/GameCamera.cs +++ b/scripts/GameCamera.cs @@ -21,7 +21,6 @@ public partial class GameCamera : Camera2D var halfCameraFollowBounds = CameraFollowBounds / 2; var hardLimit = relativePlayerPosition.Clamp(-halfCameraBounds, halfCameraBounds); difference = relativePlayerPosition - hardLimit; - //GD.Print($"HardDiff {difference}"); if (difference.IsZeroApprox()) { float x = 0, y = 0; @@ -36,7 +35,6 @@ public partial class GameCamera : Camera2D } difference = new Vector2(x, y); - //GD.Print($"SmoothDiff {difference}"); } Position = (Position + difference).Round(); diff --git a/scripts/GameManager.cs b/scripts/GameManager.cs new file mode 100644 index 0000000..65d80c3 --- /dev/null +++ b/scripts/GameManager.cs @@ -0,0 +1,38 @@ +using System; +using Godot; + +public partial class GameManager : Node +{ + public static bool IsPlaying = true; + + public ulong GameStart = 0; + public ulong GameEnd = 0; + public int Attempts = 0; + public Node2D Checkpoint = null; + + [Signal] + public delegate void GameOverEventHandler(); + + public override void _Ready() + { + if (!IsPlaying) + { + IsPlaying = true; + } + + StartGame(); + } + + public void StartGame() => GameStart = Time.GetTicksMsec(); + + public void EndGame() + { + GameEnd = Time.GetTicksMsec(); + + EmitSignal(SignalName.GameOver); + } + + public string GetFormattedTimeElapsed() => TimeSpan.FromMilliseconds(GameEnd - GameStart).ToString(@"hh\:mm\:ss.fff"); + + public void OnPlayerDied() => Attempts++; +} diff --git a/scripts/Menu.cs b/scripts/Menu.cs new file mode 100644 index 0000000..301004c --- /dev/null +++ b/scripts/Menu.cs @@ -0,0 +1,29 @@ +using Godot; + +public partial class Menu : Node2D +{ + private Timer _timer; + private AudioStreamPlayer2D _thunderclap; + + public override void _Ready() + { + _timer = (Timer)FindChild("Timer"); + _thunderclap = (AudioStreamPlayer2D)FindChild("Thunderclap"); + + GameManager.IsPlaying = false; + } + + public override void _Input(InputEvent @event) + { + if (@event.IsActionPressed("ui_confirm") && _timer.IsStopped()) + { + _thunderclap.Play(); + _timer.Start(); + } + } + + public void ChangeScene() + { + GetTree().ChangeSceneToFile("res://scenes/main_scene.tscn"); + } +} diff --git a/scripts/PlayZone.cs b/scripts/PlayZone.cs new file mode 100644 index 0000000..2c44374 --- /dev/null +++ b/scripts/PlayZone.cs @@ -0,0 +1,16 @@ +using Godot; +using System; + +public partial class PlayZone : Node2D +{ + [Export] public Node2D TopLeftCorner; + [Export] public Node2D BottomRightCorner; + + public Rect2I Bounds = new Rect2I(0, 0, 0, 0); + + public override void _Ready() + { + var size = BottomRightCorner.Position - TopLeftCorner.Position; + Bounds = new Rect2I((int)TopLeftCorner.Position.X, (int)TopLeftCorner.Position.Y, (int)size.X, (int)size.Y); + } +} diff --git a/scripts/Player.cs b/scripts/Player.cs index b413242..c559408 100644 --- a/scripts/Player.cs +++ b/scripts/Player.cs @@ -22,6 +22,9 @@ public partial class Player : CharacterBody2D public override void _PhysicsProcess(double delta) { + if (!Alive) + return; + Vector2 velocity = Velocity; // Get the input direction and handle the movement/deceleration. @@ -63,5 +66,7 @@ public partial class Player : CharacterBody2D GD.Print($"Killed by {killer.Name}"); Alive = false; EmitSignal(SignalName.Killed); + + DeathScreen.Instance.Killed(killer); } } diff --git a/scripts/enemies/Watcher.cs b/scripts/enemies/Watcher.cs index 1ecc7e2..59d4e01 100644 --- a/scripts/enemies/Watcher.cs +++ b/scripts/enemies/Watcher.cs @@ -1,5 +1,4 @@ using Godot; -using System; public partial class Watcher : Node2D { diff --git a/sounds/thunderclap.ogg b/sounds/thunderclap.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bd3f874a170b0c1a19d430c47936939728ea025e GIT binary patch literal 25515 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 literal 0 HcmV?d00001 diff --git a/sounds/thunderclap.ogg.import b/sounds/thunderclap.ogg.import new file mode 100644 index 0000000..538583d --- /dev/null +++ b/sounds/thunderclap.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://ilvpdkvibr7c" +path="res://.godot/imported/thunderclap.ogg-9dae3fe549e2cc5f445c495f439ee221.oggvorbisstr" + +[deps] + +source_file="res://sounds/thunderclap.ogg" +dest_files=["res://.godot/imported/thunderclap.ogg-9dae3fe549e2cc5f445c495f439ee221.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/sprites/tiles/floor/pressure_plate.tres b/sprites/tiles/floor/pressure_plate.tres index 92bba46..a04d072 100644 --- a/sprites/tiles/floor/pressure_plate.tres +++ b/sprites/tiles/floor/pressure_plate.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpriteFrames" load_steps=4 format=3 uid="uid://chfnxa71xs3ww"] +[gd_resource type="SpriteFrames" load_steps=4 format=3 uid="uid://8qygv4lq4pjf"] [ext_resource type="Texture2D" uid="uid://duv3fbjw53vtw" path="res://sprites/tiles/floor/pressure_plate.png" id="1_j71no"] diff --git a/sprites/tiles/floor/spikes/spikes.tres b/sprites/tiles/floor/spikes/spikes.tres index c584e90..c83293e 100644 --- a/sprites/tiles/floor/spikes/spikes.tres +++ b/sprites/tiles/floor/spikes/spikes.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpriteFrames" load_steps=5 format=3 uid="uid://0xgmr60v1vxg"] +[gd_resource type="SpriteFrames" load_steps=5 format=3 uid="uid://uith5rxps4s"] [ext_resource type="Texture2D" uid="uid://l3v1hs32uxfp" path="res://sprites/tiles/floor/spikes/spikes_0001-sheet.png" id="1_xhodh"] diff --git a/themes/zx_theme.tres b/themes/zx_theme.tres new file mode 100644 index 0000000..28df72b --- /dev/null +++ b/themes/zx_theme.tres @@ -0,0 +1,7 @@ +[gd_resource type="Theme" load_steps=2 format=3 uid="uid://daxgxg7c8v0ih"] + +[ext_resource type="FontFile" uid="uid://dwn20pw40jpxm" path="res://fonts/ZxSpectrum7-nROZ0.ttf" id="1_rr8l8"] + +[resource] +default_font = ExtResource("1_rr8l8") +default_font_size = 10