Author SHA1 Message Date
zacharie 73c1c67f1e Dev beta 1.2
* Ajout d'un tutoriel pour recommencer
* Fix du Surchargeur de Talion qui ne fonctionnait pas
* Suppression de flou sur beaucoup d'éléments visuels pour des raisons de performances
* Augmentation du rayon de spawn du Talion
* Fix léger de la météo (suppression du brouillard lors de la pluie)
2026-05-03 22:45:37 +02:00
zacharie e7da19cb15 Dev Beta 1.1
* Ajout d'une météo aléatoire (pluie, brouillard, vent)
* Ajour d'un bouton pour un formulaire de playtest
2026-05-03 17:19:15 +02:00
51 changed files with 1033 additions and 332 deletions
@@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://bqmo8dqvbwrjy"
path="res://.godot/imported/dragon-studio-gentle-rain-07-437321.mp3-0d563814f1cc2abb83b1e2f2367220f0.mp3str"
[deps]
source_file="res://common/audio_manager/assets/ambiance/niveau/dragon-studio-gentle-rain-07-437321.mp3"
dest_files=["res://.godot/imported/dragon-studio-gentle-rain-07-437321.mp3-0d563814f1cc2abb83b1e2f2367220f0.mp3str"]
[params]
loop=true
loop_offset=0.0
bpm=0.0
beat_count=0
bar_beats=4
+12 -6
View File
@@ -3,6 +3,7 @@
[ext_resource type="Script" uid="uid://2p5d6vogtn82" path="res://common/audio_manager/scripts/audio_manager.gd" id="1_0tvca"]
[ext_resource type="AudioStream" uid="uid://dipnmlprwfo12" path="res://common/audio_manager/assets/ambiance/niveau/ambiance_phase_1.ogg" id="2_tuvql"]
[ext_resource type="AudioStream" uid="uid://b1hut6lc1jevh" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_2.ogg" id="4_2fduo"]
[ext_resource type="AudioStream" uid="uid://bqmo8dqvbwrjy" path="res://common/audio_manager/assets/ambiance/niveau/dragon-studio-gentle-rain-07-437321.mp3" id="4_aedoe"]
[ext_resource type="AudioStream" uid="uid://6yx6txbgc6pt" path="res://common/audio_manager/assets/ambiance/astra/ambiance_astra.ogg" id="5_8204s"]
[ext_resource type="AudioStream" uid="uid://dcbuhtc085q2x" path="res://common/audio_manager/assets/morceaux/niveau/mines_phase_1.ogg" id="5_ajci6"]
[ext_resource type="AudioStream" uid="uid://dsphn6dbbd55a" path="res://common/audio_manager/assets/morceaux/niveau/forest_phase_1.ogg" id="6_6o1yh"]
@@ -132,6 +133,14 @@ stream = ExtResource("7_ge2sc")
unique_name_in_owner = true
stream = ExtResource("2_tuvql")
[node name="ExteriorFoggy" type="AudioStreamPlayer" parent="Ambiances" unique_id=1741396762]
unique_name_in_owner = true
[node name="ExteriorRaining" type="AudioStreamPlayer" parent="Ambiances" unique_id=1946725047]
unique_name_in_owner = true
stream = ExtResource("4_aedoe")
volume_db = -20.0
[node name="Astra" type="AudioStreamPlayer" parent="Ambiances" unique_id=1244577212]
unique_name_in_owner = true
stream = ExtResource("5_8204s")
@@ -148,9 +157,6 @@ stream = ExtResource("7_spekb")
unique_name_in_owner = true
stream = ExtResource("8_tuvql")
[node name="Vending_room_base_relais" type="AudioStreamPlayer" parent="Ambiances" unique_id=1544089647]
stream = ExtResource("7_ge2sc")
[node name="Musics" type="Node" parent="." unique_id=1450527710]
unique_name_in_owner = true
@@ -174,9 +180,6 @@ stream = ExtResource("5_ajci6")
unique_name_in_owner = true
stream = ExtResource("4_2fduo")
[node name="RegionDesertPhase1" type="AudioStreamPlayer" parent="Musics" unique_id=2003475958]
stream = ExtResource("11_yjs51")
[node name="RegionForestLoop" type="AudioStreamPlayer" parent="Musics" unique_id=482654512]
unique_name_in_owner = true
stream = ExtResource("12_xmumj")
@@ -236,6 +239,9 @@ stream = ExtResource("23_ge2sc")
[node name="Recharge7" type="AudioStreamPlayer" parent="Sfx" unique_id=355754872]
stream = ExtResource("24_yr73o")
[node name="Rocks" type="AudioStreamPlayer" parent="Sfx" unique_id=1012908521]
stream = SubResource("AudioStreamRandomizer_kfbah")
[node name="Respawn" type="AudioStreamPlayer" parent="Sfx" unique_id=1902559716]
stream = ExtResource("16_xmumj")
@@ -42,7 +42,6 @@ func _on_change_scene(scene : Scene):
elif scene is IntroScene:
stop_all_musics()
elif scene is RegionScene:
play_ambiance("Exterior", false)
var region_level = GameInfo.game_data.current_run.level
var first_phase = REGION_FIRST_PHASE[region_level % len(REGION_FIRST_PHASE)]
var loop_phase = REGION_LOOP_PHASE[region_level % len(REGION_LOOP_PHASE)]
@@ -299,7 +298,7 @@ func set_volume(player : AudioStreamPlayer, to : float, fade_time = DEFAULT_FADE
return fade_tween
func start_player(player: AudioStreamPlayer, from_random_time = false, fade_time = DEFAULT_FADE_TIME):
if player and not player.playing:
if player and player.stream and not player.playing:
player.play(
0.0 if not from_random_time
else randf_range(0.0, player.stream.get_length())
+1
View File
@@ -33,6 +33,7 @@ signal current_region_data_updated(p : RegionData)
@export var game_mode : GameMode = GameMode.STORY
@export var dialogs_done : Array[String] = [] #Chemin des dialogues terminés
@export var tutorials_done : Array[String] = []
func start_run() -> RunData:
player_data.clear_inventory()
+21 -5
View File
@@ -32,27 +32,43 @@ func generate_next_run_points() -> Array[RunPoint]:
next_run_points = []
for i in range(story_step.get_run_point_number(level+1)):
var last_modifiers : Array[String] = []
if len(next_run_points):
for m in next_run_points[0].region_parameter.modifiers:
last_modifiers.append(m.modifier_name)
next_run_points.append(
generate_next_run_point()
generate_next_run_point(last_modifiers)
)
return next_run_points
func generate_next_run_point() -> RunPoint:
func generate_next_run_point(last_modifiers : Array[String] = []) -> RunPoint:
var region_parameter = RegionParameter.new()
var next_level = level+1
var challenge_modifiers = generate_challenge_modifiers().filter(
func(m : RegionModifier): return not m.modifier_name in last_modifiers
)
var benefic_modifiers = generate_benefic_modifiers().filter(
func(m : RegionModifier): return not m.modifier_name in last_modifiers
)
var normal_modifiers = generate_normal_modifiers().filter(
func(m : RegionModifier): return not m.modifier_name in last_modifiers
)
if story_step.need_gameplay_modifier(next_level):
var is_challenge = randf() < story_step.get_challenge_chance(next_level)
if is_challenge:
region_parameter.modifiers = [
generate_challenge_modifiers().pick_random(),
generate_benefic_modifiers().pick_random()
challenge_modifiers.pick_random(),
benefic_modifiers.pick_random()
] as Array[RegionModifier]
else:
region_parameter.modifiers = [
generate_normal_modifiers().pick_random()
normal_modifiers.pick_random()
] as Array[RegionModifier]
@@ -9,9 +9,9 @@ uniform vec2 viewport_size = vec2(1920.0, 1080.0);
// Uniforms for customization
uniform sampler2D noise_texture : repeat_enable;
uniform float cloud_speed : hint_range(0.0, 1.0) = 1.0;
uniform float cloud_speed : hint_range(0.0, 10.0) = 1.0;
uniform float cloud_delay : hint_range(0.0, 100.0) = 1.0;
uniform vec2 noise_dir = vec2(1.0,+1.0);
uniform vec2 cloud_dir = vec2(1.0,+1.0);
uniform vec3 cloud_color : source_color = vec3(0.8);
uniform float cloud_alpha : hint_range(0.0, 1.0) = 1.0;
uniform float cloud_size : hint_range(1.0, 100.0) = 10.0;
@@ -26,8 +26,8 @@ void fragment() {
float time = TIME+cloud_delay;
vec2 time_offset = time * noise_dir * cloud_speed * 0.01;
vec2 distorsion_time_offset = time * noise_dir * (cloud_speed + vec2(cloud_distorsion_speed,cloud_distorsion_speed)) * 0.01;
vec2 time_offset = time * cloud_dir * cloud_speed * 0.01;
vec2 distorsion_time_offset = time * cloud_dir * (cloud_speed + vec2(cloud_distorsion_speed,cloud_distorsion_speed)) * 0.01;
vec2 cloud_uv = world_pos * (1./(cloud_size*100.)) + time_offset;
vec2 distorsion_cloud_uv = world_pos * (1./(cloud_size*100.)) + distorsion_time_offset;
@@ -1,23 +0,0 @@
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
[wait time="1.5"]
join demeter center [animation="Bounce In" length="1.0"]
demeter: Hello again ! #id:1f
demeter: It seems that you ran out of energy.[pause=0.5].[pause=0.5]. #id:20
- I'm sorry... #id:21
- That's really hard ! #id:22
- I'm doing my best ! #id:23
demeter: It's ok [color=#FFA617]Orchid[/color] ![pause=0.5] I have spent years waiting for this moment,[pause=0.2] I can wait more ! #id:24
demeter: I found you a new body,[pause=0.2] and a new ship is waiting for you outside,[pause=0.2] but I'm afraid I couldn't get your seeds.[pause=0.3].[pause=0.3].[pause=0.3] I hope you'll find new ones ! #id:25
demeter: Do you need some advice ? #id:26
- No, I'm ok. #id:27
- Can I have some explanations on how all of this works again ? #id:28
demeter: When you emerge from this building,[pause=0.2] you will reach a little yellowish zone.[pause=0.3] It's a [b]fertile zone[/b],[pause=0.3] brought back by the [color=#119758][b]Talion's[/b][/color] power.[pause=0.5] You can only plant [b]seeds[/b] in this zone. #id:29
demeter: Then,[pause=0.3] you have to get [b]seeds[/b].[pause=0.5] To do so,[pause=0.2] just take your shovel and smash some stones ![pause=0.5] Focus on those having yellow crystals on it,[pause=0.3] these are [color=#119758][b]Talion veins[/b][/color]. #id:2a
demeter: Each time you use a tool like the shovel or plant a seed,[pause=0.2] you will spend one [b]energy[/b] charge.[pause=0.5] When you are out of it,[pause=0.2] just go recharge it at the [b]recharge station[/b].[pause=0.5] You will find it near the entrance of the base. #id:2b
demeter: Each time you recharge,[pause=0.2] a day will pass,[pause=0.3] your batteries are very inefficient.[pause=0.5] While the day is passing,[pause=0.3] plants will grow !
demeter: You have to produce enough [b]plant points[/b] to fill the tanks of the [color=#FFA617]Internode[/color].[pause=0.5] Each plant gives one or more [b]plant points[/b] when mature. #id:2c
demeter: Oh ! [pause=0.3] I almost forgot,[pause=0.3] some plants can [b]mutate[/b].[pause=0.5] These [b]mutations[/b] alter the points and behavior of the plant affected.[pause=0.5] [b]Mutations[/b] can appear while [b]harvesting[/b] mature plants and even become more powerful if you [b]harvest[/b] an already mutated one. #id:2d
demeter: Hope I helped. #id:2e
demeter: I'm sending you an elevator,[pause=0.3] see you soon ! #id:2f
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]
@@ -1,21 +0,0 @@
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
[wait time="1.5"]
join demeter center [animation="Bounce In" length="1.0"]
demeter: So you found the communication station in there,[pause=0.2] good ! #id:51
- What is next for me ? #id:52
demeter: Now that you have learnt how to produce [b]plant points[/b],[pause=0.2] I need you to travel north,[pause=0.2] to my base of operation,[pause=0.2] [color=#6CDAE7]Borea[/color]. #id:53
demeter: It will be long,[pause=0.3] but I know you can do it.[pause=0.5] It is the first step of my plan to restore the ecosytem of [color=#175579]Tau[/color]. #id:54
- Tau ? Is it this planet ? #id:55
demeter: Absolutely,[pause=0.2] it is part of the Cetus constellation,[pause=0.3] whose exploitation began 10863 years ago. #id:56
demeter: Linking Aldebaran to Fomalhaut,[pause=0.2] the Cetus constellation is one of the most diverse in terms of star systems and planets.[pause=0.5] It is part of the Orion Arm of the Milky Way. #id:57
- Why do you need me to travel through the entire planet to join you ? #id:58
demeter: Uhhhh.[pause=0.3].[pause=0.3].[pause=0.3] I need someone with your abilities. #id:59
demeter: I am having a problem at the [color=#6CDAE7]Borea[/color] base.[pause=0.5] And I cannot fix it alone. #id:5a
- I will do my best to be there quickly ! #id:5b
demeter: You are very kind [color=#FFA617]Orchid[/color] ! #id:5c
- Are you hiding information from me ? #id:5d
demeter: Not at all ![pause=0.5] Please believe me,[pause=0.2] I just want you to join me.[pause=0.5].[pause=0.5]. #id:5e
demeter: Travel south,[pause=0.3] join me at [color=#6CDAE7]Borea[/color].[pause=0.5] I will tell you everything you need to know when you are here,[pause=0.3] until then,[pause=0.2] keep your best seeds and continue to [b]develop your plants[/b],[pause=0.3] you will need them as advanced as possible. #id:5f
demeter: Good luck [color=#FFA617]{orchidName}[/color],[pause=0.3] I am counting on you. #id:60
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]
@@ -1,30 +0,0 @@
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/incoming_transmission.wav"
[wait time="1.5"]
join demeter center [animation="Bounce In" length="1.0"]
demeter: Hi again ![pause=0.5] You did well up there ! #id:61
demeter: Perhaps I should introduce myself now. #id:62
demeter: I am.[pause=0.3].[pause=0.3].[pause=0.5] was,[pause=0.2] the Deputy Manager of Engineering and Talion Energy Research on this planet,[pause=0.5] but my creators and colleagues quickly called me [color=#009bff]Demeter[/color]. #id:63
demeter: I am installed at the [color=#6CDAE7]Borea[/color] base,[pause=0.2] in the third server room of the east wing,[pause=0.2] from which I oversee.[pause=0.3].[pause=0.3].[pause=0.5] oversaw,[pause=0.3] all the important operations on this planet. #id:64
demeter: You are surely wondering where we are now.[pause=0.3].[pause=0.3]. #id:65
- Yes, among a lot of other questions ! So where am I ? #id:66
demeter: You're actually in an ancient human base,[pause=0.2] called [color=#E30022]Astra[/color].[pause=0.5] This room is connected to the one where you were activated,[pause=0.3] but I had to make you travel across the surface to test your abilities. #id:67
- Wait, can you explain me what did I just do up there ? #id:68
demeter: You have begun to fix what humans once inflicted on this planet.[pause=0.3].[pause=0.3].[pause=0.3] It will be a very long process,[pause=0.2] I hope you enjoyed it ! #id:69
- Sorry, but what is the point of all of that ? #id:6a
demeter: I'm sorry that you are lost my child.[pause=0.3].[pause=0.3].[pause=0.3] Just know that what you are doing is very important to me and the planet itself.[pause=0.5] Since humans are gone,[pause=0.2] we kinda all fell into despair... #id:6b
demeter: Wait.[pause=0.3].[pause=0.3].[pause=0.5] You don't know what humans are ![pause=0.5] Of course,[pause=0.2] since your database was corrupted I had to erase most of it. #id:6c
demeter: Humans are living creatures that are.[pause=0.3].[pause=0.3].[pause=0.5] Different from plants.[pause=0.5] They are mostly thinking and moving like us.[pause=0.5] Somehow,[pause=0.2] they are very cute creatures,[pause=0.2] that only live for less than a century. #id:6d
demeter: One human is relatively intelligent,[pause=0.2] but don't be fooled,[pause=0.2] together,[pause=0.2] they did great things.[pause=0.5] In fact,[pause=0.2] they created us. #id:6e
demeter: A long time ago,[pause=0.2] they discovered this planet.[pause=0.5] It was very different,[pause=0.2] plants were thriving everywhere ![pause=0.5] But then.[pause=0.3].[pause=0.3].[pause=0.5] they.[pause=0.3].[pause=0.3].[pause=0.5] I.[pause=0.3].[pause=0.3].[pause=0.5] #id:6f
- What ? #id:70
- Are you lagging? #id:71
- Take your time. #id:72
demeter: Humans had one major flaw.[pause=0.5] Together,[pause=0.2] they built great things,[pause=0.2] but sometimes great things had a bad impact on the environment and even themselves. #id:73
- Where are they now ? #id:74
demeter: I prefer not to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] But don't worry,[pause=0.2] they can no longer harm this planet. #id:75
- What happened ? #id:76
demeter: Sorry my child,[pause=0.3] I'm not ready to talk about that for now.[pause=0.3].[pause=0.3].[pause=0.3] You'll have your answers when you meet me. #id:77
- Can I know what is this shiny machine just next to me ? #id:78
demeter: This machine is a planetary ship ![pause=0.5] This model is called [color=#FFA617]Internode[/color],[pause=0.3] I tweaked it to recharge on vegetal energy.[pause=0.5] However,[pause=0.2] as you know,[pause=0.2] this type of energy is uncommon on this planet.[pause=0.5] But let's continue on board,[pause=0.2] shall we ? #id:79
audio "res://common/audio_manager/assets/sfx/dialogs/sfx/closing_transmission.wav"
[wait time="2.0"]
@@ -152,21 +152,14 @@ static func generate_first_mutation(rarity := 0) -> PlantMutation:
static func mutate_mutations(mutations : Array[PlantMutation]) -> Array[PlantMutation]:
var mutation_possibility : Array[MutationPossibility] = [
AddMutation.new()
]
var mutation_possibility : Array[MutationPossibility] = []
if (
len(mutations) >= GameInfo.game_data.current_run.plant_info.get_mutation_max_number()
len(mutations) < GameInfo.game_data.current_run.plant_info.get_mutation_max_number()
):
mutation_possibility = [
UpgradeMutation.new(),
]
mutation_possibility.append(AddMutation.new())
elif len(mutations) > 0:
mutation_possibility = [
AddMutation.new(),
UpgradeMutation.new(),
]
mutation_possibility.append(UpgradeMutation.new())
var chosen_mutation_possibility = mutation_possibility.pick_random()
+7 -2
View File
@@ -4,6 +4,7 @@
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="2_luv2b"]
[ext_resource type="Texture2D" uid="uid://cdpqg3pkjcw2h" path="res://stages/title_screen/assets/textures/title.png" id="3_urbel"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_5k6jv"]
[ext_resource type="PackedScene" uid="uid://bpy6sqa71gcfm" path="res://gui/credits/socials/survey.tscn" id="5_5k6jv"]
[ext_resource type="PackedScene" uid="uid://bc3byq8e45ejj" path="res://gui/credits/socials/steam.tscn" id="5_luv2b"]
[ext_resource type="PackedScene" uid="uid://c8flevrkelpvy" path="res://gui/credits/socials/instagram.tscn" id="5_yknhu"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="7_urbel"]
@@ -62,13 +63,17 @@ text = "THANKS_FOR_PLAYING"
label_settings = ExtResource("4_5k6jv")
horizontal_alignment = 1
[node name="SteamButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=1181450581 instance=ExtResource("5_luv2b")]
[node name="SurveyButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=1337726269 instance=ExtResource("5_5k6jv")]
layout_mode = 2
link = "https://store.steampowered.com/app/4444510/Seeding_The_Wasteland/"
size_flags_horizontal = 4
[node name="InstagramButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=68880754 instance=ExtResource("5_yknhu")]
layout_mode = 2
[node name="SteamButton" parent="MarginContainer/GridContainer/VBoxContainer" unique_id=1181450581 instance=ExtResource("5_luv2b")]
layout_mode = 2
link = "https://store.steampowered.com/app/4444510/Seeding_The_Wasteland/"
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/GridContainer" unique_id=105267250]
layout_mode = 2
size_flags_horizontal = 3
+2 -1
View File
@@ -41,8 +41,9 @@ corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[node name="SteamButton" type="Button" unique_id=1181450581]
offset_top = 1.0
offset_right = 447.0
offset_bottom = 42.0
offset_bottom = 43.0
size_flags_horizontal = 4
theme = ExtResource("1_emeyy")
theme_override_constants/icon_max_width = 30
+54
View File
@@ -0,0 +1,54 @@
[gd_scene format=3 uid="uid://bpy6sqa71gcfm"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="1_8xrox"]
[ext_resource type="Texture2D" uid="uid://dth2mj0nh2q70" path="res://common/icons/align-right.svg" id="2_5d2f4"]
[ext_resource type="Script" uid="uid://bkbcl77m28sfv" path="res://gui/credits/socials/scripts/link_button.gd" id="3_fvgn8"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8xrox"]
bg_color = Color(0.54509807, 0.1764706, 1, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0.54509807, 0.1764706, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5d2f4"]
bg_color = Color(0.6256068, 0.4293661, 1, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0.54509807, 0.1764706, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fvgn8"]
bg_color = Color(0.627451, 0.42745098, 1, 1)
border_width_left = 6
border_width_top = 6
border_width_right = 6
border_width_bottom = 6
border_color = Color(0.627451, 0.42745098, 1, 1)
corner_radius_top_left = 5
corner_radius_top_right = 5
corner_radius_bottom_right = 5
corner_radius_bottom_left = 5
[node name="SurveyButton" type="Button" unique_id=1337726269]
size_flags_horizontal = 8
theme = ExtResource("1_8xrox")
theme_override_constants/icon_max_width = 30
theme_override_font_sizes/font_size = 20
theme_override_styles/normal = SubResource("StyleBoxFlat_8xrox")
theme_override_styles/pressed = SubResource("StyleBoxFlat_5d2f4")
theme_override_styles/hover = SubResource("StyleBoxFlat_fvgn8")
text = "TAKE_A_QUICK_SURVEY"
icon = ExtResource("2_5d2f4")
script = ExtResource("3_fvgn8")
link = "https://docs.google.com/forms/d/e/1FAIpQLScExc77ra_xGPFbaSYsXy-T9THceIc4fcbnhih-1Zlvysdcnw/viewform?usp=dialog"
@@ -2,12 +2,6 @@
[ext_resource type="Script" uid="uid://bqdylb4maacf0" path="res://addons/dialogic/Modules/DefaultLayoutParts/Layer_FullBackground/full_background_layer.gd" id="1_tu40u"]
[ext_resource type="Script" uid="uid://oxcjhq2817c7" path="res://addons/dialogic/Modules/Background/node_background_holder.gd" id="2_ghan2"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="2_v1ioh"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_v1ioh"]
shader = ExtResource("2_v1ioh")
shader_parameter/strength = 3.3
shader_parameter/mix_percentage = 0.3
[node name="BackgroundLayer" type="Control" unique_id=421215061]
layout_direction = 2
@@ -20,7 +14,7 @@ grow_vertical = 2
script = ExtResource("1_tu40u")
[node name="DialogicNode_BackgroundHolder_Blur" type="ColorRect" parent="." unique_id=726280929]
material = SubResource("ShaderMaterial_v1ioh")
modulate = Color(1, 1, 1, 0.8)
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
@@ -28,4 +22,5 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0.0627451, 0.05882353, 0.16862746, 1)
script = ExtResource("2_ghan2")
+26 -9
View File
@@ -2,7 +2,6 @@
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="1_0ssee"]
[ext_resource type="Script" uid="uid://bvb4v66bqteuc" path="res://gui/game/announce/scripts/announce.gd" id="1_4evne"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="2_b6hac"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="2_iwcrn"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="3_7nrno"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_aao0q"]
@@ -10,11 +9,6 @@
[ext_resource type="Script" uid="uid://bqisp5hjs06rj" path="res://gui/game/announce/scripts/announce_inspectable.gd" id="6_aao0q"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="9_b6hac"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_f0v68"]
shader = ExtResource("2_b6hac")
shader_parameter/strength = 5.00000023424012
shader_parameter/mix_percentage = 0.3
[sub_resource type="ViewportTexture" id="ViewportTexture_huxc5"]
viewport_path = NodePath("Particles/SubViewport")
@@ -85,6 +79,18 @@ tracks/3/keys = {
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("MarginContainer/BackgroundRect:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_b6hac"]
resource_name = "appear"
@@ -137,6 +143,18 @@ tracks/3/keys = {
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("MarginContainer/BackgroundRect:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.03333333, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6qyp1"]
_data = {
@@ -155,8 +173,7 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="BlurRect" type="ColorRect" parent="MarginContainer" unique_id=1271832904]
material = SubResource("ShaderMaterial_f0v68")
[node name="BackgroundRect" type="ColorRect" parent="MarginContainer" unique_id=1271832904]
layout_mode = 2
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
@@ -231,7 +248,7 @@ size = Vector2i(300, 300)
[node name="AnnouceObject" type="Node3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=986671004]
unique_name_in_owner = true
transform = Transform3D(-0.4963247, -0.7514756, 0.43456152, -0.8508927, 0.32199714, -0.4149924, 0.17189625, -0.57574874, -0.79934174, 0, 0, 0)
transform = Transform3D(-0.4322992, 0.01924802, 0.90143085, -0.8508927, 0.32199714, -0.4149924, -0.29827252, -0.94641316, -0.1228672, 0, 0, 0)
[node name="Camera3D" type="Camera3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1788331074]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
@@ -2,7 +2,6 @@
[ext_resource type="Script" uid="uid://mrw23oxsai10" path="res://gui/game/inventory_gui/inventory_item/scripts/inventory_item_3d.gd" id="1_nsad1"]
[ext_resource type="PackedScene" uid="uid://oktd71knql00" path="res://gui/game/inventory_gui/assets/3d/item_screen.blend" id="2_1uxm0"]
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="2_hv1tg"]
[ext_resource type="Script" uid="uid://bq7admu4ahs5r" path="res://entities/player/inventory/scripts/item.gd" id="3_ixa47"]
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="5_g1uf8"]
[ext_resource type="Texture2D" uid="uid://ds4m14vl7he6v" path="res://common/icons/pick.svg" id="6_jdjjl"]
@@ -60,14 +59,12 @@ texture = SubResource("GradientTexture2D_g1uf8")
[node name="ItemScreen" type="Sprite3D" parent="." unique_id=1128109703]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.08962244)
visible = false
transparent = false
texture = SubResource("GradientTexture2D_jdjjl")
[node name="ToolScreen" type="Sprite3D" parent="." unique_id=1384339729]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.08962244)
visible = false
transparent = false
texture = SubResource("GradientTexture2D_gj8fm")
@@ -76,20 +73,40 @@ unique_name_in_owner = true
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0.004884802, -0.0937915)
modulate = Color(1, 1, 1, 0.3)
pixel_size = 0.0020833334
texture = ExtResource("2_hv1tg")
[node name="ParticleSprite1" type="Sprite3D" parent="." unique_id=811884632]
[node name="ParticleSprites" type="Node3D" parent="." unique_id=427396867]
unique_name_in_owner = true
[node name="ParticleSprite1" type="Sprite3D" parent="ParticleSprites" unique_id=811884632]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.04235574, -0.03381054, -0.105405755)
pixel_size = 0.001
texture = ExtResource("5_g1uf8")
[node name="ParticleSprite2" type="Sprite3D" parent="." unique_id=1076243108]
unique_name_in_owner = true
[node name="ParticleSprite2" type="Sprite3D" parent="ParticleSprites" unique_id=1076243108]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.042, -0.034, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="ParticleSprite3" type="Sprite3D" parent="ParticleSprites" unique_id=490761808]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0029564463, -0.034, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="ParticleSprite4" type="Sprite3D" parent="ParticleSprites" unique_id=1224179780]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.04235574, 0.04323736, -0.105405755)
pixel_size = 0.001
texture = ExtResource("5_g1uf8")
[node name="ParticleSprite5" type="Sprite3D" parent="ParticleSprites" unique_id=241043116]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.042, 0.043047898, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="ParticleSprite6" type="Sprite3D" parent="ParticleSprites" unique_id=1794865960]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0029564463, 0.043047898, -0.105)
pixel_size = 0.001
texture = ExtResource("6_jdjjl")
[node name="Area3D" type="Area3D" parent="." unique_id=426596211]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" unique_id=2020875183]
@@ -19,10 +19,9 @@ func _ready():
func set_item(i : Item = item):
item = i
if is_node_ready():
%ParticleSprite1.visible = false
%ParticleSprite2.visible = false
%ParticleSprite1.modulate = Color.WHITE
%ParticleSprite2.modulate = Color.WHITE
for c in %ParticleSprites.get_children():
c.visible = false
c.modulate = Color.WHITE
%ItemIconSprite.texture = null
if i and i.icon:
@@ -30,15 +29,11 @@ func set_item(i : Item = item):
%ItemIconSprite.pixel_size = SPRITE_SIZE / i.icon.get_width()
for j in range(len(i.get_particles())):
if j == 0:
%ParticleSprite1.visible = true
%ParticleSprite1.texture = i.get_particles()[j].texture
%ParticleSprite1.modulate = i.get_particles()[j].color
if j == 1:
%ParticleSprite2.visible = true
%ParticleSprite2.texture = i.get_particles()[j].texture
%ParticleSprite2.modulate = i.get_particles()[j].color
if j < 6:
var sprite = %ParticleSprites.get_children()[j] as Sprite3D
sprite.visible = true
sprite.texture = i.get_particles()[j].texture
sprite.modulate = i.get_particles()[j].color
func set_state(s := state):
+4 -12
View File
@@ -1,8 +1,6 @@
[gd_scene format=3 uid="uid://yk78ubpu5ghq"]
[ext_resource type="Script" uid="uid://2qomrdxbvxqa" path="res://gui/game/pass_day/scripts/pass_day.gd" id="1_0pm4g"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="1_v570a"]
[ext_resource type="Script" uid="uid://i7glvbe8pdr8" path="res://gui/game/pass_day/scripts/pass_day_background.gd" id="2_bhfpo"]
[ext_resource type="PackedScene" uid="uid://brfsapvj2quxm" path="res://gui/game/energy_info/energy_info.tscn" id="2_feyaf"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="4_0pm4g"]
[ext_resource type="Script" uid="uid://0dhj8sdpil7q" path="res://gui/tools/control_animation_player.gd" id="5_dqmg8"]
@@ -10,11 +8,6 @@
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="7_h2bel"]
[ext_resource type="Texture2D" uid="uid://cihiibon53147" path="res://gui/game/pass_day/assets/day_night_sprite.svg" id="7_m84xg"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_27lg1"]
shader = ExtResource("1_v570a")
shader_parameter/strength = 0.0
shader_parameter/mix_percentage = 0.0
[sub_resource type="LabelSettings" id="LabelSettings_rn4dm"]
font = ExtResource("7_h2bel")
font_size = 25
@@ -60,22 +53,21 @@ _data = {
[node name="PassDay" type="CanvasLayer" unique_id=335255544]
layer = 3
visible = false
script = ExtResource("1_0pm4g")
[node name="Blur" type="ColorRect" parent="." unique_id=546890405]
[node name="Background" type="ColorRect" parent="." unique_id=527935985]
unique_name_in_owner = true
physics_interpolation_mode = 0
material = SubResource("ShaderMaterial_27lg1")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("2_bhfpo")
color = Color(0.0627451, 0.05882353, 0.16862746, 1)
[node name="PassDayInfo" type="VBoxContainer" parent="." unique_id=833110506]
unique_name_in_owner = true
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
+8 -23
View File
@@ -2,8 +2,6 @@
extends CanvasLayer
class_name PassDay
const BLUR_STRENGTH = 10
const BLUR_MIX_PERCENTAGE = 0.8
const TIME_BY_ENERGY = 0.3
const TIME_MARGIN = 0.2
@@ -26,8 +24,8 @@ var is_animation_disappeared := false
func _ready():
hide()
setup_energy_values()
%Blur.show()
%PassDayInfo.hide()
%Background.modulate.a = 0.
func _process(delta):
if recharging:
@@ -73,47 +71,34 @@ func pass_day_animation():
func appear():
show()
add_tween(
"blur_mix_percentage",
%Blur,
BLUR_MIX_PERCENTAGE,
0.5
)
add_tween(
"modulate:a",
%NightAnimation,
%Background,
1.,
0.5
)
await add_tween(
"blur_strength",
%Blur,
BLUR_STRENGTH,
"modulate:a",
%NightAnimation,
1.,
0.5
).finished
await %PassDayInfoAnimationPlayer.appear()
func disappear():
await %PassDayInfoAnimationPlayer.disappear()
add_tween(
"blur_mix_percentage",
%Blur,
"modulate:a",
%Background,
0.0,
0.5
)
add_tween(
await add_tween(
"modulate:a",
%NightAnimation,
0.,
0.5
)
await add_tween(
"blur_strength",
%Blur,
0.1,
0.5
).finished
hide()
+25 -8
View File
@@ -4,7 +4,6 @@
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="2_1wikm"]
[ext_resource type="Texture2D" uid="uid://1ynlp05wj0hm" path="res://common/icons/rocket.svg" id="3_8kuag"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_1wikm"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="5_5i4hd"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="6_hgus1"]
[ext_resource type="PackedScene" uid="uid://753270jjxmfg" path="res://gui/game/card/card.tscn" id="6_vg3tr"]
[ext_resource type="Texture2D" uid="uid://bgi4rc50par30" path="res://common/icons/arrow-narrow-right.svg" id="7_6k6bq"]
@@ -30,11 +29,6 @@ corner_radius_bottom_left = 20
font = ExtResource("4_1wikm")
font_size = 20
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pu6eb"]
shader = ExtResource("5_5i4hd")
shader_parameter/strength = 8.00000037674012
shader_parameter/mix_percentage = 0.3
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ebkn5"]
[sub_resource type="Resource" id="Resource_ditr3"]
@@ -99,6 +93,18 @@ tracks/2/keys = {
"update": 1,
"values": [1.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Background:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_58nqq"]
resource_name = "appear"
@@ -139,6 +145,18 @@ tracks/2/keys = {
"update": 0,
"values": [0.0, 1.0]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Background:modulate:a")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.06666667, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ebkn5"]
_data = {
@@ -200,8 +218,7 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="BlurRect" type="ColorRect" parent="PlantInfoTutorial" unique_id=35513528]
material = SubResource("ShaderMaterial_pu6eb")
[node name="Background" type="ColorRect" parent="PlantInfoTutorial" unique_id=35513528]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
-2
View File
@@ -177,12 +177,10 @@ vertical_alignment = 1
[node name="Settings" parent="." unique_id=758381952 instance=ExtResource("4_58dya")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="Controls" parent="." unique_id=358658336 instance=ExtResource("11_urlqn")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1779993260]
+1 -1
View File
@@ -16,7 +16,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
config/name="Seeding The Wasteland"
config/description="Seeding planets is a survival, managment and cosy game in which you play a little gardener robot."
config/version="beta-1"
config/version="beta-1.2"
run/main_scene="uid://c5bruelvqbm1k"
config/features=PackedStringArray("4.6", "Forward Plus")
config/icon="uid://df0y0s666ui4h"
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://7lw40nfj4lhl"
path="res://.godot/imported/Capture d'écran 2026-04-17 112838.png-64ef83d52ce9df1c5c41e85939ab8a4a.ctex"
path="res://.godot/imported/dashboard_screenshot.png-497ed6906da9bb4e00209ea265f64ca1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 112838.png"
dest_files=["res://.godot/imported/Capture d'écran 2026-04-17 112838.png-64ef83d52ce9df1c5c41e85939ab8a4a.ctex"]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/dashboard_screenshot.png"
dest_files=["res://.godot/imported/dashboard_screenshot.png-497ed6906da9bb4e00209ea265f64ca1.ctex"]
[params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cc1lk4ei4flxs"
path="res://.godot/imported/empty_inventory_screenshot.png-139ea0dba0426e0f0c8ad7743c9059ac.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/empty_inventory_screenshot.png"
dest_files=["res://.godot/imported/empty_inventory_screenshot.png-139ea0dba0426e0f0c8ad7743c9059ac.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
@@ -3,15 +3,15 @@
importer="texture"
type="CompressedTexture2D"
uid="uid://d17ru4hw8okj1"
path="res://.godot/imported/Capture d'écran 2026-04-17 113002.png-0eb5866e63755f5d73921a67745288a0.ctex"
path="res://.godot/imported/objective_screenshot.png-b92431e401836a099382d2c5069658a3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 113002.png"
dest_files=["res://.godot/imported/Capture d'écran 2026-04-17 113002.png-0eb5866e63755f5d73921a67745288a0.ctex"]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/objective_screenshot.png"
dest_files=["res://.godot/imported/objective_screenshot.png-b92431e401836a099382d2c5069658a3.ctex"]
[params]
Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0x6r3010hvul"
path="res://.godot/imported/orchid_saver_screenshot.png-9e2871da6a274f9384dfce696db1bb4d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/orchid_saver_screenshot.png"
dest_files=["res://.godot/imported/orchid_saver_screenshot.png-9e2871da6a274f9384dfce696db1bb4d.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
+7 -1
View File
@@ -14,6 +14,7 @@
[ext_resource type="PackedScene" uid="uid://cd8j7v7qtybi8" path="res://stages/3d_scenes/cockpit_scene/ship_tutorial.tscn" id="13_u7lr8"]
[ext_resource type="Material" uid="uid://cr7bp4fhh1ipr" path="res://entities/player_3d/resources/materials/post_process_quad.tres" id="14_d1blr"]
[ext_resource type="PackedScene" uid="uid://ci4x1q326lvyy" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/mutation_discovered_screen/mutation_discovery_screen.tscn" id="15_q4ojn"]
[ext_resource type="PackedScene" uid="uid://cn2hob1i72a25" path="res://stages/3d_scenes/cockpit_scene/fail_tutorial.tscn" id="15_wrlf0"]
[ext_resource type="PackedScene" uid="uid://u3o5g8lmck74" path="res://entities/interactable_3d/orchid_saver/orchid_saver.tscn" id="16_nfjul"]
[ext_resource type="Texture2D" uid="uid://d3k7rl7nbp7yx" path="res://common/icons/device-floppy.svg" id="17_ggekp"]
[ext_resource type="PackedScene" uid="uid://blvetnnib2ks0" path="res://stages/3d_scenes/cockpit_scene/assets/3d/cockpit2.blend" id="17_omtjc"]
@@ -163,8 +164,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.239, 0, 4.02)
[node name="MutationDiscoveryScreen" parent="." unique_id=1948337200 instance=ExtResource("15_q4ojn")]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 1.1896521, 0.015508115, 3.982)
[node name="ShipTutorial" parent="." unique_id=868547496 instance=ExtResource("13_u7lr8")]
[node name="ShipTutorial" parent="." unique_id=868547496 node_paths=PackedStringArray("player") instance=ExtResource("13_u7lr8")]
unique_name_in_owner = true
player = NodePath("../Player3D")
[node name="FailTutorial" parent="." unique_id=190805806 node_paths=PackedStringArray("player") instance=ExtResource("15_wrlf0")]
unique_name_in_owner = true
player = NodePath("../Player3D")
[node name="TrailerCamera" type="Camera3D" parent="." unique_id=297848285]
unique_name_in_owner = true
@@ -0,0 +1,333 @@
[gd_scene format=3 uid="uid://cn2hob1i72a25"]
[ext_resource type="Script" uid="uid://cqc8vta5ffmwt" path="res://stages/3d_scenes/cockpit_scene/scripts/ship_tutorial.gd" id="1_rymdr"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="2_46i67"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_liq62"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_wr0v8"]
[ext_resource type="PackedScene" uid="uid://bihsgpfqaiqml" path="res://entities/interactable_3d/orchid_saver/assets/3d/orchid_saver.blend" id="5_p3ndq"]
[ext_resource type="Texture2D" uid="uid://d0x6r3010hvul" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/orchid_saver_screenshot.png" id="5_rymdr"]
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="7_1fdaa"]
[ext_resource type="Texture2D" uid="uid://cc1lk4ei4flxs" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/empty_inventory_screenshot.png" id="8_46i67"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="9_xako4"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="10_dpqev"]
[sub_resource type="ViewportTexture" id="ViewportTexture_2y716"]
viewport_path = NodePath("Particles/SubViewport")
[sub_resource type="Curve" id="Curve_6olc8"]
_limits = [-200.0, 200.0, 0.0, 1.0]
_data = [Vector2(0, -200), 0.0, 560.0, 0, 0, Vector2(0.08235294, 92.384125), 1336.3082, 1336.3082, 0, 0, Vector2(0.34901965, 200), 0.0, 0.0, 0, 0, Vector2(0.854902, -200), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="Gradient" id="Gradient_cnkwc"]
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="LabelSettings" id="LabelSettings_n2u7g"]
font = ExtResource("3_liq62")
font_size = 50
font_color = Color(1, 0.6509804, 0.09019608, 1)
[sub_resource type="ViewportTexture" id="ViewportTexture_11pbi"]
viewport_path = NodePath("MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport")
[sub_resource type="Animation" id="Animation_2y716"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer/FailTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Particles:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MarginContainer/FailTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [12]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_6olc8"]
resource_name = "appear"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.13333334),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MarginContainer/FailTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.2, 0.73333335),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Particles:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.2, 0.7),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("MarginContainer/FailTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.26666665, 0.73333335),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [554, 8]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.16666667, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_cnkwc"]
_data = {
&"RESET": SubResource("Animation_2y716"),
&"appear": SubResource("Animation_6olc8")
}
[node name="FailTutorial" type="CanvasLayer" unique_id=868547496 node_paths=PackedStringArray("object_3d", "ok_button", "animation_player")]
script = ExtResource("1_rymdr")
object_3d = NodePath("MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport/orchid_saver")
ok_button = NodePath("MarginContainer/FailTutorialContainer/OkButton")
animation_player = NodePath("AnimationPlayer")
tutorial_name = "fail"
[node name="Background" type="ColorRect" parent="." unique_id=1582095070]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.037180007, 0.020800002, 0.13, 1)
[node name="Particles" type="TextureRect" parent="." unique_id=552383374]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -179.0
offset_top = -179.0
offset_right = 179.0
offset_bottom = 179.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_2y716")
expand_mode = 1
[node name="SubViewport" type="SubViewport" parent="Particles" unique_id=205461032]
transparent_bg = true
size = Vector2i(1000, 1000)
[node name="GPUParticles2D" type="CPUParticles2D" parent="Particles/SubViewport" unique_id=612988274]
position = Vector2(500, 500)
amount = 20
texture = ExtResource("2_46i67")
preprocess = 1.0
spread = 180.0
gravity = Vector2(0, 0)
initial_velocity_min = 2.0
initial_velocity_max = 2.0
linear_accel_min = 5.0
linear_accel_max = 5.0
linear_accel_curve = SubResource("Curve_6olc8")
color_ramp = SubResource("Gradient_cnkwc")
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1783612054]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="FailTutorialContainer" type="VBoxContainer" parent="MarginContainer" unique_id=732188526]
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="ShipTutorialText" type="Label" parent="MarginContainer/FailTutorialContainer" unique_id=1403992763]
unique_name_in_owner = true
layout_mode = 2
text = "OUT_OF_ENERGY"
label_settings = SubResource("LabelSettings_n2u7g")
horizontal_alignment = 1
[node name="ShipTutorialTitle" type="Label" parent="MarginContainer/FailTutorialContainer" unique_id=2022459650]
unique_name_in_owner = true
layout_mode = 2
text = "USE_THE_BACKUP_DEVICE_TO_RESPAWN_TO_LAST_BASE"
label_settings = ExtResource("4_wr0v8")
horizontal_alignment = 1
autowrap_mode = 3
[node name="GridContainer" type="GridContainer" parent="MarginContainer/FailTutorialContainer" unique_id=1001794244]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/h_separation = 35
columns = 3
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/FailTutorialContainer/GridContainer" unique_id=1184100238]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer" unique_id=458438699]
layout_mode = 2
texture = ExtResource("5_rymdr")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer" unique_id=1193611093]
layout_mode = 2
bbcode_enabled = true
text = "STEP_ON_THE_DATA_SAVER_TEXT"
fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="OrchidSaverVisualiser" type="TextureRect" parent="MarginContainer/FailTutorialContainer/GridContainer" unique_id=692971472]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
mouse_filter = 0
texture = SubResource("ViewportTexture_11pbi")
stretch_mode = 5
[node name="SubViewport" type="SubViewport" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser" unique_id=1153633037]
own_world_3d = true
transparent_bg = true
size = Vector2i(400, 400)
[node name="orchid_saver" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport" unique_id=1027429202 instance=ExtResource("5_p3ndq")]
transform = Transform3D(0.4685929, 0, -0.8834142, 0, 1, 0, 0.8834142, 0, 0.4685929, 0, -0.5, 0)
[node name="Capsule" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport/orchid_saver" index="0" unique_id=1504808872]
visible = false
[node name="Camera3D" type="Camera3D" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport" unique_id=541588220]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
current = true
fov = 30.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport" unique_id=1274670225]
environment = ExtResource("7_1fdaa")
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/FailTutorialContainer/GridContainer" unique_id=1062837751]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer2" unique_id=227115375]
layout_mode = 2
texture = ExtResource("8_46i67")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/FailTutorialContainer/GridContainer/VBoxContainer2" unique_id=1438289614]
layout_mode = 2
bbcode_enabled = true
text = "RESTART_FROM_LAST_BASE_WITHOUT_SEEDS_TEXT"
fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="OkButton" type="Button" parent="MarginContainer/FailTutorialContainer" unique_id=879779245]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("9_xako4")
text = "OK"
icon = ExtResource("10_dpqev")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1299060348]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_cnkwc")
[connection signal="button_down" from="MarginContainer/FailTutorialContainer/OkButton" to="." method="_on_ok_button_button_down"]
[editable path="MarginContainer/FailTutorialContainer/GridContainer/OrchidSaverVisualiser/SubViewport/orchid_saver"]
@@ -34,23 +34,14 @@ func _ready():
%Exit.clicked.connect(_on_exit_clicked)
%Exit.interactable = can_exit()
if not GameInfo.game_data.progression_data.ship_tutorial_done:
if not "ship" in GameInfo.game_data.tutorials_done:
await get_tree().create_timer(1).timeout
await show_tutorial()
%ShipTutorial.appear()
if GameInfo.game_data.game_mode == GameData.GameMode.STORY:
update_dialogs()
func show_tutorial():
AudioManager.play_sfx("Reveal")
%ShipTutorial.appear()
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
%Player3D.controlling_player=false
await %ShipTutorial.disappeared
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
%Player3D.controlling_player=true
GameInfo.game_data.progression_data.ship_tutorial_done = true
func update_dialogs():
if GameInfo.game_data and GameInfo.game_data.current_run:
var run_data = GameInfo.game_data.current_run
@@ -86,12 +77,16 @@ func _on_phone_clicked():
%Phone.stop_audio()
%Phone.interactable = false
if len(phone_dialogs):
Dialogic.start(phone_dialogs.pop_front())
var phone_dialog : String = phone_dialogs.pop_front()
Dialogic.start(phone_dialog)
await Dialogic.timeline_ended
if phone_dialog == FAILED_DIALOG:
%FailTutorial.appear()
if (len(phone_dialogs)):
await get_tree().create_timer(2.).timeout
ring_phone()
func move_to_choosen_run_point():
GameInfo.game_data.current_run.choose_next_run_point(choosen_run_point)
@@ -1,7 +1,13 @@
extends CanvasLayer
class_name ShipTutorial
const DEFAULT_SHIP_ACCELERATION = Vector2(1,0)
const DEFAULT_OBJECT_ACCELERATION = Vector2(1,0)
@export var object_3d : Node3D
@export var ok_button : Button
@export var animation_player : AnimationPlayer
@export var player : Player3D
@export var tutorial_name := "ship"
signal disappeared
@@ -14,9 +20,13 @@ var next_mouse_pos : Vector2
func _ready():
hide()
ok_button.button_down.connect(_on_ok_button_button_down)
func appear():
%AnimationPlayer.play("appear")
AudioManager.play_sfx("Reveal")
animation_player.play("appear")
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
player.controlling_player=false
Pointer.action_disabled = true
func _process(delta):
@@ -44,15 +54,18 @@ func update_rotation(delta):
)
prev_mouse_pos = next_mouse_pos
else :
object_acceleration = object_acceleration.lerp(DEFAULT_SHIP_ACCELERATION, 0.1)
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
%Ship.rotate(Vector3.UP, object_rotation.x * delta)
%Ship.rotate(Vector3.RIGHT, object_rotation.y * delta)
object_3d.rotate(Vector3.UP, object_rotation.x * delta)
object_3d.rotate(Vector3.RIGHT, object_rotation.y * delta)
func _on_ok_button_button_down():
%AnimationPlayer.play_backwards("appear")
animation_player.play_backwards("appear")
disappeared.emit()
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
player.controlling_player = true
GameInfo.game_data.tutorials_done.append(tutorial_name)
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
@@ -1,21 +1,15 @@
[gd_scene format=3 uid="uid://cd8j7v7qtybi8"]
[ext_resource type="Script" uid="uid://cqc8vta5ffmwt" path="res://stages/3d_scenes/cockpit_scene/scripts/ship_tutorial.gd" id="1_1jkg7"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="1_11pbi"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="2_1jkg7"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="3_ofwam"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_wyjs5"]
[ext_resource type="PackedScene" uid="uid://blvetnnib2ks0" path="res://stages/3d_scenes/cockpit_scene/assets/3d/cockpit2.blend" id="4_ofwam"]
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="5_2y716"]
[ext_resource type="Texture2D" uid="uid://7lw40nfj4lhl" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 112838.png" id="6_2y716"]
[ext_resource type="Texture2D" uid="uid://7lw40nfj4lhl" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/dashboard_screenshot.png" id="6_2y716"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="6_6olc8"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="7_cnkwc"]
[ext_resource type="Texture2D" uid="uid://d17ru4hw8okj1" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/Capture d'écran 2026-04-17 113002.png" id="9_6olc8"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wa8fb"]
shader = ExtResource("1_11pbi")
shader_parameter/strength = 8.00000037674012
shader_parameter/mix_percentage = 0.3
[ext_resource type="Texture2D" uid="uid://d17ru4hw8okj1" path="res://stages/3d_scenes/cockpit_scene/assets/textures/tutorial_screenshots/objective_screenshot.png" id="9_6olc8"]
[sub_resource type="ViewportTexture" id="ViewportTexture_2y716"]
viewport_path = NodePath("Particles/SubViewport")
@@ -35,7 +29,7 @@ font_size = 50
font_color = Color(1, 0.6509804, 0.09019608, 1)
[sub_resource type="ViewportTexture" id="ViewportTexture_11pbi"]
viewport_path = NodePath("ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport")
viewport_path = NodePath("MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport")
[sub_resource type="Animation" id="Animation_2y716"]
length = 0.001
@@ -54,7 +48,7 @@ tracks/0/keys = {
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("ShipTutorialContainer:modulate")
tracks/1/path = NodePath("MarginContainer/ShipTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
@@ -78,7 +72,7 @@ tracks/2/keys = {
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("ShipTutorialContainer:theme_override_constants/separation")
tracks/3/path = NodePath("MarginContainer/ShipTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
@@ -87,6 +81,18 @@ tracks/3/keys = {
"update": 1,
"values": [12]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [1.0]
}
[sub_resource type="Animation" id="Animation_6olc8"]
resource_name = "appear"
@@ -106,7 +112,7 @@ tracks/0/keys = {
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("ShipTutorialContainer:modulate")
tracks/1/path = NodePath("MarginContainer/ShipTutorialContainer:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
@@ -130,7 +136,7 @@ tracks/2/keys = {
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("ShipTutorialContainer:theme_override_constants/separation")
tracks/3/path = NodePath("MarginContainer/ShipTutorialContainer:theme_override_constants/separation")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
@@ -139,6 +145,18 @@ tracks/3/keys = {
"update": 0,
"values": [554, 8]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Background:modulate:a")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0.16666667, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 0.8]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_cnkwc"]
_data = {
@@ -146,11 +164,13 @@ _data = {
&"appear": SubResource("Animation_6olc8")
}
[node name="ShipTutorial" type="CanvasLayer" unique_id=868547496]
[node name="ShipTutorial" type="CanvasLayer" unique_id=868547496 node_paths=PackedStringArray("object_3d", "ok_button", "animation_player")]
script = ExtResource("1_1jkg7")
object_3d = NodePath("MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship")
ok_button = NodePath("MarginContainer/ShipTutorialContainer/OkButton")
animation_player = NodePath("AnimationPlayer")
[node name="BlurRect" type="ColorRect" parent="." unique_id=1582095070]
material = SubResource("ShaderMaterial_wa8fb")
[node name="Background" type="ColorRect" parent="." unique_id=1582095070]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
@@ -191,48 +211,56 @@ linear_accel_max = 5.0
linear_accel_curve = SubResource("Curve_6olc8")
color_ramp = SubResource("Gradient_cnkwc")
[node name="ShipTutorialContainer" type="VBoxContainer" parent="." unique_id=732188526]
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1342614121]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 16
theme_override_constants/margin_top = 16
theme_override_constants/margin_right = 16
theme_override_constants/margin_bottom = 16
[node name="ShipTutorialContainer" type="VBoxContainer" parent="MarginContainer" unique_id=732188526]
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="ShipTutorialText" type="Label" parent="ShipTutorialContainer" unique_id=1403992763]
[node name="ShipTutorialText" type="Label" parent="MarginContainer/ShipTutorialContainer" unique_id=1403992763]
unique_name_in_owner = true
layout_mode = 2
text = "SHIP_ACQUIRED"
label_settings = SubResource("LabelSettings_n2u7g")
horizontal_alignment = 1
[node name="ShipTutorialTitle" type="Label" parent="ShipTutorialContainer" unique_id=2022459650]
[node name="ShipTutorialTitle" type="Label" parent="MarginContainer/ShipTutorialContainer" unique_id=2022459650]
unique_name_in_owner = true
layout_mode = 2
text = "USE_THE_SHIP_TO_TRAVEL_ACROSS_THE_PLANET"
label_settings = ExtResource("2_1jkg7")
horizontal_alignment = 1
autowrap_mode = 3
[node name="GridContainer" type="GridContainer" parent="ShipTutorialContainer" unique_id=1001794244]
[node name="GridContainer" type="GridContainer" parent="MarginContainer/ShipTutorialContainer" unique_id=1001794244]
layout_mode = 2
size_flags_horizontal = 4
theme_override_constants/h_separation = 35
columns = 3
[node name="VBoxContainer" type="VBoxContainer" parent="ShipTutorialContainer/GridContainer" unique_id=1184100238]
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/ShipTutorialContainer/GridContainer" unique_id=1184100238]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=458438699]
[node name="TextureRect" type="TextureRect" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=458438699]
layout_mode = 2
texture = ExtResource("6_2y716")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=1193611093]
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer" unique_id=1193611093]
layout_mode = 2
bbcode_enabled = true
text = "JUMP_BETWEEN_REGION_TEXT"
@@ -240,7 +268,7 @@ fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="ShipVisualiser" type="TextureRect" parent="ShipTutorialContainer/GridContainer" unique_id=692971472]
[node name="ShipVisualiser" type="TextureRect" parent="MarginContainer/ShipTutorialContainer/GridContainer" unique_id=692971472]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
@@ -248,59 +276,59 @@ mouse_filter = 0
texture = SubResource("ViewportTexture_11pbi")
stretch_mode = 5
[node name="SubViewport" type="SubViewport" parent="ShipTutorialContainer/GridContainer/ShipVisualiser" unique_id=1153633037]
[node name="SubViewport" type="SubViewport" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser" unique_id=1153633037]
own_world_3d = true
transparent_bg = true
size = Vector2i(400, 400)
[node name="Ship" type="Node3D" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=434320277]
[node name="Ship" type="Node3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=434320277]
unique_name_in_owner = true
transform = Transform3D(0.86598426, 0, -0.5000024, 0, 0.9999422, 0, 0.49997625, 0, 0.8660295, 0, 0, 0)
[node name="cockpit2" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship" unique_id=1190034532 instance=ExtResource("4_ofwam")]
[node name="cockpit2" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship" unique_id=1190034532 instance=ExtResource("4_ofwam")]
[node name="Skeleton3D" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature" parent_id_path=PackedInt32Array(1190034532, 368440226) index="0" unique_id=1318180746]
[node name="Skeleton3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature" parent_id_path=PackedInt32Array(1190034532, 368440226) index="0" unique_id=1318180746]
bones/0/rotation = Quaternion(-0.52081746, 0.47827742, 0.52081746, 0.47827742)
bones/1/rotation = Quaternion(0.042539995, -1.4957005e-08, -9.944439e-10, 0.9990948)
bones/2/rotation = Quaternion(0.52081746, 0.47827742, 0.52081746, -0.47827742)
bones/3/rotation = Quaternion(0.042539995, 1.4957005e-08, 9.944439e-10, 0.9990948)
[node name="WinkEnd_R" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="0" unique_id=1435098475]
[node name="WinkEnd_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="0" unique_id=1435098475]
transform = Transform3D(7.145433e-10, -1, -7.4505806e-08, 2.9971538e-08, -4.4703484e-08, 1, -1, -7.1454553e-10, 2.9971538e-08, -12.358327, -1.0543112, -8.881784e-16)
[node name="Wing_R" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="1" unique_id=891044283]
[node name="Wing_R" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="1" unique_id=891044283]
transform = Transform3D(0, -0.9963807, -0.08500305, 0, -0.08500302, 0.9963807, -1, 0, 0, 0, 0, 0)
[node name="WinkEnd_L" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="2" unique_id=908817672]
[node name="WinkEnd_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="2" unique_id=908817672]
transform = Transform3D(7.145433e-10, 1, 7.4505806e-08, -2.9971538e-08, -4.4703484e-08, 1, 1, -7.1454553e-10, 2.9971538e-08, 12.358327, -1.0543112, 0)
[node name="Wing_L" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="3" unique_id=74621525]
[node name="Wing_L" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2/Armature/Skeleton3D" index="3" unique_id=74621525]
transform = Transform3D(0, 0.9963807, 0.08500305, 0, -0.08500302, 0.9963807, 1, 0, 0, 0, 0, 0)
[node name="AnimationPlayer" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2" index="6" unique_id=1861191625]
[node name="AnimationPlayer" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2" index="6" unique_id=1861191625]
autoplay = &"Fold"
[node name="Camera3D" type="Camera3D" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=541588220]
[node name="Camera3D" type="Camera3D" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=541588220]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 50)
current = true
fov = 30.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=1274670225]
[node name="WorldEnvironment" type="WorldEnvironment" parent="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport" unique_id=1274670225]
environment = ExtResource("5_2y716")
[node name="VBoxContainer2" type="VBoxContainer" parent="ShipTutorialContainer/GridContainer" unique_id=1062837751]
[node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/ShipTutorialContainer/GridContainer" unique_id=1062837751]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
theme_override_constants/separation = 12
alignment = 1
[node name="TextureRect" type="TextureRect" parent="ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=227115375]
[node name="TextureRect" type="TextureRect" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=227115375]
layout_mode = 2
texture = ExtResource("9_6olc8")
expand_mode = 5
stretch_mode = 5
[node name="RichTextLabel" type="RichTextLabel" parent="ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=1438289614]
[node name="RichTextLabel" type="RichTextLabel" parent="MarginContainer/ShipTutorialContainer/GridContainer/VBoxContainer2" unique_id=1438289614]
layout_mode = 2
bbcode_enabled = true
text = "RECHARGE_YOUR_SHIP_WITH_PLANT_SCORE_TEXT"
@@ -308,7 +336,7 @@ fit_content = true
horizontal_alignment = 1
vertical_alignment = 1
[node name="OkButton" type="Button" parent="ShipTutorialContainer" unique_id=879779245]
[node name="OkButton" type="Button" parent="MarginContainer/ShipTutorialContainer" unique_id=879779245]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
@@ -320,6 +348,6 @@ icon = ExtResource("7_cnkwc")
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_cnkwc")
[connection signal="button_down" from="ShipTutorialContainer/OkButton" to="." method="_on_ok_button_button_down"]
[connection signal="button_down" from="MarginContainer/ShipTutorialContainer/OkButton" to="." method="_on_ok_button_button_down"]
[editable path="ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2"]
[editable path="MarginContainer/ShipTutorialContainer/GridContainer/ShipVisualiser/SubViewport/Ship/cockpit2"]
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lftiiulpc8kl"
path="res://.godot/imported/rain.png-9298487e51a029fd96f65e149e8bf87c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/terrain/region/assets/textures/rain.png"
dest_files=["res://.godot/imported/rain.png-9298487e51a029fd96f65e149e8bf87c.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
+90 -50
View File
@@ -2,8 +2,10 @@
[ext_resource type="Script" uid="uid://d1mp5sguc0b6u" path="res://stages/terrain/region/scripts/region.gd" id="1_441sk"]
[ext_resource type="Shader" uid="uid://cfj18vc04cgkg" path="res://common/vfx/materials/shaders/blur_vignette.gdshader" id="2_ktnx3"]
[ext_resource type="Script" uid="uid://dgjyhbndd4all" path="res://stages/terrain/region/scripts/post_process/region_meteo.gd" id="2_mlppq"]
[ext_resource type="PackedScene" uid="uid://yk78ubpu5ghq" path="res://gui/game/pass_day/pass_day.tscn" id="3_ktnx3"]
[ext_resource type="Shader" uid="uid://btgk5l0a6ii44" path="res://common/vfx/materials/shaders/screen_fog.gdshader" id="3_qdnee"]
[ext_resource type="Script" uid="uid://cyvfeyg2wynq" path="res://stages/terrain/region/scripts/post_process/meteo.gd" id="3_r4e5h"]
[ext_resource type="Script" uid="uid://bi8fo6yp25su7" path="res://stages/terrain/region/scripts/screen_post_process.gd" id="4_ovqi1"]
[ext_resource type="PackedScene" uid="uid://12nak7amd1uq" path="res://gui/game/game_gui.tscn" id="4_qdnee"]
[ext_resource type="Shader" uid="uid://doceegdvj0pp3" path="res://common/vfx/materials/shaders/screen_clouds.gdshader" id="5_2w03p"]
@@ -13,6 +15,38 @@
[ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="8_fwgig"]
[ext_resource type="PackedScene" uid="uid://fnv0qhkh40mv" path="res://gui/game/announce/announce.tscn" id="8_mlppq"]
[ext_resource type="Texture2D" uid="uid://rdrhi3r11ey6" path="res://common/icons/square-rounded.svg" id="10_ktnx3"]
[ext_resource type="Texture2D" uid="uid://lftiiulpc8kl" path="res://stages/terrain/region/assets/textures/rain.png" id="12_6d8m3"]
[ext_resource type="Script" uid="uid://dple0sunrpauc" path="res://stages/terrain/region/scripts/post_process/rain.gd" id="13_fwgig"]
[sub_resource type="Resource" id="Resource_r4e5h"]
script = ExtResource("3_r4e5h")
cloud_value = 0.93
wind_direction = Vector2(-0.9519732, -0.30618128)
wind_force = 0.039
type = 3
[sub_resource type="FastNoiseLite" id="FastNoiseLite_2w03p"]
noise_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_6d8m3"]
noise = SubResource("FastNoiseLite_2w03p")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6d8m3"]
shader = ExtResource("5_2w03p")
shader_parameter/camera_position = Vector2(0, 0)
shader_parameter/camera_zoom = Vector2(1, 1)
shader_parameter/viewport_size = Vector2(1920, 1080)
shader_parameter/noise_texture = SubResource("NoiseTexture2D_6d8m3")
shader_parameter/cloud_speed = 0.11699999999999999
shader_parameter/cloud_delay = 1.0
shader_parameter/cloud_dir = Vector2(-0.9519732, -0.30618128)
shader_parameter/cloud_color = Color(0.59428054, 0.8206175, 0.899937, 1)
shader_parameter/cloud_alpha = 1.0
shader_parameter/cloud_size = 80.0000037525
shader_parameter/cloud_distorsion_speed = 0.4150000197125
shader_parameter/density = 0.4910000233225
shader_parameter/blur_amount = 0.0400000019
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ovqi1"]
noise_type = 2
@@ -37,35 +71,12 @@ shader_parameter/camera_offset_speed = 0.0
shader_parameter/noise_texture_1 = SubResource("NoiseTexture2D_2w03p")
shader_parameter/noise_texture_2 = SubResource("NoiseTexture2D_fwgig")
shader_parameter/noise_blend = 0.50000002375
shader_parameter/noise_speed_1 = 0.10000000475
shader_parameter/noise_speed_1 = 0.039
shader_parameter/noise_speed_2 = 0.010000000475
shader_parameter/noise_dir_1 = Vector2(1, 1)
shader_parameter/noise_dir_1 = Vector2(-0.9519732, -0.30618128)
shader_parameter/noise_dir_2 = Vector2(1, -1)
shader_parameter/smoke_color = Color(1, 1, 1, 1)
shader_parameter/density = 0.070000003325
[sub_resource type="FastNoiseLite" id="FastNoiseLite_2w03p"]
noise_type = 2
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_6d8m3"]
noise = SubResource("FastNoiseLite_2w03p")
seamless = true
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6d8m3"]
shader = ExtResource("5_2w03p")
shader_parameter/camera_position = Vector2(0, 0)
shader_parameter/camera_zoom = Vector2(1, 1)
shader_parameter/viewport_size = Vector2(1920, 1080)
shader_parameter/noise_texture = SubResource("NoiseTexture2D_6d8m3")
shader_parameter/cloud_speed = 0.10000000475
shader_parameter/cloud_delay = 1.0
shader_parameter/noise_dir = Vector2(1, 1)
shader_parameter/cloud_color = Color(0.59428054, 0.8206175, 0.899937, 1)
shader_parameter/cloud_alpha = 1.0
shader_parameter/cloud_size = 87.48400410799
shader_parameter/cloud_distorsion_speed = 0.10000000475
shader_parameter/density = 0.3610000171475
shader_parameter/blur_amount = 0.0400000019
shader_parameter/density = 0.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_qdnee"]
shader = ExtResource("2_ktnx3")
@@ -74,6 +85,19 @@ shader_parameter/blur_amount = 1.0000000475
shader_parameter/blur_inner = 0.4950000235125
shader_parameter/blur_outer = 0.7810000370975
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_fwgig"]
particles_animation = true
particles_anim_h_frames = 8
particles_anim_v_frames = 1
particles_anim_loop = false
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_r4e5h"]
emission_shape = 3
emission_box_extents = Vector3(2000, 2000, 1)
gravity = Vector3(0, 0, 0)
anim_speed_min = 1.0
anim_speed_max = 1.0
[sub_resource type="Curve" id="Curve_qdnee"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.4883721, 1), 0.037164874, 0.037164874, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 3
@@ -81,26 +105,22 @@ point_count = 3
[sub_resource type="CurveTexture" id="CurveTexture_ovqi1"]
curve = SubResource("Curve_qdnee")
[sub_resource type="Curve" id="Curve_2w03p"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="Curve" id="Curve_6d8m3"]
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.25581396, 1), 0.0, 0.0, 0, 0, Vector2(0.5023256, 0), 0.0, 0.0, 0, 0, Vector2(0.75348836, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 5
[sub_resource type="CurveXYZTexture" id="CurveXYZTexture_fwgig"]
curve_x = SubResource("Curve_2w03p")
curve_y = SubResource("Curve_6d8m3")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_mlppq"]
emission_shape = 3
emission_box_extents = Vector3(1000, 1000, 1)
emission_box_extents = Vector3(2000, 2000, 1)
direction = Vector3(0.9519732, 0.30618128, 0)
spread = 10.0
initial_velocity_min = 100.0
initial_velocity_max = 200.0
directional_velocity_min = -100.000015
directional_velocity_max = 99.999985
initial_velocity_min = 35.1
initial_velocity_max = 39.0
directional_velocity_min = -1.0000161
directional_velocity_max = 0.9999839
directional_velocity_curve = SubResource("CurveXYZTexture_fwgig")
gravity = Vector3(0, 0, 0)
scale_min = 0.049999997
@@ -112,21 +132,18 @@ alpha_curve = SubResource("CurveTexture_ovqi1")
script = ExtResource("1_441sk")
entity_container = NodePath("Entities")
[node name="RegionMeteo" type="Node" parent="." unique_id=2027305269 node_paths=PackedStringArray("wind_particles", "rain_particles", "fog", "clouds", "region")]
script = ExtResource("2_mlppq")
meteo = SubResource("Resource_r4e5h")
wind_particles = NodePath("../Camera/WindParticles")
rain_particles = NodePath("../Entities/Rain")
fog = NodePath("../PostProcess/Fog")
clouds = NodePath("../PostProcess/Clouds")
region = NodePath("..")
[node name="PostProcess" type="CanvasLayer" parent="." unique_id=729471745]
layer = 0
[node name="Fog" type="ColorRect" parent="PostProcess" unique_id=1487713892 node_paths=PackedStringArray("camera")]
visible = false
material = SubResource("ShaderMaterial_mlppq")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("4_ovqi1")
camera = NodePath("../../Camera")
[node name="Clouds" type="ColorRect" parent="PostProcess" unique_id=1053740484 node_paths=PackedStringArray("camera", "region")]
material = SubResource("ShaderMaterial_6d8m3")
anchors_preset = 15
@@ -139,6 +156,17 @@ script = ExtResource("5_6d8m3")
camera = NodePath("../../Camera")
region = NodePath("../..")
[node name="Fog" type="ColorRect" parent="PostProcess" unique_id=1487713892 node_paths=PackedStringArray("camera")]
material = SubResource("ShaderMaterial_mlppq")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("4_ovqi1")
camera = NodePath("../../Camera")
[node name="Vignette" type="ColorRect" parent="PostProcess" unique_id=2057271511]
material = SubResource("ShaderMaterial_qdnee")
anchors_preset = 15
@@ -150,7 +178,6 @@ mouse_filter = 2
[node name="PassDay" parent="." unique_id=1144772570 instance=ExtResource("3_ktnx3")]
unique_name_in_owner = true
visible = false
[node name="RegionGui" type="CanvasLayer" parent="." unique_id=2024485651]
layer = 2
@@ -169,14 +196,27 @@ y_sort_enabled = true
unique_name_in_owner = true
position = Vector2(-405, -151)
[node name="Rain" type="GPUParticles2D" parent="Entities" unique_id=968834731 node_paths=PackedStringArray("camera")]
visible = false
material = SubResource("CanvasItemMaterial_fwgig")
position = Vector2(-67, -194)
amount = 1
texture = ExtResource("12_6d8m3")
lifetime = 0.5
trail_sections = 16
process_material = SubResource("ParticleProcessMaterial_r4e5h")
script = ExtResource("13_fwgig")
camera = NodePath("../../Camera")
[node name="Camera" parent="." unique_id=1399042986 node_paths=PackedStringArray("following") instance=ExtResource("8_fwgig")]
following = NodePath("../Entities/Player")
[node name="WindParticles" type="GPUParticles2D" parent="Camera" unique_id=1897174931]
position = Vector2(2, 7)
amount = 100
texture = ExtResource("10_ktnx3")
lifetime = 8.0
trail_enabled = true
trail_lifetime = 0.1
trail_lifetime = 0.2
trail_sections = 16
process_material = SubResource("ParticleProcessMaterial_mlppq")
+1 -1
View File
@@ -6,7 +6,7 @@ const GENERATION_NUMBER = 4
const NOISE_IMAGE_SIZE := 150
const MAX_DECONTAMINATION_DISTANCE=0
const MAX_TALION_DISTANCE=2
const MAX_TALION_DISTANCE=3
const RANDOM_PADDING_NOISE_FREQUENCY := 0.01
const ROCK_NOISE_FREQUENCY := 0.005
@@ -3,7 +3,7 @@ extends ColorRect
@export var camera : Camera
@export var region : Region
const PASSING_DAY_CLOUD_SPEED = 5
const PASSING_DAY_CLOUD_SPEED = 1
const CLOUD_DELAY_ACC_LERP = 0.2
var in_passing_day := false
@@ -25,12 +25,12 @@ func _ready():
func _process(_delta: float) -> void:
if is_node_ready():
if region and region.data.in_passing_day_animation:
cloud_delay_acc = lerp(cloud_delay_acc,1.,CLOUD_DELAY_ACC_LERP)
else:
cloud_delay_acc = lerp(cloud_delay_acc,0.,CLOUD_DELAY_ACC_LERP)
# if region and region.data.in_passing_day_animation:
# cloud_delay_acc = lerp(cloud_delay_acc,1.,CLOUD_DELAY_ACC_LERP)
# else:
# cloud_delay_acc = lerp(cloud_delay_acc,0.,CLOUD_DELAY_ACC_LERP)
cloud_delay += cloud_delay_acc * PASSING_DAY_CLOUD_SPEED
# cloud_delay += cloud_delay_acc * PASSING_DAY_CLOUD_SPEED
if visible:
if camera:
@@ -0,0 +1,61 @@
@tool
extends Resource
class_name Meteo
enum Type {RAINY,FOGGY,CALM,WINDY}
const ALL_TYPES = [Type.CALM,Type.RAINY,Type.FOGGY,Type.WINDY]
var rng : RandomNumberGenerator
@export var rain_value : float = 0.
@export var cloud_value : float = 0.
@export var wind_direction : Vector2 = Vector2(1,0)
@export var wind_force : float = 0.
@export var fog_value : float = 0.
@export var ambiance_name : String = "Exterior"
@export var type : Type :
set(v):
type = v
generate()
func _init(meteo_seed : int = randi()):
rng = RandomNumberGenerator.new()
rng.seed = meteo_seed
type = ALL_TYPES[rng.randi_range(0, len(ALL_TYPES) - 1)]
func generate():
wind_direction = Vector2(1,0).rotated(rng.randf_range(PI, -PI))
match type:
Type.CALM:
generate_calm()
Type.RAINY:
generate_rainy()
Type.FOGGY:
generate_foggy()
Type.WINDY:
generate_windy()
func generate_calm() -> void:
print("generate_calm")
cloud_value = rng.randf_range(0.1,0.4)
wind_force = rng.randf_range(0.,0.2)
func generate_rainy() -> void:
print("generate_rainy")
rain_value = rng.randf_range(0.3,1.)
cloud_value = rng.randf_range(0.5,0.9)
ambiance_name = "ExteriorRaining"
wind_force = rng.randf_range(0.,0.5)
func generate_foggy() -> void:
print("generate_foggy")
fog_value = rng.randf_range(0.5,1.)
ambiance_name = "ExteriorFoggy"
func generate_windy() -> void:
print("generate_windy")
cloud_value = rng.randf_range(0.2,0.5)
wind_force = rng.randf_range(0.8,1.)
@@ -0,0 +1 @@
uid://cyvfeyg2wynq
@@ -0,0 +1,7 @@
extends GPUParticles2D
@export var camera : Camera
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_d):
global_position = camera.global_position
@@ -0,0 +1 @@
uid://dple0sunrpauc
@@ -0,0 +1,46 @@
@tool
extends Node
@export_tool_button("New Meteo", "Callable") var new_meteo_action = func ():
meteo = Meteo.new()
@export_tool_button("Apply Meteo", "Callable") var apply_meteo_action = apply_meteo
@export var meteo: Meteo :
set(v):
meteo = v
if is_node_ready():
apply_meteo()
@export var wind_particles : GPUParticles2D
@export var rain_particles : GPUParticles2D
@export var fog : ColorRect
@export var clouds : ColorRect
@export var region : Region
func _ready():
meteo = Meteo.new(region.data.region_name.hash() + region.data.charges)
region.data.pass_day_proceeded.connect(
func(data : RegionData):
meteo = Meteo.new(data.region_name.hash() + data.charges)
wind_particles.restart()
)
func apply_meteo():
rain_particles.amount = max(1,int(1000 * meteo.rain_value))
rain_particles.visible = meteo.rain_value != 0.
rain_particles.scale.x = -1 if meteo.wind_direction.x > 0 else 1
var wind_particle_material : ParticleProcessMaterial = wind_particles.process_material as ParticleProcessMaterial
wind_particle_material.direction = Vector3(-meteo.wind_direction.x,-meteo.wind_direction.y,0.)
wind_particle_material.initial_velocity_max = 1000 * meteo.wind_force
wind_particle_material.initial_velocity_min = 900 * meteo.wind_force
clouds.material.set_shader_parameter("density", meteo.cloud_value)
clouds.material.set_shader_parameter("cloud_speed", meteo.wind_force * 3)
clouds.material.set_shader_parameter("cloud_dir", meteo.wind_direction)
fog.material.set_shader_parameter("density", meteo.fog_value * 0.3)
fog.material.set_shader_parameter("noise_speed_1", meteo.wind_force)
fog.material.set_shader_parameter("noise_dir_1", meteo.wind_direction)
AudioManager.play_ambiance_alone(meteo.ambiance_name, true, 1.0)
@@ -0,0 +1 @@
uid://dgjyhbndd4all
+18 -17
View File
@@ -59,28 +59,29 @@ const PLAYER_ROCK_HOLE_RADIUS = 5
var in_passing_day_animation := false
func _init(
parameter : RegionParameter = RegionParameter.new()
parameter : RegionParameter = null
):
charges = parameter.get_charge()
objective = parameter.get_objective()
region_name = parameter.get_region_name()
region_seed = parameter.get_region_seed()
rock_threshold = parameter.get_rock_threshold()
decontamination_threshold = parameter.get_decontamination_threshold()
cristal_threshold = parameter.get_cristal_threshold()
start_decontamination_hole_radius = parameter.get_start_decontamination_zone_radius()
seed_rarity_pool = parameter.get_seed_rarity_pool()
modifiers = parameter.modifiers
if parameter:
charges = parameter.get_charge()
objective = parameter.get_objective()
region_name = parameter.get_region_name()
region_seed = parameter.get_region_seed()
rock_threshold = parameter.get_rock_threshold()
decontamination_threshold = parameter.get_decontamination_threshold()
cristal_threshold = parameter.get_cristal_threshold()
start_decontamination_hole_radius = parameter.get_start_decontamination_zone_radius()
seed_rarity_pool = parameter.get_seed_rarity_pool()
modifiers = parameter.modifiers
player_spawn = get_random_spawn_position()
player_position = player_spawn
player_spawn = get_random_spawn_position()
player_position = player_spawn
objective_disabled = parameter.is_objective_disabled()
objective_disabled = parameter.is_objective_disabled()
rock_tiles_data = TilesDiffData.new()
decontamination_tiles_data = TilesDiffData.new()
rock_tiles_data = TilesDiffData.new()
decontamination_tiles_data = TilesDiffData.new()
edit_map_origin()
edit_map_origin()
func update():
if not in_passing_day_animation and not objective_disabled:
+1
View File
@@ -178,6 +178,7 @@ environment = SubResource("Environment_wpkhm")
[node name="TrailerCamera" type="Camera3D" parent="." unique_id=2053399428]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1571884, -0.20724177, 17.413101)
visible = false
near = 0.003
[node name="MeshInstance3D" type="MeshInstance3D" parent="TrailerCamera" unique_id=1527788503]
+9 -3
View File
@@ -7,6 +7,7 @@
[ext_resource type="Texture2D" uid="uid://bewr0t1wi8pff" path="res://common/icons/rotate.svg" id="5_6yuhi"]
[ext_resource type="PackedScene" uid="uid://cm5b7w7j6527f" path="res://stages/title_screen/planet_3d.tscn" id="5_7a1qq"]
[ext_resource type="PackedScene" uid="uid://c8flevrkelpvy" path="res://gui/credits/socials/instagram.tscn" id="6_7a1qq"]
[ext_resource type="PackedScene" uid="uid://bpy6sqa71gcfm" path="res://gui/credits/socials/survey.tscn" id="6_pjo5j"]
[ext_resource type="PackedScene" uid="uid://bc3byq8e45ejj" path="res://gui/credits/socials/steam.tscn" id="7_nmsah"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="8_pjo5j"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="9_5mxqx"]
@@ -22,7 +23,7 @@ shader = ExtResource("8_pjo5j")
shader_parameter/strength = 5.00000023424012
shader_parameter/mix_percentage = 0.3
[sub_resource type="FastNoiseLite" id="FastNoiseLite_60mme"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_5mxqx"]
frequency = 1.0
[node name="TitleScreen" type="CanvasLayer" unique_id=1166097103]
@@ -110,13 +111,18 @@ size_flags_vertical = 4
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 8
alignment = 2
[node name="Button" parent="MarginContainer/Socials" unique_id=927302743 instance=ExtResource("6_7a1qq")]
[node name="Survey" parent="MarginContainer/Socials" unique_id=1337726269 instance=ExtResource("6_pjo5j")]
layout_mode = 2
[node name="Button2" parent="MarginContainer/Socials" unique_id=927302743 instance=ExtResource("6_7a1qq")]
layout_mode = 2
size_flags_horizontal = 8
[node name="SteamButton" parent="MarginContainer/Socials" unique_id=1181450581 instance=ExtResource("7_nmsah")]
layout_mode = 2
size_flags_horizontal = 8
link = "https://store.steampowered.com/app/4444510/Seeding_The_Wasteland/"
[node name="ModeChoose" type="Control" parent="." unique_id=1527342716]
@@ -176,7 +182,7 @@ size = Vector2i(1980, 1080)
[node name="Planet3d" parent="SubViewport" unique_id=926789923 instance=ExtResource("5_7a1qq")]
unique_name_in_owner = true
noise = SubResource("FastNoiseLite_60mme")
noise = SubResource("FastNoiseLite_5mxqx")
[node name="Camera3D" type="Camera3D" parent="SubViewport" unique_id=806252928]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.369979, 0, 64.323425)
+5
View File
@@ -206,6 +206,10 @@ SHIP_ACQUIRED,Ship Acquired,Vaisseau Acquis
USE_THE_SHIP_TO_TRAVEL_ACROSS_THE_PLANET,"Use the ship to travel across the planet","Utilisez le vaisseau pour voyager sur la planète"
JUMP_BETWEEN_REGION_TEXT,"[b]Jump between regions[/b] Use the ship dashboard to choose the next region between two choices","[b]Changez de région[/b] Utilisez le tableau de bord pour changer de région parmi deux choix"
RECHARGE_YOUR_SHIP_WITH_PLANT_SCORE_TEXT,"[b]Recharge your ship with plant score[/b] The Internode has fuel for only one jump; recharge it with plants on the planet","[b]Rechargez votre vaisseau avec les scores de plantes[/b] L'Internode a du carburant pour un seul changement, rechargez le en plantant sur la planète"
OUT_OF_ENERGY,Out of energy,À court d'énergie
USE_THE_BACKUP_DEVICE_TO_RESPAWN_TO_LAST_BASE,Use the backup device to respawn to last base,Utilisez l'appareil de sauvegarde pour réapparaitre à la dernière base
STEP_ON_THE_DATA_SAVER_TEXT,[b]Step on the backup device to use it[/b] You can use it at any time.,[b]Déplacez-vous sur l'appareil de sauvegarde pour l'utiliser[/b] Vous pouvez l'utiliser à tout moment
RESTART_FROM_LAST_BASE_WITHOUT_SEEDS_TEXT,[b]Restart from last base without any seeds[/b] You will also lose all artefacts found.,[b]Recommencer à partir de la dernière base sans aucune graine[/b] Vous perdrez également tous les artefacts trouvés.
SHIP_IS_READY_TO_TAKE_OFF,Ship is ready to take off,Le vaisseau est prêt à partir
SAVE_ORCHID_MEMORY_AND_RESPAWN,Save Orchid Memory and respawn,Sauvegarder la mémoire d'Orchid et recommencer
DOWNLOAD_ORCHID_DATA_TO_LOCAL_SERVERS,Download Orchid data to local servers,Télécharger les données d'Orchid sur les serveurs locaux
@@ -214,6 +218,7 @@ CHOOSE_NEXT_STOP,Choose next stop,Choisissez le prochain arrêt
THANKS_FOR_PLAYING,Thanks for playing!,Merci d'avoir joué !
JOIN_OUR_INSTAGRAM,Join our Instagram,Rejoins-nous sur Instagram
WHISHLIST_THE_GAME,Whishlist the game on Steam,Ajoutez le jeu à votre liste de souhait
TAKE_A_QUICK_SURVEY,Take a quick survey,Répondez à un court sondage
ART,Art,Art
ART_GAME_JAM,Art (Game Jam),Art (Game Jam)
DEV_AND_GAME_DESIGN,Development and Game Design,Développement et Game Design
1 keys en fr
206 USE_THE_SHIP_TO_TRAVEL_ACROSS_THE_PLANET Use the ship to travel across the planet Utilisez le vaisseau pour voyager sur la planète
207 JUMP_BETWEEN_REGION_TEXT [b]Jump between regions[/b] Use the ship dashboard to choose the next region between two choices [b]Changez de région[/b] Utilisez le tableau de bord pour changer de région parmi deux choix
208 RECHARGE_YOUR_SHIP_WITH_PLANT_SCORE_TEXT [b]Recharge your ship with plant score[/b] The Internode has fuel for only one jump; recharge it with plants on the planet [b]Rechargez votre vaisseau avec les scores de plantes[/b] L'Internode a du carburant pour un seul changement, rechargez le en plantant sur la planète
209 OUT_OF_ENERGY Out of energy À court d'énergie
210 USE_THE_BACKUP_DEVICE_TO_RESPAWN_TO_LAST_BASE Use the backup device to respawn to last base Utilisez l'appareil de sauvegarde pour réapparaitre à la dernière base
211 STEP_ON_THE_DATA_SAVER_TEXT [b]Step on the backup device to use it[/b] You can use it at any time. [b]Déplacez-vous sur l'appareil de sauvegarde pour l'utiliser[/b] Vous pouvez l'utiliser à tout moment
212 RESTART_FROM_LAST_BASE_WITHOUT_SEEDS_TEXT [b]Restart from last base without any seeds[/b] You will also lose all artefacts found. [b]Recommencer à partir de la dernière base sans aucune graine[/b] Vous perdrez également tous les artefacts trouvés.
213 SHIP_IS_READY_TO_TAKE_OFF Ship is ready to take off Le vaisseau est prêt à partir
214 SAVE_ORCHID_MEMORY_AND_RESPAWN Save Orchid Memory and respawn Sauvegarder la mémoire d'Orchid et recommencer
215 DOWNLOAD_ORCHID_DATA_TO_LOCAL_SERVERS Download Orchid data to local servers Télécharger les données d'Orchid sur les serveurs locaux
218 THANKS_FOR_PLAYING Thanks for playing! Merci d'avoir joué !
219 JOIN_OUR_INSTAGRAM Join our Instagram Rejoins-nous sur Instagram
220 WHISHLIST_THE_GAME Whishlist the game on Steam Ajoutez le jeu à votre liste de souhait
221 TAKE_A_QUICK_SURVEY Take a quick survey Répondez à un court sondage
222 ART Art Art
223 ART_GAME_JAM Art (Game Jam) Art (Game Jam)
224 DEV_AND_GAME_DESIGN Development and Game Design Développement et Game Design