2 Commits

Author SHA1 Message Date
b775c73ffa more sound effects and polish
All checks were successful
Create tag and build when new code gets to main / BumpTag (push) Successful in 12s
Create tag and build when new code gets to main / Export (push) Successful in 1m35s
2026-02-01 15:45:56 +01:00
17874619ce back to lvl 1 as first level 2026-02-01 15:05:37 +01:00
33 changed files with 305 additions and 23 deletions

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://chaoj2vma62x2"
path="res://.godot/imported/Crowd Talking.mp3-54eae53ae22393453e154122c0e91197.mp3str"
[deps]
source_file="res://assets/audio/Crowd Talking.mp3"
dest_files=["res://.godot/imported/Crowd Talking.mp3-54eae53ae22393453e154122c0e91197.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bw1g10f27vaja"
path="res://.godot/imported/Small Bell Jingle.mp3-bcee597e1ed958399e9a60a41b80894c.mp3str"
[deps]
source_file="res://assets/audio/Small Bell Jingle.mp3"
dest_files=["res://.godot/imported/Small Bell Jingle.mp3-bcee597e1ed958399e9a60a41b80894c.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
assets/audio/bell-98033.mp3 Normal file

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bd6ac4eygdsqn"
path="res://.godot/imported/bell-98033.mp3-77cb4cbb334a5c7855df689915d64cf2.mp3str"
[deps]
source_file="res://assets/audio/bell-98033.mp3"
dest_files=["res://.godot/imported/bell-98033.mp3-77cb4cbb334a5c7855df689915d64cf2.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://ba5cwdtw0ddj6"
path="res://.godot/imported/Crowd Talking.mp3-7e400e26e7a8d1fa2cd64122cdfb3389.mp3str"
[deps]
source_file="res://assets/audio/crowd_ambiance/Crowd Talking.mp3"
dest_files=["res://.godot/imported/Crowd Talking.mp3-7e400e26e7a8d1fa2cd64122cdfb3389.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://qg0u7cllfipq"
path="res://.godot/imported/crowd-noise-390947.mp3-7d3932240df6664e41ca33d97c2af36a.mp3str"
[deps]
source_file="res://assets/audio/crowd_ambiance/crowd-noise-390947.mp3"
dest_files=["res://.godot/imported/crowd-noise-390947.mp3-7d3932240df6664e41ca33d97c2af36a.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://cr22cxcqc7cli"
path="res://.godot/imported/crowd-shocked-reaction-352766.mp3-1ddd837eeacd14c74718368d4a52c878.mp3str"
[deps]
source_file="res://assets/audio/defeat/crowd-shocked-reaction-352766.mp3"
dest_files=["res://.godot/imported/crowd-shocked-reaction-352766.mp3-1ddd837eeacd14c74718368d4a52c878.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://btmwxdhsu8ckf"
path="res://.godot/imported/fiasco-154915.mp3-ce326d3fc14c7204034b57c2a12d217a.mp3str"
[deps]
source_file="res://assets/audio/defeat/fiasco-154915.mp3"
dest_files=["res://.godot/imported/fiasco-154915.mp3-ce326d3fc14c7204034b57c2a12d217a.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -0,0 +1,24 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dwhw36p5gijof"
path="res://.godot/imported/paper picked up 2.wav-b83618f171c543385ff9d22360ba0713.sample"
[deps]
source_file="res://assets/audio/paper picked up 2.wav"
dest_files=["res://.godot/imported/paper picked up 2.wav-b83618f171c543385ff9d22360ba0713.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=2

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://dhdak0bbkksm"
path="res://.godot/imported/correct_answer_toy_bi-bling-476370.mp3-c110f32f7bedf605e8d481bc2db68a17.mp3str"
[deps]
source_file="res://assets/audio/victory/correct_answer_toy_bi-bling-476370.mp3"
dest_files=["res://.godot/imported/correct_answer_toy_bi-bling-476370.mp3-c110f32f7bedf605e8d481bc2db68a17.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bnxtexx6ofcip"
path="res://.godot/imported/cute_happy_victory-476376.mp3-3c41a12412c724b44c2e1ca612052398.mp3str"
[deps]
source_file="res://assets/audio/victory/cute_happy_victory-476376.mp3"
dest_files=["res://.godot/imported/cute_happy_victory-476376.mp3-3c41a12412c724b44c2e1ca612052398.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bmncpx0cwrp8n"
path="res://.godot/imported/gaming-victory-464016.mp3-3ca2333917d0441113f738ecff702afd.mp3str"
[deps]
source_file="res://assets/audio/victory/gaming-victory-464016.mp3"
dest_files=["res://.godot/imported/gaming-victory-464016.mp3-3ca2333917d0441113f738ecff702afd.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 KiB

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 KiB

After

Width:  |  Height:  |  Size: 440 KiB

View File

@@ -11,5 +11,11 @@ bus/2/name = &"SFX"
bus/2/solo = false
bus/2/mute = false
bus/2/bypass_fx = false
bus/2/volume_db = -1.4192572
bus/2/volume_db = -2.6102495
bus/2/send = &"Master"
bus/3/name = &"Ambiance"
bus/3/solo = false
bus/3/mute = false
bus/3/bypass_fx = false
bus/3/volume_db = -6.91795
bus/3/send = &"Master"

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://qemsayf5o7r2" path="res://scenes/audio/background_music_player.gd" id="1_c6vpr"]
[ext_resource type="AudioStream" uid="uid://d4jic41p1g113" path="res://assets/audio/Troubadeck 32 Perserverance.ogg" id="2_ybvjt"]
[ext_resource type="AudioStream" uid="uid://ba5cwdtw0ddj6" path="res://assets/audio/crowd_ambiance/Crowd Talking.mp3" id="3_fyp3t"]
[node name="BackgroundMusicPlayer" type="Node" unique_id=547672891]
script = ExtResource("1_c6vpr")
@@ -10,3 +11,8 @@ script = ExtResource("1_c6vpr")
stream = ExtResource("2_ybvjt")
autoplay = true
bus = &"Music"
[node name="AudioStreamPlayer2" type="AudioStreamPlayer" parent="." unique_id=1238498609]
stream = ExtResource("3_fyp3t")
autoplay = true
bus = &"Ambiance"

View File

@@ -52,11 +52,11 @@ func cycle_through_items() -> void:
elif item is CharacterResource:
label.text = item.name + "\n\nTraits\n"
for guest_trait: Trait in item.traits:
label.text += guest_trait.name + ", "
label.text += guest_trait.name + "\n"
label.text += "\n\nPreferences\n"
for other_trait in item.preferences:
var pref = item.preferences[other_trait]
label.text += pref_score_name[pref] + other_trait.name + ", "
label.text += pref_score_name[pref] + other_trait.name + "\n"
func _on_mouse_entered() -> void:

View File

@@ -38,3 +38,24 @@ func _on_mask_list_mouse_entered() -> void:
func _on_mask_list_mouse_exited() -> void:
animation_player.play_backwards("mask_list_up")
func _on_mask_list_input_event(viewport: Node, event: InputEvent, shape_idx: int) -> void:
if event is InputEventMouseButton and event.is_pressed():
play_list_side_sfx()
func _on_guest_list_input_event(viewport: Node, event: InputEvent, shape_idx: int) -> void:
if event is InputEventMouseButton and event.is_pressed():
play_list_side_sfx()
func _on_game_manager_defeat_noise() -> void:
stream_player.switch_to_clip_by_name("defeat")
func _on_game_manager_ring_bell_noise() -> void:
stream_player.switch_to_clip_by_name("bell")
func _on_game_manager_victory_noise() -> void:
stream_player.switch_to_clip_by_name("victory")

View File

@@ -17,14 +17,14 @@
[ext_resource type="Resource" uid="uid://wq3g1j3l4gl6" path="res://resources/characters/queen.tres" id="8_pg34l"]
[ext_resource type="AudioStream" uid="uid://x6erlvj03nlm" path="res://assets/audio/kenney_casino-audio/Audio/card-slide-8.ogg" id="9_i7in8"]
[ext_resource type="Script" uid="uid://d26mv2xtvmpqt" path="res://scenes/mask/mask_resource.gd" id="9_m4h2d"]
[ext_resource type="AudioStream" uid="uid://vrw6idscfnei" path="res://assets/audio/kenney_casino-audio/Audio/card-shove-1.ogg" id="10_6llfj"]
[ext_resource type="AudioStream" uid="uid://b5ea6pr6bv85d" path="res://assets/audio/kenney_casino-audio/Audio/card-shove-2.ogg" id="11_0bhws"]
[ext_resource type="AudioStream" uid="uid://dwhw36p5gijof" path="res://assets/audio/paper picked up 2.wav" id="10_6miv3"]
[ext_resource type="Resource" uid="uid://pdiaprcknftw" path="res://resources/masks/mute.tres" id="11_s17dp"]
[ext_resource type="AudioStream" uid="uid://dpv07j0ia0ayl" path="res://assets/audio/kenney_casino-audio/Audio/card-shove-3.ogg" id="12_62atk"]
[ext_resource type="AudioStream" uid="uid://b7pe3ogc8rbvx" path="res://assets/audio/kenney_casino-audio/Audio/card-shove-4.ogg" id="13_i7in8"]
[ext_resource type="Script" uid="uid://cgctwciolfqe5" path="res://scenes/camera/camera_controller.gd" id="14_0bhws"]
[ext_resource type="Texture2D" uid="uid://c60m6ulhqcbga" path="res://assets/decor/BG.png" id="14_os81g"]
[ext_resource type="AudioStream" uid="uid://bd6ac4eygdsqn" path="res://assets/audio/bell-98033.mp3" id="14_yisfj"]
[ext_resource type="Texture2D" uid="uid://dbpdehppn5h8v" path="res://assets/decor/entrance_bg_objects.png" id="15_1k3ck"]
[ext_resource type="AudioStream" uid="uid://bnxtexx6ofcip" path="res://assets/audio/victory/cute_happy_victory-476376.mp3" id="15_pd34m"]
[ext_resource type="AudioStream" uid="uid://btmwxdhsu8ckf" path="res://assets/audio/defeat/fiasco-154915.mp3" id="16_qjyke"]
[ext_resource type="Resource" uid="uid://c2v05fqr7cwll" path="res://resources/characters/bishop.tres" id="23_wcrab"]
[ext_resource type="Resource" uid="uid://vsvgpvluq7sh" path="res://resources/masks/blind.tres" id="24_g2upo"]
[ext_resource type="Resource" uid="uid://jcski7vdhybh" path="res://resources/characters/farmer.tres" id="24_gohbf"]
@@ -50,6 +50,7 @@
[ext_resource type="Texture2D" uid="uid://cgl8g5eqy8xm0" path="res://assets/decor/hand_bell.png" id="39_62f45"]
[ext_resource type="Texture2D" uid="uid://dj267xgqniy2i" path="res://assets/decor/table_item_a_2.png" id="43_jucdw"]
[ext_resource type="Texture2D" uid="uid://b4u3o7fyryxxq" path="res://assets/decor/table_item_a.png" id="44_6miv3"]
[ext_resource type="Texture2D" uid="uid://c3jx3y0mbueoo" path="res://assets/ui/arrow_004.png" id="47_6miv3"]
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_gkmcc"]
random_pitch = 1.122462
@@ -65,20 +66,26 @@ stream_7/stream = ExtResource("9_i7in8")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_7nlll"]
random_pitch = 1.122462
streams_count = 4
stream_0/stream = ExtResource("10_6llfj")
stream_1/stream = ExtResource("11_0bhws")
stream_2/stream = ExtResource("12_62atk")
stream_3/stream = ExtResource("13_i7in8")
streams_count = 1
stream_0/stream = ExtResource("10_6miv3")
[sub_resource type="AudioStreamInteractive" id="AudioStreamInteractive_7smn1"]
clip_count = 2
clip_count = 5
clip_0/name = &"list_side"
clip_0/stream = SubResource("AudioStreamRandomizer_gkmcc")
clip_0/auto_advance = 0
clip_1/name = &"list_up"
clip_1/stream = SubResource("AudioStreamRandomizer_7nlll")
clip_1/auto_advance = 0
clip_2/name = &"bell"
clip_2/stream = ExtResource("14_yisfj")
clip_2/auto_advance = 0
clip_3/name = &"victory"
clip_3/stream = ExtResource("15_pd34m")
clip_3/auto_advance = 0
clip_4/name = &"defeat"
clip_4/stream = ExtResource("16_qjyke")
clip_4/auto_advance = 0
initial_clip = 1
_transitions = {
Vector2i(-1, -1): {
@@ -421,7 +428,6 @@ lvl2_guest_2 = ExtResource("30_6g32y")
lvl3_guest_1 = ExtResource("33_f4j1x")
lvl3_guest_2 = ExtResource("29_62f45")
lvl3_guest_3 = ExtResource("27_6w6mm")
current_level = 3
[node name="Camera2D" type="Camera2D" parent="." unique_id=1166192115]
limit_left = -960
@@ -483,6 +489,12 @@ scale = Vector2(0.5, 0.5)
texture = ExtResource("35_1k3ck")
flip_h = true
[node name="Arrow005" type="Sprite2D" parent="MaskList" unique_id=993186332]
position = Vector2(105.81715, 181.90033)
rotation = 0.03710282
scale = Vector2(0.5, 0.5)
texture = ExtResource("47_6miv3")
[node name="GuestList" parent="." unique_id=2089675317 instance=ExtResource("25_6llfj")]
position = Vector2(-409, 523)
rotation = -0.16732943
@@ -492,6 +504,12 @@ position = Vector2(-224.08743, 155.85515)
scale = Vector2(0.6, 0.6)
texture = ExtResource("36_62f45")
[node name="Arrow004" type="Sprite2D" parent="GuestList" unique_id=1454132163]
position = Vector2(154.4564, 262.38947)
rotation = -0.011010677
scale = Vector2(0.5, 0.5)
texture = ExtResource("47_6miv3")
[node name="ReadyBell" type="Area2D" parent="." unique_id=1350504622]
position = Vector2(-5, 376)
script = ExtResource("33_tbnf8")
@@ -513,6 +531,9 @@ texture = ExtResource("39_62f45")
libraries/ = SubResource("AnimationLibrary_6g32y")
autoplay = &"idle"
[connection signal="defeat_noise" from="GameManager" to="." method="_on_game_manager_defeat_noise"]
[connection signal="ring_bell_noise" from="GameManager" to="." method="_on_game_manager_ring_bell_noise"]
[connection signal="victory_noise" from="GameManager" to="." method="_on_game_manager_victory_noise"]
[connection signal="mouse_entered" from="Camera2D/PanRight" to="Camera2D" method="_on_pan_right_mouse_entered"]
[connection signal="mouse_exited" from="Camera2D/PanRight" to="Camera2D" method="_on_pan_right_mouse_exited"]
[connection signal="mouse_entered" from="Camera2D/PanLeft" to="Camera2D" method="_on_pan_left_mouse_entered"]
@@ -520,8 +541,10 @@ autoplay = &"idle"
[connection signal="seat_clicked" from="Table" to="GameManager" method="on_seat_clicked"]
[connection signal="seat_clicked" from="Table2" to="GameManager" method="on_seat_clicked"]
[connection signal="seat_clicked" from="Table3" to="GameManager" method="on_seat_clicked"]
[connection signal="input_event" from="MaskList" to="." method="_on_mask_list_input_event"]
[connection signal="mouse_entered" from="MaskList" to="." method="_on_mask_list_mouse_entered"]
[connection signal="mouse_exited" from="MaskList" to="." method="_on_mask_list_mouse_exited"]
[connection signal="input_event" from="GuestList" to="." method="_on_guest_list_input_event"]
[connection signal="mouse_entered" from="GuestList" to="." method="_on_guest_list_mouse_entered"]
[connection signal="mouse_exited" from="GuestList" to="." method="_on_guest_list_mouse_exited"]
[connection signal="input_event" from="ReadyBell" to="GameManager" method="_on_ready_bell_input_event"]

View File

@@ -36,6 +36,10 @@ class_name GameManager
@export var dual_mask_probability: float = 0.2
@export_tool_button("Create chara roster") var create_roster_action = create_new_roster
signal ring_bell_noise
signal victory_noise
signal defeat_noise
var current_chara_roster: Array[MaskedChara]
enum GameState {
@@ -127,32 +131,40 @@ func ending_tween_cb():
print("Final score: %s" % final_score)
if final_score < 0:
defeat_noise.emit()
else:
victory_noise.emit()
await get_tree().create_timer(5).timeout
var camera_tween = get_tree().create_tween()
camera_tween.set_ease(Tween.EASE_IN_OUT)
camera_tween.set_trans(Tween.TRANS_CUBIC)
camera_tween.tween_property(camera_2d, "position", Vector2.ZERO, 1.0)
# Progress levels
current_game_state = GameState.READY
ring_bell.visible = true
bell_anim_player.play("idle")
if current_level == Levels.LVL1:
if current_level == Levels.LVL1 and final_score >= 0:
current_level = Levels.LVL2
elif current_level == Levels.LVL2:
current_level = Levels.LVL3
else:
if final_score >= 0:
roster_size += 1
elif final_score >= 0:
roster_size += 1
current_level = Levels.RANDOM
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
character.visible = false
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
pass
func _on_ready_bell_input_event(viewport: Node, event: InputEvent, shape_idx: int) -> void:
if event is InputEventMouseButton and event.is_pressed():
ring_bell_noise.emit()
if current_game_state == GameState.READY:
on_ready_bell_pressed()