summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes2
-rw-r--r--.gitignore2
-rw-r--r--assets/fonts/Quicksand-Bold.ttfbin0 -> 78596 bytes
-rw-r--r--assets/fonts/Quicksand-Bold.ttf.import33
-rw-r--r--assets/fonts/Quicksand-Light.ttfbin0 -> 78660 bytes
-rw-r--r--assets/fonts/Quicksand-Light.ttf.import33
-rw-r--r--assets/fonts/Quicksand-Medium.ttfbin0 -> 78948 bytes
-rw-r--r--assets/fonts/Quicksand-Medium.ttf.import33
-rw-r--r--assets/fonts/Quicksand-Regular.ttfbin0 -> 78936 bytes
-rw-r--r--assets/fonts/Quicksand-Regular.ttf.import33
-rw-r--r--assets/fonts/Quicksand-SemiBold.ttfbin0 -> 78820 bytes
-rw-r--r--assets/fonts/Quicksand-SemiBold.ttf.import33
-rw-r--r--assets/images/circle.pngbin0 -> 12499 bytes
-rw-r--r--assets/images/circle.png.import34
-rw-r--r--assets/images/icon.svg1
-rw-r--r--assets/images/icon.svg.import37
-rw-r--r--levels/game.tscn12
-rw-r--r--project.godot28
-rw-r--r--reusable_scenes/number_node.tscn31
-rw-r--r--scripts/number_system/AI.gd3
-rw-r--r--scripts/number_system/NumberNode.gd32
-rw-r--r--scripts/number_system/Player.gd4
22 files changed, 351 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..8ad74f7
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4709183
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+# Godot 4+ specific ignores
+.godot/
diff --git a/assets/fonts/Quicksand-Bold.ttf b/assets/fonts/Quicksand-Bold.ttf
new file mode 100644
index 0000000..07d5127
--- /dev/null
+++ b/assets/fonts/Quicksand-Bold.ttf
Binary files differ
diff --git a/assets/fonts/Quicksand-Bold.ttf.import b/assets/fonts/Quicksand-Bold.ttf.import
new file mode 100644
index 0000000..bb86146
--- /dev/null
+++ b/assets/fonts/Quicksand-Bold.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://d1jok3adfbvxx"
+path="res://.godot/imported/Quicksand-Bold.ttf-f5c8a77a5e6c405421e49a5db07c1362.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Quicksand-Bold.ttf"
+dest_files=["res://.godot/imported/Quicksand-Bold.ttf-f5c8a77a5e6c405421e49a5db07c1362.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/assets/fonts/Quicksand-Light.ttf b/assets/fonts/Quicksand-Light.ttf
new file mode 100644
index 0000000..8005310
--- /dev/null
+++ b/assets/fonts/Quicksand-Light.ttf
Binary files differ
diff --git a/assets/fonts/Quicksand-Light.ttf.import b/assets/fonts/Quicksand-Light.ttf.import
new file mode 100644
index 0000000..ab01d4c
--- /dev/null
+++ b/assets/fonts/Quicksand-Light.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://b4wx5mc8xlnmr"
+path="res://.godot/imported/Quicksand-Light.ttf-36099399266af23884d9428ca22ce048.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Quicksand-Light.ttf"
+dest_files=["res://.godot/imported/Quicksand-Light.ttf-36099399266af23884d9428ca22ce048.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/assets/fonts/Quicksand-Medium.ttf b/assets/fonts/Quicksand-Medium.ttf
new file mode 100644
index 0000000..f4634cd
--- /dev/null
+++ b/assets/fonts/Quicksand-Medium.ttf
Binary files differ
diff --git a/assets/fonts/Quicksand-Medium.ttf.import b/assets/fonts/Quicksand-Medium.ttf.import
new file mode 100644
index 0000000..9a355ad
--- /dev/null
+++ b/assets/fonts/Quicksand-Medium.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cn7ecq6813q71"
+path="res://.godot/imported/Quicksand-Medium.ttf-0ef28b4a85b1709e7b82cf164e2ced23.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Quicksand-Medium.ttf"
+dest_files=["res://.godot/imported/Quicksand-Medium.ttf-0ef28b4a85b1709e7b82cf164e2ced23.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/assets/fonts/Quicksand-Regular.ttf b/assets/fonts/Quicksand-Regular.ttf
new file mode 100644
index 0000000..60323ed
--- /dev/null
+++ b/assets/fonts/Quicksand-Regular.ttf
Binary files differ
diff --git a/assets/fonts/Quicksand-Regular.ttf.import b/assets/fonts/Quicksand-Regular.ttf.import
new file mode 100644
index 0000000..5117ccc
--- /dev/null
+++ b/assets/fonts/Quicksand-Regular.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://cixag4r8glbm3"
+path="res://.godot/imported/Quicksand-Regular.ttf-4a6a8af0477e9afc1a5823bbac6f49dd.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Quicksand-Regular.ttf"
+dest_files=["res://.godot/imported/Quicksand-Regular.ttf-4a6a8af0477e9afc1a5823bbac6f49dd.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/assets/fonts/Quicksand-SemiBold.ttf b/assets/fonts/Quicksand-SemiBold.ttf
new file mode 100644
index 0000000..52059c3
--- /dev/null
+++ b/assets/fonts/Quicksand-SemiBold.ttf
Binary files differ
diff --git a/assets/fonts/Quicksand-SemiBold.ttf.import b/assets/fonts/Quicksand-SemiBold.ttf.import
new file mode 100644
index 0000000..3fa3018
--- /dev/null
+++ b/assets/fonts/Quicksand-SemiBold.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://bcthqgju0tqu4"
+path="res://.godot/imported/Quicksand-SemiBold.ttf-917195cec9bda86e3214fe7d0135603a.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/Quicksand-SemiBold.ttf"
+dest_files=["res://.godot/imported/Quicksand-SemiBold.ttf-917195cec9bda86e3214fe7d0135603a.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/assets/images/circle.png b/assets/images/circle.png
new file mode 100644
index 0000000..87b04ff
--- /dev/null
+++ b/assets/images/circle.png
Binary files differ
diff --git a/assets/images/circle.png.import b/assets/images/circle.png.import
new file mode 100644
index 0000000..f1f0985
--- /dev/null
+++ b/assets/images/circle.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5agrb3i1fdt5"
+path="res://.godot/imported/circle.png-d3a56b10bb88bf766b7acea6f5d494ee.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/images/circle.png"
+dest_files=["res://.godot/imported/circle.png-d3a56b10bb88bf766b7acea6f5d494ee.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/assets/images/icon.svg b/assets/images/icon.svg
new file mode 100644
index 0000000..b370ceb
--- /dev/null
+++ b/assets/images/icon.svg
@@ -0,0 +1 @@
+<svg height="128" width="128" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="124" height="124" rx="14" fill="#363d52" stroke="#212532" stroke-width="4"/><g transform="scale(.101) translate(122 122)"><g fill="#fff"><path d="M105 673v33q407 354 814 0v-33z"/><path fill="#478cbf" d="m105 673 152 14q12 1 15 14l4 67 132 10 8-61q2-11 15-15h162q13 4 15 15l8 61 132-10 4-67q3-13 15-14l152-14V427q30-39 56-81-35-59-83-108-43 20-82 47-40-37-88-64 7-51 8-102-59-28-123-42-26 43-46 89-49-7-98 0-20-46-46-89-64 14-123 42 1 51 8 102-48 27-88 64-39-27-82-47-48 49-83 108 26 42 56 81zm0 33v39c0 276 813 276 813 0v-39l-134 12-5 69q-2 10-14 13l-162 11q-12 0-16-11l-10-65H447l-10 65q-4 11-16 11l-162-11q-12-3-14-13l-5-69z"/><path d="M483 600c3 34 55 34 58 0v-86c-3-34-55-34-58 0z"/><circle cx="725" cy="526" r="90"/><circle cx="299" cy="526" r="90"/></g><g fill="#414042"><circle cx="307" cy="532" r="60"/><circle cx="717" cy="532" r="60"/></g></g></svg>
diff --git a/assets/images/icon.svg.import b/assets/images/icon.svg.import
new file mode 100644
index 0000000..574289d
--- /dev/null
+++ b/assets/images/icon.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b1jt737y0tpyx"
+path="res://.godot/imported/icon.svg-2a379f463509f41fc5e90a1cd52fdb6b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/images/icon.svg"
+dest_files=["res://.godot/imported/icon.svg-2a379f463509f41fc5e90a1cd52fdb6b.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
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/levels/game.tscn b/levels/game.tscn
new file mode 100644
index 0000000..8a24d21
--- /dev/null
+++ b/levels/game.tscn
@@ -0,0 +1,12 @@
+[gd_scene load_steps=2 format=3 uid="uid://dl3umvtxf47q6"]
+
+[ext_resource type="PackedScene" uid="uid://dfapxkgv6muc1" path="res://reusable_scenes/number_node.tscn" id="1_mshgx"]
+
+[node name="GameNode2D" type="Node2D"]
+
+[node name="GameLoop" type="Node" parent="."]
+
+[node name="Generator" type="Node" parent="."]
+
+[node name="NumberNode" parent="." instance=ExtResource("1_mshgx")]
+position = Vector2(133, 101)
diff --git a/project.godot b/project.godot
new file mode 100644
index 0000000..9c6d012
--- /dev/null
+++ b/project.godot
@@ -0,0 +1,28 @@
+; 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=5
+
+[application]
+
+config/name="Sum on! — Post-Compo"
+config/tags=PackedStringArray("commercial", "unfinished")
+run/main_scene="res://levels/game.tscn"
+config/features=PackedStringArray("4.2", "GL Compatibility")
+config/icon="res://assets/images/icon.svg"
+
+[display]
+
+window/size/viewport_width=1280
+window/size/viewport_height=720
+window/stretch/mode="canvas_items"
+
+[rendering]
+
+renderer/rendering_method="gl_compatibility"
+renderer/rendering_method.mobile="gl_compatibility"
diff --git a/reusable_scenes/number_node.tscn b/reusable_scenes/number_node.tscn
new file mode 100644
index 0000000..1c64234
--- /dev/null
+++ b/reusable_scenes/number_node.tscn
@@ -0,0 +1,31 @@
+[gd_scene load_steps=3 format=3 uid="uid://dfapxkgv6muc1"]
+
+[ext_resource type="Script" path="res://scripts/number_system/NumberNode.gd" id="1_5dnvb"]
+[ext_resource type="Texture2D" uid="uid://c5agrb3i1fdt5" path="res://assets/images/circle.png" id="2_iuhlk"]
+
+[node name="NumberNode" type="Node2D" node_paths=PackedStringArray("sprite", "label")]
+script = ExtResource("1_5dnvb")
+sprite = NodePath("Sprite2D")
+label = NodePath("Label")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+modulate = Color(0, 0, 0, 1)
+scale = Vector2(0.08, 0.08)
+texture = ExtResource("2_iuhlk")
+
+[node name="Label" type="Label" parent="."]
+custom_minimum_size = Vector2(40, 30)
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -0.5
+offset_top = -11.5
+offset_right = 0.5
+offset_bottom = 11.5
+grow_horizontal = 2
+grow_vertical = 2
+text = "1"
+horizontal_alignment = 1
+vertical_alignment = 1
diff --git a/scripts/number_system/AI.gd b/scripts/number_system/AI.gd
new file mode 100644
index 0000000..b8f63a9
--- /dev/null
+++ b/scripts/number_system/AI.gd
@@ -0,0 +1,3 @@
+extends Node2D
+class_name AI
+
diff --git a/scripts/number_system/NumberNode.gd b/scripts/number_system/NumberNode.gd
new file mode 100644
index 0000000..d53cc6e
--- /dev/null
+++ b/scripts/number_system/NumberNode.gd
@@ -0,0 +1,32 @@
+extends Node
+class_name NumberNode
+
+@export_group("Toggles")
+## Scan for mouse events by the player, used for Player's NumberNode to snap to
+## other NumberNodes. Disable if AI or Player.
+@export var do_scan_as_target : bool
+@export_group("Values")
+@export var value : int
+@export var modifier_value : float
+enum Operations {
+ NONE,
+ ADDITION,
+ SUBTRACTION,
+ MULTIPLICATION,
+ DIVISION,
+}
+@export var modifier_operation : Operations
+@export_group("Visuals")
+@export var sprite : Sprite2D
+@export var label : Label
+@export var color : Color
+
+func _ready():
+ update_visuals()
+
+func _process(_delta):
+ pass
+
+## Update label, size, color
+func update_visuals():
+ pass
diff --git a/scripts/number_system/Player.gd b/scripts/number_system/Player.gd
new file mode 100644
index 0000000..a39e0da
--- /dev/null
+++ b/scripts/number_system/Player.gd
@@ -0,0 +1,4 @@
+extends Node2D
+class_name Player
+
+