Skip to content

Commit 78bafc2

Browse files
authored
Promote Shadow Journey's fog (#1951)
Add fog overlay effect Promote the neblina.tscn from StoryQuest Shadow Journey to the main game. Adapt it to use the Parallax2D node rather than the now deprecated nodes. Document the shader parameters. Just as the clouds shadow overlay effect, add a small script that can randomize the fog. For now just by setting the seed of the noise texture. And expose a button to do it in the editor. ---- Shadow Journey: Use promoted fog scene Remove a second unused neblina.tscn scene too. The new fog is tinted by lights, so change its modulate color to a very high value to keep it white in the intro scene. Change the parallax scroll scale to 10x the original value in scenes that have the camera zoomed in (intro, outro). Also deactivate Z index from Dragon in sequence puzzle.
1 parent 715a11a commit 78bafc2

16 files changed

Lines changed: 134 additions & 116 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# SPDX-FileCopyrightText: The Threadbare Authors
2+
# SPDX-License-Identifier: MPL-2.0
3+
@tool
4+
extends Parallax2D
5+
6+
@export_tool_button("Random Fog") var randomize_button: Callable = randomize
7+
8+
@export var _seed: int:
9+
set = _set_seed
10+
11+
var texture: NoiseTexture2D
12+
var noise: FastNoiseLite
13+
14+
@onready var color_rect: ColorRect = %ColorRect
15+
16+
17+
func _set_seed(new_seed: int) -> void:
18+
_seed = new_seed
19+
if noise:
20+
noise.seed = _seed
21+
await texture.changed
22+
23+
24+
func _ready() -> void:
25+
texture = (color_rect.material as ShaderMaterial).get_shader_parameter("fog_texture")
26+
noise = texture.noise
27+
_set_seed(_seed)
28+
29+
30+
func randomize() -> void:
31+
await _set_seed(randi())
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://dmkydd5ditr8g
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* SPDX-FileCopyrightText: The Threadbare Authors
3+
* SPDX-License-Identifier: MPL-2.0
4+
*/
5+
shader_type canvas_item;
6+
7+
/**
8+
* Use a Simplex noise for a dynamic texture. Or provide your own grayscale tileable texture!
9+
*/
10+
uniform sampler2D fog_texture: filter_nearest, repeat_enable;
11+
12+
/**
13+
* How much dense is the fog.
14+
* This parameter could be animated!
15+
*/
16+
uniform float density: hint_range(1.0, 10.0) = 3.0;
17+
18+
/**
19+
* Animate the fog.
20+
* A vertical velocity emphasizes the fog elevating.
21+
*/
22+
uniform vec2 speed = vec2(0.0,0.01);
23+
24+
/**
25+
* How much alpha, maximum.
26+
* With a value of 1 the fog can reach full white.
27+
*/
28+
uniform float alpha: hint_range(0.0, 1.0) = 0.6;
29+
30+
void fragment() {
31+
vec2 uv = UV + speed * TIME;
32+
float fog = texture(fog_texture, uv).r;
33+
fog = smoothstep(1.0/density, 1.0, fog);
34+
COLOR.a *= alpha * fog;
35+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
uid://drhjsqqpvoujd
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[gd_scene format=3 uid="uid://dpbsi065gmh8a"]
2+
3+
[ext_resource type="Script" uid="uid://dmkydd5ditr8g" path="res://scenes/game_elements/fx/fog/components/fog.gd" id="1_rwtq2"]
4+
[ext_resource type="Shader" uid="uid://drhjsqqpvoujd" path="res://scenes/game_elements/fx/fog/components/fog.gdshader" id="2_xfh1s"]
5+
6+
[sub_resource type="FastNoiseLite" id="FastNoiseLite_jw523"]
7+
frequency = 0.0075
8+
9+
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_ys0ab"]
10+
width = 256
11+
height = 256
12+
noise = SubResource("FastNoiseLite_jw523")
13+
seamless = true
14+
seamless_blend_skirt = 0.8
15+
16+
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ns5r3"]
17+
shader = ExtResource("2_xfh1s")
18+
shader_parameter/fog_texture = SubResource("NoiseTexture2D_ys0ab")
19+
shader_parameter/density = 3.0
20+
shader_parameter/speed = Vector2(0, 0.01)
21+
shader_parameter/alpha = 0.6
22+
23+
[node name="Fog" type="Parallax2D" unique_id=953933321]
24+
editor_description = "This Parallax2D node is used to repeat the texture so it's bigger than the viewport size. And to scroll it with the camera.
25+
26+
The Scroll Scale is set to a value bigger than one so the fog gives the impression of being floating. It moves faster than the ground."
27+
top_level = true
28+
scroll_scale = Vector2(1.09, 1.03)
29+
repeat_size = Vector2(1024, 1024)
30+
repeat_times = 3
31+
script = ExtResource("1_rwtq2")
32+
33+
[node name="ColorRect" type="ColorRect" parent="." unique_id=1981971918]
34+
unique_name_in_owner = true
35+
editor_description = "Start with a small noise texture that is then upscaled to a square. The size of this ColorRect.
36+
"
37+
material = SubResource("ShaderMaterial_ns5r3")
38+
anchors_preset = 15
39+
anchor_right = 1.0
40+
anchor_bottom = 1.0
41+
offset_right = 1024.0
42+
offset_bottom = 1024.0
43+
grow_horizontal = 2
44+
grow_vertical = 2

scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro.tscn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
[ext_resource type="Resource" uid="uid://c5d8ip4lqme83" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/Dialogo/template_intro02.dialogue" id="7_1kvnf"]
1212
[ext_resource type="SpriteFrames" uid="uid://vrthlt7kah8w" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/tim_sprite_frames.tres" id="8_aeas8"]
1313
[ext_resource type="AudioStream" uid="uid://bvq56m78f2v7g" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/musicas/2 The Veil of Night Loop 1 Start .ogg" id="12_1kvnf"]
14-
[ext_resource type="PackedScene" uid="uid://bdtis4ye3hah2" path="res://scenes/quests/story_quests/shjourney/9_shjourney_outro_2/neblina.tscn" id="12_6jtbm"]
1514
[ext_resource type="AudioStream" uid="uid://dbwjolg3xlntq" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro_components/EffectSounds/amazon-rainforest.ogg" id="12_aeas8"]
1615
[ext_resource type="PackedScene" uid="uid://c5f62dk57ymem" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/arbusto.tscn" id="16_aeas8"]
16+
[ext_resource type="PackedScene" uid="uid://dpbsi065gmh8a" path="res://scenes/game_elements/fx/fog/fog.tscn" id="16_pa4hc"]
1717
[ext_resource type="Texture2D" uid="uid://s6olixcsyfky" path="res://scenes/quests/story_quests/shjourney/4_Laberinto/personajes/image (1).png" id="17_pa4hc"]
1818

1919
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u7gwd"]
@@ -403,9 +403,9 @@ autoplay = true
403403
stream = ExtResource("12_1kvnf")
404404
autoplay = true
405405

406-
[node name="ParallaxBackground" parent="." unique_id=1408395700 instance=ExtResource("12_6jtbm")]
407-
scale = Vector2(3.7, 3.7)
408-
transform = Transform2D(3.7, 0, 0, 3.7, 0, 0)
406+
[node name="Fog" parent="." unique_id=953933321 instance=ExtResource("16_pa4hc")]
407+
modulate = Color(18.892157, 18.892157, 18.892157, 1)
408+
scroll_scale = Vector2(1.9, 1.3)
409409

410410
[node name="Fireflies" type="Node2D" parent="." unique_id=1332597268]
411411
position = Vector2(363, 229)

scenes/quests/story_quests/shjourney/3_shjourney_intro/template_intro0.2.tscn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
[ext_resource type="Script" uid="uid://dqt03qd2chv6n" path="res://scenes/quests/story_quests/shjourney/3_shjourney_intro/cinematic_siguiente.gd" id="13_s8exg"]
2121
[ext_resource type="Script" uid="uid://3tn8210agfwf" path="res://scenes/quests/story_quests/shjourney/3_shjourney_intro/area_2d.gd" id="14_u3mgm"]
2222
[ext_resource type="SpriteFrames" uid="uid://c63hg7u58lfak" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/angel_sprite_frames.tres" id="15_x6v85"]
23-
[ext_resource type="PackedScene" uid="uid://bdtis4ye3hah2" path="res://scenes/quests/story_quests/shjourney/9_shjourney_outro_2/neblina.tscn" id="16_iptbp"]
2423
[ext_resource type="Resource" uid="uid://7g75vdxbo0nr" path="res://scenes/quests/story_quests/shjourney/Angel/components/dialogo-angel.dialogue" id="17_4ttmx"]
24+
[ext_resource type="PackedScene" uid="uid://dpbsi065gmh8a" path="res://scenes/game_elements/fx/fog/fog.tscn" id="25_0hk53"]
2525
[ext_resource type="PackedScene" uid="uid://ccoqpcy371psq" path="res://scenes/quests/story_quests/shjourney/3_shjourney_intro/sign.tscn" id="29_oixsc"]
2626
[ext_resource type="PackedScene" uid="uid://due8sqsrtdke1" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/fire_fly.tscn" id="30_g2jpu"]
2727

@@ -553,9 +553,9 @@ self_modulate = Color(0, 0, 0.443137, 1)
553553
z_index = -3
554554
position = Vector2(1023, 202)
555555

556-
[node name="ParallaxBackground" parent="." unique_id=1976041603 instance=ExtResource("16_iptbp")]
557-
scale = Vector2(3.7, 3.7)
558-
transform = Transform2D(3.7, 0, 0, 3.7, 0, 0)
556+
[node name="Fog" parent="." unique_id=953933321 instance=ExtResource("25_0hk53")]
557+
modulate = Color(18.892157, 18.892157, 18.892157, 1)
558+
scroll_scale = Vector2(1.9, 1.3)
559559

560560
[node name="Sign" parent="." unique_id=348337612 instance=ExtResource("29_oixsc")]
561561
position = Vector2(617, 203)

scenes/quests/story_quests/shjourney/4_Laberinto/Laberinto.tscn

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,14 @@
3333
[ext_resource type="Resource" uid="uid://crc4ayn4316ly" path="res://scenes/quests/story_quests/shjourney/Angel/components/dialogo-angel-puerta.dialogue" id="19_lna1e"]
3434
[ext_resource type="Script" uid="uid://b46ce6fs3hjco" path="res://scenes/quests/story_quests/shjourney/4_Laberinto/llave.gd" id="22_r751j"]
3535
[ext_resource type="Texture2D" uid="uid://d0yyk0dikkltr" path="res://scenes/quests/story_quests/shjourney/4_Laberinto/personajes/estructuras(decoracion)/puertagrande2.png" id="23_r751j"]
36-
[ext_resource type="PackedScene" uid="uid://bdtis4ye3hah2" path="res://scenes/quests/story_quests/shjourney/9_shjourney_outro_2/neblina.tscn" id="30_1olun"]
3736
[ext_resource type="AudioStream" uid="uid://dbwjolg3xlntq" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro_components/EffectSounds/amazon-rainforest.ogg" id="32_jg4bf"]
3837
[ext_resource type="AudioStream" uid="uid://beoi7axeloxrk" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro_components/EffectSounds/male-scream.wav" id="34_3ri7t"]
3938
[ext_resource type="PackedScene" uid="uid://due8sqsrtdke1" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/fire_fly.tscn" id="35_lldb0"]
4039
[ext_resource type="AudioStream" uid="uid://sbur58qc8obk" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/musicas/Mental Vortex Loop 1.ogg" id="36_3ri7t"]
4140
[ext_resource type="AudioStream" uid="uid://p2k8tnga0rfd" path="res://scenes/quests/story_quests/shjourney/2_shjourney_intro/template_intro_components/EffectSounds/keys_dropped.wav" id="37_37sn7"]
4241
[ext_resource type="Texture2D" uid="uid://b8yn4tog2cnaw" path="res://scenes/quests/story_quests/shjourney/4_Laberinto/personajes/estructuras(decoracion)/llave 1.png" id="38_3ri7t"]
4342
[ext_resource type="Theme" uid="uid://cvitou84ni7qe" path="res://scenes/ui_elements/components/theme.tres" id="40_u1x3w"]
43+
[ext_resource type="PackedScene" uid="uid://dpbsi065gmh8a" path="res://scenes/game_elements/fx/fog/fog.tscn" id="43_3ri7t"]
4444

4545
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_sdlc6"]
4646
texture = ExtResource("5_bw2w6")
@@ -2467,9 +2467,9 @@ scale = Vector2(7.465, 7.465)
24672467
wait_time = 3.5
24682468
one_shot = true
24692469

2470-
[node name="ParallaxBackground" parent="." unique_id=754035050 instance=ExtResource("30_1olun")]
2471-
scale = Vector2(3.7, 3.7)
2472-
transform = Transform2D(3.7, 0, 0, 3.7, 0, 0)
2470+
[node name="Fog" parent="." unique_id=953933321 instance=ExtResource("43_3ri7t")]
2471+
modulate = Color(18.892157, 18.892157, 18.892157, 1)
2472+
scroll_scale = Vector2(1.9, 1.3)
24732473

24742474
[node name="FireFly" parent="." unique_id=766494683 instance=ExtResource("35_lldb0")]
24752475
position = Vector2(4520, 380)

scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_puzzle.tscn

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
[ext_resource type="SpriteFrames" uid="uid://bkg2yqajvfipw" path="res://scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_components/shjourney_guardian.tres" id="29_hvqie"]
3434
[ext_resource type="Resource" uid="uid://m3wugmcg8r6m" path="res://scenes/quests/story_quests/shjourney/5_shjourney_sequence_puzzle/shjourney_sequence_components/shjourney_sequence_puzzle.dialogue" id="32_1fi4m"]
3535
[ext_resource type="AudioStream" uid="uid://wh36l3rfb7xa" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/musicas/Mind's Eye Full.ogg" id="33_at0ry"]
36-
[ext_resource type="PackedScene" uid="uid://bdtis4ye3hah2" path="res://scenes/quests/story_quests/shjourney/9_shjourney_outro_2/neblina.tscn" id="34_6073y"]
36+
[ext_resource type="PackedScene" uid="uid://dpbsi065gmh8a" path="res://scenes/game_elements/fx/fog/fog.tscn" id="35_at0ry"]
3737

3838
[sub_resource type="Resource" id="Resource_u8qfb"]
3939
script = ExtResource("15_daurq")
@@ -71,7 +71,6 @@ tile_set = ExtResource("1_3wc2e")
7171

7272
[node name="Dragon" parent="TileMapLayers" unique_id=1583637802 instance=ExtResource("2_0x02o")]
7373
modulate = Color(0.601223, 0.601223, 0.601223, 1)
74-
z_index = 2
7574
texture_filter = 1
7675
position = Vector2(773, 178)
7776
scale = Vector2(4.5, 4.5)
@@ -350,8 +349,6 @@ position = Vector2(132, 262)
350349
stream = ExtResource("33_at0ry")
351350
autoplay = true
352351

353-
[node name="ParallaxBackground" parent="." unique_id=2035834243 instance=ExtResource("34_6073y")]
354-
scale = Vector2(3.7, 3.7)
355-
transform = Transform2D(3.7, 0, 0, 3.7, 0, 0)
352+
[node name="Fog" parent="." unique_id=953933321 instance=ExtResource("35_at0ry")]
356353

357354
[connection signal="solved" from="OnTheGround/SequencePuzzle" to="OnTheGround/CollectibleItem" method="reveal"]

scenes/quests/story_quests/shjourney/6_Espada/Espada.tscn

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[ext_resource type="Resource" uid="uid://crwo368o27j1a" path="res://scenes/quests/story_quests/shjourney/6_Espada/stella_outro_components/espadadialogo.dialogue" id="3_bx3fd"]
77
[ext_resource type="SpriteFrames" uid="uid://vrthlt7kah8w" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/tim_sprite_frames.tres" id="4_8vj3q"]
88
[ext_resource type="SpriteFrames" uid="uid://ckmej3sbebfmq" path="res://scenes/quests/story_quests/shjourney/6_Espada/animacionEspada.tres" id="6_8vj3q"]
9-
[ext_resource type="PackedScene" uid="uid://bdtis4ye3hah2" path="res://scenes/quests/story_quests/shjourney/9_shjourney_outro_2/neblina.tscn" id="6_64amr"]
9+
[ext_resource type="PackedScene" uid="uid://dpbsi065gmh8a" path="res://scenes/game_elements/fx/fog/fog.tscn" id="6_kbdil"]
1010
[ext_resource type="PackedScene" uid="uid://ipvcfv2g0oi1" path="res://scenes/game_elements/characters/npcs/talker/talker.tscn" id="7_8vj3q"]
1111
[ext_resource type="AudioStream" uid="uid://cwee3805i1ys5" path="res://scenes/quests/story_quests/shjourney/Otros_componentes/musicas/Icy Glare.ogg" id="9_nlbmo"]
1212

@@ -2572,9 +2572,7 @@ speed_scale = 0.5
25722572
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1616008686]
25732573
libraries/ = SubResource("AnimationLibrary_peqcd")
25742574

2575-
[node name="ParallaxBackground" parent="." unique_id=1805699707 instance=ExtResource("6_64amr")]
2576-
scale = Vector2(0.5, 0.5)
2577-
transform = Transform2D(0.5, 0, 0, 0.5, 0, 0)
2575+
[node name="Fog" parent="." unique_id=953933321 instance=ExtResource("6_kbdil")]
25782576

25792577
[node name="AnimatedSprite2D2" type="AnimatedSprite2D" parent="." unique_id=1864769584]
25802578
unique_name_in_owner = true

0 commit comments

Comments
 (0)