diff --git a/global.gd b/global.gd index 653341e..5f4b3de 100644 --- a/global.gd +++ b/global.gd @@ -6,7 +6,7 @@ var origmpos var mousepos var timelimit = 15000 var wait -const places = [[[[null, null, null, null, false], [null, null, null, null, false]], [[null, null, null, null, false], ["res://levels/Testrooms/testboss.tscn", 640, 360, 11, false]], [[null, null, null, null ,false], ["res://levels/Testrooms/testspawn.tscn", 640, 360, 2 ,false]]]] +const places = [[[[null, null, null, null, false], [null, null, null, null, false]], [[null, null, null, null, false], ["res://levels/Testrooms/testboss.tscn", 640, 360, 11, true]], [[null, null, null, null ,false], ["res://levels/Testrooms/testspawn.tscn", 640, 360, 2 ,false]]]] var cplace = [0,2,1] var dplace = [null, null, null] const pchars = ["res://sprites/common/midori/midori.tscn"] @@ -20,7 +20,7 @@ var gamelevel var levelmax var firstrun const musictracks = ["res://music/reloaded.wav", "res://music/Jellies.wav", "res://music/getabrain.wav", "res://music/oskars.wav", "res://music/extralife.wav", "res://music/layers.wav", "res://music/caramel.wav", "res://music/XsEdzesSs.wav", "res://music/shakeshark.wav", "res://music/zubmarine.wav", "res://music/crammin.wav", "res://music/func.wav", "res://music/kaveh.wav", "res://music/rock.wav", "res://music/milkyway.wav", "res://music/sweetener.wav", "res://music/tooold.wav", "res://music/portello.wav", "res://music/songbirds.wav", "res://music/Gotanda.wav", "res://music/unreeeal.wav"] -const sfxtracks = [] +const sfxtracks = ["res://sfx/braindamage.wav", "res://sfx/gaugefill.wav"] var debug = false const release = "R0.0.0-dev" var sk = false diff --git a/levels/ui/credits.tscn b/levels/ui/credits.tscn index 05af50b..0b783b2 100644 --- a/levels/ui/credits.tscn +++ b/levels/ui/credits.tscn @@ -26,9 +26,12 @@ text = "Midori in the Magic School Programming Page Asgardius +Character design +Page Asgardius + Made with Godot Engine -Testing +Testing Devices Asus VivoBook X1500EA Arch Linux Rolling @@ -39,6 +42,11 @@ Steam Deck Arch Linux Rolling Provided by Evelyn Freeman +HP Pavilion x360 +Debian 12 +Game assets were designed with this device +Provided by Eric Asgardius + Feedback Sakura Nakayama Tood @@ -49,8 +57,7 @@ Beachkid Sakura Nakayama Music - -Soundtrack provided by archive.org +Soundtrack provided by archive.org and Bandcamp Title screen RELOADED Theme @@ -120,9 +127,24 @@ Credit roll 2 too old tj technoiZ -Credit roll 3 -portello -motherchip +The Magic School +songbirds playground +Vince Kaichan + +Deep Forest +Gotanda Lights +Vince Kaichan + +Boss Fight (Earth) +unreeeal superhero 3 +rez-kenet + +Sound Effects +Provided by Pixabay + +Game Over +Brain Damage +Daub Audio Encoders @@ -145,6 +167,18 @@ xiph.org PCM Public Domain +Asset design tools + +Stable Diffusion +CompVis +Used only for placeholders (currently unused) + +Krita +KDE Community + +GNU Image Manipulation Program +GNU Project + Engine development Project Founders @@ -435,6 +469,12 @@ Unity Technologies For make me choosing Godot Godot does what Unitydnt +Ferdowsi +For writing the book that inspired the Blacksmith of Destruction + +Shigeru Miyamoto +For let me know that an elf as a main character is a great idea + CAPCOM For making great games in the past @@ -466,6 +506,10 @@ You are free to distribute this game and make modifications, but remember sharin You are free to create guides, but i suggest avoiding cheat codes +Buy Tracker Works from Vince Kaichan at +https://vincekaichan.bandcamp.com/album/tracker-works-2014-2018 +You will find all tracks from this composer that was used here + You can reuse assets for non-commercial purposes only" horizontal_alignment = 1 script = ExtResource("6_3q8sp") diff --git a/levels/ui/gameplay.gd b/levels/ui/gameplay.gd index 1432cbc..c431e6d 100644 --- a/levels/ui/gameplay.gd +++ b/levels/ui/gameplay.gd @@ -3,12 +3,14 @@ var level var player var music var bgsound := AudioStreamPlayer.new() +var sfx1 := AudioStreamPlayer.new() var musictrack var isboss # Called when the node enters the scene tree for the first time. func _ready(): add_child(bgsound) + add_child(sfx1) if Global.debug: level = load(Global.places[Global.dplace[0]][Global.dplace[1]][Global.dplace[2]][0]).instantiate() player = load(Global.pchars[Global.dcpchar]).instantiate() @@ -32,8 +34,11 @@ func _ready(): get_tree().root.add_child.call_deferred(level) get_tree().root.add_child.call_deferred(player) bgsound.stream = music - if !isboss: - bgsound.play(0) + if isboss: + sfx1.stream = load(Global.sfxtracks[1]) + sfx1.play(0) + bgsound.play(0) + # Called every frame. 'delta' is the elapsed time since the previous frame. diff --git a/levels/ui/sfxtest.gd b/levels/ui/sfxtest.gd index bc98cdd..ad14767 100644 --- a/levels/ui/sfxtest.gd +++ b/levels/ui/sfxtest.gd @@ -5,7 +5,7 @@ var player := AudioStreamPlayer.new() func _ready(): Input.set_mouse_mode(Input.MOUSE_MODE_HIDDEN) add_child(player) - $"BoxContainer/VBoxContainer/Title Screen".grab_focus() + $"BoxContainer/VBoxContainer/Game Over".grab_focus() # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): @@ -50,3 +50,13 @@ func _input(event): func _on_back_pressed(): get_tree().change_scene_to_file("res://levels/ui/soundtest.tscn") + + +func _on_game_over_pressed(): + player.stream = load(Global.sfxtracks[0]) + player.play(0) + + +func _on_gauge_fill_pressed(): + player.stream = load(Global.sfxtracks[1]) + player.play(0) diff --git a/levels/ui/sfxtest.tscn b/levels/ui/sfxtest.tscn index ac6fad3..b2dceb9 100644 --- a/levels/ui/sfxtest.tscn +++ b/levels/ui/sfxtest.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://cv2a37xetkkse"] +[gd_scene load_steps=7 format=3 uid="uid://cv2a37xetkkse"] [ext_resource type="Script" path="res://levels/ui/sfxtest.gd" id="1_l1lbb"] [ext_resource type="VideoStream" path="res://backgounds/nebula_-_6044 (720p).ogv" id="2_c55jp"] @@ -8,9 +8,6 @@ [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cprm3"] bg_color = Color(0, 0.8, 0, 1) -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_alctd"] -bg_color = Color(0, 0.8, 0, 1) - [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0dqsq"] bg_color = Color(0, 0.8, 0, 1) @@ -65,110 +62,26 @@ grow_vertical = 0 [node name="VBoxContainer" type="VBoxContainer" parent="BoxContainer"] layout_mode = 2 -[node name="Title Screen" type="Button" parent="BoxContainer/VBoxContainer"] +[node name="Game Over" type="Button" parent="BoxContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 25 theme_override_styles/focus = SubResource("StyleBoxFlat_cprm3") -text = "Title Screen" +text = "Game Over" -[node name="Disclaimer, Settings, Stores" type="Button" parent="BoxContainer/VBoxContainer"] +[node name="Gauge Fill" type="Button" parent="BoxContainer/VBoxContainer"] layout_mode = 2 theme_override_font_sizes/font_size = 25 theme_override_styles/focus = SubResource("StyleBoxFlat_cprm3") -text = "Disclaimer, Settings, Stores" - -[node name="Testrooms" type="Button" parent="BoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Testrooms" - -[node name="Friendly challenge" type="Button" parent="BoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Friendly challenge" - -[node name="School nursery" type="Button" parent="BoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "School nursery" - -[node name="Overworld (Ceres)" type="Button" parent="BoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Overworld (Ceres)" - -[node name="Boss fight (Ceres)" type="Button" parent="BoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Boss fight (Ceres)" - -[node name="Overworld (Earth)" type="Button" parent="BoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Overworld (Earth)" - -[node name="The Zubmarine Zone" type="Button" parent="BoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "The Zubmarine Zone" +text = "Gauge Fill" [node name="VBoxContainer2" type="VBoxContainer" parent="BoxContainer"] layout_mode = 2 -[node name="Radioactive Desert" type="Button" parent="BoxContainer/VBoxContainer2"] +[node name="Placeholder 2" type="Button" parent="BoxContainer/VBoxContainer2"] layout_mode = 2 theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Radioactive Desert" - -[node name="Boss Fight (Earth)" type="Button" parent="BoxContainer/VBoxContainer2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Boss Fight (Earth)" - -[node name="Dungeon of Destruction" type="Button" parent="BoxContainer/VBoxContainer2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Dungeon of Destruction" - -[node name="Final Boss Fight" type="Button" parent="BoxContainer/VBoxContainer2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Final Boss Fight" - -[node name="Ending Theme" type="Button" parent="BoxContainer/VBoxContainer2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Ending Theme" - -[node name="Credits 1" type="Button" parent="BoxContainer/VBoxContainer2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Credits 1" - -[node name="Credits 2" type="Button" parent="BoxContainer/VBoxContainer2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Credits 2" - -[node name="Credits 3" type="Button" parent="BoxContainer/VBoxContainer2"] -layout_mode = 2 -theme_override_font_sizes/font_size = 25 -theme_override_styles/focus = SubResource("StyleBoxFlat_alctd") -text = "Credits 3" +theme_override_styles/focus = SubResource("StyleBoxFlat_cprm3") +text = "Placeholder 2" [node name="Back" type="Button" parent="BoxContainer/VBoxContainer2"] layout_mode = 2 @@ -180,3 +93,5 @@ text = "Back" layout_mode = 1 [connection signal="finished" from="nebula" to="nebula" method="_on_finished"] +[connection signal="pressed" from="BoxContainer/VBoxContainer/Game Over" to="." method="_on_game_over_pressed"] +[connection signal="pressed" from="BoxContainer/VBoxContainer/Gauge Fill" to="." method="_on_gauge_fill_pressed"] diff --git a/sfx/braindamage.wav b/sfx/braindamage.wav new file mode 100644 index 0000000..492273a Binary files /dev/null and b/sfx/braindamage.wav differ diff --git a/sfx/braindamage.wav.import b/sfx/braindamage.wav.import new file mode 100644 index 0000000..6417cae --- /dev/null +++ b/sfx/braindamage.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ch4dx8fhxdgun" +path="res://.godot/imported/braindamage.wav-298698c2444d93b0788ea3d4b41dfa16.sample" + +[deps] + +source_file="res://sfx/braindamage.wav" +dest_files=["res://.godot/imported/braindamage.wav-298698c2444d93b0788ea3d4b41dfa16.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/sfx/gaugefill.wav b/sfx/gaugefill.wav new file mode 100644 index 0000000..a6e866d Binary files /dev/null and b/sfx/gaugefill.wav differ diff --git a/sfx/gaugefill.wav.import b/sfx/gaugefill.wav.import new file mode 100644 index 0000000..3c44c51 --- /dev/null +++ b/sfx/gaugefill.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://c8lo3bflm256j" +path="res://.godot/imported/gaugefill.wav-00170fe6235818b4f23b1012c23d5014.sample" + +[deps] + +source_file="res://sfx/gaugefill.wav" +dest_files=["res://.godot/imported/gaugefill.wav-00170fe6235818b4f23b1012c23d5014.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/sprites/common/midori/midori.tscn b/sprites/common/midori/midori.tscn index f7e5a59..c635c57 100644 --- a/sprites/common/midori/midori.tscn +++ b/sprites/common/midori/midori.tscn @@ -3,7 +3,7 @@ [ext_resource type="Texture2D" uid="uid://bc2vrf8qggvtp" path="res://sprites/common/midori/sprite.png" id="1_oqq2w"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_dj8gt"] -size = Vector2(128, 255.5) +size = Vector2(86, 68) [sub_resource type="Animation" id="Animation_i5rhc"] length = 0.001 @@ -101,7 +101,7 @@ hframes = 3 vframes = 2 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] -position = Vector2(0, 0.25) +position = Vector2(0, 94) shape = SubResource("RectangleShape2D_dj8gt") [node name="AnimationPlayer" type="AnimationPlayer" parent="."]