diff --git a/.godot/editor/create_recent.Node b/.godot/editor/create_recent.Node
index 19042c70ee0b1559034a3d894f39da7889387277..26f438584f448752c04295d048a2922152ed48ef 100644
--- a/.godot/editor/create_recent.Node
+++ b/.godot/editor/create_recent.Node
@@ -1,8 +1,15 @@
+TextureRect
 Sprite2D
+Panel
+Button
+RichTextLabel
+Label
+VBoxContainer
+HBoxContainer
+MarginContainer
 Node2D
 CPUParticles2D
 Node
 Control
 ColorRect
 CanvasLayer
-TextureRect
diff --git a/.godot/editor/editor_layout.cfg b/.godot/editor/editor_layout.cfg
index d3a45792c6412daa8916d79224df6c3a99af381e..1f6cf9dcda1d819ea8d701bfb3708766a1a89af9 100644
--- a/.godot/editor/editor_layout.cfg
+++ b/.godot/editor/editor_layout.cfg
@@ -9,7 +9,7 @@ dock_closed=[]
 dock_split_2=0
 dock_split_3=0
 dock_hsplit_1=0
-dock_hsplit_2=583
+dock_hsplit_2=335
 dock_hsplit_3=-380
 dock_hsplit_4=0
 dock_filesystem_h_split_offset=240
@@ -17,25 +17,25 @@ dock_filesystem_v_split_offset=0
 dock_filesystem_display_mode=0
 dock_filesystem_file_sort=0
 dock_filesystem_file_list_display_mode=1
-dock_filesystem_selected_paths=PackedStringArray("res://main.tscn")
-dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/", "res://assets/")
+dock_filesystem_selected_paths=PackedStringArray("res://scenes/title_screen/")
+dock_filesystem_uncollapsed_paths=PackedStringArray("Favorites", "res://", "res://scenes/", "res://scenes/title_screen/")
 dock_3="Scene,Import"
 dock_4="FileSystem"
 dock_5="Inspector,Node,History"
 
 [EditorNode]
 
-open_scenes=PackedStringArray("res://scenes/game.tscn", "res://scenes/explosion.tscn", "res://scenes/Pawn.tscn", "res://scenes/Rook.tscn", "res://scenes/Bishop.tscn", "res://scenes/Queen.tscn", "res://scenes/King.tscn", "res://scenes/Knight.tscn", "res://main.tscn")
-current_scene="res://main.tscn"
-center_split_offset=-466
+open_scenes=PackedStringArray("res://main.tscn", "res://scenes/title_screen/title_screen.tscn", "res://scenes/title_screen/menu_button.tscn")
+current_scene="res://scenes/title_screen/menu_button.tscn"
+center_split_offset=-239
 selected_default_debugger_tab_idx=0
-selected_main_editor_idx=0
+selected_main_editor_idx=2
 selected_bottom_panel_item=0
 
 [ScriptEditor]
 
