Dev de la démo

* Modification de l'apparence de l'UI des dialogues
* Changement de l'ordre de déblocage des mutations
* Ajout d'une confirmation pour l'abandon
* Ajout de la scène de fin avec la base Boréa, en tant que fin de démo
* Modification des icône de durée de vie, temps de pousse, et de mort
* Ajout d'un icône au dessus du joueur quand il n'a plus d'énergie
* Amélioration des dialogues du jeu
* Changement du modèle du téléphone
* Ajout de cellule d'énergie et de cellule de talion trouvable sur la carte
* Il est à nouveau possible de se recharger après la fin d'une région
* Buff des mutations ancien sociale et solide
* Modification de la mutation fertile (ne donne de gain de graine qu'à la maturation)
* Ajout d'une récupération automatique des graines
* Ajout de deux cartons de tutoriel ainsi qu'une option pour les revoir dans l'aide de jeu
* Amélioration générale du tutoriel
* Ajout d'un écran titre digne de ce nom
* Lors de l'arrivée à destination, ne téléporte plus le joueur sur une map vide, mais directement dans les lieux de cinématique
* Ajout graphique de plus de pattern de mousse et de roche
* Le talion apparait maintenant sur toute la carte
* La roche peut désormais apparaitre sur la zone de départ
* Ajout dud modificateur de région Canyon
* Equilibrage général
* Fix de bugs en tout genre
This commit is contained in:
2026-05-27 19:13:32 +02:00
parent 7764943714
commit 7b09f2ba7c
289 changed files with 8802 additions and 1520 deletions

View File

@@ -2,15 +2,20 @@
[ext_resource type="Script" uid="uid://3rrym6yv7xyp" path="res://entities/player_3d/scripts/player_3d.gd" id="1_pvvbh"]
[ext_resource type="Material" uid="uid://cr7bp4fhh1ipr" path="res://entities/player_3d/resources/materials/post_process_quad.tres" id="2_fcmrk"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_o44vi"]
[ext_resource type="Texture2D" uid="uid://ba8vh5h3r6pr2" path="res://common/icons/focus.svg" id="4_sbfo8"]
[sub_resource type="QuadMesh" id="QuadMesh_o44vi"]
size = Vector2(2, 2)
size = Vector2(3, 3)
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_eodxe"]
radius = 0.5854492
height = 1.7342377
[sub_resource type="LabelSettings" id="LabelSettings_fcmrk"]
font = ExtResource("4_o44vi")
font_size = 30
[sub_resource type="Gradient" id="Gradient_dqi2u"]
interpolation_mode = 1
offsets = PackedFloat32Array(0.7046632, 0.78238344, 1)
@@ -54,8 +59,8 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.19785136, 0)
current = true
near = 0.003
[node name="MeshInstance3D" type="MeshInstance3D" parent="Camera3D" unique_id=1477584785]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.1755164e-08, 0, -0.46892682)
[node name="Outline" type="MeshInstance3D" parent="Camera3D" unique_id=1477584785]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.9337665e-08, 0, -0.87116754)
mesh = SubResource("QuadMesh_o44vi")
surface_material_override/0 = ExtResource("2_fcmrk")
@@ -88,6 +93,36 @@ size_flags_vertical = 4
texture = ExtResource("4_sbfo8")
expand_mode = 1
[node name="3dTutorial" type="MarginContainer" parent="CanvasLayer" unique_id=259323543]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 15
theme_override_constants/margin_top = 15
theme_override_constants/margin_right = 15
theme_override_constants/margin_bottom = 15
[node name="MoveTutorial" type="Label" parent="CanvasLayer/3dTutorial" unique_id=1165378520]
unique_name_in_owner = true
visible = false
layout_mode = 2
size_flags_vertical = 0
text = "MOVE_WITH_RIGHT_CLICK_OR_WASD"
label_settings = SubResource("LabelSettings_fcmrk")
horizontal_alignment = 1
vertical_alignment = 1
[node name="InteractTutorial" type="Label" parent="CanvasLayer/3dTutorial" unique_id=1117243867]
unique_name_in_owner = true
layout_mode = 2
size_flags_vertical = 0
text = "INTERACT_WITH_LEFT_CLICK"
label_settings = SubResource("LabelSettings_fcmrk")
horizontal_alignment = 1
vertical_alignment = 1
[node name="CPUParticles3D" type="CPUParticles3D" parent="." unique_id=1470634574]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.66324395, 0)
amount = 5

