online multiplayer chess game (note server currently down)
bendn 2022-04-25
commit 21082c6
-rw-r--r--.gitattributes4
-rw-r--r--.gitignore2
-rw-r--r--Globals.gd5
-rw-r--r--Grid.gd172
-rw-r--r--Piece.gd22
-rw-r--r--Piece.tscn17
-rw-r--r--Square.gd19
-rw-r--r--Square.tscn19
-rw-r--r--World.tscn12
-rw-r--r--assets/borrowed from https:⁄⁄github.com⁄lichess-org⁄lila⁄tree⁄master⁄public⁄piece1
-rw-r--r--assets/california/bB.png3
-rw-r--r--assets/california/bB.png.import35
-rw-r--r--assets/california/bK.png3
-rw-r--r--assets/california/bK.png.import35
-rw-r--r--assets/california/bN.png3
-rw-r--r--assets/california/bN.png.import35
-rw-r--r--assets/california/bP.png3
-rw-r--r--assets/california/bP.png.import35
-rw-r--r--assets/california/bQ.png3
-rw-r--r--assets/california/bQ.png.import35
-rw-r--r--assets/california/bR.png3
-rw-r--r--assets/california/bR.png.import35
-rw-r--r--assets/california/wB.png3
-rw-r--r--assets/california/wB.png.import35
-rw-r--r--assets/california/wK.png3
-rw-r--r--assets/california/wK.png.import35
-rw-r--r--assets/california/wN.png3
-rw-r--r--assets/california/wN.png.import35
-rw-r--r--assets/california/wP.png3
-rw-r--r--assets/california/wP.png.import35
-rw-r--r--assets/california/wQ.png3
-rw-r--r--assets/california/wQ.png.import35
-rw-r--r--assets/california/wR.png3
-rw-r--r--assets/california/wR.png.import35
-rw-r--r--project.godot38
35 files changed, 767 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..a05dc57
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,4 @@
+*.png filter=lfs diff=lfs merge=lfs -text
+*.ogg filter=lfs diff=lfs merge=lfs -text
+*.ttf filter=lfs diff=lfs merge=lfs -text
+*.svg filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..efbf0d9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.import/
+logs/
diff --git a/Globals.gd b/Globals.gd
new file mode 100644
index 0000000..f448464
--- /dev/null
+++ b/Globals.gd
@@ -0,0 +1,5 @@
+extends Node
+
+var piece_size
+
+var last_clicked \ No newline at end of file
diff --git a/Grid.gd b/Grid.gd
new file mode 100644
index 0000000..b11652f
--- /dev/null
+++ b/Grid.gd
@@ -0,0 +1,172 @@
+extends Node2D
+
+export var PIECE_SET = "california"
+
+export(Color) var board_color1 = Color.white
+export(Color) var board_color2 = Color.black
+
+onready var background = $Background
+
+var ASSETS_PATH = "res://assets/" + PIECE_SET + "/"
+
+const Piece = preload("res://Piece.tscn")
+const Square = preload("res://Square.tscn")
+
+const piece_size = Vector2(100, 100)
+
+var matrix = []
+var background_matrix = []
+
+func init_matrix():
+ for i in range(8):
+ matrix.append([])
+ for _j in range(8):
+ matrix[i].append()
+ add_pieces()
+
+
+func instance_piece_at_position(position: Vector2, name: String, sprite: String, white: bool = true):
+ var piece = Piece.instance()
+ piece.sprite = piece.get_node("Sprite")
+ piece.sprite.texture = load(sprite)
+ # piece.sprite.flip_v = not white # this is not shogi you eejit
+ if white:
+ position -= Vector2(0, piece_size.y) # boost it up
+ piece.global_position = position
+ piece.realname = name
+ piece.name = name
+ piece.white = white
+ add_child(piece)
+ return piece
+
+
+func init_board():
+ for i in range(8):
+ background_matrix.append([])
+ for j in range(8):
+ # var square = ColorRect.new()
+ var square = Square.instance()
+ square.rect_size = piece_size
+ square.rect_position = Vector2(i, j) * piece_size
+ square.name = "square_" + str(i) + "_" + str(j)
+ square.color = board_color1 if (i + j) % 2 == 0 else board_color2
+ square.real_position = Vector2(i, j)
+ background.add_child(square)
+ square.connect("clicked", self, "square_clicked")
+ background_matrix[i].append(square)
+
+func add_pieces():
+ add_pawns()
+ add_rooks()
+ add_knights()
+ add_bishops()
+ add_queens()
+ add_kings()
+ print_matrix_pretty()
+
+
+func add_pawns():
+ for i in range(8):
+ matrix[1][i] = instance_piece_at_position(
+ Vector2(i, 1) * piece_size, "pawn", ASSETS_PATH + "bP.png", false
+ )
+ matrix[6][i] = instance_piece_at_position(
+ Vector2(i, 7) * piece_size, "pawn", ASSETS_PATH + "wP.png", true
+ )
+
+
+func add_rooks():
+ matrix[0][0] = instance_piece_at_position(
+ Vector2(0, 0) * piece_size, "rook", ASSETS_PATH + "bR.png", false
+ )
+ matrix[0][7] = instance_piece_at_position(
+ Vector2(7, 0) * piece_size, "rook", ASSETS_PATH + "bR.png", false
+ )
+ matrix[7][0] = instance_piece_at_position(
+ Vector2(0, 8) * piece_size, "rook", ASSETS_PATH + "wR.png", true
+ )
+ matrix[7][7] = instance_piece_at_position(
+ Vector2(7, 8) * piece_size, "rook", ASSETS_PATH + "wR.png", true
+ )
+
+
+func add_knights():
+ matrix[0][1] = instance_piece_at_position(
+ Vector2(1, 0) * piece_size, "knight", ASSETS_PATH + "bN.png", false
+ )
+ matrix[0][6] = instance_piece_at_position(
+ Vector2(6, 0) * piece_size, "knight", ASSETS_PATH + "bN.png", false
+ )
+ matrix[7][1] = instance_piece_at_position(
+ Vector2(1, 8) * piece_size, "knight", ASSETS_PATH + "wN.png", true
+ )
+ matrix[7][6] = instance_piece_at_position(
+ Vector2(6, 8) * piece_size, "knight", ASSETS_PATH + "wN.png", true
+ )
+
+
+func add_bishops():
+ matrix[0][2] = instance_piece_at_position(
+ Vector2(2, 0) * piece_size, "bishop", ASSETS_PATH + "bB.png", false
+ )
+ matrix[0][5] = instance_piece_at_position(
+ Vector2(5, 0) * piece_size, "bishop", ASSETS_PATH + "bB.png", false
+ )
+ matrix[7][2] = instance_piece_at_position(
+ Vector2(2, 8) * piece_size, "bishop", ASSETS_PATH + "wB.png", true
+ )
+ matrix[7][5] = instance_piece_at_position(
+ Vector2(5, 8) * piece_size, "bishop", ASSETS_PATH + "wB.png", true
+ )
+
+
+func add_queens():
+ matrix[0][3] = instance_piece_at_position(
+ Vector2(3, 0) * piece_size, "queen", ASSETS_PATH + "bQ.png", false
+ )
+ matrix[7][3] = instance_piece_at_position(
+ Vector2(3, 8) * piece_size, "queen", ASSETS_PATH + "wQ.png", true
+ )
+
+
+func add_kings():
+ matrix[0][4] = instance_piece_at_position(
+ Vector2(4, 0) * piece_size, "king", ASSETS_PATH + "bK.png", false
+ )
+ matrix[7][4] = instance_piece_at_position(
+ Vector2(4, 8) * piece_size, "king", ASSETS_PATH + "wK.png", true
+ )
+
+
+func print_matrix_pretty(mat = matrix):
+ print("[")
+ for r in mat:
+ var row = " ["
+ for i in range(8):
+ var c = r[i]
+ var ender = ", " if i < 7 else ""
+ if typeof(c) != TYPE_INT:
+ row += c.realname + ender
+ else:
+ row += "0" + ender
+ print(row + "],")
+ print("]")
+
+
+func _ready():
+ Globals.piece_size = piece_size
+ init_board()
+ init_matrix()
+
+
+func square_clicked(position: Vector2):
+ var spot = matrix[position.y][position.x]
+ if typeof(spot) == TYPE_INT:
+ if typeof(Globals.last_clicked) == TYPE_INT: # its 0
+ return
+ Globals.last_clicked.spot(position)
+ Globals.last_clicked = null
+ elif typeof(Globals.last_clicked) != typeof(spot) or Globals.last_clicked != spot:
+ Globals.last_clicked = spot
+ spot.clicked()
+
diff --git a/Piece.gd b/Piece.gd
new file mode 100644
index 0000000..ce53070
--- /dev/null
+++ b/Piece.gd
@@ -0,0 +1,22 @@
+extends Node2D
+class_name Piece
+
+var white := true
+var realname = "pawn"
+var sprite
+
+onready var colorrect= $ColorRect
+
+func move(newpos: Vector2):
+ global_position = newpos
+
+func clicked():
+ colorrect.show()
+ print(realname, " was clicked")
+
+func spot(position):
+ colorrect.hide()
+ print("spot ", position)
+
+func _ready():
+ colorrect.rect_size = Globals.piece_size \ No newline at end of file
diff --git a/Piece.tscn b/Piece.tscn
new file mode 100644
index 0000000..12161c4
--- /dev/null
+++ b/Piece.tscn
@@ -0,0 +1,17 @@
+[gd_scene load_steps=3 format=2]
+
+[ext_resource path="res://Piece.gd" type="Script" id=1]
+[ext_resource path="res://assets/california/wP.png" type="Texture" id=2]
+
+[node name="Piece" type="Node2D"]
+script = ExtResource( 1 )
+
+[node name="ColorRect" type="ColorRect" parent="."]
+visible = false
+margin_right = 96.0
+margin_bottom = 96.0
+color = Color( 0.2, 0.345098, 0.188235, 0.592157 )
+
+[node name="Sprite" type="Sprite" parent="."]
+position = Vector2( 50, 50 )
+texture = ExtResource( 2 )
diff --git a/Square.gd b/Square.gd
new file mode 100644
index 0000000..b2b7b4c
--- /dev/null
+++ b/Square.gd
@@ -0,0 +1,19 @@
+extends ColorRect
+
+var realname = "Square"
+var real_position = Vector2()
+
+onready var area = $Squarea
+onready var areacollisionshape = $Squarea/CollisionShape2D
+
+signal clicked(real_position)
+
+
+func _ready():
+ areacollisionshape.global_position += Globals.piece_size / 2
+ areacollisionshape.shape.extents = Vector2(rect_size.x / 2, rect_size.y / 2)
+
+
+func _on_Squarea_input_event(_viewport: Node, event: InputEvent, _shape_idx: int):
+ if event is InputEventMouseButton:
+ emit_signal("clicked", real_position)
diff --git a/Square.tscn b/Square.tscn
new file mode 100644
index 0000000..f902da8
--- /dev/null
+++ b/Square.tscn
@@ -0,0 +1,19 @@
+[gd_scene load_steps=3 format=2]
+
+[ext_resource path="res://Square.gd" type="Script" id=1]
+
+[sub_resource type="RectangleShape2D" id=1]
+extents = Vector2( 381, 394.5 )
+
+[node name="Square" type="ColorRect"]
+anchor_right = 1.0
+anchor_bottom = 1.0
+mouse_filter = 2
+script = ExtResource( 1 )
+
+[node name="Squarea" type="Area2D" parent="."]
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="Squarea"]
+shape = SubResource( 1 )
+
+[connection signal="input_event" from="Squarea" to="." method="_on_Squarea_input_event"]
diff --git a/World.tscn b/World.tscn
new file mode 100644
index 0000000..3e33970
--- /dev/null
+++ b/World.tscn
@@ -0,0 +1,12 @@
+[gd_scene load_steps=2 format=2]
+
+[ext_resource path="res://Grid.gd" type="Script" id=1]
+
+[node name="World" type="Node2D"]
+
+[node name="Grid" type="Node2D" parent="."]
+script = ExtResource( 1 )
+board_color1 = Color( 0.870588, 0.890196, 0.901961, 1 )
+board_color2 = Color( 0.54902, 0.635294, 0.678431, 1 )
+
+[node name="Background" type="Node2D" parent="Grid"]
diff --git a/assets/borrowed from https:⁄⁄github.com⁄lichess-org⁄lila⁄tree⁄master⁄public⁄piece b/assets/borrowed from https:⁄⁄github.com⁄lichess-org⁄lila⁄tree⁄master⁄public⁄piece
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/assets/borrowed from https:⁄⁄github.com⁄lichess-org⁄lila⁄tree⁄master⁄public⁄piece
@@ -0,0 +1 @@
+
diff --git a/assets/california/bB.png b/assets/california/bB.png
new file mode 100644
index 0000000..6205ddb
--- /dev/null
+++ b/assets/california/bB.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:40eeffd98bcae1328a2a0e29a4386e3569ba139255c277d5d6569c8d251a2ae4
+size 3248
diff --git a/assets/california/bB.png.import b/assets/california/bB.png.import
new file mode 100644
index 0000000..597c4a1
--- /dev/null
+++ b/assets/california/bB.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/bB.png-0f315dee9d1a5403123864660706d484.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/bB.png"
+dest_files=[ "res://.import/bB.png-0f315dee9d1a5403123864660706d484.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/bK.png b/assets/california/bK.png
new file mode 100644
index 0000000..6dbeaad
--- /dev/null
+++ b/assets/california/bK.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:83e6db707ab5a78131538f5a08eaed4feac72fbf27ef67021d7bf4276f2bb789
+size 3628
diff --git a/assets/california/bK.png.import b/assets/california/bK.png.import
new file mode 100644
index 0000000..64f69a7
--- /dev/null
+++ b/assets/california/bK.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/bK.png-08d31b92994868cf1163bf590d391e31.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/bK.png"
+dest_files=[ "res://.import/bK.png-08d31b92994868cf1163bf590d391e31.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=false
+svg/scale=1.0
diff --git a/assets/california/bN.png b/assets/california/bN.png
new file mode 100644
index 0000000..311eae5
--- /dev/null
+++ b/assets/california/bN.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8ed8aa89befd5759e891fa42282833c917308da9d12ddb74332f15ae9c926385
+size 3619
diff --git a/assets/california/bN.png.import b/assets/california/bN.png.import
new file mode 100644
index 0000000..79a7df0
--- /dev/null
+++ b/assets/california/bN.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/bN.png-9dabfe34588186821990ac7af8b17e4c.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/bN.png"
+dest_files=[ "res://.import/bN.png-9dabfe34588186821990ac7af8b17e4c.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/bP.png b/assets/california/bP.png
new file mode 100644
index 0000000..fe20933
--- /dev/null
+++ b/assets/california/bP.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d2714812a3a572fb04ba7f8fcdf54ab8b4da9ed414938b0a1153318e92182180
+size 2614
diff --git a/assets/california/bP.png.import b/assets/california/bP.png.import
new file mode 100644
index 0000000..09ebf64
--- /dev/null
+++ b/assets/california/bP.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/bP.png-5c34f802faf22c5deb0c1a404d434f48.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/bP.png"
+dest_files=[ "res://.import/bP.png-5c34f802faf22c5deb0c1a404d434f48.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/bQ.png b/assets/california/bQ.png
new file mode 100644
index 0000000..e94e2e2
--- /dev/null
+++ b/assets/california/bQ.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:97bfe499776bfa74eeff783fbfd92cce3be6fdd21117e5507634894f39a03f58
+size 3261
diff --git a/assets/california/bQ.png.import b/assets/california/bQ.png.import
new file mode 100644
index 0000000..01a02cd
--- /dev/null
+++ b/assets/california/bQ.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/bQ.png-1c0618354a61ad904694f3bfbeb2994d.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/bQ.png"
+dest_files=[ "res://.import/bQ.png-1c0618354a61ad904694f3bfbeb2994d.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/bR.png b/assets/california/bR.png
new file mode 100644
index 0000000..a7918a6
--- /dev/null
+++ b/assets/california/bR.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e3c3bf3746b09ac07c090c4798e8061976c96b35a50edc30017b4b0ff524ab89
+size 1947
diff --git a/assets/california/bR.png.import b/assets/california/bR.png.import
new file mode 100644
index 0000000..2ea2b47
--- /dev/null
+++ b/assets/california/bR.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/bR.png-04550c34e12d06df999dcde35945a316.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/bR.png"
+dest_files=[ "res://.import/bR.png-04550c34e12d06df999dcde35945a316.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/wB.png b/assets/california/wB.png
new file mode 100644
index 0000000..d839519
--- /dev/null
+++ b/assets/california/wB.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:90a5c42afe834ecfe444eccbf87d5b52011c3d3571052ceee0040f70143915de
+size 3403
diff --git a/assets/california/wB.png.import b/assets/california/wB.png.import
new file mode 100644
index 0000000..668edc3
--- /dev/null
+++ b/assets/california/wB.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/wB.png-ec6e33acfb451d81d533906ef5bd933d.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/wB.png"
+dest_files=[ "res://.import/wB.png-ec6e33acfb451d81d533906ef5bd933d.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/wK.png b/assets/california/wK.png
new file mode 100644
index 0000000..9cd1a99
--- /dev/null
+++ b/assets/california/wK.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d9270db6c0760e169b1695c08be305ed0510bb4ec7ac14a3215ce0faa978a456
+size 3922
diff --git a/assets/california/wK.png.import b/assets/california/wK.png.import
new file mode 100644
index 0000000..85e1221
--- /dev/null
+++ b/assets/california/wK.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/wK.png-33a9c9419dc2f633d63ecc3af653af9c.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/wK.png"
+dest_files=[ "res://.import/wK.png-33a9c9419dc2f633d63ecc3af653af9c.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/wN.png b/assets/california/wN.png
new file mode 100644
index 0000000..7296b6a
--- /dev/null
+++ b/assets/california/wN.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3ef60da15699b430f851fb401528b5050cf2230bcc2029b18be85e153b2fd02d
+size 3851
diff --git a/assets/california/wN.png.import b/assets/california/wN.png.import
new file mode 100644
index 0000000..29a71f8
--- /dev/null
+++ b/assets/california/wN.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/wN.png-77ec0445755bc9ec1b76302d43e46127.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/wN.png"
+dest_files=[ "res://.import/wN.png-77ec0445755bc9ec1b76302d43e46127.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/wP.png b/assets/california/wP.png
new file mode 100644
index 0000000..869107a
--- /dev/null
+++ b/assets/california/wP.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6524f4adf7f6b40c02713065ad668e1df0fa66142e55614a224d5fa8c2c3abd0
+size 2852
diff --git a/assets/california/wP.png.import b/assets/california/wP.png.import
new file mode 100644
index 0000000..4031b42
--- /dev/null
+++ b/assets/california/wP.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/wP.png-e9533c193c520425e890f8f6e27746e4.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/wP.png"
+dest_files=[ "res://.import/wP.png-e9533c193c520425e890f8f6e27746e4.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/wQ.png b/assets/california/wQ.png
new file mode 100644
index 0000000..d78ac18
--- /dev/null
+++ b/assets/california/wQ.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:505f71ca93e4b7a8878fe287cf0374c4758f689aecca3f3b8b9a9217633a513d
+size 3302
diff --git a/assets/california/wQ.png.import b/assets/california/wQ.png.import
new file mode 100644
index 0000000..3c6aa97
--- /dev/null
+++ b/assets/california/wQ.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/wQ.png-d74ff0e9a692ab886dc9a1b5750f2b81.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/wQ.png"
+dest_files=[ "res://.import/wQ.png-d74ff0e9a692ab886dc9a1b5750f2b81.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/assets/california/wR.png b/assets/california/wR.png
new file mode 100644
index 0000000..85a6bb5
--- /dev/null
+++ b/assets/california/wR.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:96202184360f2ae27ffe33023b7722ad41a6778305929907cc0165a5e7aa2f7f
+size 2078
diff --git a/assets/california/wR.png.import b/assets/california/wR.png.import
new file mode 100644
index 0000000..be109ce
--- /dev/null
+++ b/assets/california/wR.png.import
@@ -0,0 +1,35 @@
+[remap]
+
+importer="texture"
+type="StreamTexture"
+path="res://.import/wR.png-296767b2a2dce01c561d732ce6e064b6.stex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/california/wR.png"
+dest_files=[ "res://.import/wR.png-296767b2a2dce01c561d732ce6e064b6.stex" ]
+
+[params]
+
+compress/mode=0
+compress/lossy_quality=0.7
+compress/hdr_mode=0
+compress/bptc_ldr=0
+compress/normal_map=0
+flags/repeat=0
+flags/filter=true
+flags/mipmaps=false
+flags/anisotropic=false
+flags/srgb=2
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/HDR_as_SRGB=false
+process/invert_color=false
+process/normal_map_invert_y=false
+stream=false
+size_limit=0
+detect_3d=true
+svg/scale=1.0
diff --git a/project.godot b/project.godot
new file mode 100644
index 0000000..02c87f1
--- /dev/null
+++ b/project.godot
@@ -0,0 +1,38 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+; [section] ; section goes between []
+; param=value ; assign values to parameters
+
+config_version=4
+
+_global_script_classes=[ {
+"base": "Node2D",
+"class": "Piece",
+"language": "GDScript",
+"path": "res://Piece.gd"
+} ]
+_global_script_class_icons={
+"Piece": ""
+}
+
+[application]
+
+run/main_scene="res://World.tscn"
+
+[autoload]
+
+Globals="*res://Globals.gd"
+
+[display]
+
+window/size/width=800
+window/size/height=800
+window/stretch/mode="2d"
+window/stretch/aspect="keep"
+
+[rendering]
+
+environment/default_clear_color=Color( 0.301961, 0.301961, 0.301961, 1 )