diff --git a/Audio/BGM/BossTheme.ogg b/Audio/BGM/BossTheme.ogg new file mode 100644 index 0000000..f5465ab Binary files /dev/null and b/Audio/BGM/BossTheme.ogg differ diff --git a/Audio/BGM/BossTheme.ogg.import b/Audio/BGM/BossTheme.ogg.import new file mode 100644 index 0000000..5c0972b --- /dev/null +++ b/Audio/BGM/BossTheme.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://cb3wcnvvmogkh" +path="res://.godot/imported/BossTheme.ogg-459b51256339e59464889a4669185554.oggvorbisstr" + +[deps] + +source_file="res://Audio/BGM/BossTheme.ogg" +dest_files=["res://.godot/imported/BossTheme.ogg-459b51256339e59464889a4669185554.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Audio/BGM/BossTheme.wav b/Audio/BGM/BossTheme.wav deleted file mode 100644 index 7f49ffb..0000000 Binary files a/Audio/BGM/BossTheme.wav and /dev/null differ diff --git a/Audio/BGM/BossTheme.wav.import b/Audio/BGM/BossTheme.wav.import deleted file mode 100644 index 3e87f3d..0000000 --- a/Audio/BGM/BossTheme.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://bwm5jsh1qw5ji" -path="res://.godot/imported/BossTheme.wav-e1d9235ed1dfe32d95040c26231a00d8.sample" - -[deps] - -source_file="res://Audio/BGM/BossTheme.wav" -dest_files=["res://.godot/imported/BossTheme.wav-e1d9235ed1dfe32d95040c26231a00d8.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=2 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=0 diff --git a/Audio/BGM/GameOverTheme.ogg b/Audio/BGM/GameOverTheme.ogg new file mode 100644 index 0000000..40c5ea9 Binary files /dev/null and b/Audio/BGM/GameOverTheme.ogg differ diff --git a/Audio/BGM/GameOverTheme.ogg.import b/Audio/BGM/GameOverTheme.ogg.import new file mode 100644 index 0000000..883579f --- /dev/null +++ b/Audio/BGM/GameOverTheme.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bjiskpj5g86sr" +path="res://.godot/imported/GameOverTheme.ogg-4305545c9f4c8e8c96ca0f12024e0581.oggvorbisstr" + +[deps] + +source_file="res://Audio/BGM/GameOverTheme.ogg" +dest_files=["res://.godot/imported/GameOverTheme.ogg-4305545c9f4c8e8c96ca0f12024e0581.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Audio/BGM/GameOverTheme.wav b/Audio/BGM/GameOverTheme.wav deleted file mode 100644 index a7b80e6..0000000 Binary files a/Audio/BGM/GameOverTheme.wav and /dev/null differ diff --git a/Audio/BGM/GameOverTheme.wav.import b/Audio/BGM/GameOverTheme.wav.import deleted file mode 100644 index e36b8a6..0000000 --- a/Audio/BGM/GameOverTheme.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://c7etbj4eoq6rr" -path="res://.godot/imported/GameOverTheme.wav-37e0b0b93f022836cc778593b4f056ec.sample" - -[deps] - -source_file="res://Audio/BGM/GameOverTheme.wav" -dest_files=["res://.godot/imported/GameOverTheme.wav-37e0b0b93f022836cc778593b4f056ec.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=0 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=0 diff --git a/Audio/BGM/LevelTheme.ogg b/Audio/BGM/LevelTheme.ogg new file mode 100644 index 0000000..557039e Binary files /dev/null and b/Audio/BGM/LevelTheme.ogg differ diff --git a/Audio/BGM/LevelTheme.ogg.import b/Audio/BGM/LevelTheme.ogg.import new file mode 100644 index 0000000..6280c41 --- /dev/null +++ b/Audio/BGM/LevelTheme.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://bti387lu4dnfp" +path="res://.godot/imported/LevelTheme.ogg-59eab2762fa29514e6a1603812a098df.oggvorbisstr" + +[deps] + +source_file="res://Audio/BGM/LevelTheme.ogg" +dest_files=["res://.godot/imported/LevelTheme.ogg-59eab2762fa29514e6a1603812a098df.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Audio/BGM/LevelTheme.wav b/Audio/BGM/LevelTheme.wav deleted file mode 100644 index a28e7cf..0000000 Binary files a/Audio/BGM/LevelTheme.wav and /dev/null differ diff --git a/Audio/BGM/LevelTheme.wav.import b/Audio/BGM/LevelTheme.wav.import deleted file mode 100644 index d2506e1..0000000 --- a/Audio/BGM/LevelTheme.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://3lvsaxunketk" -path="res://.godot/imported/LevelTheme.wav-0adc52373875aad0f2b6a0ceca863b1b.sample" - -[deps] - -source_file="res://Audio/BGM/LevelTheme.wav" -dest_files=["res://.godot/imported/LevelTheme.wav-0adc52373875aad0f2b6a0ceca863b1b.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=2 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=0 diff --git a/Audio/BGM/OpeningTheme.ogg b/Audio/BGM/OpeningTheme.ogg new file mode 100644 index 0000000..06d5db7 Binary files /dev/null and b/Audio/BGM/OpeningTheme.ogg differ diff --git a/Audio/BGM/OpeningTheme.ogg.import b/Audio/BGM/OpeningTheme.ogg.import new file mode 100644 index 0000000..68b0480 --- /dev/null +++ b/Audio/BGM/OpeningTheme.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://c1cot3ppc44rn" +path="res://.godot/imported/OpeningTheme.ogg-3e12ca3ad85ca7dd71d6f3b774212a5d.oggvorbisstr" + +[deps] + +source_file="res://Audio/BGM/OpeningTheme.ogg" +dest_files=["res://.godot/imported/OpeningTheme.ogg-3e12ca3ad85ca7dd71d6f3b774212a5d.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Audio/BGM/OpeningTheme.wav b/Audio/BGM/OpeningTheme.wav deleted file mode 100644 index fa74478..0000000 Binary files a/Audio/BGM/OpeningTheme.wav and /dev/null differ diff --git a/Audio/BGM/OpeningTheme.wav.import b/Audio/BGM/OpeningTheme.wav.import deleted file mode 100644 index c3f62b3..0000000 --- a/Audio/BGM/OpeningTheme.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://cs41ommggsoqi" -path="res://.godot/imported/OpeningTheme.wav-f9606623f23e32b407720479cfc1eee6.sample" - -[deps] - -source_file="res://Audio/BGM/OpeningTheme.wav" -dest_files=["res://.godot/imported/OpeningTheme.wav-f9606623f23e32b407720479cfc1eee6.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=1 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=0 diff --git a/Audio/BGM/TitleTheme.ogg b/Audio/BGM/TitleTheme.ogg new file mode 100644 index 0000000..b21e2a7 Binary files /dev/null and b/Audio/BGM/TitleTheme.ogg differ diff --git a/Audio/BGM/TitleTheme.ogg.import b/Audio/BGM/TitleTheme.ogg.import new file mode 100644 index 0000000..d757a4d --- /dev/null +++ b/Audio/BGM/TitleTheme.ogg.import @@ -0,0 +1,19 @@ +[remap] + +importer="oggvorbisstr" +type="AudioStreamOggVorbis" +uid="uid://dgskdjt8opeep" +path="res://.godot/imported/TitleTheme.ogg-955f1f76f6a13fdf046575d6a1db7cdb.oggvorbisstr" + +[deps] + +source_file="res://Audio/BGM/TitleTheme.ogg" +dest_files=["res://.godot/imported/TitleTheme.ogg-955f1f76f6a13fdf046575d6a1db7cdb.oggvorbisstr"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/Audio/BGM/TitleTheme.wav b/Audio/BGM/TitleTheme.wav deleted file mode 100644 index 424c4cd..0000000 Binary files a/Audio/BGM/TitleTheme.wav and /dev/null differ diff --git a/Audio/BGM/TitleTheme.wav.import b/Audio/BGM/TitleTheme.wav.import deleted file mode 100644 index 3dd6490..0000000 --- a/Audio/BGM/TitleTheme.wav.import +++ /dev/null @@ -1,24 +0,0 @@ -[remap] - -importer="wav" -type="AudioStreamWAV" -uid="uid://8yc2gpk1bx52" -path="res://.godot/imported/TitleTheme.wav-8b62c6f931f7176b0b575a94602130c7.sample" - -[deps] - -source_file="res://Audio/BGM/TitleTheme.wav" -dest_files=["res://.godot/imported/TitleTheme.wav-8b62c6f931f7176b0b575a94602130c7.sample"] - -[params] - -force/8_bit=false -force/mono=false -force/max_rate=false -force/max_rate_hz=44100 -edit/trim=false -edit/normalize=false -edit/loop_mode=2 -edit/loop_begin=0 -edit/loop_end=-1 -compress/mode=0 diff --git a/Enemies/MeleeEnemy.gdshader b/Enemies/MeleeEnemy.gdshader new file mode 100644 index 0000000..108aa28 --- /dev/null +++ b/Enemies/MeleeEnemy.gdshader @@ -0,0 +1,75 @@ +shader_type spatial; +render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley; + +uniform vec4 color: source_color = vec4(0.5, 0.4, 0.4, 1.0); +uniform float shade_tweak; +uniform float light_tweak; +uniform float sharpness; +uniform float scale; + +const mat4 dither = mat4( + vec4(0.0, 0.5333333333, 0.1333333333, 0.6666666667), + vec4(0.8, 0.2666666667, 0.9333333333, 0.4), + vec4(0.2, 0.7333333333, 0.06666666667, 0.6), + vec4(1.0, 0.4666666667, 0.8666666667, 0.3333333333) +); + +void fragment() { + ALBEDO = COLOR.rgb * color.rgb; +} + +float sample(vec2 coord, float alpha, float shade, float lit) { + int x = int(mod(coord.x, 4)); + int y = int(mod(coord.y, 4)); + if (y == 0) { + if (x == 0 && dither[0][0] >= alpha) { + return shade; + } else if (x == 1 && dither[0][1] >= alpha) { + return shade; + } else if (x == 2 && dither[0][2] >= alpha) { + return shade; + } else if (x == 3 && dither[0][3] >= alpha) { + return shade; + } + } else if (y == 1) { + if (x == 0 && dither[1][0] >= alpha) { + return shade; + } else if (x == 1 && dither[1][1] >= alpha) { + return shade; + } else if (x == 2 && dither[1][2] >= alpha) { + return shade; + } else if (x == 3 && dither[1][3] >= alpha) { + return shade; + } + } else if (y == 2) { + if (x == 0 && dither[2][0] >= alpha) { + return shade; + } else if (x == 1 && dither[2][1] >= alpha) { + return shade; + } else if (x == 2 && dither[2][2] >= alpha) { + return shade; + } else if (x == 3 && dither[2][3] >= alpha) { + return shade; + } + } else if (y == 3) { + if (x == 0 && dither[3][0] >= alpha) { + return shade; + } else if (x == 1 && dither[3][1] >= alpha) { + return shade; + } else if (x == 2 && dither[3][2] >= alpha) { + return shade; + } else if (x == 3 && dither[3][3] >= alpha) { + return shade; + } + } + return lit; +} + +void light() { + float a = sample( + FRAGCOORD.xy * (1.0 / scale), + clamp(dot(NORMAL, LIGHT) + sharpness, 0.0, 1.0 + sharpness) * 1.0f, + shade_tweak, + light_tweak); + DIFFUSE_LIGHT += ALBEDO * a; +} diff --git a/GameJam2023.csproj b/GameJam2023.csproj index eae0252..9f8db38 100644 --- a/GameJam2023.csproj +++ b/GameJam2023.csproj @@ -1,4 +1,4 @@ - + net6.0 true diff --git a/GameJam2023.csproj.old.5 b/GameJam2023.csproj.old.5 index d27da9e..eae0252 100644 --- a/GameJam2023.csproj.old.5 +++ b/GameJam2023.csproj.old.5 @@ -1,4 +1,4 @@ - + net6.0 true @@ -8,6 +8,7 @@ + \ No newline at end of file diff --git a/GameLogic/GameManager.cs b/GameLogic/GameManager.cs index 91a4567..015ee40 100644 --- a/GameLogic/GameManager.cs +++ b/GameLogic/GameManager.cs @@ -68,8 +68,8 @@ public partial class GameManager : Node if (player.CharactersLeftOnStage.Any()) { player.SelectedCharacter = player.CharactersLeftOnStage[player.CharacterIndex]; - GetTree().Root.AddChild(player.SelectedCharacter); player.SpawnPoint.SetPlayerPosition(player.SelectedCharacter); + GetTree().Root.AddChild(player.SelectedCharacter); } } diff --git a/GameLogic/Main.cs b/GameLogic/Main.cs index 865169a..f495943 100644 --- a/GameLogic/Main.cs +++ b/GameLogic/Main.cs @@ -28,7 +28,7 @@ public partial class Main : Node var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); bgmPlayer.ProcessMode = ProcessModeEnum.Always; - bgmPlayer.SetBGMFromFilepath("Audio/BGM/LevelTheme.wav"); + bgmPlayer.SetBGMFromFilepath("Audio/BGM/LevelTheme.ogg"); bgmPlayer.PlayBGM(); GetTree().Paused = true; diff --git a/GameLogic/Main.gdshader b/GameLogic/Main.gdshader new file mode 100644 index 0000000..bd800d6 --- /dev/null +++ b/GameLogic/Main.gdshader @@ -0,0 +1,22 @@ +shader_type sky; + +uniform vec3 color_top : source_color = vec3(0.91, 0.14, 1); +uniform vec3 color_horizon : source_color = vec3(1, 0.4, 0.42); +uniform vec3 color_bottom : source_color = vec3(1, 0.74, 0.39); + +uniform float exponent_factor_top : hint_range(0, 100) = 1.0; +uniform float exponent_factor_bottom : hint_range(0, 100) = 1.0; +uniform float intensity_amp : hint_range(0, 1) = 1.0; + +void sky() { + float p = EYEDIR.y; + float p1 = 1.0f - pow(min(1.0f, 1.0f - p), exponent_factor_top); + float p3 = 1.0f - pow(min(1.0f, 1.0f + p), exponent_factor_bottom); + float p2 = 1.0f - p1 - p3; + + COLOR = ( + color_top * p1 + + color_horizon * p2 + + color_bottom * p3 + ) * intensity_amp; +} \ No newline at end of file diff --git a/GameLogic/Main.tscn b/GameLogic/Main.tscn index 4cd0259..54cc670 100644 --- a/GameLogic/Main.tscn +++ b/GameLogic/Main.tscn @@ -1,13 +1,13 @@ [gd_scene load_steps=5 format=3 uid="uid://vwrw05ob2caq"] [ext_resource type="Script" path="res://GameLogic/Main.cs" id="1_g4hua"] +[ext_resource type="PackedScene" uid="uid://btl5fdyjewnwc" path="res://Levels/Scenes/Level3.tscn" id="2_0yhby"] [ext_resource type="PackedScene" uid="uid://b12gq4yqc3d8i" path="res://UI/MainMenu.tscn" id="2_kvovw"] -[ext_resource type="PackedScene" uid="uid://0hdnmilwrsq6" path="res://Levels/Scenes/Level10.tscn" id="2_tfrgb"] [ext_resource type="PackedScene" uid="uid://cxj6yeddshy16" path="res://GameLogic/GameManager.tscn" id="11_wiyvp"] [node name="Main" type="Node3D"] script = ExtResource("1_g4hua") -Levels = Array[PackedScene]([ExtResource("2_tfrgb")]) +Levels = Array[PackedScene]([ExtResource("2_0yhby")]) GameManager = ExtResource("11_wiyvp") [node name="MainMenu" parent="." instance=ExtResource("2_kvovw")] diff --git a/Levels/Scenes/Level3.tscn b/Levels/Scenes/Level3.tscn index 63e75fd..f676829 100644 --- a/Levels/Scenes/Level3.tscn +++ b/Levels/Scenes/Level3.tscn @@ -346,7 +346,6 @@ shadow_mesh = SubResource("ArrayMesh_sjtoo") [sub_resource type="ShaderMaterial" id="ShaderMaterial_d6sjv"] render_priority = 1 shader = ExtResource("9_05wf0") -shader_parameter/albedo = null [sub_resource type="Animation" id="Animation_uk6to"] resource_name = "HitFlash" diff --git a/Levels/Scripts/FinalLevel.cs b/Levels/Scripts/FinalLevel.cs index 40153ce..27a3913 100644 --- a/Levels/Scripts/FinalLevel.cs +++ b/Levels/Scripts/FinalLevel.cs @@ -7,7 +7,7 @@ public partial class FinalLevel : Node3D var finalBossGUI = GetTree().GetFirstNodeInGroup("BossGUI") as Control; finalBossGUI.Show(); var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); - bgmPlayer.SetBGMFromFilepath("Audio/BGM/BossTheme.wav"); + bgmPlayer.SetBGMFromFilepath("Audio/BGM/BossTheme.ogg"); bgmPlayer.PlayBGM(); } } diff --git a/UI/GameOverService.cs b/UI/GameOverService.cs index 545a9fa..fce2495 100644 --- a/UI/GameOverService.cs +++ b/UI/GameOverService.cs @@ -17,7 +17,7 @@ public partial class GameOverService : Control { Show(); var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); - bgmPlayer.SetBGMFromFilepath("Audio/BGM/GameOverTheme.wav"); + bgmPlayer.SetBGMFromFilepath("Audio/BGM/GameOverTheme.ogg"); bgmPlayer.PlayBGM(); foreach (var player in players) { diff --git a/UI/MainMenu.cs b/UI/MainMenu.cs index 0a4c7aa..8b93045 100644 --- a/UI/MainMenu.cs +++ b/UI/MainMenu.cs @@ -13,7 +13,7 @@ public partial class MainMenu : Node2D _animationPlayer = GetTree().Root.GetNode("/root/Main/MainMenu/UIAnimations/AnimationPlayer"); _animationPlayer.Queue("IntroLore"); var bgmPlayer = GetTree().Root.GetNode("BgmPlayer"); - bgmPlayer.SetBGMFromFilepath("Audio/BGM/TitleTheme.wav"); + bgmPlayer.SetBGMFromFilepath("Audio/BGM/TitleTheme.ogg"); bgmPlayer.PlayBGM(); }