-open_scripts=["res://scripts/Bishop.gd", "res://scripts/game.gd", "res://scripts/King.gd", "res://scripts/Knight.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "res://scripts/Queen.gd", "res://scripts/Rook.gd"]
-selected_script="res://scripts/King.gd"
+open_scripts=["res://scripts/Bishop.gd", "res://scripts/game.gd", "res://scripts/King.gd", "res://scripts/Knight.gd", "res://scripts/title_screen/menu_button.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "res://scripts/Queen.gd", "res://scripts/Rook.gd", "res://scripts/title_screen/title_screen.gd"]
+selected_script="res://scripts/title_screen/menu_button.gd"
 open_help=[]
 script_split_offset=70
 list_split_offset=0
@@ -43,7 +43,7 @@ zoom_factor=1.0
 
 [ShaderEditor]
 
-open_shaders=["res://assets/shaders/shadow.gdshader", "res://assets/shaders/bg.gdshader", "res://assets/shaders/color.gdshader"]
+open_shaders=["res://assets/shaders/shadow.gdshader", "res://assets/shaders/bg.gdshader", "res://assets/shaders/color.gdshader", "res://assets/shaders/3d_effect.gdshader"]
 split_offset=0
-selected_shader="res://assets/shaders/color.gdshader"
+selected_shader="res://assets/shaders/3d_effect.gdshader"
 text_shader_zoom_factor=1.0
diff --git a/.godot/editor/filesystem_cache8 b/.godot/editor/filesystem_cache8
index fe66e9f53aea05c97d6a4ee21bf1abed3961b55c..fbed4ed2a882d4b6ac1d5fb5be42b1ec47229dfb 100644
--- a/.godot/editor/filesystem_cache8
+++ b/.godot/editor/filesystem_cache8
@@ -1,84 +1,93 @@
 ea4bc82a6ad023ab7ee23ee620429895
-::res://::1738358045
-game.tscn::PackedScene::5692118487183161714::1738357885::0::1::::<><>::uid://cfao716v0t1jw::::res://scenes/board.tscn
-icon.svg::CompressedTexture2D::6378281210119878262::1738273909::1738357978::1::::<><>::
-README.md::TextFile::-1::1738273909::0::1::::<><>::
-::res://assets/::1738357885
-::res://assets/noise/::1738356643
-noise2.tres::NoiseTexture2D::5054739835828921764::1738356643::0::1::::<><>::
-noise3.tres::NoiseTexture2D::906885015046579772::1738356643::0::1::::<><>::
-noise.tres::NoiseTexture2D::1693764769519573005::1738356643::0::1::::<><>::
-::res://assets/Original size Chess pieces/::1738357978
-Black king piece 2.png::CompressedTexture2D::7820367427145083060::1738273909::1738357978::1::::<><>::
-Black knight piece.png::CompressedTexture2D::4196515762256027844::1738273909::1738357978::1::::<><>::
-Black Pawn Piece 2.png::CompressedTexture2D::2167440687080906934::1738273909::1738357978::1::::<><>::
-Black Queen Piece 2.png::CompressedTexture2D::6638986330393441989::1738273909::1738357978::1::::<><>::
-Black rook piece.png::CompressedTexture2D::1872655759582013005::1738273909::1738357978::1::::<><>::
-White king piece 2.png::CompressedTexture2D::7139286146806283259::1738273909::1738357978::1::::<><>::
-White knight piece.png::CompressedTexture2D::8293368904171920332::1738273909::1738357978::1::::<><>::
-White Pawn Piece 2.png::CompressedTexture2D::8915038826611091975::1738273909::1738357978::1::::<><>::
-White Queen Piece 2.png::CompressedTexture2D::339041922548181320::1738273909::1738357978::1::::<><>::
-White rook piece.png::CompressedTexture2D::6272641373813891014::1738273909::1738357978::1::::<><>::
-::res://assets/Resized Chess Piece Assets/::1738357978
-Black_king.png::CompressedTexture2D::3691390456247856410::1738273909::1738357978::1::::<><>::
-Black_knight.png::CompressedTexture2D::3569790831830215405::1738273909::1738357978::1::::<><>::
-Black_Pawn.png::CompressedTexture2D::4947090234957464596::1738273909::1738357978::1::::<><>::
-Black_Queen.png::CompressedTexture2D::9042903626319350434::1738273909::1738357978::1::::<><>::
-Black_rook.png::CompressedTexture2D::5637903285567075872::1738273909::1738357978::1::::<><>::
-White_king.png::CompressedTexture2D::5012688985517926395::1738357895::1738357978::1::::<><>::
-White_knight.png::CompressedTexture2D::854350289879594279::1738273909::1738357978::1::::<><>::
-White_Pawn.png::CompressedTexture2D::919180529085242722::1738273909::1738357978::1::::<><>::
-White_Queen.png::CompressedTexture2D::4902137832695542513::1738273909::1738357978::1::::<><>::
-White_rook.png::CompressedTexture2D::4194129281780453908::1738273909::1738357978::1::::<><>::
-::res://assets/shaders/::1738358018
-bg.gdshader::Shader::-1::1738358018::0::1::::<><>::
-color.gdshader::Shader::-1::1738358018::0::1::::<><>::
-shadow.gdshader::Shader::-1::1738358018::0::1::::<><>::
-::res://assets/sprites/::1738357978
-bishop.png::CompressedTexture2D::4631301773944929250::1738357790::1738357978::1::::<><>::
-knight.png::CompressedTexture2D::3545640967717948854::1738357790::1738357978::1::::<><>::
-pawn.png::CompressedTexture2D::1338760335342038528::1738357790::1738357978::1::::<><>::
-rook.png::CompressedTexture2D::6790909281007670776::1738357790::1738357978::1::::<><>::
-tile.png::CompressedTexture2D::8704336058451696509::1738356643::1738357978::1::::<><>::
-::res://assets/temp_assets/::1738357978
-black_bishop.png::CompressedTexture2D::7509881182472568151::1738357885::1738357978::1::::<><>::
-black_king.png::CompressedTexture2D::3646032776351028361::1738357885::1738357978::1::::<><>::
-black_knight.png::CompressedTexture2D::4591257172048987833::1738357885::1738357978::1::::<><>::
-black_pawn.png::CompressedTexture2D::3912668014183198267::1738357885::1738357978::1::::<><>::
-black_queen.png::CompressedTexture2D::7989886812523566234::1738357885::1738357978::1::::<><>::
-black_rook.png::CompressedTexture2D::8767708966549765967::1738357885::1738357978::1::::<><>::
-Piece_move.png::CompressedTexture2D::260618725614842917::1738357885::1738357978::1::::<><>::
-temp_chess_board.png::CompressedTexture2D::4173558678901569366::1738357885::1738357978::1::::<><>::
-turn-black.png::CompressedTexture2D::7112033964315790810::1738357885::1738357978::1::::<><>::
-turn-white.png::CompressedTexture2D::7344907768700758025::1738357885::1738357978::1::::<><>::
-white_bishop.png::CompressedTexture2D::8093744356261485644::1738357885::1738357978::1::::<><>::
-white_king.png::CompressedTexture2D::5901183203660598461::1738357885::1738357978::1::::<><>::
-white_knight.png::CompressedTexture2D::7533630084821562912::1738357885::1738357978::1::::<><>::
-white_pawn.png::CompressedTexture2D::8196778834906249875::1738357885::1738357978::1::::<><>::
-white_queen.png::CompressedTexture2D::1957958042777204643::1738357885::1738357978::1::::<><>::
-white_rook.png::CompressedTexture2D::3317152307554436932::1738357885::1738357978::1::::<><>::
-::res://assets/ui/::1738357979
-Go_Save_The_King_Menu.jpg::CompressedTexture2D::7252735845995868232::1738356643::1738357979::1::::<><>::
-Mockup Gameplay Design.jpg::CompressedTexture2D::4859609684236806088::1738356643::1738357978::1::::<><>::
-Mockup Shop Design.jpg::CompressedTexture2D::8043055154093708922::1738356643::1738357978::1::::<><>::
-::res://scenes/::1738357885
-Bishop.tscn::PackedScene::2789588702038144760::1738357885::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png
-board.tscn::PackedScene::5124694183364421304::1738357885::0::1::::<><>::uid://b0px5wlrm0mb3::::res://assets/temp_assets/temp_chess_board.png<>res://scripts/board.gd
-explosion.tscn::PackedScene::69466253159940830::1738357790::0::1::::<><>::
-game.tscn::PackedScene::8577524005707705072::1738357790::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres
-King.tscn::PackedScene::8277830396459966414::1738357885::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png
-Knight.tscn::PackedScene::5270730075267457303::1738357885::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png
-Pawn.tscn::PackedScene::3675784333675896641::1738357885::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png
-Queen.tscn::PackedScene::7495869360053814603::1738357885::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png
-Rook.tscn::PackedScene::9162401199636684468::1738357885::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png
-texture_holder.tscn::PackedScene::594714386286134588::1738357885::0::1::::<><>::
-::res://scripts/::1738357885
-Bishop.gd::GDScript::-1::1738357885::0::1::::Bishop<>Piece<>::
-board.gd::GDScript::-1::1738357885::0::1::::Board<>Sprite2D<>::
-game.gd::GDScript::-1::1738357885::0::1::::game<>Node<>::
-King.gd::GDScript::-1::1738357885::0::1::::King<>Piece<>::
-Knight.gd::GDScript::-1::1738357885::0::1::::Knight<>Piece<>::
-Pawn.gd::GDScript::-1::1738357885::0::1::::Pawn<>Piece<>::
-Piece.gd::GDScript::-1::1738357885::0::1::::Piece<>Node2D<>::
-Queen.gd::GDScript::-1::1738357885::0::1::::Queen<>Piece<>::
-Rook.gd::GDScript::-1::1738357885::0::1::::Rook<>Piece<>::
+::res://::1738387928
+icon.svg::CompressedTexture2D::6378281210119878262::1738189402::1738378143::1::::<><>::
+main.tscn::PackedScene::5692118487183161714::1738387928::0::1::::<><>::
+README.md::TextFile::-1::1738189402::0::1::::<><>::
+::res://assets/::1738378134
+::res://assets/noise/::1738378134
+noise2.tres::NoiseTexture2D::5054739835828921764::1738378134::0::1::::<><>::
+noise3.tres::NoiseTexture2D::906885015046579772::1738378134::0::1::::<><>::
+noise.tres::NoiseTexture2D::1693764769519573005::1738378134::0::1::::<><>::
+::res://assets/Original size Chess pieces/::1738378176
+Black king piece 2.png::CompressedTexture2D::7820367427145083060::1738378134::1738378176::1::::<><>::
+Black knight piece.png::CompressedTexture2D::4196515762256027844::1738378134::1738378176::1::::<><>::
+Black Pawn Piece 2.png::CompressedTexture2D::2167440687080906934::1738378134::1738378176::1::::<><>::
+Black Queen Piece 2.png::CompressedTexture2D::6638986330393441989::1738378134::1738378176::1::::<><>::
+Black rook piece.png::CompressedTexture2D::1872655759582013005::1738378134::1738378176::1::::<><>::
+White king piece 2.png::CompressedTexture2D::7139286146806283259::1738378134::1738378176::1::::<><>::
+White knight piece.png::CompressedTexture2D::8293368904171920332::1738378134::1738378176::1::::<><>::
+White Pawn Piece 2.png::CompressedTexture2D::8915038826611091975::1738378134::1738378176::1::::<><>::
+White Queen Piece 2.png::CompressedTexture2D::339041922548181320::1738378134::1738378176::1::::<><>::
+White rook piece.png::CompressedTexture2D::6272641373813891014::1738378134::1738378176::1::::<><>::
+::res://assets/Resized Chess Piece Assets/::1738378176
+Black_king.png::CompressedTexture2D::3691390456247856410::1738378134::1738378176::1::::<><>::
+Black_knight.png::CompressedTexture2D::3569790831830215405::1738378134::1738378176::1::::<><>::
+Black_Pawn.png::CompressedTexture2D::4947090234957464596::1738378134::1738378176::1::::<><>::
+Black_Queen.png::CompressedTexture2D::9042903626319350434::1738378134::1738378176::1::::<><>::
+Black_rook.png::CompressedTexture2D::5637903285567075872::1738378134::1738378176::1::::<><>::
+White_king.png::CompressedTexture2D::5012688985517926395::1738378134::1738378176::1::::<><>::
+White_knight.png::CompressedTexture2D::854350289879594279::1738378134::1738378176::1::::<><>::
+White_Pawn.png::CompressedTexture2D::919180529085242722::1738378134::1738378176::1::::<><>::
+White_Queen.png::CompressedTexture2D::4902137832695542513::1738378134::1738378176::1::::<><>::
+White_rook.png::CompressedTexture2D::4194129281780453908::1738378134::1738378176::1::::<><>::
+::res://assets/shaders/::1738388198
+bg.gdshader::Shader::-1::1738388198::0::1::::<><>::
+color.gdshader::Shader::-1::1738388198::0::1::::<><>::
+3d_effect.gdshader::Shader::-1::1738388198::0::1::::<><>::
+shadow.gdshader::Shader::-1::1738388198::0::1::::<><>::
+::res://assets/sprites/::1738378176
+bishop.png::CompressedTexture2D::4631301773944929250::1738378134::1738378176::1::::<><>::
+knight.png::CompressedTexture2D::3545640967717948854::1738378134::1738378176::1::::<><>::
+pawn.png::CompressedTexture2D::1338760335342038528::1738378134::1738378176::1::::<><>::
+rook.png::CompressedTexture2D::6790909281007670776::1738378134::1738378176::1::::<><>::
+tile.png::CompressedTexture2D::8704336058451696509::1738378134::1738378176::1::::<><>::
+::res://assets/temp_assets/::1738378176
+black_bishop.png::CompressedTexture2D::7509881182472568151::1738378134::1738378176::1::::<><>::
+black_king.png::CompressedTexture2D::3646032776351028361::1738378134::1738378176::1::::<><>::
+black_knight.png::CompressedTexture2D::4591257172048987833::1738378134::1738378176::1::::<><>::
+black_pawn.png::CompressedTexture2D::3912668014183198267::1738378134::1738378176::1::::<><>::
+black_queen.png::CompressedTexture2D::7989886812523566234::1738378134::1738378176::1::::<><>::
+black_rook.png::CompressedTexture2D::8767708966549765967::1738378134::1738378176::1::::<><>::
+Piece_move.png::CompressedTexture2D::260618725614842917::1738378134::1738378176::1::::<><>::
+temp_chess_board.png::CompressedTexture2D::4173558678901569366::1738378134::1738378176::1::::<><>::
+turn-black.png::CompressedTexture2D::7112033964315790810::1738378134::1738378176::1::::<><>::
+turn-white.png::CompressedTexture2D::7344907768700758025::1738378134::1738378176::1::::<><>::
+white_bishop.png::CompressedTexture2D::8093744356261485644::1738378134::1738378176::1::::<><>::
+white_king.png::CompressedTexture2D::5901183203660598461::1738378134::1738378176::1::::<><>::
+white_knight.png::CompressedTexture2D::7533630084821562912::1738378134::1738378176::1::::<><>::
+white_pawn.png::CompressedTexture2D::8196778834906249875::1738378134::1738378176::1::::<><>::
+white_queen.png::CompressedTexture2D::1957958042777204643::1738378134::1738378176::1::::<><>::
+white_rook.png::CompressedTexture2D::3317152307554436932::1738378134::1738378176::1::::<><>::
+::res://assets/ui/::1738384927
+Go_Save_The_King_Menu.jpg::CompressedTexture2D::7252735845995868232::1738378134::1738378176::1::::<><>::
+Mockup Gameplay Design.jpg::CompressedTexture2D::4859609684236806088::1738378134::1738378176::1::::<><>::
+Mockup Shop Design.jpg::CompressedTexture2D::8043055154093708922::1738378134::1738378176::1::::<><>::
+::res://assets/ui/title_screen/::1738385127
+play_button.png::CompressedTexture2D::5896995890187459238::1738388371::1738388601::1::::<><>::
+::res://scenes/::1738379187
+Bishop.tscn::PackedScene::2789588702038144760::1738378134::0::1::::<><>::res://scripts/Bishop.gd<>uid://b68o4mj7wcwvq::::res://assets/sprites/bishop.png
+board.tscn::PackedScene::5124694183364421304::1738378134::0::1::::<><>::uid://b0px5wlrm0mb3::::res://assets/temp_assets/temp_chess_board.png<>res://scripts/board.gd
+explosion.tscn::PackedScene::69466253159940830::1738378134::0::1::::<><>::
+game.tscn::PackedScene::8577524005707705072::1738378134::0::1::::<><>::res://scripts/game.gd<>res://assets/shaders/bg.gdshader<>uid://yeqb8ndri7xp::::res://assets/noise/noise.tres<>uid://ceas3dsjeq4ge::::res://assets/noise/noise2.tres<>uid://m6ki73qfbp2s::::res://assets/noise/noise3.tres
+King.tscn::PackedScene::8277830396459966414::1738378134::0::1::::<><>::res://scripts/King.gd<>uid://cdogixbq8ay3t::::res://assets/Resized Chess Piece Assets/White_king.png
+Knight.tscn::PackedScene::5270730075267457303::1738378134::0::1::::<><>::res://scripts/Knight.gd<>uid://mf4a3jclbwih::::res://assets/Resized Chess Piece Assets/White_knight.png
+Pawn.tscn::PackedScene::3675784333675896641::1738378134::0::1::::<><>::res://scripts/Pawn.gd<>uid://ndi1e8thkonq::::res://assets/Resized Chess Piece Assets/White_Pawn.png
+Queen.tscn::PackedScene::7495869360053814603::1738378134::0::1::::<><>::res://scripts/Queen.gd<>uid://cb3vq168iyomb::::res://assets/Resized Chess Piece Assets/White_Queen.png
+Rook.tscn::PackedScene::9162401199636684468::1738378134::0::1::::<><>::uid://b00wxxfjk04ke::::res://assets/Resized Chess Piece Assets/White_rook.png
+texture_holder.tscn::PackedScene::594714386286134588::1738378134::0::1::::<><>::
+::res://scenes/title_screen/::1738388198
+menu_button.tscn::PackedScene::3297943059633979218::1738388198::0::1::::<><>::uid://cqaswp3dl65be::::res://assets/ui/title_screen/play_button.png<>res://assets/shaders/3d_effect.gdshader<>res://scripts/title_screen/menu_button.gd
+title_screen.tscn::PackedScene::8154710134031658440::1738387928::0::1::::<><>::res://scripts/title_screen/title_screen.gd
+::res://scripts/::1738378687
+Bishop.gd::GDScript::-1::1738378134::0::1::::Bishop<>Piece<>::
+board.gd::GDScript::-1::1738378134::0::1::::Board<>Sprite2D<>::
+game.gd::GDScript::-1::1738378134::0::1::::game<>Node<>::
+King.gd::GDScript::-1::1738378134::0::1::::King<>Piece<>::
+Knight.gd::GDScript::-1::1738378134::0::1::::Knight<>Piece<>::
+Pawn.gd::GDScript::-1::1738378134::0::1::::Pawn<>Piece<>::
+Piece.gd::GDScript::-1::1738378134::0::1::::Piece<>Node2D<>::
+Queen.gd::GDScript::-1::1738378134::0::1::::Queen<>Piece<>::
+Rook.gd::GDScript::-1::1738378134::0::1::::Rook<>Piece<>::
+::res://scripts/title_screen/::1738388185
+menu_button.gd::GDScript::-1::1738388185::0::1::::TitleButton<>Button<>::
+title_screen.gd::GDScript::-1::1738378698::0::1::::<>Control<>::
diff --git a/.godot/editor/filesystem_update4 b/.godot/editor/filesystem_update4
index 4ef15b0b53fbb5ec370e679cfb2f2a8e989caf0b..97819503aff91f47269f6e5711538ebc15f6c046 100644
--- a/.godot/editor/filesystem_update4
+++ b/.godot/editor/filesystem_update4
@@ -1,7 +1,9 @@
-res://main.tscn
 res://assets/shaders/color.gdshader
 res://assets/shaders/shadow.gdshader
 res://assets/shaders/bg.gdshader
-res://assets/noise/noise.tres
-res://assets/noise/noise2.tres
-res://assets/noise/noise3.tres
+res://scenes/title_screen.tscn
+res://main.tscn
+res://scenes/title_screen/title_screen.tscn
+res://scenes/title_screen/menu_button.tscn
+res://assets/shaders/3d_effect.gdshader
+res://scripts/title_screen/menu_button.gd
diff --git a/.godot/editor/project_metadata.cfg b/.godot/editor/project_metadata.cfg
index 769abe072704d78513aa2fc1611cda7654a216f0..0fcb8c5045c7e5cdcafafa72fa5f3eeff3089f5b 100644
--- a/.godot/editor/project_metadata.cfg
+++ b/.godot/editor/project_metadata.cfg
@@ -1,11 +1,12 @@
 [editor_metadata]
 
-executable_path="/Applications/Godot.app/Contents/MacOS/Godot"
+executable_path="D:/SteamLibrary/steamapps/common/Godot Engine/godot.windows.opt.tools.64.exe"
+use_advanced_connections=false
 
 [dialog_bounds]
 
-create_new_node=Rect2(510, 190, 900, 700)
-project_settings=Rect2(699, 332, 1590, 867)
+create_new_node=Rect2(2145, 197, 900, 700)
+project_settings=Rect2(2022, 76, 1590, 867)
 
 [script_setup]
 
@@ -13,8 +14,8 @@ last_selected_language="GDScript"
 
 [recent_files]
 
-scripts=["res://scripts/Knight.gd", "res://scripts/King.gd", "res://scripts/Queen.gd", "res://scripts/Bishop.gd", "res://scripts/Rook.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "@GDScript", "int", "res://background.gd"]
-scenes=["res://game.tscn", "res://scenes/Knight.tscn", "res://scenes/King.tscn", "res://scenes/Queen.tscn", "res://scenes/Bishop.tscn", "res://scenes/Rook.tscn", "res://scenes/Pawn.tscn", "res://scenes/explosion.tscn", "res://scenes/game.tscn", "res://scenes/chess_board.tscn"]
+scripts=["res://scripts/title_screen/menu_button.gd", "res://scripts/title_screen/title_screen.gd", "res://scripts/Knight.gd", "res://scripts/King.gd", "res://scripts/Queen.gd", "res://scripts/Bishop.gd", "res://scripts/Rook.gd", "res://scripts/Pawn.gd", "res://scripts/Piece.gd", "@GDScript"]
+scenes=["res://scenes/title_screen/menu_button.tscn", "res://scenes/title_screen.tscn", "res://main.tscn", "res://scenes/Knight.tscn", "res://scenes/King.tscn", "res://scenes/Queen.tscn", "res://scenes/Bishop.tscn", "res://scenes/Rook.tscn", "res://scenes/Pawn.tscn", "res://scenes/explosion.tscn"]
 
 [color_picker]
 
diff --git a/.godot/editor/recent_dirs b/.godot/editor/recent_dirs
index ca2570da18b7db6c41dc94489683a4b9cc0e0de0..001f372d7029253d497ad715399b10d31526f6a7 100644
--- a/.godot/editor/recent_dirs
+++ b/.godot/editor/recent_dirs
@@ -1,3 +1,7 @@
+res://scripts/title_screen
+res://assets/shaders
+res://assets/ui/title_screen
+res://scenes/title_screen
 res://scenes
 res://scripts
 res://
diff --git a/.godot/editor/script_editor_cache.cfg b/.godot/editor/script_editor_cache.cfg
index c65a71efa2a27a880ad877916234425b0a01d53c..79d349e53c478b4d9b19658c0fca8c36dd52a1ed 100644
--- a/.godot/editor/script_editor_cache.cfg
+++ b/.godot/editor/script_editor_cache.cfg
@@ -7,7 +7,7 @@ state={
 "folded_lines": Array[int]([]),
 "h_scroll_position": 0,
 "row": 121,
-"scroll_position": 45.0,
+"scroll_position": 0.0,
 "selection": false,
 "syntax_highlighter": "GDScript"
 }
@@ -91,7 +91,7 @@ state={
 "folded_lines": Array[int]([]),
 "h_scroll_position": 0,
 "row": 0,
-"scroll_position": 17.0,
+"scroll_position": 0.0,
 "selection": false,
 "syntax_highlighter": "GDScript"
 }
@@ -109,3 +109,31 @@ state={
 "selection": false,
 "syntax_highlighter": "GDScript"
 }
+
+[res://scripts/title_screen/title_screen.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 0,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 0,
+"scroll_position": 0.0,
+"selection": false,
+"syntax_highlighter": "GDScript"
+}
+
+[res://scripts/title_screen/menu_button.gd]
+
+state={
+"bookmarks": PackedInt32Array(),
+"breakpoints": PackedInt32Array(),
+"column": 45,
+"folded_lines": Array[int]([]),
+"h_scroll_position": 0,
+"row": 20,
+"scroll_position": 17.0,
+"selection": false,
+"syntax_highlighter": "GDScript"
+}
diff --git a/.godot/global_script_class_cache.cfg b/.godot/global_script_class_cache.cfg
index 9cec9a219d38e9683baf917cb767ca8ce201977a..3013cb14eab1dd852bf499ea62201c5edea13363 100644
--- a/.godot/global_script_class_cache.cfg
+++ b/.godot/global_script_class_cache.cfg
@@ -47,6 +47,12 @@ list=Array[Dictionary]([{
 "language": &"GDScript",
 "path": "res://scripts/Rook.gd"
 }, {
+"base": &"Button",
+"class": &"TitleButton",
+"icon": "",
+"language": &"GDScript",
+"path": "res://scripts/title_screen/menu_button.gd"
+}, {
 "base": &"Node",
 "class": &"game",
 "icon": "",
diff --git a/.godot/uid_cache.bin b/.godot/uid_cache.bin
index 482641ebeeac99a2f701d15bc9446b0b82c7fdce..f5577e42058d0bf423d50b259273e8edd6815d7e 100644
Binary files a/.godot/uid_cache.bin and b/.godot/uid_cache.bin differ
diff --git a/Assets/shaders/3d_effect.gdshader b/Assets/shaders/3d_effect.gdshader
new file mode 100644
index 0000000000000000000000000000000000000000..d1c8af76b04e74c5b32e56d598d09ec9c536265c
--- /dev/null
+++ b/Assets/shaders/3d_effect.gdshader
@@ -0,0 +1,52 @@
+shader_type canvas_item;
+
+// Camera FOV
+uniform float fov : hint_range(1, 179) = 90;
+uniform bool cull_back = true;
+uniform float y_rot : hint_range(-180, 180) = 0.0;
+uniform float x_rot : hint_range(-180, 180) = 0.0;
+// At 0, the image retains its size when unrotated.
+// At 1, the image is resized so that it can do a full
+// rotation without clipping inside its rect.
+uniform float inset : hint_range(0, 1) = 0.0;
+// Consider changing this to a uniform and changing it from code
+
+varying flat vec2 o;
+varying vec3 p;
+
+// Creates rotation matrix
+void vertex(){
+	float sin_b = sin(y_rot / 180.0 * PI);
+	float cos_b = cos(y_rot / 180.0 * PI);
+	float sin_c = sin(x_rot / 180.0 * PI);
+	float cos_c = cos(x_rot / 180.0 * PI);
+	
+	mat3 inv_rot_mat;
+	inv_rot_mat[0][0] = cos_b;
+	inv_rot_mat[0][1] = 0.0;
+	inv_rot_mat[0][2] = -sin_b;
+	
+	inv_rot_mat[1][0] = sin_b * sin_c;
+	inv_rot_mat[1][1] = cos_c;
+	inv_rot_mat[1][2] = cos_b * sin_c;
+	
+	inv_rot_mat[2][0] = sin_b * cos_c;
+	inv_rot_mat[2][1] = -sin_c;
+	inv_rot_mat[2][2] = cos_b * cos_c;
+	
+	
+	float t = tan(fov / 360.0 * PI);
+	p = inv_rot_mat * vec3((UV - 0.5), 0.5 / t);
+	float v = (0.5 / t) + 0.5;
+	p.xy *= v * inv_rot_mat[2].z;
+	o = v * inv_rot_mat[2].xy;
+
+	VERTEX += (UV - 0.5) / TEXTURE_PIXEL_SIZE * t * (1.0 - inset);
+}
+
+void fragment(){
+	if (cull_back && p.z <= 0.0) discard;
+	vec2 uv = (p.xy / p.z).xy - o;
+    COLOR = texture(TEXTURE, uv + 0.5);
+	COLOR.a *= step(max(abs(uv.x), abs(uv.y)), 0.5);
+}
\ No newline at end of file
diff --git a/Assets/ui/title_screen/play_button.png b/Assets/ui/title_screen/play_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..839092fce1794c2ce4a541709e08e850178317d9
Binary files /dev/null and b/Assets/ui/title_screen/play_button.png differ
diff --git a/Assets/ui/title_screen/play_button.png.import b/Assets/ui/title_screen/play_button.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..6b7139d0b009f786ab6c18dc44e264326c29cddf
--- /dev/null
+++ b/Assets/ui/title_screen/play_button.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqaswp3dl65be"
+path="res://.godot/imported/play_button.png-f82baef4a13c102d3d15a67106c6e8d1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/ui/title_screen/play_button.png"
+dest_files=["res://.godot/imported/play_button.png-f82baef4a13c102d3d15a67106c6e8d1.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/scenes/title_screen/menu_button.tscn b/scenes/title_screen/menu_button.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..245ee24525e85fe3402e2ee544b4ea583ac67b42
--- /dev/null
+++ b/scenes/title_screen/menu_button.tscn
@@ -0,0 +1,28 @@
+[gd_scene load_steps=5 format=3 uid="uid://bm8sv1itwm467"]
+
+[ext_resource type="Texture2D" uid="uid://cqaswp3dl65be" path="res://assets/ui/title_screen/play_button.png" id="1_j2k0y"]
+[ext_resource type="Shader" path="res://assets/shaders/3d_effect.gdshader" id="1_loqws"]
+[ext_resource type="Script" path="res://scripts/title_screen/menu_button.gd" id="1_mo82s"]
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_xb1tv"]
+shader = ExtResource("1_loqws")
+shader_parameter/fov = 90.0
+shader_parameter/cull_back = true
+shader_parameter/y_rot = 0.0
+shader_parameter/x_rot = 0.0
+shader_parameter/inset = 0.0
+
+[node name="MenuButton" type="Button"]
+offset_right = 250.0
+offset_bottom = 75.0
+script = ExtResource("1_mo82s")
+
+[node name="MenuTexture" type="TextureRect" parent="."]
+material = SubResource("ShaderMaterial_xb1tv")
+layout_mode = 0
+offset_right = 40.0
+offset_bottom = 40.0
+texture = ExtResource("1_j2k0y")
+
+[connection signal="gui_input" from="MenuTexture" to="." method="_on_gui_input"]
+[connection signal="mouse_exited" from="MenuTexture" to="." method="_on_mouse_exited"]
diff --git a/scenes/title_screen/title_screen.tscn b/scenes/title_screen/title_screen.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..d3f0e770e9c80d825e08678699614f96183874cf
--- /dev/null
+++ b/scenes/title_screen/title_screen.tscn
@@ -0,0 +1,38 @@
+[gd_scene load_steps=2 format=3 uid="uid://dogg5cp8c0f4s"]
+
+[ext_resource type="Script" path="res://scripts/title_screen/title_screen.gd" id="1_sj2v7"]
+
+[node name="TitleScreen" type="Control"]
+layout_mode = 3
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+script = ExtResource("1_sj2v7")
+
+[node name="MarginContainer" type="MarginContainer" parent="."]
+layout_mode = 1
+anchors_preset = 15
+anchor_right = 1.0
+anchor_bottom = 1.0
+grow_horizontal = 2
+grow_vertical = 2
+theme_override_constants/margin_left = 50
+theme_override_constants/margin_top = 50
+theme_override_constants/margin_right = 50
+theme_override_constants/margin_bottom = 50
+
+[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_font_sizes/normal_font_size = 75
+text = "Go Save The King"
+
+[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer"]
+layout_mode = 2
+
+[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/HBoxContainer"]
+layout_mode = 2
+size_flags_vertical = 8
+theme_override_constants/separation = 20
diff --git a/scripts/title_screen/menu_button.gd b/scripts/title_screen/menu_button.gd
new file mode 100644
index 0000000000000000000000000000000000000000..34924eeda16933f594d23af852cb87284716198a
--- /dev/null
+++ b/scripts/title_screen/menu_button.gd
@@ -0,0 +1,40 @@
+extends Button
+class_name TitleButton
+
+@export var angle_x_max: float = 10.0
+@export var angle_y_max: float = 10.0
+
+var tween_rot: Tween
+
+@onready var menu_texture: TextureRect = $MenuTexture
+
+func _ready() -> void:
+	angle_x_max = deg_to_rad(angle_x_max)
+	angle_y_max = deg_to_rad(angle_y_max)
+
+func _on_gui_input(event: InputEvent) -> void:
+	if not event is InputEventMouseMotion:
+		return
+	
+	var mouse_pos: Vector2 = get_local_mouse_position()
+	
+	# Calculate rotation based on mouse position
+	var padding_x = size.x * 0.1
+	var padding_y = size.y * 0.1
+
+	var lerp_val_x: float = remap(mouse_pos.x, -padding_x, size.x, 0, 1)
+	var lerp_val_y: float = remap(mouse_pos.y, -padding_y, size.y, 0, 1)
+	
+	var rot_x: float = rad_to_deg(lerp_angle(-angle_x_max, angle_x_max, lerp_val_x))
+	var rot_y: float = rad_to_deg(lerp_angle(angle_y_max, -angle_y_max, lerp_val_y))
+	
+	menu_texture.material.set_shader_parameter("x_rot", rot_y)
+	menu_texture.material.set_shader_parameter("y_rot", rot_x)
+	
+func _on_mouse_exited() -> void:
+	# Resets rotation when exited
+	if tween_rot and tween_rot.is_running():
+		tween_rot.kill()
+	tween_rot = create_tween().set_ease(Tween.EASE_OUT).set_trans(Tween.TRANS_BACK).set_parallel(true)
+	tween_rot.tween_property(menu_texture.material, "shader_parameter/x_rot", 0.0, 0.4)
+	tween_rot.tween_property(menu_texture.material, "shader_parameter/y_rot", 0.0, 0.4)
diff --git a/scripts/title_screen/title_screen.gd b/scripts/title_screen/title_screen.gd
new file mode 100644
index 0000000000000000000000000000000000000000..a1d4176a60aedfbaefdd96fbae0d7b02417fc683
--- /dev/null
+++ b/scripts/title_screen/title_screen.gd
@@ -0,0 +1,11 @@
+extends Control
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+	pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta: float) -> void:
+	pass