diff --git a/Fonts/Ash.ttf b/Fonts/Ash.ttf new file mode 100644 index 0000000..599f0b8 Binary files /dev/null and b/Fonts/Ash.ttf differ diff --git a/Main Menu.gd b/Main Menu.gd new file mode 100644 index 0000000..27132c6 --- /dev/null +++ b/Main Menu.gd @@ -0,0 +1,13 @@ +extends Node + +signal complete(option) + + +func _on_new_game_button_pressed() -> void: + emit_signal('complete', 'new game') + return + + +func _on_quit_button_pressed() -> void: + emit_signal('complete', 'quit') + return diff --git a/Main Menu.tscn b/Main Menu.tscn new file mode 100644 index 0000000..01f1acd --- /dev/null +++ b/Main Menu.tscn @@ -0,0 +1,124 @@ +[gd_scene load_steps=16 format=2] + +[ext_resource path="res://Sprites/Settings_Button_Normal.png" type="Texture" id=1] +[ext_resource path="res://Sprites/Continue_Button_Hover.png" type="Texture" id=2] +[ext_resource path="res://Sprites/Credits_Button_Normal.png" type="Texture" id=3] +[ext_resource path="res://Sprites/Continue_Button_Normal.png" type="Texture" id=4] +[ext_resource path="res://Sprites/New_Game_Button_Normal.png" type="Texture" id=5] +[ext_resource path="res://Sprites/Continue_Button_Disabled.png" type="Texture" id=6] +[ext_resource path="res://Sprites/New_Game_Button_Hover.png" type="Texture" id=7] +[ext_resource path="res://Sprites/Quit_Button_Normal.png" type="Texture" id=8] +[ext_resource path="res://Sprites/Credits_Button_Hover.png" type="Texture" id=9] +[ext_resource path="res://Sprites/Settings_Button_Hover.png" type="Texture" id=10] +[ext_resource path="res://Sprites/Quit_Button_Hover.png" type="Texture" id=11] +[ext_resource path="res://Sprites/Main_Menu_Background.png" type="Texture" id=12] +[ext_resource path="res://Resources/Ash.tres" type="DynamicFontData" id=13] +[ext_resource path="res://Main Menu.gd" type="Script" id=14] + +[sub_resource type="DynamicFont" id=1] +size = 20 +use_mipmaps = true +extra_spacing_bottom = 15 +font_data = ExtResource( 13 ) + +[node name="Main Menu" type="Node"] +script = ExtResource( 14 ) + +[node name="Background" type="Sprite" parent="."] +texture = ExtResource( 12 ) +centered = false + +[node name="Menu Items" type="MarginContainer" parent="."] +margin_left = 10.0 +margin_top = 10.0 +rect_min_size = Vector2( 300, 160 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="VBoxContainer" type="VBoxContainer" parent="Menu Items"] +margin_right = 300.0 +margin_bottom = 160.0 +alignment = 2 + +[node name="Title" type="Label" parent="Menu Items/VBoxContainer"] +margin_top = 23.0 +margin_right = 300.0 +margin_bottom = 62.0 +custom_fonts/font = SubResource( 1 ) +text = "Embodiment" +align = 1 +valign = 1 + +[node name="CenterContainer" type="CenterContainer" parent="Menu Items/VBoxContainer"] +margin_top = 66.0 +margin_right = 300.0 +margin_bottom = 160.0 + +[node name="Menu Options" type="VBoxContainer" parent="Menu Items/VBoxContainer/CenterContainer"] +margin_left = 108.0 +margin_right = 191.0 +margin_bottom = 94.0 + +[node name="CenterContainer" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"] +margin_right = 83.0 +margin_bottom = 15.0 + +[node name="Continue Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer"] +margin_left = 7.0 +margin_right = 75.0 +margin_bottom = 15.0 +disabled = true +texture_normal = ExtResource( 4 ) +texture_hover = ExtResource( 2 ) +texture_disabled = ExtResource( 6 ) + +[node name="CenterContainer2" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"] +margin_top = 19.0 +margin_right = 83.0 +margin_bottom = 33.0 + +[node name="New Game Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer2"] +margin_right = 83.0 +margin_bottom = 14.0 +texture_normal = ExtResource( 5 ) +texture_hover = ExtResource( 7 ) + +[node name="CenterContainer3" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"] +margin_top = 37.0 +margin_right = 83.0 +margin_bottom = 56.0 + +[node name="Settings Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer3"] +margin_left = 11.0 +margin_right = 72.0 +margin_bottom = 19.0 +texture_normal = ExtResource( 1 ) +texture_hover = ExtResource( 10 ) + +[node name="CenterContainer4" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"] +margin_top = 60.0 +margin_right = 83.0 +margin_bottom = 75.0 + +[node name="Credits Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer4"] +margin_left = 16.0 +margin_right = 67.0 +margin_bottom = 15.0 +texture_normal = ExtResource( 3 ) +texture_hover = ExtResource( 9 ) + +[node name="CenterContainer5" type="CenterContainer" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options"] +margin_top = 79.0 +margin_right = 83.0 +margin_bottom = 94.0 + +[node name="Quit Button" type="TextureButton" parent="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer5"] +margin_left = 24.0 +margin_right = 58.0 +margin_bottom = 15.0 +texture_normal = ExtResource( 8 ) +texture_hover = ExtResource( 11 ) + +[connection signal="pressed" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer2/New Game Button" to="." method="_on_new_game_button_pressed"] +[connection signal="pressed" from="Menu Items/VBoxContainer/CenterContainer/Menu Options/CenterContainer5/Quit Button" to="." method="_on_quit_button_pressed"] diff --git a/Main.gd b/Main.gd new file mode 100644 index 0000000..9d139b2 --- /dev/null +++ b/Main.gd @@ -0,0 +1,61 @@ +extends Node + +export var splash_screen_path: String +export var main_menu_path: String +export var world_path: String + + +func _ready() -> void: + var splash_screen: Node = play_splash_screen() + yield(splash_screen, 'complete') + splash_screen = null + + var main_menu: Node = play_main_menu() + yield(main_menu, 'complete') + free_connected_node(main_menu, 'main_menu_option') + main_menu = null + return + + +func play_splash_screen() -> Node: + var splash_screen: Node = load(splash_screen_path).instance() + if splash_screen.connect('complete', self, 'free_connected_node', [splash_screen, 'free_connected_node']) != OK: + print('ERROR: Splash Screen "complete" signal already connected.') + + add_child(splash_screen) + return splash_screen + + +func play_main_menu() -> Node: + var main_menu: Node = load(main_menu_path).instance() + if main_menu.connect('complete', self, 'main_menu_option') != OK: + print('ERROR: Main Menu "quit" signal already connected.') + + add_child(main_menu) + return main_menu + + +func main_menu_option(option: String) -> void: + if option == 'new game': + new_game() + elif option == 'quit': + quit_game() + return + + +func free_connected_node(node: Node, connected_function: String) -> void: + node.disconnect('complete', self, connected_function) + remove_child(node) + node.queue_free() + return + + +func new_game() -> void: + if get_tree().change_scene(world_path) != OK: + print('ERROR: Main failed to change scene to World.') + return + + +func quit_game() -> void: + get_tree().quit() + return diff --git a/Main.tscn b/Main.tscn new file mode 100644 index 0000000..04cf11e --- /dev/null +++ b/Main.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Main.gd" type="Script" id=1] +[ext_resource path="res://Sprites/Black_Background.png" type="Texture" id=3] + +[node name="Main" type="Node"] +script = ExtResource( 1 ) +splash_screen_path = "res://Splash Screen.tscn" +main_menu_path = "res://Main Menu.tscn" +world_path = "res://World.tscn" + +[node name="Background" type="Sprite" parent="."] +texture = ExtResource( 3 ) +centered = false diff --git a/Player.gd b/Player.gd new file mode 100644 index 0000000..2865a3b --- /dev/null +++ b/Player.gd @@ -0,0 +1,24 @@ +extends KinematicBody2D + +const ACCELERATION = 1000 +const MAX_SPEED = 120 +const FRICTION = 1000 + +var velocity: Vector2 = Vector2.ZERO + + +func _physics_process(delta) -> void: + var input_vector: Vector2 = Vector2.ZERO + + input_vector.x = Input.get_action_strength('player_right') - Input.get_action_strength('player_left') + input_vector.y = Input.get_action_strength('player_down') - Input.get_action_strength('player_up') + input_vector = input_vector.normalized() + + if input_vector != Vector2.ZERO: + $AnimationTree.set('parameters/Idle/blend_position', input_vector) + velocity = velocity.move_toward(input_vector * MAX_SPEED, ACCELERATION * delta) + else: + velocity = velocity.move_toward(Vector2.ZERO, FRICTION * delta) + + velocity = move_and_slide(velocity) + return diff --git a/Player.tscn b/Player.tscn new file mode 100644 index 0000000..b905625 --- /dev/null +++ b/Player.tscn @@ -0,0 +1,213 @@ +[gd_scene load_steps=19 format=2] + +[ext_resource path="res://Player.gd" type="Script" id=1] +[ext_resource path="res://Sprites/Player.png" type="Texture" id=2] +[ext_resource path="res://Sprites/Player_Down.png" type="Texture" id=3] +[ext_resource path="res://Sprites/Player_Up.png" type="Texture" id=4] + +[sub_resource type="SpriteFrames" id=1] +animations = [ { +"frames": [ ExtResource( 2 ) ], +"loop": false, +"name": "look_right", +"speed": 5.0 +}, { +"frames": [ ExtResource( 2 ) ], +"loop": false, +"name": "look_left", +"speed": 5.0 +}, { +"frames": [ ExtResource( 4 ) ], +"loop": false, +"name": "look_up", +"speed": 5.0 +}, { +"frames": [ ExtResource( 3 ) ], +"loop": false, +"name": "look_down", +"speed": 5.0 +} ] + +[sub_resource type="CapsuleShape2D" id=2] +radius = 3.0 +height = 5.0 + +[sub_resource type="CapsuleShape2D" id=3] +radius = 5.5 +height = 3.75 + +[sub_resource type="Animation" id=4] +resource_name = "Look Down" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "look_down" ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:flip_h") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[sub_resource type="Animation" id=5] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "look_right" ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:flip_h") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} + +[sub_resource type="Animation" id=6] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "look_right" ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:flip_h") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[sub_resource type="Animation" id=7] +resource_name = "Look Up" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Sprite:animation") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ "look_up" ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Sprite:flip_h") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ false ] +} + +[sub_resource type="AnimationNodeAnimation" id=8] +animation = "Look Left" + +[sub_resource type="AnimationNodeAnimation" id=9] +animation = "Look Down" + +[sub_resource type="AnimationNodeAnimation" id=10] +animation = "Look Right" + +[sub_resource type="AnimationNodeAnimation" id=11] +animation = "Look Up" + +[sub_resource type="AnimationNodeBlendSpace2D" id=12] +blend_point_0/node = SubResource( 8 ) +blend_point_0/pos = Vector2( -1.01, 0 ) +blend_point_1/node = SubResource( 9 ) +blend_point_1/pos = Vector2( 0, 1.1 ) +blend_point_2/node = SubResource( 10 ) +blend_point_2/pos = Vector2( 1, 0 ) +blend_point_3/node = SubResource( 11 ) +blend_point_3/pos = Vector2( 0, -1.1 ) +min_space = Vector2( -1.01, -1.1 ) +max_space = Vector2( 1, 1.1 ) +blend_mode = 1 + +[sub_resource type="AnimationNodeStateMachine" id=13] +states/Idle/node = SubResource( 12 ) +states/Idle/position = Vector2( -2901.63, -177 ) +start_node = "Idle" +graph_offset = Vector2( -3591.37, -302.6 ) + +[sub_resource type="AnimationNodeStateMachinePlayback" id=14] + +[node name="Player" type="KinematicBody2D"] +script = ExtResource( 1 ) + +[node name="Sprite" type="AnimatedSprite" parent="."] +position = Vector2( 0, -5 ) +scale = Vector2( 2, 2 ) +frames = SubResource( 1 ) +animation = "look_right" + +[node name="Collision" type="CollisionShape2D" parent="."] +visible = false +rotation = 1.5708 +shape = SubResource( 2 ) + +[node name="Hitbox" type="CollisionShape2D" parent="."] +visible = false +position = Vector2( 0, -5 ) +shape = SubResource( 3 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +autoplay = "Look Right" +"anims/Look Down" = SubResource( 4 ) +"anims/Look Left" = SubResource( 5 ) +"anims/Look Right" = SubResource( 6 ) +"anims/Look Up" = SubResource( 7 ) + +[node name="AnimationTree" type="AnimationTree" parent="."] +tree_root = SubResource( 13 ) +anim_player = NodePath("../AnimationPlayer") +active = true +parameters/playback = SubResource( 14 ) +parameters/Idle/blend_position = Vector2( 0.993787, 0.0189655 ) diff --git a/Resources/Ash.tres b/Resources/Ash.tres new file mode 100644 index 0000000..adf47b7 --- /dev/null +++ b/Resources/Ash.tres @@ -0,0 +1,6 @@ +[gd_resource type="DynamicFontData" format=2] + +[resource] +antialiased = false +hinting = 0 +font_path = "res://Fonts/Ash.ttf" diff --git a/Resources/default_env.tres b/Resources/default_env.tres new file mode 100644 index 0000000..20207a4 --- /dev/null +++ b/Resources/default_env.tres @@ -0,0 +1,7 @@ +[gd_resource type="Environment" load_steps=2 format=2] + +[sub_resource type="ProceduralSky" id=1] + +[resource] +background_mode = 2 +background_sky = SubResource( 1 ) diff --git a/Splash Screen.gd b/Splash Screen.gd new file mode 100644 index 0000000..c205b99 --- /dev/null +++ b/Splash Screen.gd @@ -0,0 +1,29 @@ +extends Sprite + +signal complete + + +func _ready() -> void: + # Fade in + if not $Tween.interpolate_property(self, 'self_modulate:a', 0, 1, 3, Tween.TRANS_LINEAR, Tween.EASE_IN): + print('ERROR: Splash Screen fade in animation has errors.') + if not $Tween.start(): + print('ERROR: Splash Screen fade in animation failed to start.') + + yield($Tween, 'tween_completed') # Wait for fade in to complete + + # Fade out + if not $Tween.interpolate_property(self, 'self_modulate:a', 1, 0, 3, Tween.TRANS_LINEAR, Tween.EASE_OUT, 2): + print('ERROR: Splash Screen fade out animation has errors.') + if not $Tween.start(): + print('ERROR: Splash Screen fade out animation failed to start.') + + yield($Tween, 'tween_completed') # Wait for fade out to complete + emit_signal('complete') + return + + +func _input(event: InputEvent) -> void: + if event.is_action_pressed('ui_accept'): + emit_signal('complete') + return diff --git a/Splash Screen.tscn b/Splash Screen.tscn new file mode 100644 index 0000000..53f739c --- /dev/null +++ b/Splash Screen.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Sprites/Splash_Screen.png" type="Texture" id=1] +[ext_resource path="res://Splash Screen.gd" type="Script" id=2] + +[node name="Splash Screen" type="Sprite"] +self_modulate = Color( 1, 1, 1, 0 ) +texture = ExtResource( 1 ) +centered = false +script = ExtResource( 2 ) + +[node name="Tween" type="Tween" parent="."] diff --git a/Sprites/Black_Background.png b/Sprites/Black_Background.png new file mode 100644 index 0000000..1a8cb14 Binary files /dev/null and b/Sprites/Black_Background.png differ diff --git a/Sprites/Black_Background.png.import b/Sprites/Black_Background.png.import new file mode 100644 index 0000000..5cf4be8 --- /dev/null +++ b/Sprites/Black_Background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Black_Background.png-39e1a9d1fa48514c17a2f948901aa71e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Black_Background.png" +dest_files=[ "res://.import/Black_Background.png-39e1a9d1fa48514c17a2f948901aa71e.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Continue_Button_Disabled.png b/Sprites/Continue_Button_Disabled.png new file mode 100644 index 0000000..7847a0f Binary files /dev/null and b/Sprites/Continue_Button_Disabled.png differ diff --git a/Sprites/Continue_Button_Disabled.png.import b/Sprites/Continue_Button_Disabled.png.import new file mode 100644 index 0000000..ff05a65 --- /dev/null +++ b/Sprites/Continue_Button_Disabled.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Continue_Button_Disabled.png-edaf54f217b83ef7bab536167457f3c0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Continue_Button_Disabled.png" +dest_files=[ "res://.import/Continue_Button_Disabled.png-edaf54f217b83ef7bab536167457f3c0.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Continue_Button_Hover.png b/Sprites/Continue_Button_Hover.png new file mode 100644 index 0000000..2a43397 Binary files /dev/null and b/Sprites/Continue_Button_Hover.png differ diff --git a/Sprites/Continue_Button_Hover.png.import b/Sprites/Continue_Button_Hover.png.import new file mode 100644 index 0000000..354df37 --- /dev/null +++ b/Sprites/Continue_Button_Hover.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Continue_Button_Hover.png-5fa7e5a5b38c8e3ade24ef681e1e68d3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Continue_Button_Hover.png" +dest_files=[ "res://.import/Continue_Button_Hover.png-5fa7e5a5b38c8e3ade24ef681e1e68d3.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Continue_Button_Normal.png b/Sprites/Continue_Button_Normal.png new file mode 100644 index 0000000..01c1baf Binary files /dev/null and b/Sprites/Continue_Button_Normal.png differ diff --git a/Sprites/Continue_Button_Normal.png.import b/Sprites/Continue_Button_Normal.png.import new file mode 100644 index 0000000..46fd155 --- /dev/null +++ b/Sprites/Continue_Button_Normal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Continue_Button_Normal.png-8c6f9630cc10f463b6558f6b80d56d5d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Continue_Button_Normal.png" +dest_files=[ "res://.import/Continue_Button_Normal.png-8c6f9630cc10f463b6558f6b80d56d5d.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Credits_Button_Hover.png b/Sprites/Credits_Button_Hover.png new file mode 100644 index 0000000..1462cdf Binary files /dev/null and b/Sprites/Credits_Button_Hover.png differ diff --git a/Sprites/Credits_Button_Hover.png.import b/Sprites/Credits_Button_Hover.png.import new file mode 100644 index 0000000..c58efe1 --- /dev/null +++ b/Sprites/Credits_Button_Hover.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Credits_Button_Hover.png-b998170df41af4609721f8c9cea2a715.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Credits_Button_Hover.png" +dest_files=[ "res://.import/Credits_Button_Hover.png-b998170df41af4609721f8c9cea2a715.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Credits_Button_Normal.png b/Sprites/Credits_Button_Normal.png new file mode 100644 index 0000000..6f5aed8 Binary files /dev/null and b/Sprites/Credits_Button_Normal.png differ diff --git a/Sprites/Credits_Button_Normal.png.import b/Sprites/Credits_Button_Normal.png.import new file mode 100644 index 0000000..82dcfde --- /dev/null +++ b/Sprites/Credits_Button_Normal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Credits_Button_Normal.png-00d42fdf4e02dded217e2fc596a12d36.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Credits_Button_Normal.png" +dest_files=[ "res://.import/Credits_Button_Normal.png-00d42fdf4e02dded217e2fc596a12d36.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Main_Menu_Background.png b/Sprites/Main_Menu_Background.png new file mode 100644 index 0000000..644ad76 Binary files /dev/null and b/Sprites/Main_Menu_Background.png differ diff --git a/Sprites/Main_Menu_Background.png.import b/Sprites/Main_Menu_Background.png.import new file mode 100644 index 0000000..4612f91 --- /dev/null +++ b/Sprites/Main_Menu_Background.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Main_Menu_Background.png-f11d8edc3348829e3bcd2341640bd863.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Main_Menu_Background.png" +dest_files=[ "res://.import/Main_Menu_Background.png-f11d8edc3348829e3bcd2341640bd863.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/New_Game_Button_Hover.png b/Sprites/New_Game_Button_Hover.png new file mode 100644 index 0000000..b989b2d Binary files /dev/null and b/Sprites/New_Game_Button_Hover.png differ diff --git a/Sprites/New_Game_Button_Hover.png.import b/Sprites/New_Game_Button_Hover.png.import new file mode 100644 index 0000000..213728e --- /dev/null +++ b/Sprites/New_Game_Button_Hover.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/New_Game_Button_Hover.png-21e421038c32d170b2e5500a0cb32d33.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/New_Game_Button_Hover.png" +dest_files=[ "res://.import/New_Game_Button_Hover.png-21e421038c32d170b2e5500a0cb32d33.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/New_Game_Button_Normal.png b/Sprites/New_Game_Button_Normal.png new file mode 100644 index 0000000..83b0f7c Binary files /dev/null and b/Sprites/New_Game_Button_Normal.png differ diff --git a/Sprites/New_Game_Button_Normal.png.import b/Sprites/New_Game_Button_Normal.png.import new file mode 100644 index 0000000..b19d0bf --- /dev/null +++ b/Sprites/New_Game_Button_Normal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/New_Game_Button_Normal.png-0438e55e0588da7621f589e9b6fd5889.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/New_Game_Button_Normal.png" +dest_files=[ "res://.import/New_Game_Button_Normal.png-0438e55e0588da7621f589e9b6fd5889.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Player.png b/Sprites/Player.png new file mode 100644 index 0000000..86d58e4 Binary files /dev/null and b/Sprites/Player.png differ diff --git a/Sprites/Player.png.import b/Sprites/Player.png.import new file mode 100644 index 0000000..d60fbdc --- /dev/null +++ b/Sprites/Player.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Player.png-0662117005c6b9039deb63a286c8efe4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Player.png" +dest_files=[ "res://.import/Player.png-0662117005c6b9039deb63a286c8efe4.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Player_Down.png b/Sprites/Player_Down.png new file mode 100644 index 0000000..0e4a2e2 Binary files /dev/null and b/Sprites/Player_Down.png differ diff --git a/Sprites/Player_Down.png.import b/Sprites/Player_Down.png.import new file mode 100644 index 0000000..06a7b1f --- /dev/null +++ b/Sprites/Player_Down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Player_Down.png-6af5789aad25d026ca2bc30eb096b98e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Player_Down.png" +dest_files=[ "res://.import/Player_Down.png-6af5789aad25d026ca2bc30eb096b98e.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Player_Up.png b/Sprites/Player_Up.png new file mode 100644 index 0000000..2553fb9 Binary files /dev/null and b/Sprites/Player_Up.png differ diff --git a/Sprites/Player_Up.png.import b/Sprites/Player_Up.png.import new file mode 100644 index 0000000..3e59f41 --- /dev/null +++ b/Sprites/Player_Up.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Player_Up.png-3bef5e9a80b83b2419123f6e36070755.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Player_Up.png" +dest_files=[ "res://.import/Player_Up.png-3bef5e9a80b83b2419123f6e36070755.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Quit_Button_Hover.png b/Sprites/Quit_Button_Hover.png new file mode 100644 index 0000000..d57733f Binary files /dev/null and b/Sprites/Quit_Button_Hover.png differ diff --git a/Sprites/Quit_Button_Hover.png.import b/Sprites/Quit_Button_Hover.png.import new file mode 100644 index 0000000..0943088 --- /dev/null +++ b/Sprites/Quit_Button_Hover.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Quit_Button_Hover.png-8fa942addfbf4276883d06cfdba94ce1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Quit_Button_Hover.png" +dest_files=[ "res://.import/Quit_Button_Hover.png-8fa942addfbf4276883d06cfdba94ce1.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Quit_Button_Normal.png b/Sprites/Quit_Button_Normal.png new file mode 100644 index 0000000..732ae72 Binary files /dev/null and b/Sprites/Quit_Button_Normal.png differ diff --git a/Sprites/Quit_Button_Normal.png.import b/Sprites/Quit_Button_Normal.png.import new file mode 100644 index 0000000..796c4b9 --- /dev/null +++ b/Sprites/Quit_Button_Normal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Quit_Button_Normal.png-6001c4427dcf0beb869360787e249c35.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Quit_Button_Normal.png" +dest_files=[ "res://.import/Quit_Button_Normal.png-6001c4427dcf0beb869360787e249c35.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Settings_Button_Hover.png b/Sprites/Settings_Button_Hover.png new file mode 100644 index 0000000..71f8223 Binary files /dev/null and b/Sprites/Settings_Button_Hover.png differ diff --git a/Sprites/Settings_Button_Hover.png.import b/Sprites/Settings_Button_Hover.png.import new file mode 100644 index 0000000..6d96bc2 --- /dev/null +++ b/Sprites/Settings_Button_Hover.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Settings_Button_Hover.png-7f8aa20092b2c9ddb9a93d2e323f95bd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Settings_Button_Hover.png" +dest_files=[ "res://.import/Settings_Button_Hover.png-7f8aa20092b2c9ddb9a93d2e323f95bd.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Settings_Button_Normal.png b/Sprites/Settings_Button_Normal.png new file mode 100644 index 0000000..febf101 Binary files /dev/null and b/Sprites/Settings_Button_Normal.png differ diff --git a/Sprites/Settings_Button_Normal.png.import b/Sprites/Settings_Button_Normal.png.import new file mode 100644 index 0000000..6549c94 --- /dev/null +++ b/Sprites/Settings_Button_Normal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Settings_Button_Normal.png-28d0863b0e4a74a8b4c82406a069794f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Settings_Button_Normal.png" +dest_files=[ "res://.import/Settings_Button_Normal.png-28d0863b0e4a74a8b4c82406a069794f.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Sprites/Splash_Screen.png b/Sprites/Splash_Screen.png new file mode 100644 index 0000000..47a4b3e Binary files /dev/null and b/Sprites/Splash_Screen.png differ diff --git a/Sprites/Splash_Screen.png.import b/Sprites/Splash_Screen.png.import new file mode 100644 index 0000000..a4063df --- /dev/null +++ b/Sprites/Splash_Screen.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Splash_Screen.png-a97f644d643e70be1e13894b6beba98b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/Splash_Screen.png" +dest_files=[ "res://.import/Splash_Screen.png-a97f644d643e70be1e13894b6beba98b.stex" ] + +[params] + +compress/mode=3 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=2 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=0 +process/fix_alpha_border=false +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World.gd b/World.gd new file mode 100644 index 0000000..f349435 --- /dev/null +++ b/World.gd @@ -0,0 +1,5 @@ +extends Node2D + +func _ready() -> void: + $YSort/Player.position = get_viewport_rect().size / 2 + return diff --git a/World.tscn b/World.tscn new file mode 100644 index 0000000..ced7c73 --- /dev/null +++ b/World.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Player.tscn" type="PackedScene" id=1] +[ext_resource path="res://World.gd" type="Script" id=2] + +[node name="World" type="Node2D"] +script = ExtResource( 2 ) + +[node name="YSort" type="YSort" parent="."] + +[node name="Player" parent="YSort" instance=ExtResource( 1 )] +collision_mask = 2 diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..c98fbb6 Binary files /dev/null and b/icon.png differ diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..96cbf46 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=[ "res://.import/icon.png-487276ed1e3a0c39cad0279d744ee560.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 +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..c88bda6 --- /dev/null +++ b/project.godot @@ -0,0 +1,61 @@ +; 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 + +[application] + +config/name="Embodiment" +run/main_scene="res://Main.tscn" +boot_splash/image="res://Sprites/Black_Background.png" +boot_splash/use_filter=false +boot_splash/bg_color=Color( 0, 0, 0, 1 ) +config/icon="res://icon.png" + +[display] + +window/size/width=320 +window/size/height=180 +window/size/test_width=1280 +window/size/test_height=720 +window/stretch/mode="2d" +window/stretch/aspect="keep" + +[input] + +player_right={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"unicode":0,"echo":false,"script":null) + ] +} +player_left={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"unicode":0,"echo":false,"script":null) + ] +} +player_up={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"unicode":0,"echo":false,"script":null) + ] +} +player_down={ +"deadzone": 0.5, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"unicode":0,"echo":false,"script":null) + ] +} + +[physics] + +common/enable_pause_aware_picking=true + +[rendering] + +quality/intended_usage/framebuffer_allocation=0 +quality/intended_usage/framebuffer_allocation.mobile=0 +environment/default_environment="res://Resources/default_env.tres" +quality/dynamic_fonts/use_oversampling=false