View File

@@ -5,7 +5,7 @@
[resource]
render_priority = 0
shader = ExtResource("1_tvsbc")
shader_parameter/step_count = 3
shader_parameter/step_count = 5
shader_parameter/thickness = 2.0000000149012003
shader_parameter/edge_color = Color(0.0627451, 0.05882353, 0.16862746, 1)
shader_parameter/fade_start = 100.0

View File

@@ -11,7 +11,7 @@ const MOUSE_SENSIVITY = 0.002
const RAY_LENGTH = 10.
const PUSH_FORCE = 0.6
var cockpit_action_hovered : Interactable3D = null
var action_hovered : Interactable3D = null
var query_mouse := false
@export var controlling_player = true
@@ -28,22 +28,30 @@ func _ready():
controlling_player = true
)
%MoveTutorial.visible = not "3d_move" in GameInfo.game_data.tutorials_done
%InteractTutorial.visible = false
func _input(event):
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
rotate_y(-event.relative.x * MOUSE_SENSIVITY)
%Camera3D.rotate_x(-event.relative.y * MOUSE_SENSIVITY)
%Camera3D.rotation.x = clampf($Camera3D.rotation.x, -deg_to_rad(70), deg_to_rad(70))
query_mouse = true
if event.is_action_pressed("action") and cockpit_action_hovered and cockpit_action_hovered.interactable:
cockpit_action_hovered.click()
if controlling_player:
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
rotate_y(-event.relative.x * MOUSE_SENSIVITY)
%Camera3D.rotate_x(-event.relative.y * MOUSE_SENSIVITY)
%Camera3D.rotation.x = clampf($Camera3D.rotation.x, -deg_to_rad(70), deg_to_rad(70))
query_mouse = true
if event.is_action_pressed("action") and action_hovered and action_hovered.interactable:
if %InteractTutorial.visible:
var tween = create_tween()
tween.tween_property(%InteractTutorial, "modulate:a", 0., 0.8)
GameInfo.game_data.tutorials_done.append("3d_action")
action_hovered.click()
func _physics_process(delta):
if controlling_player:
if query_mouse:
update_mouse_hovered_cockpit_actions()
update_mouse_hovered_actions()
%PointerTexture.texture = (
POINTER_ACTION_TEXTURE if cockpit_action_hovered != null and cockpit_action_hovered.interactable
POINTER_ACTION_TEXTURE if action_hovered != null and action_hovered.interactable
else POINTER_TEXTURE
)
query_mouse = false
@@ -60,6 +68,12 @@ func _physics_process(delta):
else:
velocity.x = move_toward(velocity.x, 0, speed)
velocity.z = move_toward(velocity.z, 0, speed)
if %MoveTutorial.visible and direction.length():
var tween = create_tween()
tween.tween_property(%MoveTutorial, "modulate:a", 0., 0.8)
GameInfo.game_data.tutorials_done.append("3d_move")
else :
velocity = Vector3.ZERO
@@ -75,7 +89,7 @@ func _physics_process(delta):
-collision.get_normal() * PUSH_FORCE
)
func update_mouse_hovered_cockpit_actions() -> void:
func update_mouse_hovered_actions() -> void:
var space_state = get_world_3d().direct_space_state
var middle_screen = get_viewport().get_visible_rect().size / 2
@@ -87,12 +101,19 @@ func update_mouse_hovered_cockpit_actions() -> void:
var result = space_state.intersect_ray(query)
if result and result.collider and result.collider is Interactable3D:
if cockpit_action_hovered != result.collider:
if cockpit_action_hovered and cockpit_action_hovered != result.collider:
cockpit_action_hovered._on_mouse_exited()
cockpit_action_hovered = result.collider
cockpit_action_hovered._on_mouse_entered()
if action_hovered != result.collider:
if action_hovered and action_hovered != result.collider:
action_hovered._on_mouse_exited()
action_hovered = result.collider
action_hovered._on_mouse_entered()
if not "3d_action" in GameInfo.game_data.tutorials_done:
%InteractTutorial.visible = true
%InteractTutorial.modulate.a = 0.
var tween = create_tween()
tween.tween_property(%InteractTutorial, "modulate:a", 1., 0.2)
else :
if cockpit_action_hovered:
cockpit_action_hovered._on_mouse_exited()
cockpit_action_hovered = null
if action_hovered:
action_hovered._on_mouse_exited()
action_hovered = null