Et toujours du dev pour la béta

* Evolution de l'histoire avec de nouveaux dialogues, une plus grande durée de vie du jeu, des nouvelles zones d'histoire...
* Suppression du mode infini
* Ajout d'un écran des mutations découvertes
* Ajout d'un nouveau mécanisme de respawn situé dans le vaissau
* Ajout de 2 nouveaux modificateurs de région
* Quatre nouveaux artefacts
* Visuel de la décontamination de la planète 3D en cours de la partie
* Ajout d'une annonce visuelle des scène du jeu
* Fix sur la mutation Généreux pour être en accord avec sa description
* Amélioration de l'effet de la mutation Purification
* Fix de la mutation sociale aux niveau supérieurs
* Ajout d'un effet visuel de réacteur sur le joueur 3D
* Fix sur l'annonce de nouveaux objets qui se déclenchaient à une nouvelle run
* Amélioration des animation et des informations données dans le vaisseau
* Correction mineure des traductions
This commit is contained in:
2026-04-28 23:41:36 +02:00
parent 7ae362a3a5
commit 91e266ec85
269 changed files with 4393 additions and 1699 deletions

View File

@@ -231,7 +231,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.51481193, -0.6680038, 0.5372555, -0.8508927, 0.32199714, -0.4149924, 0.104188256, -0.67080045, -0.73426664, 0, 0, 0)
transform = Transform3D(-0.4963247, -0.7514756, 0.43456152, -0.8508927, 0.32199714, -0.4149924, 0.17189625, -0.57574874, -0.79934174, 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)

View File

@@ -28,7 +28,9 @@ func _ready():
GameInfo.game_data.player_data.inventory.tool_added.connect(
func (i : Item):
announce_objects.append(AnnounceTool.new(i))
if not i.name in GameInfo.game_data.item_announced:
announce_objects.append(AnnounceTool.new(i))
GameInfo.game_data.item_announced.append(i.name)
)
func _process(delta):
@@ -78,7 +80,7 @@ func set_announce_object(object := announce_object):
if not visible:
%AnimationPlayer.play("appear")
Pointer.action_disabled = true
AudioManager.play_sfx("Ship_reveal")
AudioManager.play_sfx("Reveal")
elif object == null and visible:
%AnimationPlayer.play_backwards("appear")
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click

View File

@@ -7,7 +7,6 @@
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="6_2wykm"]
[ext_resource type="PackedScene" uid="uid://df0eop555wfj5" path="res://gui/game/objective_progress_bar/objective_progress_bar.tscn" id="6_dr1y2"]
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="6_id0t5"]
[ext_resource type="Texture2D" uid="uid://b43thuq8piv18" path="res://common/icons/skull.svg" id="7_dr1y2"]
[ext_resource type="PackedScene" uid="uid://clicjf8ts51h8" path="res://gui/game/inventory_gui/inventory_gui.tscn" id="9_id0t5"]
[ext_resource type="PackedScene" uid="uid://cgbjmw75alfeo" path="res://gui/game/help/help.tscn" id="10_id0t5"]
@@ -170,14 +169,6 @@ horizontal_alignment = 1
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_jomh8")
[node name="GiveUpButton" type="Button" parent="MarginContainer/VBoxContainer" unique_id=1128310884]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 8
text = "GIVE_UP"
icon = ExtResource("7_dr1y2")
[node name="Inventory" parent="MarginContainer" unique_id=1178590658 instance=ExtResource("9_id0t5")]
layout_mode = 2
size_flags_horizontal = 1

View File

