diff options
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 Binary files differnew file mode 100644 index 0000000..07d5127 --- /dev/null +++ b/assets/fonts/Quicksand-Bold.ttf 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 Binary files differnew file mode 100644 index 0000000..8005310 --- /dev/null +++ b/assets/fonts/Quicksand-Light.ttf 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 Binary files differnew file mode 100644 index 0000000..f4634cd --- /dev/null +++ b/assets/fonts/Quicksand-Medium.ttf 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 Binary files differnew file mode 100644 index 0000000..60323ed --- /dev/null +++ b/assets/fonts/Quicksand-Regular.ttf 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 Binary files differnew file mode 100644 index 0000000..52059c3 --- /dev/null +++ b/assets/fonts/Quicksand-SemiBold.ttf 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 Binary files differnew file mode 100644 index 0000000..87b04ff --- /dev/null +++ b/assets/images/circle.png 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 + + |