diff --git a/.DS_Store b/.DS_Store index f6bd939..0466bd5 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/gmtk_2024/levels/LevelBase.tscn b/gmtk_2024/levels/LevelBase.tscn index 1837043..cd70842 100644 --- a/gmtk_2024/levels/LevelBase.tscn +++ b/gmtk_2024/levels/LevelBase.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=14 format=3 uid="uid://c1sbrwy3s18tf"] +[gd_scene load_steps=15 format=3 uid="uid://ba6afuig8bqrg"] [ext_resource type="PackedScene" uid="uid://snxpqx0ony7s" path="res://objects/Player.tscn" id="1_prjlb"] [ext_resource type="PackedScene" uid="uid://dii1q3f5dj72y" path="res://objects/CRT.tscn" id="2_mxtem"] [ext_resource type="Texture2D" uid="uid://cw3onignoce3e" path="res://temp_assets/scale_up.png" id="3_7s458"] +[ext_resource type="Script" path="res://scripts/ui_actions.gd" id="3_b82rx"] [ext_resource type="Texture2D" uid="uid://ckr5hxaqp6s5x" path="res://temp_assets/scale_up_hovered.png" id="4_6s82a"] [ext_resource type="Texture2D" uid="uid://btmck3gpinxo1" path="res://temp_assets/scaled_down.png" id="5_8tyx1"] [ext_resource type="Texture2D" uid="uid://c02aqv5sgwvgn" path="res://temp_assets/scale_down_hovered.png" id="6_kdplq"] @@ -32,13 +33,15 @@ visible = false [node name="UILayer" type="CanvasLayer" parent="."] -[node name="UI" type="Control" parent="UILayer"] +[node name="UI" type="Control" parent="UILayer" node_paths=PackedStringArray("player")] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +script = ExtResource("3_b82rx") +player = NodePath("../../Player") [node name="HBoxContainer" type="HBoxContainer" parent="UILayer/UI"] layout_mode = 0 @@ -73,6 +76,7 @@ texture_focused = ExtResource("8_r6dd1") [node name="Camera2D" type="Camera2D" parent="."] [node name="Walls" type="StaticBody2D" parent="."] +collision_mask = 6 [node name="Ground" type="CollisionShape2D" parent="Walls"] position = Vector2(0.5, 394.25) @@ -89,3 +93,7 @@ shape = SubResource("RectangleShape2D_nnio8") [node name="RightWall" type="CollisionShape2D" parent="Walls"] position = Vector2(690, -2.5) shape = SubResource("RectangleShape2D_h7316") + +[connection signal="pressed" from="UILayer/UI/HBoxContainer/ScaleUp" to="UILayer/UI" method="select_up"] +[connection signal="pressed" from="UILayer/UI/HBoxContainer/ScaleDown" to="UILayer/UI" method="select_down"] +[connection signal="pressed" from="UILayer/UI/HBoxContainer/TextureButton" to="UILayer/UI" method="select_mirror"] diff --git a/gmtk_2024/levels/TestingField.tscn b/gmtk_2024/levels/TestingField.tscn index c750150..c523876 100644 --- a/gmtk_2024/levels/TestingField.tscn +++ b/gmtk_2024/levels/TestingField.tscn @@ -1,9 +1,12 @@ -[gd_scene load_steps=7 format=4 uid="uid://cvjuhe3a7mskm"] +[gd_scene load_steps=11 format=4 uid="uid://ctc0arg3efa5k"] -[ext_resource type="PackedScene" uid="uid://c1sbrwy3s18tf" path="res://levels/LevelBase.tscn" id="1_ad6qp"] -[ext_resource type="Texture2D" uid="uid://dr4ayedb5xb2k" path="res://textures/file_editor.png" id="2_gwmxk"] +[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_ad6qp"] +[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="2_60gse"] +[ext_resource type="Texture2D" uid="uid://bki6ucvk6bjwk" path="res://textures/Level 01.png" id="2_gi0pl"] [ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="3_3ou1v"] [ext_resource type="PackedScene" uid="uid://vtwswrkfkgas" path="res://objects/EnemyMover.tscn" id="4_3fnma"] +[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="6_e2vpu"] +[ext_resource type="PackedScene" uid="uid://cpa66thuxma15" path="res://objects/MirrorOrb.tscn" id="7_gc26r"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e817v"] texture = ExtResource("3_3ou1v") @@ -21,8 +24,22 @@ texture_region_size = Vector2i(32, 32) 5:0/0 = 0 5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 6:0/0 = 0 +6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 7:0/0 = 0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:0/next_alternative_id = 4 8:0/0 = 0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:0/1 = 1 +8:0/1/flip_v = true +8:0/1/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:0/2 = 2 +8:0/2/transpose = true +8:0/2/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) +8:0/3 = 3 +8:0/3/flip_h = true +8:0/3/transpose = true +8:0/3/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 9:0/0 = 0 10:0/0 = 0 11:0/0 = 0 @@ -38,8 +55,11 @@ texture_region_size = Vector2i(32, 32) 5:1/0 = 0 5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 6:1/0 = 0 +6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 7:1/0 = 0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 8:1/0 = 0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 9:1/0 = 0 10:1/0 = 0 11:1/0 = 0 @@ -99,20 +119,51 @@ tile_size = Vector2i(32, 32) physics_layer_0/collision_layer = 1 sources/0 = SubResource("TileSetAtlasSource_e817v") +[sub_resource type="ShaderMaterial" id="ShaderMaterial_mvq46"] +shader = ExtResource("2_60gse") +shader_parameter/scroll_speed = 0.02 + [node name="LevelBase" instance=ExtResource("1_ad6qp")] [node name="Player" parent="." index="0"] position = Vector2(-542, 331) -[node name="Sprite2D" type="Sprite2D" parent="." index="1"] -z_index = -1 -scale = Vector2(0.6, 0.6) -texture = ExtResource("2_gwmxk") - -[node name="Layer0" type="TileMapLayer" parent="." index="6"] +[node name="Layer0" type="TileMapLayer" parent="." index="5"] use_parent_material = true -tile_map_data = PackedByteArray("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AADq/wAAAAAAAAAAAADq/wEAAAAAAAAAAADq/wIAAAAAAAAAAADq/wMAAAAAAAAAAADq/wQAAAAAAAAAAADq/wUAAAAAAAAAAADp/wUAAAAAAAAAAADp/wYAAAAAAAAAAADp/wcAAAAAAAAAAADp/wgAAAAAAAAAAADp/wkAAAAAAAAAAADp/woAAAAAAAAAAADp/wsAAAAAAAAAAADq/wsAAAAAAAAAAADr/wsAAAAAAAAAAADr//r/AAAAAAAAAADr//v/AAAAAAAAAADr//z/AAAAAAAAAADr//3/AAAAAAAAAADr//7/AAAAAAAAAADr////AAAAAAAAAADr/wAAAAAAAAAAAADq/wYAAAAAAAAAAADq/wcAAAAAAAAAAADq/wgAAAAAAAAAAADq/wkAAAAAAAAAAADq/woAAAAAAAAAAADr/woAAAAAAAAAAADr/wkAAAAAAAAAAADr/wgAAAAAAAAAAADr/wcAAAAAAAAAAADr/wEAAAAAAAAAAADr/wIAAAAAAAAAAADr/wMAAAAAAAAAAADr/wQAAAAAAAAAAADr/wUAAAAAAAAAAADr/wYAAAAAAAAAAADs/wsAAAAAAAAAAADs/woAAAAAAAAAAADs/wkAAAAAAAAAAADs/wgAAAAAAAAAAADs/wcAAAAAAAAAAADs/wYAAAAAAAAAAADs/wUAAAAAAAAAAADs/wQAAAAAAAAAAADs/wMAAAAAAAAAAADs/wIAAAAAAAAAAADs/wEAAAAAAAAAAADs/wAAAAAAAAAAAADs////AAAAAAAAAADs//7/AAAAAAAAAADs//3/AAAAAAAAAADs//z/AAAAAAAAAADs//v/AAAAAAAAAADs//r/AAAAAAAAAADs//X/AAAAAAAAAADs//b/AAAAAAAAAADs//f/AAAAAAAAAADs//j/AAAAAAAAAADs//n/AAAAAAAAAAATAPX/AAAAAAAAAAATAPb/AAAAAAAAAAATAPf/AAAAAAAAAAATAPj/AAAAAAAAAAATAPn/AAAAAAAAAAATAPr/AAAAAAAAAAATAPv/AAAAAAAAAAATAPz/AAAAAAAAAAATAP3/AAAAAAAAAAATAP7/AAAAAAAAAAATAP//AAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAATAAMAAAAAAAAAAAATAAQAAAAAAAAAAAATAAUAAAAAAAAAAAATAAYAAAAAAAAAAAATAAcAAAAAAAAAAAATAAgAAAAAAAAAAAATAAkAAAAAAAAAAAATAAoAAAABAAEAAAAKAAkAAAAAAAAAAAAKAAoAAAAAAAEAAAALAAkAAAABAAAAAAALAAoAAAABAAEAAAAMAAkAAAABAAAAAAAMAAoAAAABAAEAAAANAAkAAAABAAAAAAANAAoAAAABAAEAAAAOAAkAAAABAAAAAAAOAAoAAAABAAEAAAAPAAkAAAABAAAAAAAPAAoAAAABAAEAAAAQAAkAAAABAAAAAAAQAAoAAAABAAEAAAARAAkAAAABAAAAAAARAAoAAAABAAEAAAASAAkAAAABAAAAAAASAAoAAAABAAEAAADt/wMAAAAAAAAAAADt/wQAAAAAAAAAAADt/wUAAAAAAAAAAADt/wYAAAAAAAAAAADu/wMAAAAAAAAAAADu/wQAAAAAAAAAAADu/wUAAAAAAAAAAADu/wYAAAAAAAAAAADv/wMAAAAAAAAAAADv/wQAAAAAAAAAAADv/wUAAAAAAAAAAADv/wYAAAAAAAAAAADw/wMAAAAAAAAAAADw/wQAAAAAAAAAAADw/wUAAAAAAAAAAADw/wYAAAAAAAAAAADx/wMAAAAAAAAAAADx/wQAAAAAAAAAAADx/wUAAAAAAAAAAADx/wYAAAAAAAAAAADy/wMAAAAAAAAAAADy/wQAAAAAAAAAAADy/wUAAAAAAAAAAADy/wYAAAAAAAAAAADz/wMAAAAAAAAAAADz/wQAAAAAAAAAAADz/wUAAAAAAAAAAADz/wYAAAAAAAAAAAD0/wMAAAAAAAAAAAD0/wQAAAAAAAAAAAD0/wUAAAAAAAAAAAD0/wYAAAAAAAAAAAD1/wMAAAAAAAAAAAD1/wQAAAAAAAAAAAD1/wUAAAAAAAAAAAD1/wYAAAAAAAAAAAD2/wMAAAAAAAAAAAD2/wQAAAAAAAAAAAD2/wUAAAAAAAAAAAD2/wYAAAAAAAAAAAD3/wMAAAAAAAAAAAD3/wQAAAAAAAAAAAD3/wUAAAAAAAAAAAD3/wYAAAAAAAAAAAD4/wMAAAAAAAAAAAD4/wQAAAAAAAAAAAD4/wUAAAAAAAAAAAD4/wYAAAAAAAAAAAD5/wMAAAAAAAAAAAD5/wQAAAAAAAAAAAD5/wUAAAAAAAAAAAD5/wYAAAAAAAAAAAD6/wMAAAAAAAAAAAD6/wQAAAAAAAAAAAD6/wUAAAAAAAAAAAD6/wYAAAAAAAAAAAD7/wMAAAAAAAAAAAD7/wQAAAAAAAAAAAD7/wUAAAAAAAAAAAD7/wYAAAAAAAAAAAD8/wMAAAAAAAAAAAD8/wQAAAAAAAAAAAD8/wUAAAAAAAAAAAD8/wYAAAAAAAAAAAD9/wMAAAAAAAAAAAD9/wQAAAAAAAAAAAD9/wUAAAAAAAAAAAD9/wYAAAAAAAAAAAD+/wMAAAAAAAAAAAD+/wQAAAAAAAAAAAD+/wUAAAAAAAAAAAD+/wYAAAAAAAAAAAD//wMAAAAAAAAAAAD//wQAAAAAAAAAAAD//wUAAAAAAAAAAAD//wYAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAABAAMAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAACAAQAAAAAAAAAAAACAAUAAAAAAAAAAAACAAYAAAAAAAAAAAADAAQAAAAAAAAAAAADAAUAAAAAAAAAAAADAAYAAAAAAAAAAAAEAAUAAAAAAAAAAAAEAAYAAAAAAAAAAAAFAAUAAAAAAAAAAAAFAAYAAAAAAAAAAAAGAAYAAAAAAAAAAAD7/wAAAAAAAAAAAAD8/wAAAAAAAAAAAAD9/wAAAAAAAAAAAAD+/wAAAAAAAAAAAAD//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAD7////AAAAAAAAAAD8////AAAAAAAAAAD9////AAAAAAAAAAD+////AAAAAAAAAAD/////AAAAAAAAAAAAAP//AAAAAAAAAAAAAP7/AAAAAAAAAAD///7/AAAAAAAAAAD+//7/AAAAAAAAAAD9//7/AAAAAAAAAAD8//7/AAAAAAAAAAD7//7/AAAAAAAAAAD6/wAAAAAAAAAAAAD5/wAAAAAAAAAAAAD4/wAAAAAAAAAAAAD3/wAAAAAAAAAAAAD2/wAAAAAAAAAAAAD3////AAAAAAAAAAD4////AAAAAAAAAAD4//7/AAAAAAAAAAD5//7/AAAAAAAAAAD6//7/AAAAAAAAAAD6////AAAAAAAAAAD5////AAAAAAAAAADz/wAAAAAAAAAAAADy/wAAAAAAAAAAAADy////AAAAAAAAAADx////AAAAAAAAAADw////AAAAAAAAAADv////AAAAAAAAAADv//7/AAAAAAAAAADu//7/AAAAAAAAAADt//7/AAAAAAAAAADt////AAAAAAAAAADu////AAAAAAAAAADv/wAAAAAAAAAAAADw/wAAAAAAAAAAAADx/wAAAAAAAAAAAADu/wAAAAAAAAAAAADt/wAAAAAAAAAAAADw//7/AAAAAAAAAADx//7/AAAAAAAAAADy//v/AAAAAAAAAADz//z/AAAAAAAAAAD0//3/AAAAAAAAAAD1//3/AAAAAAAAAAD2//z/AAAAAAAAAAD3//v/AAAAAAAAAADz//v/AAAAAAAAAAD0//v/AAAAAAAAAAD1//v/AAAAAAAAAAD2//v/AAAAAAAAAAD0//z/AAAAAAAAAAD1//z/AAAAAAAAAAD6//n/AAAAAAAAAAD7//n/AAAAAAAAAAD8//n/AAAAAAAAAAD8//j/AAAAAAAAAAD9//j/AAAAAAAAAAD9//n/AAAAAAAAAAD+//n/AAAAAAAAAAD///n/AAAAAAAAAAD7//r/AAAAAAAAAAD8//r/AAAAAAAAAAD9//r/AAAAAAAAAAD+//r/AAAAAAAAAAD8//v/AAAAAAAAAAD9//v/AAAAAAAAAAADAPj/AAAAAAAAAAAEAPj/AAAAAAAAAAAFAPj/AAAAAAAAAAAGAPj/AAAAAAAAAAAHAPj/AAAAAAAAAAAIAPj/AAAAAAAAAAAJAPj/AAAAAAAAAAAKAPj/AAAAAAAAAAALAPj/AAAAAAAAAAALAPf/AAAAAAAAAAAMAPf/AAAAAAAAAAANAPf/AAAAAAAAAAAOAPf/AAAAAAAAAAAPAPf/AAAAAAAAAAAQAPf/AAAAAAAAAAARAPf/AAAAAAAAAAASAPf/AAAAAAAAAAASAPj/AAAAAAAAAAARAPj/AAAAAAAAAAAQAPj/AAAAAAAAAAAPAPj/AAAAAAAAAAAOAPn/AAAAAAAAAAANAPn/AAAAAAAAAAAMAPn/AAAAAAAAAAAMAPj/AAAAAAAAAAANAPj/AAAAAAAAAAAOAPj/AAAAAAAAAAASAPn/AAAAAAAAAAARAPn/AAAAAAAAAAAQAPn/AAAAAAAAAAAPAPn/AAAAAAAAAAALAPn/AAAAAAAAAAAKAPn/AAAAAAAAAAAJAPn/AAAAAAAAAAAIAPn/AAAAAAAAAAAHAPn/AAAAAAAAAAAGAPn/AAAAAAAAAAAFAPn/AAAAAAAAAAAEAPn/AAAAAAAAAAAFAPr/AAAAAAAAAAAGAPr/AAAAAAAAAAAHAPr/AAAAAAAAAAAIAPr/AAAAAAAAAAAJAPr/AAAAAAAAAAAKAPr/AAAAAAAAAAALAPr/AAAAAAAAAAAMAPr/AAAAAAAAAAANAPr/AAAAAAAAAAAOAPr/AAAAAAAAAAAPAPr/AAAAAAAAAAAQAPr/AAAAAAAAAAARAPr/AAAAAAAAAAASAPr/AAAAAAAAAAAQAPv/AAAAAAAAAAAPAPv/AAAAAAAAAAAOAPv/AAAAAAAAAAANAPv/AAAAAAAAAAAMAPv/AAAAAAAAAAALAPv/AAAAAAAAAAAKAPv/AAAAAAAAAAAJAPv/AAAAAAAAAAAIAPv/AAAAAAAAAAARAPv/AAAAAAAAAAASAPv/AAAAAAAAAAASAPz/AAAAAAAAAAARAPz/AAAAAAAAAAAQAPz/AAAAAAAAAAAPAPz/AAAAAAAAAAAOAPz/AAAAAAAAAAANAPz/AAAAAAAAAAAMAPz/AAAAAAAAAAALAPz/AAAAAAAAAAA=") +tile_map_data = PackedByteArray("AADt/wsAAAABAAAAAADu/wsAAAABAAAAAADv/wsAAAABAAAAAADw/wsAAAABAAAAAADx/wsAAAABAAAAAADy/wsAAAABAAAAAADz/wsAAAABAAAAAAD0/wsAAAABAAAAAAD1/wsAAAABAAAAAAD2/wsAAAABAAAAAAD3/wsAAAABAAAAAAD4/wsAAAABAAAAAAD5/wsAAAABAAAAAAD6/wsAAAABAAAAAAD7/wsAAAABAAAAAAD8/wsAAAABAAAAAAD9/wsAAAABAAAAAAD+/wsAAAABAAAAAAD//wsAAAABAAAAAAAAAAsAAAABAAAAAAABAAsAAAABAAAAAAACAAsAAAABAAAAAAADAAsAAAABAAAAAAAEAAsAAAABAAAAAAAFAAsAAAABAAAAAAAGAAsAAAABAAAAAAAHAAsAAAABAAAAAAAIAAsAAAABAAAAAAAJAAsAAAABAAAAAAAKAAsAAAAFAAIAAAALAAsAAAABAAEAAAAMAAsAAAABAAEAAAANAAsAAAABAAEAAAAOAAsAAAABAAEAAAAPAAsAAAABAAEAAAAQAAsAAAABAAEAAAARAAsAAAABAAEAAAASAAsAAAABAAEAAAATAAsAAAABAAEAAAAKAPT/AAABAAIAAAALAPT/AAABAAIAAAAMAPT/AAABAAIAAAANAPT/AAABAAIAAAATAPT/AAAFAAAAAAASAPT/AAABAAIAAAARAPT/AAABAAIAAAAQAPT/AAABAAIAAAAPAPT/AAABAAIAAAAOAPT/AAABAAIAAAAJAPT/AAABAAIAAAAIAPT/AAABAAIAAAAHAPT/AAABAAIAAAAGAPT/AAABAAIAAAAFAPT/AAABAAIAAAAEAPT/AAABAAIAAAADAPT/AAABAAIAAAACAPT/AAABAAIAAAD5//T/AAABAAIAAAD4//T/AAABAAIAAAD3//T/AAABAAIAAAD2//T/AAABAAIAAAD1//T/AAABAAIAAAD0//T/AAABAAIAAADz//T/AAABAAIAAADy//T/AAABAAIAAADx//T/AAABAAIAAADw//T/AAABAAIAAADv//T/AAABAAIAAADu//T/AAABAAIAAADt//T/AAABAAIAAADs//T/AAADAAAAAAD6//T/AAABAAIAAAD7//T/AAABAAIAAAD8//T/AAABAAIAAAD9//T/AAABAAIAAAD+//T/AAABAAIAAAD///T/AAABAAIAAAAAAPT/AAABAAIAAAABAPT/AAABAAIAAADs/woAAAACAAEAAADs/wkAAAACAAEAAADs/wgAAAACAAEAAADs/wcAAAACAAEAAADs/wYAAAADAAAAAADs/wUAAAABAAEAAADs/wQAAAABAAEAAADs/wMAAAADAAIAAADs/wIAAAACAAEAAADs/wEAAAACAAEAAADs/wAAAAABAAEAAADs////AAABAAEAAADs//7/AAADAAIAAADs//3/AAACAAEAAADs//z/AAACAAEAAADs//v/AAACAAEAAADs//r/AAACAAEAAADs//X/AAACAAEAAADs//b/AAACAAEAAADs//f/AAACAAEAAADs//j/AAACAAEAAADs//n/AAACAAEAAAATAPX/AAAAAAEAAAATAPb/AAAAAAEAAAATAPf/AAAFAAIAAAATAPj/AAABAAEAAAATAPn/AAABAAEAAAATAPr/AAABAAEAAAATAPv/AAABAAEAAAATAPz/AAAFAAAAAAATAP3/AAAAAAEAAAATAP7/AAAAAAEAAAATAP//AAAAAAEAAAATAAAAAAAAAAEAAAATAAEAAAAAAAEAAAATAAIAAAAAAAEAAAATAAMAAAAAAAEAAAATAAQAAAAAAAEAAAATAAUAAAAAAAEAAAATAAYAAAAAAAEAAAATAAcAAAAAAAEAAAATAAgAAAAAAAEAAAATAAkAAAAFAAIAAAATAAoAAAABAAEAAAAKAAkAAAAAAAAAAAAKAAoAAAAAAAEAAAALAAkAAAABAAAAAAALAAoAAAABAAEAAAAMAAkAAAABAAAAAAAMAAoAAAABAAEAAAANAAkAAAABAAAAAAANAAoAAAABAAEAAAAOAAkAAAABAAAAAAAOAAoAAAABAAEAAAAPAAkAAAABAAAAAAAPAAoAAAABAAEAAAAQAAkAAAABAAAAAAAQAAoAAAABAAEAAAARAAkAAAABAAAAAAARAAoAAAABAAEAAAASAAkAAAABAAAAAAASAAoAAAABAAEAAADt/wMAAAABAAAAAADt/wQAAAABAAEAAADt/wUAAAABAAEAAADt/wYAAAABAAIAAADu/wMAAAABAAAAAADu/wQAAAABAAEAAADu/wUAAAABAAEAAADu/wYAAAABAAIAAADv/wMAAAABAAAAAADv/wQAAAABAAEAAADv/wUAAAABAAEAAADv/wYAAAABAAIAAADw/wMAAAABAAAAAADw/wQAAAABAAEAAADw/wUAAAABAAEAAADw/wYAAAABAAIAAADx/wMAAAABAAAAAADx/wQAAAABAAEAAADx/wUAAAABAAEAAADx/wYAAAABAAIAAADy/wMAAAABAAAAAADy/wQAAAABAAEAAADy/wUAAAABAAEAAADy/wYAAAABAAIAAADz/wMAAAABAAAAAADz/wQAAAABAAEAAADz/wUAAAABAAEAAADz/wYAAAABAAIAAAD0/wMAAAABAAAAAAD0/wQAAAABAAEAAAD0/wUAAAABAAEAAAD0/wYAAAABAAIAAAD1/wMAAAABAAAAAAD1/wQAAAABAAEAAAD1/wUAAAABAAEAAAD1/wYAAAABAAIAAAD2/wMAAAABAAAAAAD2/wQAAAABAAEAAAD2/wUAAAABAAEAAAD2/wYAAAABAAIAAAD3/wMAAAABAAAAAAD3/wQAAAABAAEAAAD3/wUAAAABAAEAAAD3/wYAAAABAAIAAAD4/wMAAAABAAAAAAD4/wQAAAABAAEAAAD4/wUAAAABAAEAAAD4/wYAAAABAAIAAAD5/wMAAAABAAAAAAD5/wQAAAABAAEAAAD5/wUAAAABAAEAAAD5/wYAAAABAAIAAAD6/wMAAAABAAAAAAD6/wQAAAABAAEAAAD6/wUAAAABAAEAAAD6/wYAAAABAAIAAAD7/wMAAAABAAAAAAD7/wQAAAABAAEAAAD7/wUAAAABAAEAAAD7/wYAAAABAAIAAAD8/wMAAAABAAAAAAD8/wQAAAABAAEAAAD8/wUAAAABAAEAAAD8/wYAAAABAAIAAAD9/wMAAAABAAAAAAD9/wQAAAABAAEAAAD9/wUAAAABAAEAAAD9/wYAAAABAAIAAAD+/wMAAAABAAAAAAD+/wQAAAABAAEAAAD+/wUAAAABAAEAAAD+/wYAAAABAAIAAAD//wMAAAABAAAAAAD//wQAAAABAAEAAAD//wUAAAABAAEAAAD//wYAAAABAAIAAAAAAAMAAAABAAAAAAAAAAQAAAABAAEAAAAAAAUAAAABAAEAAAAAAAYAAAABAAIAAAABAAMAAAACAAAAAAABAAQAAAADAAIAAAABAAUAAAABAAEAAAABAAYAAAABAAIAAAACAAQAAAAEAAIAAAACAAUAAAABAAEAAAACAAYAAAABAAIAAAADAAQAAAACAAAAAAADAAUAAAADAAIAAAADAAYAAAABAAIAAAAEAAUAAAAEAAIAAAAEAAYAAAABAAIAAAAFAAUAAAACAAAAAAAFAAYAAAAGAAEAAAAGAAYAAAAIAAAAAwD7/wAAAAABAAIAAAD8/wAAAAABAAIAAAD9/wAAAAABAAIAAAD+/wAAAAABAAIAAAD//wAAAAABAAIAAAAAAAAAAAACAAIAAAD7////AAABAAEAAAD8////AAABAAEAAAD9////AAABAAEAAAD+////AAABAAEAAAD/////AAABAAEAAAAAAP//AAACAAEAAAAAAP7/AAACAAAAAAD///7/AAABAAAAAAD+//7/AAABAAAAAAD9//7/AAABAAAAAAD8//7/AAABAAAAAAD7//7/AAABAAAAAAD6/wAAAAABAAIAAAD5/wAAAAABAAIAAAD4/wAAAAABAAIAAAD3/wAAAAAHAAEAAAD2/wAAAAAIAAAAAgD3////AAAAAAAAAAD4////AAAFAAIAAAD4//7/AAAAAAAAAAD5//7/AAABAAAAAAD6//7/AAABAAAAAAD6////AAABAAEAAAD5////AAABAAEAAADz/wAAAAAIAAAAAwDy/wAAAAAGAAEAAADy////AAACAAAAAADx////AAABAAEAAADw////AAABAAEAAADv////AAABAAEAAADv//7/AAABAAAAAADu//7/AAABAAAAAADt//7/AAABAAAAAADt////AAABAAEAAADu////AAABAAEAAADv/wAAAAABAAIAAADw/wAAAAABAAIAAADx/wAAAAABAAIAAADu/wAAAAABAAIAAADt/wAAAAABAAIAAADw//7/AAABAAAAAADx//7/AAACAAAAAADy//v/AAAIAAAAAgDz//z/AAAAAAIAAAD0//3/AAAAAAIAAAD1//3/AAACAAIAAAD2//z/AAACAAIAAAD3//v/AAAIAAAAAwDz//v/AAAHAAAAAAD0//v/AAABAAAAAAD1//v/AAABAAAAAAD2//v/AAAGAAAAAAD0//z/AAABAAEAAAD1//z/AAABAAEAAAD6//n/AAAIAAAAAgD7//n/AAAHAAAAAAD8//n/AAABAAEAAAD8//j/AAAAAAAAAAD9//j/AAACAAAAAAD9//n/AAABAAEAAAD+//n/AAAGAAAAAAD///n/AAAIAAAAAwD7//r/AAAAAAIAAAD8//r/AAABAAEAAAD9//r/AAABAAEAAAD+//r/AAACAAIAAAD8//v/AAAAAAIAAAD9//v/AAACAAIAAAADAPj/AAAIAAAAAgAEAPj/AAAHAAAAAAAFAPj/AAABAAAAAAAGAPj/AAABAAAAAAAHAPj/AAABAAAAAAAIAPj/AAABAAAAAAAJAPj/AAABAAAAAAAKAPj/AAABAAAAAAALAPj/AAAFAAIAAAALAPf/AAAAAAAAAAAMAPf/AAABAAAAAAANAPf/AAABAAAAAAAOAPf/AAABAAAAAAAPAPf/AAABAAAAAAAQAPf/AAABAAAAAAARAPf/AAABAAAAAAASAPf/AAABAAAAAAASAPj/AAABAAEAAAARAPj/AAABAAEAAAAQAPj/AAABAAEAAAAPAPj/AAABAAEAAAAOAPn/AAABAAEAAAANAPn/AAABAAEAAAAMAPn/AAABAAEAAAAMAPj/AAABAAEAAAANAPj/AAABAAEAAAAOAPj/AAABAAEAAAASAPn/AAABAAEAAAARAPn/AAABAAEAAAAQAPn/AAABAAEAAAAPAPn/AAABAAEAAAALAPn/AAABAAEAAAAKAPn/AAABAAEAAAAJAPn/AAABAAEAAAAIAPn/AAABAAEAAAAHAPn/AAABAAEAAAAGAPn/AAABAAEAAAAFAPn/AAAFAAAAAAAEAPn/AAAAAAIAAAAFAPr/AAAAAAIAAAAGAPr/AAABAAIAAAAHAPr/AAABAAIAAAAIAPr/AAABAAEAAAAJAPr/AAABAAEAAAAKAPr/AAABAAEAAAALAPr/AAABAAEAAAAMAPr/AAABAAEAAAANAPr/AAABAAEAAAAOAPr/AAABAAEAAAAPAPr/AAABAAEAAAAQAPr/AAABAAEAAAARAPr/AAABAAEAAAASAPr/AAABAAEAAAAQAPv/AAABAAEAAAAPAPv/AAABAAEAAAAOAPv/AAABAAEAAAANAPv/AAABAAEAAAAMAPv/AAABAAEAAAALAPv/AAAFAAAAAAAKAPv/AAABAAIAAAAJAPv/AAABAAIAAAAIAPv/AAAAAAIAAAARAPv/AAABAAEAAAASAPv/AAABAAEAAAASAPz/AAABAAIAAAARAPz/AAABAAIAAAAQAPz/AAABAAIAAAAPAPz/AAABAAIAAAAOAPz/AAABAAIAAAANAPz/AAABAAIAAAAMAPz/AAABAAIAAAALAPz/AAAAAAIAAADs/wsAAAADAAIAAAA=") tile_set = SubResource("TileSet_n3khe") -[node name="EnemyMover" parent="." index="7" instance=ExtResource("4_3fnma")] -position = Vector2(-303, 72) +[node name="EnemyMover" parent="." index="6" instance=ExtResource("4_3fnma")] +position = Vector2(-579, 77) + +[node name="TextureRect" type="TextureRect" parent="." index="7"] +z_index = -100 +material = SubResource("ShaderMaterial_mvq46") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -640.0 +offset_top = -360.0 +offset_right = -640.0 +offset_bottom = -360.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_gi0pl") +stretch_mode = 1 + +[node name="EnemyMover2" parent="." index="8" instance=ExtResource("4_3fnma")] +position = Vector2(-240, 77) + +[node name="EnemyMover3" parent="." index="9" instance=ExtResource("4_3fnma")] +position = Vector2(577, 269) +direction = -1 + +[node name="EnemyMover4" parent="." index="10" instance=ExtResource("4_3fnma")] +position = Vector2(-78, -280) +direction = -1 + +[node name="Goal" parent="." index="11" instance=ExtResource("6_e2vpu")] +position = Vector2(582, -317) + +[node name="MirrorOrb" parent="." index="12" instance=ExtResource("7_gc26r")] +position = Vector2(-431, -212) diff --git a/gmtk_2024/objects/EnemyMover.tscn b/gmtk_2024/objects/EnemyMover.tscn index 54c649d..5e955de 100644 --- a/gmtk_2024/objects/EnemyMover.tscn +++ b/gmtk_2024/objects/EnemyMover.tscn @@ -8,7 +8,10 @@ radius = 16.0 height = 32.0 [node name="EnemyMover" type="CharacterBody2D"] +collision_layer = 2 +collision_mask = 7 script = ExtResource("1_7kapi") +speed = 75 [node name="Sprite2D" type="Sprite2D" parent="."] texture = ExtResource("1_ci3x0") diff --git a/gmtk_2024/objects/Goal.tscn b/gmtk_2024/objects/Goal.tscn new file mode 100644 index 0000000..667594d --- /dev/null +++ b/gmtk_2024/objects/Goal.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=5 format=3 uid="uid://d0gpnqknarkg7"] + +[ext_resource type="Script" path="res://scripts/goal.gd" id="1_xjaxa"] +[ext_resource type="Texture2D" uid="uid://hsp64ixwg2bb" path="res://temp_assets/goal.png" id="1_y0s3c"] +[ext_resource type="Texture2D" uid="uid://bs8mevd0fornj" path="res://temp_assets/goal_bg.png" id="2_mxvn8"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_fjcci"] +radius = 41.0488 + +[node name="Goal" type="Area2D" node_paths=PackedStringArray("img", "img2")] +scale = Vector2(0.5, 0.5) +collision_layer = 0 +collision_mask = 4 +script = ExtResource("1_xjaxa") +img = NodePath("GoalImg") +img2 = NodePath("GoalBg") + +[node name="GoalBg" type="Sprite2D" parent="."] +z_index = -1 +position = Vector2(-4, 0) +texture = ExtResource("2_mxvn8") + +[node name="GoalImg" type="Sprite2D" parent="."] +texture = ExtResource("1_y0s3c") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_fjcci") + +[connection signal="body_entered" from="." to="." method="_on_body_entered"] diff --git a/gmtk_2024/objects/MirrorOrb.tscn b/gmtk_2024/objects/MirrorOrb.tscn new file mode 100644 index 0000000..9088ace --- /dev/null +++ b/gmtk_2024/objects/MirrorOrb.tscn @@ -0,0 +1,15 @@ +[gd_scene load_steps=3 format=3 uid="uid://cpa66thuxma15"] + +[ext_resource type="Texture2D" uid="uid://hsp64ixwg2bb" path="res://temp_assets/goal.png" id="1_xnjup"] +[ext_resource type="Texture2D" uid="uid://bs8mevd0fornj" path="res://temp_assets/goal_bg.png" id="2_iknpl"] + +[node name="MirrorOrb" type="Area2D"] + +[node name="Orb" type="Sprite2D" parent="."] +scale = Vector2(0.4, 0.4) +texture = ExtResource("1_xnjup") + +[node name="Aura" type="Sprite2D" parent="."] +modulate = Color(1, 1, 1, 0.227451) +z_index = -1 +texture = ExtResource("2_iknpl") diff --git a/gmtk_2024/objects/Player.tscn b/gmtk_2024/objects/Player.tscn index 13ce4dc..add58c3 100644 --- a/gmtk_2024/objects/Player.tscn +++ b/gmtk_2024/objects/Player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=4 format=3 uid="uid://snxpqx0ony7s"] +[gd_scene load_steps=5 format=3 uid="uid://snxpqx0ony7s"] [ext_resource type="Script" path="res://scripts/player_movement.gd" id="1_a6lhy"] [ext_resource type="Texture2D" uid="uid://qcx482jc7pqr" path="res://textures/player.png" id="2_sscjv"] @@ -7,9 +7,13 @@ radius = 9.0 height = 22.0 +[sub_resource type="CircleShape2D" id="CircleShape2D_vxfel"] +radius = 12.0 + [node name="Player" type="CharacterBody2D"] +collision_layer = 4 +collision_mask = 3 script = ExtResource("1_a6lhy") -jump_count = 1 jump_strength = 600 [node name="CollisionShape2D" type="CollisionShape2D" parent="."] @@ -17,3 +21,12 @@ shape = SubResource("CapsuleShape2D_jqi2f") [node name="Sprite2D" type="Sprite2D" parent="."] texture = ExtResource("2_sscjv") + +[node name="Hurtbox" type="Area2D" parent="."] +collision_layer = 0 +collision_mask = 2 + +[node name="CollisionShape2D" type="CollisionShape2D" parent="Hurtbox"] +shape = SubResource("CircleShape2D_vxfel") + +[connection signal="body_entered" from="Hurtbox" to="." method="_on_hurtbox_body_entered"] diff --git a/gmtk_2024/project.godot b/gmtk_2024/project.godot index e49bb36..59474e7 100644 --- a/gmtk_2024/project.godot +++ b/gmtk_2024/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="GMTK_2024" -run/main_scene="res://menu/main_menu/MainMenu.tscn" +run/main_scene="res://levels/TestingField.tscn" config/features=PackedStringArray("4.3", "GL Compatibility") config/icon="res://icon.svg" @@ -45,9 +45,17 @@ click={ ] } +[layer_names] + +2d_physics/layer_1="Ground" +2d_physics/layer_2="Enemies" +2d_physics/layer_3="Player" +2d_physics/layer_4="Goal" + [rendering] textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" +environment/defaults/default_clear_color=Color(0.785573, 0.700355, 0.83902, 1) 2d/snap/snap_2d_transforms_to_pixel=true diff --git a/gmtk_2024/scripts/enemy_movement_mover.gd b/gmtk_2024/scripts/enemy_movement_mover.gd index 1c48235..761e5eb 100644 --- a/gmtk_2024/scripts/enemy_movement_mover.gd +++ b/gmtk_2024/scripts/enemy_movement_mover.gd @@ -2,8 +2,7 @@ extends CharacterBody2D @export var speed = 200; @export var gravity = 50; - -var direction = 1; +@export var direction = 1; func _physics_process(delta): diff --git a/gmtk_2024/scripts/goal.gd b/gmtk_2024/scripts/goal.gd new file mode 100644 index 0000000..89fa9d3 --- /dev/null +++ b/gmtk_2024/scripts/goal.gd @@ -0,0 +1,15 @@ +extends Node + +@export var next : PackedScene +@export var img : Sprite2D +@export var img2 : Sprite2D + + +func _process(delta: float) -> void: + img.rotate(2 * delta) + img2.rotate(1 * delta) + + + +func _on_body_entered(body: Node2D) -> void: + get_tree().change_scene_to_packed(next) diff --git a/gmtk_2024/scripts/player_movement.gd b/gmtk_2024/scripts/player_movement.gd index 54d84c2..191894b 100644 --- a/gmtk_2024/scripts/player_movement.gd +++ b/gmtk_2024/scripts/player_movement.gd @@ -1,41 +1,66 @@ extends CharacterBody2D -@export var speed = 340; -@export var gravity = 50; -@export var jump_count = 2; +@export var speed = 340 +@export var gravity = 50 +var jump_count = 1 @export var jump_strength = 100 - -var jump_count_current = 2; +var is_touching_floor : bool = true +var jump_buffer_timer : float +var coyote_timer : float = 0.2 # 200 millisecond buffer var input_direction = 0 #To keep track of which direction we where moving in last frame -func get_input(): +func get_input(delta): var left = Input.is_action_pressed("player_left") var right = Input.is_action_pressed("player_right") if left and right: - input_direction = input_direction + input_direction = 0 elif left: input_direction = -1 elif right: input_direction = 1 - else : + else: input_direction = 0 + # This line updates the player's velocity velocity.x = input_direction * speed - if is_on_floor(): # rest the jump count - jump_count_current = jump_count + if is_on_floor(): + # reset the jump count + is_touching_floor = true + jump_count = 1 + coyote_timer = 0.2 + if jump_buffer_timer > 0: + Jump() - if Input.is_action_just_pressed("player_jump") and jump_count_current > 0: - velocity.y = -1 * jump_strength - jump_count_current = jump_count_current-1 - elif Input.is_action_pressed("player_jump"): #Fall less fast if we keep holding the button + if not is_on_floor(): + if jump_buffer_timer > 0: + jump_buffer_timer -= delta + if coyote_timer > 0.0: + coyote_timer -= delta + else: + jump_count = 0 + + if Input.is_action_just_pressed("player_jump"): + if jump_count > 0: + Jump() + else: + jump_buffer_timer = 0.2 # set a timer to jump again once the player has reached the ground, provided the jump is is still being held down + elif Input.is_action_pressed("player_jump"): #Fall less fast if we keep holding the button velocity.y += -1 * 25 - - func _physics_process(delta): - get_input() + get_input(delta) velocity.y += gravity move_and_slide() + # print(jump_count) # Uncomment for debugging + +func Jump(): + velocity.y = -1 * jump_strength + jump_count = 0 + is_touching_floor = false + + +func _on_hurtbox_body_entered(body: Node2D) -> void: + get_tree().reload_current_scene() diff --git a/gmtk_2024/scripts/ui_actions.gd b/gmtk_2024/scripts/ui_actions.gd new file mode 100644 index 0000000..8e247b1 --- /dev/null +++ b/gmtk_2024/scripts/ui_actions.gd @@ -0,0 +1,34 @@ +extends Node + +@export var player : CharacterBody2D; + +var current_selected = "none"; + + +func _process(delta: float) -> void: + if Input.is_action_just_pressed("click"): + if current_selected == "scale_up": + scale_up() + elif current_selected == "scale_down": + scale_down() + elif current_selected == "mirror": + mirror(); + + +func select_up(): + current_selected = "scale_up" + +func select_down(): + current_selected = "scale_down" + +func select_mirror(): + current_selected = "mirror" + +func scale_up(): + pass #Hir hochscalieren einbauen + +func scale_down(): + pass #Hir runterscalieren einbauen + +func mirror(): + pass #Hir mirror einbauen einbauen diff --git a/gmtk_2024/shaders/scrolling.gdshader b/gmtk_2024/shaders/scrolling.gdshader new file mode 100644 index 0000000..204ae98 --- /dev/null +++ b/gmtk_2024/shaders/scrolling.gdshader @@ -0,0 +1,9 @@ +shader_type canvas_item; +uniform float scroll_speed; + +void fragment(){ + vec2 shifteduv = UV; + shifteduv .y -= TIME * scroll_speed; + vec4 color = texture(TEXTURE, shifteduv); + COLOR = color; +} \ No newline at end of file diff --git a/gmtk_2024/temp_assets/goal.png b/gmtk_2024/temp_assets/goal.png new file mode 100644 index 0000000..da245b6 Binary files /dev/null and b/gmtk_2024/temp_assets/goal.png differ diff --git a/gmtk_2024/temp_assets/goal_bg.png b/gmtk_2024/temp_assets/goal_bg.png new file mode 100644 index 0000000..f122b3e Binary files /dev/null and b/gmtk_2024/temp_assets/goal_bg.png differ diff --git a/gmtk_2024/textures/Lev1D38.tmp b/gmtk_2024/textures/Lev1D38.tmp new file mode 100644 index 0000000..a1dc3c9 Binary files /dev/null and b/gmtk_2024/textures/Lev1D38.tmp differ diff --git a/gmtk_2024/textures/Level 01.png b/gmtk_2024/textures/Level 01.png new file mode 100644 index 0000000..658eeb7 Binary files /dev/null and b/gmtk_2024/textures/Level 01.png differ diff --git a/gmtk_2024/textures/level01-spritesheet.png b/gmtk_2024/textures/level01-spritesheet.png index a746179..0dfa7d0 100644 Binary files a/gmtk_2024/textures/level01-spritesheet.png and b/gmtk_2024/textures/level01-spritesheet.png differ