From 8b0acaef2b2a196494e7be6c1b3bbe72b2a28450 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 18 Oct 2025 23:15:03 -0400 Subject: [PATCH] refined parallax layers --- 25-10-18-godot-course-Terrain (32x32).png | Bin 0 -> 11796 bytes ...18-godot-course-Terrain (32x32).png.import | 40 +++++++++ project.godot | 4 +- resources/chasm_color_palette.tres | 4 + scenes/game.tscn | 84 ++++++++++-------- scripts/player.gd | 10 +-- 6 files changed, 98 insertions(+), 44 deletions(-) create mode 100644 25-10-18-godot-course-Terrain (32x32).png create mode 100644 25-10-18-godot-course-Terrain (32x32).png.import create mode 100644 resources/chasm_color_palette.tres 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 0000000000000000000000000000000000000000..ddf1eaf58e63d04bfa806cd75eab977633dd771b GIT binary patch literal 11796 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 b1DNH#Dz|$Kzczt3Z-}m@(cMb*ColgW2-TUV literal 0 HcmV?d00001 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