diff --git a/README.md b/README.md index 17b2dbf..2ad8fa8 100644 --- a/README.md +++ b/README.md @@ -14,4 +14,4 @@ The three other players have their own strengths: - Green: Good at subtraction - Red: Good at multiplication -- Blue: Good at division +- Blue: Good at addition diff --git a/blender/icons/cover_image.png b/blender/icons/cover_image.png new file mode 100644 index 0000000..c96dab8 Binary files /dev/null and b/blender/icons/cover_image.png differ diff --git a/blender/icons/icon.blend b/blender/icons/icon.blend new file mode 100644 index 0000000..0f26744 Binary files /dev/null and b/blender/icons/icon.blend differ diff --git a/blender/icons/icon.blend1 b/blender/icons/icon.blend1 new file mode 100644 index 0000000..915425b Binary files /dev/null and b/blender/icons/icon.blend1 differ diff --git a/blender/icons/icon.ico b/blender/icons/icon.ico new file mode 100644 index 0000000..a5adeb5 Binary files /dev/null and b/blender/icons/icon.ico differ diff --git a/blender/icons/icon.png b/blender/icons/icon.png new file mode 100644 index 0000000..92acfa0 Binary files /dev/null and b/blender/icons/icon.png differ diff --git a/godot/icon.ico b/godot/icon.ico new file mode 100644 index 0000000..a5adeb5 Binary files /dev/null and b/godot/icon.ico differ diff --git a/godot/icon.png b/godot/icon.png new file mode 100644 index 0000000..92acfa0 Binary files /dev/null and b/godot/icon.png differ diff --git a/godot/icon.svg.import b/godot/icon.png.import similarity index 62% rename from godot/icon.svg.import rename to godot/icon.png.import index 8c04a6c..68bbcf5 100644 --- a/godot/icon.svg.import +++ b/godot/icon.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://c1pb0yn1ehxho" -path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +uid="uid://c7q670yi3gsgk" +path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://icon.svg" -dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] +source_file="res://icon.png" +dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] [params] @@ -32,6 +32,3 @@ 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/godot/icon.svg b/godot/icon.svg deleted file mode 100644 index 9d8b7fa..0000000 --- a/godot/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/godot/main_scenes/game.tscn b/godot/main_scenes/game.tscn index 46f6d37..7572179 100644 --- a/godot/main_scenes/game.tscn +++ b/godot/main_scenes/game.tscn @@ -64,7 +64,7 @@ transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 4, 0, [node name="CAMERA" type="Camera3D" parent="."] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 0.910084, 0.414423, 0, -0.414423, 0.910084, 0, 3.4199, 0) -fov = 39.7 +fov = 41.4 size = 0.013 script = ExtResource("2_joe7c") diff --git a/godot/main_scenes/menu.tscn b/godot/main_scenes/menu.tscn index 940468d..ea9ca8c 100644 --- a/godot/main_scenes/menu.tscn +++ b/godot/main_scenes/menu.tscn @@ -28,17 +28,11 @@ layout_mode = 2 layout_mode = 2 theme_override_fonts/font = ExtResource("1_38vls") theme_override_font_sizes/font_size = 120 -text = "Extreme Intense Mathematics" - -[node name="author" type="Label" parent="HBoxContainer/VBoxContainer"] -layout_mode = 2 -theme_override_fonts/font = ExtResource("2_1xsbm") -theme_override_font_sizes/font_size = 50 -text = "Made by Lexzach (Zach Bowden)" +text = "Extremely Intense Mathematics" [node name="HSeparator" type="HSeparator" parent="HBoxContainer/VBoxContainer"] layout_mode = 2 -theme_override_constants/separation = 180 +theme_override_constants/separation = 105 theme_override_styles/separator = SubResource("StyleBoxEmpty_38vls") [node name="start_button" type="Button" parent="HBoxContainer/VBoxContainer"] @@ -53,7 +47,7 @@ text = "Play" [node name="HSeparator2" type="HSeparator" parent="HBoxContainer/VBoxContainer"] layout_mode = 2 -theme_override_constants/separation = 65 +theme_override_constants/separation = 45 theme_override_styles/separator = SubResource("StyleBoxEmpty_38vls") [node name="quit_button" type="Button" parent="HBoxContainer/VBoxContainer"] @@ -78,5 +72,17 @@ theme_override_fonts/font = ExtResource("2_1xsbm") theme_override_font_sizes/font_size = 50 text = "Version" +[node name="author" type="Label" parent="VBoxContainer"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("2_1xsbm") +theme_override_font_sizes/font_size = 50 +text = "Made by Lexzach (Zach Bowden)" + +[node name="about" type="Label" parent="VBoxContainer"] +layout_mode = 2 +theme_override_fonts/font = ExtResource("2_1xsbm") +theme_override_font_sizes/font_size = 50 +text = "Created for the Virginia Collegiate Game Jam 2025" + [connection signal="pressed" from="HBoxContainer/VBoxContainer/start_button" to="." method="_on_start_button_pressed"] [connection signal="pressed" from="HBoxContainer/VBoxContainer/quit_button" to="." method="_on_quit_button_pressed"] diff --git a/godot/project.godot b/godot/project.godot index 275123e..e86048d 100644 --- a/godot/project.godot +++ b/godot/project.godot @@ -10,11 +10,15 @@ config_version=5 [application] -config/name="Extremely Intense Math" -config/version="v0.1" +config/name="Extremely Intense Mathematics" +config/version="1.0" run/main_scene="uid://v7vh1typhj0k" config/features=PackedStringArray("4.4", "Forward Plus") -config/icon="res://icon.svg" +boot_splash/bg_color=Color(0, 0, 0, 1) +boot_splash/show_image=false +boot_splash/fullsize=false +config/icon="uid://c7q670yi3gsgk" +config/windows_native_icon="res://icon.ico" [autoload] diff --git a/godot/scripts/ai.gd b/godot/scripts/ai.gd index b124191..215af54 100644 --- a/godot/scripts/ai.gd +++ b/godot/scripts/ai.gd @@ -3,7 +3,7 @@ Attempts to simulate human-esc responses. green - good at subtraction red - good at multiplication -blue - good at division +blue - good at addition ''' extends Node @@ -24,7 +24,7 @@ func _physics_process(_delta: float) -> void: elif GLOBALVARS.selected_player == 2: faster_operand = "*" elif GLOBALVARS.selected_player == 3: - faster_operand = "/" + faster_operand = "+" if GLOBALVARS.current_operand == faster_operand: wait_time = randi_range(45,120) diff --git a/godot/scripts/camera.gd b/godot/scripts/camera.gd index c4ff4b6..e1cc872 100644 --- a/godot/scripts/camera.gd +++ b/godot/scripts/camera.gd @@ -8,6 +8,8 @@ func _physics_process(_delta: float) -> void: Controls where the camera is pointed based on which player is selected ''' + fov = ((20.0 * GLOBALVARS.seconds_left/GLOBALVARS.start_seconds)+20.0) + target_angle = (abs(GLOBALVARS.selected_player) * 90) if current_angle != target_angle: current_angle += 0.1*(target_angle-current_angle) diff --git a/godot/scripts/gamemaster.gd b/godot/scripts/gamemaster.gd index 5ebc2fb..167f5eb 100644 --- a/godot/scripts/gamemaster.gd +++ b/godot/scripts/gamemaster.gd @@ -24,7 +24,9 @@ func _explode(): func _determine_seconds_left() -> float: var difficulty_calc:float = 20-float(GLOBALVARS.difficulty) - return difficulty_calc if difficulty_calc >= 3.0 else 3.0 + difficulty_calc = difficulty_calc if difficulty_calc >= 3.0 else 3.0 + GLOBALVARS.start_seconds = difficulty_calc + return difficulty_calc func _on_answer_text_submitted(_new_text: String) -> void: if GLOBALVARS.current_solution == (%ANSWER.text).to_int() and (%ANSWER.text).is_valid_int(): @@ -49,41 +51,26 @@ func _generate_question() -> void: # 0 - add # 1 - subtract # 2 - multiply - # 3 - divide + var rand_int:int = randi_range(0,2) - var x:int = randi_range(1,10) - var y:int = randi_range(1,10) - var rand_int:int = randi_range(0,3) + var x:int + var y:int if rand_int == 0: + x = randi_range(1,50) + y = randi_range(1,20) GLOBALVARS.current_solution = x+y GLOBALVARS.current_operand = "+" elif rand_int == 1: + x = randi_range(1,50) + y = randi_range(1,20) GLOBALVARS.current_solution = x-y GLOBALVARS.current_operand = "-" elif rand_int == 2: - x = randi_range(0,10) # simplify multiplication - y = randi_range(0,10) + x = randi_range(0,12) # simplify multiplication + y = randi_range(0,12) GLOBALVARS.current_solution = x*y GLOBALVARS.current_operand = "*" - elif rand_int == 3: - var fail:int = 0 - var solution:int - GLOBALVARS.current_operand = "/" - - while x%y != 0 and fail < 10000: # keep going til the remainder is 0 - x = randi_range(1,10) - y = randi_range(1,10) - - @warning_ignore('integer_division') - solution = floor(x/y) - fail+=1 - - GLOBALVARS.current_solution = solution - - if fail >= 10000: # fallback to addition if no division problem can be found in 10000 loops - GLOBALVARS.current_operand = "+" - GLOBALVARS.current_solution = x+y %QUESTION.text = "%s %s %s = " % [x,GLOBALVARS.current_operand,y] %QUESTION.visible = true @@ -103,7 +90,9 @@ func _physics_process(_delta: float) -> void: if GLOBALVARS.selected_player == 0: %ANSWER.editable = true %ANSWER.grab_focus() + %ANSWER.edit() else: + %ANSWER.release_focus() %ANSWER.editable = false if GLOBALVARS.seconds_left <= 0: diff --git a/godot/scripts/globalvars.gd b/godot/scripts/globalvars.gd index da30da9..043a9e6 100644 --- a/godot/scripts/globalvars.gd +++ b/godot/scripts/globalvars.gd @@ -7,10 +7,10 @@ var rotation_paused:bool = false var players_remaining:Array = [0,1,2,3] var current_solution:int var current_operand:String = "" +var start_seconds:float = 0.0 func reset_variables() -> void: selected_player = 0 - seconds_left = 20.0 difficulty = 1 rotation_paused = false current_operand = "" diff --git a/godot/scripts/menu.gd b/godot/scripts/menu.gd index 8337cea..678edce 100644 --- a/godot/scripts/menu.gd +++ b/godot/scripts/menu.gd @@ -1,7 +1,7 @@ extends Node func _ready() -> void: - %VERSION.text = ProjectSettings.get_setting("application/config/version") + %VERSION.text = "v" + ProjectSettings.get_setting("application/config/version") func _on_start_button_pressed() -> void: GLOBALVARS.reset_variables() diff --git a/screenshots/Screenshot from 2025-03-22 21-46-29.png b/screenshots/Screenshot from 2025-03-22 21-46-29.png new file mode 100644 index 0000000..fe0d285 Binary files /dev/null and b/screenshots/Screenshot from 2025-03-22 21-46-29.png differ