@@ -6,8 +6,8 @@
[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"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="6_dqmg8"]
[ext_resource type="Texture2D" uid="uid://cymrmhsihkj44" path="res://common/icons/recharge.svg" id="6_h2bel"]
[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"]
@@ -15,6 +15,10 @@ 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
[sub_resource type="ViewportTexture" id="ViewportTexture_h2bel"]
viewport_path = NodePath("NightAnimation/SubViewport")
@@ -56,7 +60,6 @@ _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]
@@ -73,7 +76,6 @@ script = ExtResource("2_bhfpo")
[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
@@ -98,7 +100,7 @@ layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
text = "%d_CHARGE_LEFT"
label_settings = ExtResource("6_dqmg8")
label_settings = SubResource("LabelSettings_rn4dm")
horizontal_alignment = 1
vertical_alignment = 1

View File

@@ -16,13 +16,15 @@ func _ready():
GameInfo.game_data.current_region_data.updated.connect(_on_region_updated)
GameInfo.game_data.player_data.updated.connect(_on_player_updated)
%ObjectiveProgressBar.visible = not "tutorial" in GameInfo.game_data.current_region_data.flags
%SimplePlantPointScore.visible = "tutorial" in GameInfo.game_data.current_region_data.flags
%ObjectiveProgressBar.visible = (
not GameInfo.game_data.current_run.story_step is TutorialStoryStep
and not GameInfo.game_data.current_region_data.objective_disabled
)
%SimplePlantPointScore.visible = GameInfo.game_data.current_run.story_step is TutorialStoryStep
state_update(GameInfo.game_data.current_region_data)
player_update(GameInfo.game_data.player_data, false)
%EnergyInfo.reset_size()
%GiveUpButton.pressed.connect(_on_give_up_pressed)
score_mirror = GameInfo.game_data.current_region_data.get_score()
for p : PlantData in GameInfo.game_data.current_region_data.plants:
@@ -70,10 +72,6 @@ func _on_region_updated(region_data : RegionData):
state_update(region_data)
func _on_give_up_pressed():
GameInfo.game_data.give_up()
SceneManager.change_to_scene_id('ASTRA')
func score_update(with_animation = true):
var objective_progression : float
var objective = GameInfo.game_data.current_region_data.objective
@@ -102,11 +100,10 @@ func score_update(with_animation = true):
func state_update(region_data : RegionData):
if region_data.state == RegionData.State.SUCCEEDED:
objective_text = "SHIP_IS_READY_TO_TAKE_OFF"
if "tutorial" in region_data.flags:
if GameInfo.game_data.current_run.story_step is TutorialStoryStep:
objective_text = "PASS_THE_MYSTERIOUS_DOOR"
elif region_data.state == RegionData.State.FAILED:
objective_text = "NO_RECHARGE_LEFT"
%GiveUpButton.visible = region_data.state == RegionData.State.FAILED
func plant_changing_score(plant_data: PlantData, amount : int):
if GameInfo.game_data.current_region_data.in_passing_day_animation:
@@ -167,4 +164,4 @@ func _on_player_action_tried_without_energy():
$AnimationPlayer.play("no_energy_left")
func _on_player_upgraded():
$EffectAnimation.play("upgrade")
$EffectAnimation.play("upgrade")

View File

@@ -1,4 +1,4 @@
extends Control
extends CanvasLayer
class_name Tutorial
const STEP_SCENE = preload("res://gui/game/tutorial/step_gui/step_gui.tscn")
@@ -6,9 +6,11 @@ const STEP_SCENE = preload("res://gui/game/tutorial/step_gui/step_gui.tscn")
signal succeded
var indicators : Array[InGameIndicator]
@export var player : Player
@export var region : Region
@export var game_gui : GameGui
var player : Player
var region : Region
var game_gui : GameGui
var success = false
@onready var steps : Array[Step] = [
Step.new(
@@ -91,11 +93,8 @@ var indicators : Array[InGameIndicator]
]
func _ready():
if region and region.data and "tutorial" in region.data.flags:
setup_gui()
show()
else:
hide()
setup_gui()
show()
%PlantInfoTutorial.hide()
func setup_gui():
@@ -110,8 +109,10 @@ func setup_gui():
func _process(_d):
if region and region.data and "tutorial" in region.data.flags and not GameInfo.game_data.tutorial_done:
var success = true
if success:
hide()
elif region and region.data and not success:
var all_success = true
for i in len(steps):
var step := steps[i]
var step_gui := %Steps.get_children()[i] as TutorialStepGui
@@ -124,25 +125,29 @@ func _process(_d):
step_gui.suceeded = step.succeeded
if not step.succeeded:
game_gui.objective_text = step.text
success = false
if success:
all_success = false
if all_success:
finish_tutorial()
func finish_tutorial():
GameInfo.game_data.tutorial_done = true
region.data.state = RegionData.State.SUCCEEDED
region.data.update()
succeded.emit()
success = true
func display_plant_info_tutorial(with_card_info : CardInfo):
%PlantCard.info = with_card_info
AudioManager.play_sfx("Ship_reveal")
AudioManager.play_sfx("Reveal")
%PlantCard.update()
%PlantInfoTutorialAnimationPlayer.play("appear")
Pointer.action_disabled = true
func _on_ok_button_button_down():
%PlantInfoTutorialAnimationPlayer.play_backwards("appear")
get_tree().create_timer(0.2).timeout.connect( # Put a delay to not interfere with the ok button click
func():
Pointer.action_disabled = false
)
class Step:

View File

@@ -146,19 +146,11 @@ _data = {
&"appear": SubResource("Animation_58nqq")
}
[node name="Tutorial" type="Control" unique_id=1210916048]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
[node name="Tutorial" type="CanvasLayer" unique_id=36887292]
script = ExtResource("1_ie1q8")
metadata/_edit_horizontal_guides_ = [369.0]
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=502187513]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
@@ -201,7 +193,7 @@ layout_mode = 2
[node name="PlantInfoTutorial" type="Control" parent="." unique_id=1586592931]
unique_name_in_owner = true
layout_mode = 1
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0

View File

@@ -1,23 +0,0 @@
extends Control
@export_file var game_scene_path : String
func _ready():
visible = false
func win(region : Region):
visible = true
get_tree().paused = true
%WinTitle.text = tr("SCORE_%d") % roundi(region.garden.get_score())
func _on_restart_pressed():
GameInfo.game_data.reset_all()
get_tree().paused = false
SceneManager.change_to_scene_id("REGION_SELECTION")
func _on_quit_pressed():
get_tree().quit()
func _on_region_day_limit_exceed(region : Region):
win(region)

View File

@@ -1 +0,0 @@
uid://b3wuxv04clyed

View File

@@ -1,102 +0,0 @@
[gd_scene load_steps=10 format=3 uid="uid://v41hfc7haaye"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="1_cl67j"]
[ext_resource type="Script" uid="uid://b3wuxv04clyed" path="res://gui/game/win/scripts/win.gd" id="1_sehw2"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="2_0b3c6"]
[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="2_sehw2"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="3_0b3c6"]
[ext_resource type="Texture2D" uid="uid://bewr0t1wi8pff" path="res://common/icons/rotate.svg" id="4_8p3aj"]
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="5_j3wid"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8p3aj"]
shader = ExtResource("2_0b3c6")
shader_parameter/strength = 3.3
shader_parameter/mix_percentage = 0.3
[sub_resource type="LabelSettings" id="LabelSettings_eq457"]
font = ExtResource("2_sehw2")
font_size = 50
[node name="Win" type="Control"]
process_mode = 3
z_index = 101
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_sehw2")
game_scene_path = "uid://d28cp7a21kwou"
[node name="ColorRect" type="ColorRect" parent="."]
material = SubResource("ShaderMaterial_8p3aj")
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
[node name="Tutorial" type="MarginContainer" parent="."]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_cl67j")
[node name="VBoxContainer" type="VBoxContainer" parent="Tutorial"]
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("1_cl67j")
theme_override_constants/separation = 9
alignment = 1
[node name="WinTitle" type="Label" parent="Tutorial/VBoxContainer"]
unique_name_in_owner = true
layout_mode = 2
text = "Score : 10"
label_settings = SubResource("LabelSettings_eq457")
horizontal_alignment = 1
[node name="ThanksTitle" type="Label" parent="Tutorial/VBoxContainer"]
layout_mode = 2
text = "THANKS_FOR_PLAYING"
label_settings = ExtResource("3_0b3c6")
horizontal_alignment = 1
[node name="ThanksText" type="Label" parent="Tutorial/VBoxContainer"]
layout_mode = 2
text = "WIN_SCREEN_TEXT"
horizontal_alignment = 1
[node name="HBoxContainer2" type="HBoxContainer" parent="Tutorial/VBoxContainer"]
layout_mode = 2
alignment = 1
[node name="LinkButton" type="LinkButton" parent="Tutorial/VBoxContainer/HBoxContainer2"]
layout_mode = 2
theme = ExtResource("1_cl67j")
theme_override_font_sizes/font_size = 24
text = "JOIN_OUR_DISCORD"
uri = "https://discord.gg/VTFKvEvgfz"
[node name="HBoxContainer" type="HBoxContainer" parent="Tutorial/VBoxContainer"]
layout_mode = 2
alignment = 1
[node name="Restart" type="Button" parent="Tutorial/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "RESTART"
icon = ExtResource("4_8p3aj")
[node name="Quit" type="Button" parent="Tutorial/VBoxContainer/HBoxContainer"]
layout_mode = 2
text = "QUIT"
icon = ExtResource("5_j3wid")
[connection signal="pressed" from="Tutorial/VBoxContainer/HBoxContainer/Restart" to="." method="_on_restart_pressed"]
[connection signal="pressed" from="Tutorial/VBoxContainer/HBoxContainer/Quit" to="." method="_on_quit_pressed"]