diff --git a/25-10-18-godot-course-Terrain (32x32).png b/25-10-18-godot-course-Terrain (32x32).png new file mode 100644 index 0000000..ddf1eaf Binary files /dev/null and b/25-10-18-godot-course-Terrain (32x32).png differ diff --git a/25-10-18-godot-course-Terrain (32x32).png.import b/25-10-18-godot-course-Terrain (32x32).png.import new file mode 100644 index 0000000..d6b2b8c --- /dev/null +++ b/25-10-18-godot-course-Terrain (32x32).png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://pxewmkom3js8" +path="res://.godot/imported/25-10-18-godot-course-Terrain (32x32).png-bf2dc5051539e425b866c73584052a02.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://25-10-18-godot-course-Terrain (32x32).png" +dest_files=["res://.godot/imported/25-10-18-godot-course-Terrain (32x32).png-bf2dc5051539e425b866c73584052a02.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/project.godot b/project.godot index 31be4e8..84edab7 100644 --- a/project.godot +++ b/project.godot @@ -18,8 +18,8 @@ config/icon="res://icon.svg" [display] -window/size/viewport_width=320 -window/size/viewport_height=180 +window/size/viewport_width=640 +window/size/viewport_height=360 window/size/window_width_override=1280 window/size/window_height_override=720 window/stretch/mode="viewport" diff --git a/resources/chasm_color_palette.tres b/resources/chasm_color_palette.tres new file mode 100644 index 0000000..217b66a --- /dev/null +++ b/resources/chasm_color_palette.tres @@ -0,0 +1,4 @@ +[gd_resource type="ColorPalette" format=3 uid="uid://c5vmfphmld7ef"] + +[resource] +colors = PackedColorArray(0.5176471, 0.85490197, 0.91764706, 1, 0.37254903, 0.78431374, 0.9019608, 1, 0.37254903, 0.627451, 0.9019608, 1, 0.37254903, 0.43137255, 0.9019608, 1, 0.29803923, 0.37254903, 0.6627451, 1, 0.2627451, 0.27450982, 0.4509804, 1, 0.19215687, 0.1882353, 0.22745098, 1, 0.27058825, 0.23529412, 0.36862746, 1, 0.3647059, 0.27450982, 0.45882353, 1, 0.5176471, 0.32156864, 0.58431375, 1, 0.6666667, 0.34509805, 0.654902, 1, 0.7882353, 0.37254903, 0.6784314, 1, 0.9529412, 0.6509804, 0.5254902, 1, 0.9607843, 0.85490197, 0.6509804, 1, 0.54901963, 0.84705883, 0.5803922, 1, 0.3647059, 0.7529412, 0.5647059, 1, 0.2901961, 0.7254902, 0.63529414, 1, 0.26666668, 0.5764706, 0.6431373, 1, 0.36862746, 0.99215686, 0.96862745, 1, 1, 0.3647059, 0.79607844, 1, 0.99215686, 0.99607843, 0.53333336, 1, 1, 1, 1, 1) diff --git a/scenes/game.tscn b/scenes/game.tscn index b75b1c4..0ca5d68 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,13 +1,38 @@ -[gd_scene load_steps=11 format=3 uid="uid://cueixogtk70go"] +[gd_scene load_steps=14 format=3 uid="uid://cueixogtk70go"] [ext_resource type="Script" uid="uid://d0ca3jbhe8le3" path="res://scripts/game_controller.gd" id="1_lbhrr"] [ext_resource type="PackedScene" uid="uid://dnarbab7jjqmk" path="res://scenes/crate.tscn" id="1_uwrxv"] [ext_resource type="Script" uid="uid://b84pdw14l6gb6" path="res://scripts/scene_manager.gd" id="2_iywne"] [ext_resource type="PackedScene" uid="uid://2pp1gtlflav8" path="res://scenes/trigger.tscn" id="2_yqjtg"] [ext_resource type="PackedScene" uid="uid://d3y1iqmpknpyo" path="res://scenes/player.tscn" id="3_lnu2h"] -[ext_resource type="Texture2D" uid="uid://bxx6s82ck7kch" path="res://graphics/backgrounds/forestbackground.png" id="3_p57ef"] -[ext_resource type="Texture2D" uid="uid://cxhbqd7yunb5o" path="res://graphics/backgrounds/25-10-17-sky-background-godot-course-.png" id="4_gee14"] -[ext_resource type="Texture2D" uid="uid://kos0kjk46ooe" path="res://graphics/backgrounds/25-10-17-trees-background-godot-course-v1.png" id="4_u5sy4"] + +[sub_resource type="Gradient" id="Gradient_iywne"] +offsets = PackedFloat32Array(0.20666666, 0.66, 0.96666664) +colors = PackedColorArray(0, 0, 0, 1, 0.19215687, 0.1882353, 0.22745098, 1, 0.27058825, 0.23529412, 0.36862746, 1) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_p57ef"] +noise_type = 2 +cellular_return_type = 0 +domain_warp_enabled = true + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_u5sy4"] +noise = SubResource("FastNoiseLite_p57ef") +color_ramp = SubResource("Gradient_iywne") +seamless = true +in_3d_space = true + +[sub_resource type="Gradient" id="Gradient_p57ef"] +offsets = PackedFloat32Array(0.5133333, 0.8466667, 0.9266667) +colors = PackedColorArray(0, 0, 0, 0, 0.5525, 0.85, 0.58224994, 0.36078432, 0.99233335, 1, 0.53999996, 0.27058825) + +[sub_resource type="FastNoiseLite" id="FastNoiseLite_u5sy4"] +noise_type = 5 +frequency = 0.02 + +[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_iywne"] +noise = SubResource("FastNoiseLite_u5sy4") +color_ramp = SubResource("Gradient_p57ef") +seamless = true [sub_resource type="RectangleShape2D" id="RectangleShape2D_8cj0n"] size = Vector2(273, 101) @@ -23,39 +48,28 @@ script = ExtResource("2_iywne") [node name="Background" type="Parallax2D" parent="."] scroll_scale = Vector2(0.5, 0.5) -repeat_size = Vector2(320, 0) +repeat_size = Vector2(512, 512) repeat_times = 100 metadata/_edit_lock_ = true metadata/_edit_group_ = true -[node name="ForestBackground" type="Sprite2D" parent="Background"] -texture = ExtResource("3_p57ef") -centered = false - -[node name="ForestSky" type="Sprite2D" parent="Background"] -position = Vector2(0, -160) -scale = Vector2(1, 4) -texture = ExtResource("4_gee14") -centered = false +[node name="BackgroundSprite" type="Sprite2D" parent="Background"] +texture = SubResource("NoiseTexture2D_u5sy4") [node name="Midground" type="Parallax2D" parent="."] -repeat_size = Vector2(320, 0) +repeat_size = Vector2(512, 512) +autoscroll = Vector2(-20, 0) repeat_times = 100 metadata/_edit_group_ = true -[node name="Sprite2D" type="Sprite2D" parent="Midground"] -texture = ExtResource("4_u5sy4") -centered = false +[node name="MidgroundSprite" type="Sprite2D" parent="Midground"] +texture = SubResource("NoiseTexture2D_iywne") [node name="Player" parent="." instance=ExtResource("3_lnu2h")] -position = Vector2(-54, 87) -BUMP_POWER = null -SHOVE_POWER = 400 -ACCELERATION = 10 -HARD_GRAVITY = 2 +position = Vector2(-201, 84) [node name="Block" type="StaticBody2D" parent="."] -position = Vector2(-46.999985, 183) +position = Vector2(-133, 124.999985) scale = Vector2(0.7200012, 0.39999938) metadata/_edit_group_ = true @@ -64,7 +78,7 @@ shape = SubResource("RectangleShape2D_8cj0n") debug_color = Color(0.48, 0.48, 0.48, 1) [node name="Block2" type="StaticBody2D" parent="."] -position = Vector2(215.00003, 190.00003) +position = Vector2(111.00002, 123) scale = Vector2(0.877356, 0.36431184) metadata/_edit_group_ = true @@ -73,7 +87,7 @@ shape = SubResource("RectangleShape2D_8cj0n") debug_color = Color(0.48, 0.48, 0.48, 1) [node name="Block3" type="StaticBody2D" parent="."] -position = Vector2(433, 191.00003) +position = Vector2(306.99997, 114.00001) scale = Vector2(0.39041698, 0.5632845) metadata/_edit_group_ = true @@ -82,7 +96,7 @@ shape = SubResource("RectangleShape2D_8cj0n") debug_color = Color(0.48, 0.48, 0.48, 1) [node name="Block4" type="StaticBody2D" parent="."] -position = Vector2(731, 190.99998) +position = Vector2(573.00006, 123.99999) rotation = -1.5707964 scale = Vector2(0.39041698, 1.1232846) metadata/_edit_group_ = true @@ -92,8 +106,7 @@ shape = SubResource("RectangleShape2D_8cj0n") debug_color = Color(0.48, 0.48, 0.48, 1) [node name="Block5" type="StaticBody2D" parent="."] -position = Vector2(571, 160) -rotation = -0.5235988 +position = Vector2(429, 144) scale = Vector2(0.36505565, 0.38472003) metadata/_edit_group_ = true @@ -102,7 +115,7 @@ shape = SubResource("RectangleShape2D_8cj0n") debug_color = Color(0.48, 0.48, 0.48, 1) [node name="Boundary" type="StaticBody2D" parent="."] -position = Vector2(58, 301) +position = Vector2(0, 180) metadata/_edit_group_ = true [node name="CollisionShape2D" type="CollisionShape2D" parent="Boundary"] @@ -110,7 +123,7 @@ shape = SubResource("WorldBoundaryShape2D_8cj0n") debug_color = Color(0, 0.50980395, 0.003921569, 1) [node name="Trigger" parent="." instance=ExtResource("2_yqjtg")] -position = Vector2(177, 105) +position = Vector2(104, 47) scale = Vector2(0.48551935, 0.33269948) [node name="Trigger2" parent="." instance=ExtResource("2_yqjtg")] @@ -119,16 +132,13 @@ scale = Vector2(0.5942757, 0.5465749) intent = "powerup" [node name="Crate" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")] -position = Vector2(298, 98.00001) -rotation = -0.5457037 +position = Vector2(-75, 78) [node name="Crate2" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")] -position = Vector2(729, -44.99998) -rotation = 0.45025483 +position = Vector2(574, 24.000027) [node name="Crate3" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")] -position = Vector2(424, 64.999985) -rotation = 0.62928104 +position = Vector2(293, 56) [connection signal="trigger_fired" from="Trigger" to="." method="_on_trigger_fired"] [connection signal="trigger_fired" from="Trigger2" to="." method="_on_trigger_fired"] diff --git a/scripts/player.gd b/scripts/player.gd index fc29eec..8ff1eb5 100644 --- a/scripts/player.gd +++ b/scripts/player.gd @@ -2,16 +2,16 @@ class_name Player extends CharacterBody2D ## Character controller. ## TODO: fix bullet cooldown timer -const SPEED = 300.0 -const JUMP_VELOCITY = -600.0 +const SPEED = 200.0 +const JUMP_VELOCITY = -350.0 enum FaceDirection{LEFT, RIGHT} enum State{IDLE, WALK, JUMP, FALLING, SHOOT_STILL, SHOOT_RUN} @export var BUMP_POWER := 50 -@export var SHOVE_POWER := 200 -@export var ACCELERATION := 5 -@export var HARD_GRAVITY := 100 +@export var SHOVE_POWER := 300 +@export var ACCELERATION := 4 +@export var HARD_GRAVITY := 2 var current_state: State = State.IDLE var facing : FaceDirection = FaceDirection.RIGHT