ajout d'une petite surprise...

This commit is contained in:
Zacharie Guet 2025-11-11 01:08:56 +01:00
parent fb5a692cf4
commit 33fce0e0ab
15 changed files with 748 additions and 140 deletions

View File

@ -6,7 +6,6 @@ class_name InGameBaseIndicator
# Called when the node enters the scene tree for the first time. # Called when the node enters the scene tree for the first time.
func _ready(): func _ready():
setup(tr("GARDEN")) setup(tr("GARDEN"))
print(GameInfo.game_data.current_planet_data.garden_size/2)
follow_game_position(GameInfo.game_data.current_planet_data.garden_size/2) follow_game_position(GameInfo.game_data.current_planet_data.garden_size/2)
func _process(_delta): func _process(_delta):

View File

@ -1,12 +1,9 @@
extends Node2D extends Node
@export_file var start_scene_path : String @export_file var start_scene_path : String
func _ready(): func _ready():
%Version.text = ProjectSettings.get_setting("application/config/version")
func _on_start_pressed():
GameInfo.game_data.current_planet_data = PlanetData.new()
var preferred_language = OS.get_locale_language() var preferred_language = OS.get_locale_language()
TranslationServer.set_locale(preferred_language) TranslationServer.set_locale(preferred_language)
get_tree().change_scene_to_file(start_scene_path) get_tree().change_scene_to_file(start_scene_path)

137
root.tscn
View File

@ -1,138 +1,7 @@
[gd_scene load_steps=8 format=3 uid="uid://c5bruelvqbm1k"] [gd_scene load_steps=2 format=3 uid="uid://c5bruelvqbm1k"]
[ext_resource type="Script" uid="uid://c54457tbocdwk" path="res://gui/menu/scripts/menu.gd" id="1_bf3um"] [ext_resource type="Script" uid="uid://c54457tbocdwk" path="res://gui/menu/scripts/menu.gd" id="1_bf3um"]
[ext_resource type="Texture2D" uid="uid://c3t26nlbnkxg7" path="res://stages/terrain/planet/assets/textures/garden_decontamined_background_texture.png" id="2_vyht1"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/default_theme.tres" id="4_gd4vy"]
[ext_resource type="Texture2D" uid="uid://nx4wxpr6mk8l" path="res://gui/menu/assets/texture/SeedingPlanetsLogo.png" id="5_qw60f"]
[ext_resource type="Texture2D" uid="uid://03ijmo6xlytu" path="res://gui/menu/assets/texture/abre1glow.png" id="6_eji0w"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="7_qwhpj"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="8_bf3um"]
[node name="Root" type="Node2D"] [node name="Root" type="Node"]
script = ExtResource("1_bf3um") script = ExtResource("1_bf3um")
start_scene_path = "uid://d0n52psuns1vl" start_scene_path = "uid://dxvtm81tq1a6w"
[node name="CanvasLayer" type="CanvasLayer" parent="."]
process_mode = 3
[node name="Background1" type="TextureRect" parent="CanvasLayer"]
z_index = -1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("2_vyht1")
expand_mode = 2
stretch_mode = 1
[node name="MarginContainer" type="MarginContainer" parent="CanvasLayer"]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("4_gd4vy")
[node name="Tree" type="TextureRect" parent="CanvasLayer/MarginContainer"]
z_index = -1
custom_minimum_size = Vector2(500, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("6_eji0w")
expand_mode = 4
stretch_mode = 4
[node name="Version" type="Label" parent="CanvasLayer/MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
text = "Version"
[node name="GridContainer" type="HBoxContainer" parent="CanvasLayer/MarginContainer"]
layout_mode = 2
alignment = 1
[node name="VBoxContainer" type="VBoxContainer" parent="CanvasLayer/MarginContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_constants/separation = 20
alignment = 1
[node name="Logo" type="TextureRect" parent="CanvasLayer/MarginContainer/GridContainer/VBoxContainer"]
z_index = 2
custom_minimum_size = Vector2(600, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
texture = ExtResource("5_qw60f")
expand_mode = 5
stretch_mode = 5
[node name="Start" type="Button" parent="CanvasLayer/MarginContainer/GridContainer/VBoxContainer"]
unique_name_in_owner = true
z_index = 1
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme = ExtResource("4_gd4vy")
theme_override_font_sizes/font_size = 33
text = "START"
icon = ExtResource("7_qwhpj")
[node name="Credits" type="VBoxContainer" parent="CanvasLayer/MarginContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
[node name="ArtTitle" type="Label" parent="CanvasLayer/MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("4_gd4vy")
text = "ART"
label_settings = ExtResource("8_bf3um")
horizontal_alignment = 1
[node name="ArtText" type="Label" parent="CanvasLayer/MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("4_gd4vy")
text = "Baptiste Pocard
Céline Ferrand / Lunarde
Camille Fleury
"
horizontal_alignment = 1
[node name="DevTitle" type="Label" parent="CanvasLayer/MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("4_gd4vy")
text = "DEV_AND_GAME_DESIGN"
label_settings = ExtResource("8_bf3um")
horizontal_alignment = 1
[node name="DevText" type="Label" parent="CanvasLayer/MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("4_gd4vy")
text = "Zacharie Guet / Zink
Victor Robert Jaunet / Altaezio
"
horizontal_alignment = 1
[node name="MusicTitle" type="Label" parent="CanvasLayer/MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("4_gd4vy")
text = "MUSIC"
label_settings = ExtResource("8_bf3um")
horizontal_alignment = 1
[node name="MusicText" type="Label" parent="CanvasLayer/MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("4_gd4vy")
text = "Niels / Nilou"
horizontal_alignment = 1
[connection signal="pressed" from="CanvasLayer/MarginContainer/GridContainer/VBoxContainer/Start" to="." method="_on_start_pressed"]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,9 @@
[gd_resource type="GradientTexture1D" load_steps=2 format=3 uid="uid://c4usrfeevb4n1"]
[sub_resource type="Gradient" id="Gradient_tbl1d"]
interpolation_mode = 1
offsets = PackedFloat32Array(0.18263473, 0.2994012, 0.48203593, 0.71257484)
colors = PackedColorArray(0, 0, 0, 1, 0.0974324, 0.14984256, 0.19949976, 1, 0.15294118, 0.1764706, 0.27450982, 1, 1, 1, 1, 1)
[resource]
gradient = SubResource("Gradient_tbl1d")

View File

@ -0,0 +1,114 @@
// Stolen here https://godotshaders.com/shader/starry-sky/
shader_type sky;
// Comment this if you don't want to use star twinke. However, if you do want to keep it,
// I suggest you to set the sky process mode to High-Quality Incremental or Real-Time,
// as star twinkling may greatly impact performance.
#define USE_TWINKLE
group_uniforms sky;
uniform vec3 sky_color: source_color = vec3(0.03, 0.05, 0.11);
group_uniforms stars;
uniform vec3 star_base_color: source_color = vec3(0.8, 1.0, 0.3);
uniform float star_hue_offset: hint_range(0., 1.) = 0.6;
uniform float star_intensity: hint_range(0., 0.2) = 0.08;
#ifdef USE_TWINKLE
uniform float star_twinkle_speed: hint_range(0.0, 2.0) = 0.8;
uniform float star_twinkle_intensity: hint_range(0.0, 1.0) = 0.2;
#endif
group_uniforms layers;
uniform float layer_scale: hint_range(0., 60.) = 20.;
uniform float layer_scale_step: hint_range(0., 40.) = 10.;
uniform int layers_count: hint_range(0, 12) = 3;
// Hue credit:
// The MIT License
// Copyright © 2024 DigvijaysinhGohil
// https://github.com/DigvijaysinhGohil/Godot-Shader-Lib
vec3 hue(vec3 input, float offset, int range_index) {
// RGB to HSV
vec4 k = vec4(0., -1./3., 2./3., -1.);
vec4 p = mix(vec4(input.bg, k.wz), vec4(input.gb, k.xy), step(input.b, input.g));
vec4 q = mix(vec4(p.xyw, input.r), vec4(input.r, p.yzx), step(p.x, input.r));
float d = q.x - min(q.w, q.y);
float e = 1.e-10;
vec3 hsv = vec3(abs(q.z + (q.w - q.y) / (6. * d + e)), d / (q.x + e), q.x);
offset = (range_index == 0) ? offset / 360. : offset;
float hue = hsv.x + offset;
if (hue < 0.) {
hsv.x = hue + 1.;
} else if (hue > 1.) {
hsv.x = hue - 1.;
} else {
hsv.x = hue;
}
// HSV to RGB
vec4 k2 = vec4(1., 2./3., 1./3., 3.);
vec3 p2 = abs(fract(hsv.xxx + k2.xyz) * 6. - k2.www);
vec3 rgb = hsv.z * mix(k2.xxx, clamp(p2 - k2.xxx, 0., 1.), hsv.y);
return rgb;
}
// Voronoi method credit:
// The MIT License
// Copyright © 2013 Inigo Quilez
// https://www.shadertoy.com/view/ldl3Dl
vec3 hash(vec3 x) {
x = vec3(dot(x, vec3(127.1,311.7, 74.7)),
dot(x, vec3(269.5,183.3,246.1)),
dot(x, vec3(113.5,271.9,124.6)));
return fract(sin(x) * 43758.5453123);
}
vec2 voronoi(in vec3 x){
vec3 p = floor(x);
vec3 f = fract(x);
float res = 100.;
float id = 0.;
for (float k = -1.; k <= 1.; k += 1.) {
for (float j = -1.; j <= 1.; j += 1.) {
for (float i = -1.; i <= 1.; i += 1.) {
vec3 b = vec3(i, j, k);
vec3 r = vec3(b) - f + hash(p + b);
float d = dot(r, r);
if (d < res) {
res = d;
id = dot(p + b, vec3(0., 57., 113.));
}
}
}
}
return vec2(sqrt(res), id);
}
void sky() {
COLOR = sky_color;
for (int i = 0; i < layers_count; i++) {
vec3 pos = EYEDIR * (layer_scale + float(i) * layer_scale_step);
vec2 layer = voronoi(pos);
vec3 rand = hash(vec3(layer.y));
#ifdef USE_TWINKLE
float twinkle = sin(TIME * PI * star_twinkle_speed + rand.x * TAU);
twinkle *= star_twinkle_intensity;
float star = smoothstep(star_intensity + star_intensity * twinkle, 0., layer.x);
#else
float star = smoothstep(star_intensity, 0., layer.x);
#endif
vec3 star_color = star * hue((COLOR + star_base_color), rand.y * star_hue_offset, 1);
COLOR += star_color;
}
}

View File

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

View File

@ -0,0 +1,27 @@
shader_type spatial;
render_mode world_vertex_coords;
uniform float specular = 0.8;
uniform float roughness = 0.6;
uniform float radius = 8.0;
uniform float height = 4;
uniform sampler2D gradient: repeat_disable;
varying vec4 world_vert;
void vertex() {
world_vert = inverse(MODEL_MATRIX) * vec4(VERTEX,1.0);
}
void fragment() {
SPECULAR = specular;
ROUGHNESS = roughness;
float color_uv = (length(world_vert.xyz) - radius) / (height);
ALBEDO = texture(gradient, vec2(color_uv, 0.0)).rgb;
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}

View File

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

View File

@ -0,0 +1,114 @@
# Tutorial here https://www.youtube.com/watch?v=tPl7zfwuEEA
@tool
extends Node3D
class_name Planet3D
@export_group("Sphere")
@export var radius : float = 8.0 :
set(v):
radius = maxf(1.0, v)
update_terrain()
update_water()
@export var details : int = 64:
set(v):
details = maxi(1,v)
update_terrain()
@export_group("Terrain")
@export var noise : Noise = FastNoiseLite.new():
set(v):
noise = v
if noise:
noise.changed.connect(update_terrain)
@export var height : float = 1.0 :
set(v):
height = maxf(0.0, v)
update_terrain()
update_water()
@export var terrain_material : Material:
set(v):
terrain_material = v
if terrain.get_surface_count():
terrain.surface_set_material(0,terrain_material)
@export_tool_button("Random Noise", "Callable") var update_action = func():
noise = generate_noise()
update_terrain()
@export_group("Water")
@export_range(0.0,1.0,0.05) var water_level := 0.:
set(v):
water_level = v
update_water()
@export var water_detail := 64:
set(v):
water_detail = maxi(1, v)
update_water()
@export var water_material : Material:
set(v):
water_material = v
if water.get_surface_count():
water.surface_set_material(0,water_material)
var terrain: ArrayMesh = ArrayMesh.new()
var water: ArrayMesh = ArrayMesh.new()
func _ready():
noise = generate_noise()
%Terrain.mesh = terrain
%Water.mesh = water
update_terrain()
update_water()
func create_sphere(sphere_radius : float, sphere_details : int) -> Array:
var sphere : SphereMesh= SphereMesh.new()
sphere.radius = sphere_radius
sphere.height = sphere_radius * 2.
sphere.radial_segments = sphere_details * 2
sphere.rings = sphere_details
return sphere.get_mesh_arrays()
func generate_noise() -> Noise:
var n := FastNoiseLite.new()
n.noise_type = FastNoiseLite.TYPE_SIMPLEX_SMOOTH
n.frequency = 1.0
n.seed = randi()
return n
func get_noise(vertex: Vector3) -> float:
return (noise.get_noise_3dv(vertex.normalized() * 2.0) + 1.0) / 2.0 * height
func update_terrain() -> void:
if !terrain or %Terrain == null:
return
var mesh_arrays = create_sphere(radius, details)
var vertices : PackedVector3Array = mesh_arrays[ArrayMesh.ARRAY_VERTEX]
for i : int in vertices.size():
var vertex := vertices[i]
vertex += vertex.normalized() * get_noise(vertex)
vertices[i] = vertex
terrain.clear_surfaces()
terrain.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, mesh_arrays)
terrain.surface_set_material(0,terrain_material)
if terrain_material:
terrain_material.set_shader_parameter("radius", radius)
terrain_material.set_shader_parameter("height", height)
func update_water() -> void:
if !water or %Water == null:
return
%Water.visible = water_level != 0
var water_radius := lerpf(radius, radius + height, water_level)
var mesh_arrays = create_sphere(water_radius, water_detail)
water.clear_surfaces()
water.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, mesh_arrays)
water.surface_set_material(0,water_material)

View File

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

View File

@ -0,0 +1,46 @@
extends CanvasLayer
class_name TitleScreen
const DEFAULT_PLANET_ACCELERATION = Vector2(0.1,0.1)
var planet_acceleration := Vector2(0,0)
var rotating := false
var prev_mouse_pos : Vector2
var next_mouse_pos : Vector2
@export_file var game_scene_path : String
func _ready():
%Version.text = ProjectSettings.get_setting("application/config/version")
func _on_start_pressed():
GameInfo.game_data.current_planet_data = PlanetData.new()
get_tree().change_scene_to_file(game_scene_path)
func _process(delta):
next_mouse_pos = get_viewport().get_mouse_position()
if Input.is_action_just_pressed("action"):
rotating = true
prev_mouse_pos = get_viewport().get_mouse_position()
if Input.is_action_just_released("action"):
rotating = false
planet_acceleration = Vector2(
float(next_mouse_pos.x - prev_mouse_pos.x),
float(next_mouse_pos.y - prev_mouse_pos.y)
)
var planet_rotation = planet_acceleration
if rotating:
planet_rotation = Vector2(
float(next_mouse_pos.x - prev_mouse_pos.x),
float(next_mouse_pos.y - prev_mouse_pos.y)
)
prev_mouse_pos = next_mouse_pos
else :
planet_acceleration = planet_acceleration.lerp(DEFAULT_PLANET_ACCELERATION, 0.1)
%Planet3d.rotate(Vector3.UP, planet_rotation.x * delta)
%Planet3d.rotate(Vector3.RIGHT, planet_rotation.y * delta)

View File

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

View File

@ -0,0 +1,184 @@
[gd_scene load_steps=13 format=3 uid="uid://dxvtm81tq1a6w"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/default_theme.tres" id="1_4ph5l"]
[ext_resource type="Script" uid="uid://cwmp2une7hobe" path="res://stages/title_screen/scripts/title_screen.gd" id="1_6yuhi"]
[ext_resource type="Texture2D" uid="uid://nx4wxpr6mk8l" path="res://gui/menu/assets/texture/SeedingPlanetsLogo.png" id="2_qnk88"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="3_6yuhi"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_y6tw6"]
[ext_resource type="PackedScene" uid="uid://cm5b7w7j6527f" path="res://stages/title_screen/planet_3d.tscn" id="5_7a1qq"]
[ext_resource type="Shader" uid="uid://bv2rghn44mrrf" path="res://stages/title_screen/resources/shaders/stars.gdshader" id="7_y6tw6"]
[sub_resource type="ViewportTexture" id="ViewportTexture_6yuhi"]
viewport_path = NodePath("SubViewport")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_6yuhi"]
seed = 1530088909
frequency = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7a1qq"]
shader = ExtResource("7_y6tw6")
shader_parameter/sky_color = Color(0.03, 0.05, 0.11, 1)
shader_parameter/star_base_color = Color(0.8, 1, 0.3, 1)
shader_parameter/star_hue_offset = 0.6
shader_parameter/star_intensity = 0.08
shader_parameter/star_twinkle_speed = 0.8
shader_parameter/star_twinkle_intensity = 0.2
shader_parameter/layer_scale = 20.0
shader_parameter/layer_scale_step = 10.0
shader_parameter/layers_count = 3
[sub_resource type="Sky" id="Sky_65b6a"]
sky_material = SubResource("ShaderMaterial_7a1qq")
[sub_resource type="Environment" id="Environment_nmsah"]
background_mode = 2
sky = SubResource("Sky_65b6a")
sky_custom_fov = 61.7
reflected_light_source = 1
tonemap_exposure = 1.54
glow_enabled = true
glow_intensity = 1.16
glow_bloom = 0.49
glow_hdr_threshold = 0.32
glow_hdr_scale = 0.0
glow_hdr_luminance_cap = 5.63
fog_density = 0.0
fog_sky_affect = 0.0
adjustment_enabled = true
adjustment_brightness = 1.04
adjustment_contrast = 1.2
adjustment_saturation = 0.88
[node name="TitleScreen" type="CanvasLayer"]
script = ExtResource("1_6yuhi")
game_scene_path = "uid://d28cp7a21kwou"
[node name="Background1" type="TextureRect" parent="."]
z_index = -1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_6yuhi")
expand_mode = 2
stretch_mode = 6
[node name="MarginContainer" type="MarginContainer" parent="."]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme = ExtResource("1_4ph5l")
[node name="Version" type="Label" parent="MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
text = "Version"
[node name="GridContainer" type="HBoxContainer" parent="MarginContainer"]
layout_mode = 2
alignment = 1
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_constants/separation = 20
alignment = 1
[node name="Logo" type="TextureRect" parent="MarginContainer/GridContainer/VBoxContainer"]
z_index = 2
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
texture = ExtResource("2_qnk88")
expand_mode = 5
stretch_mode = 5
[node name="Start" type="Button" parent="MarginContainer/GridContainer/VBoxContainer"]
unique_name_in_owner = true
z_index = 1
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme = ExtResource("1_4ph5l")
theme_override_font_sizes/font_size = 33
text = "START"
icon = ExtResource("3_6yuhi")
[node name="Credits" type="VBoxContainer" parent="MarginContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
[node name="ArtTitle" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("1_4ph5l")
text = "ART"
label_settings = ExtResource("4_y6tw6")
horizontal_alignment = 1
[node name="ArtText" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("1_4ph5l")
text = "Baptiste Pocard
Céline Ferrand / Lunarde
Camille Fleury
"
horizontal_alignment = 1
[node name="DevTitle" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("1_4ph5l")
text = "DEV_AND_GAME_DESIGN"
label_settings = ExtResource("4_y6tw6")
horizontal_alignment = 1
[node name="DevText" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("1_4ph5l")
text = "Zacharie Guet / Zink
Victor Robert Jaunet / Altaezio
"
horizontal_alignment = 1
[node name="MusicTitle" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("1_4ph5l")
text = "MUSIC"
label_settings = ExtResource("4_y6tw6")
horizontal_alignment = 1
[node name="MusicText" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("1_4ph5l")
text = "Niels / Nilou"
horizontal_alignment = 1
[node name="SubViewport" type="SubViewport" parent="."]
size = Vector2i(1980, 1080)
[node name="Planet3d" parent="SubViewport" instance=ExtResource("5_7a1qq")]
unique_name_in_owner = true
noise = SubResource("FastNoiseLite_6yuhi")
[node name="Camera3D" type="Camera3D" parent="SubViewport"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 64.323425)
current = true
fov = 34.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="SubViewport"]
environment = SubResource("Environment_nmsah")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="SubViewport"]
transform = Transform3D(0.044800885, 0.76661056, -0.6405476, -0.8325595, 0.38302267, 0.4001729, 0.55212104, 0.51536596, 0.65540874, -23.18848, 19.508549, 0)
[connection signal="pressed" from="MarginContainer/GridContainer/VBoxContainer/Start" to="." method="_on_start_pressed"]

View File

@ -0,0 +1,178 @@
[gd_scene load_steps=12 format=3 uid="uid://dxvtm81tq1a6w"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/default_theme.tres" id="1_4ph5l"]
[ext_resource type="Script" uid="uid://cwmp2une7hobe" path="res://stages/title_screen/scripts/title_screen.gd" id="1_6yuhi"]
[ext_resource type="Texture2D" uid="uid://nx4wxpr6mk8l" path="res://gui/menu/assets/texture/SeedingPlanetsLogo.png" id="2_qnk88"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="3_6yuhi"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_y6tw6"]
[ext_resource type="PackedScene" uid="uid://cm5b7w7j6527f" path="res://stages/title_screen/planet_3d.tscn" id="5_7a1qq"]
[ext_resource type="Shader" uid="uid://bv2rghn44mrrf" path="res://stages/title_screen/resources/shaders/stars.gdshader" id="7_y6tw6"]
[sub_resource type="ViewportTexture" id="ViewportTexture_nmsah"]
viewport_path = NodePath("SubViewport")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7a1qq"]
shader = ExtResource("7_y6tw6")
shader_parameter/sky_color = Color(0.03, 0.05, 0.11, 1)
shader_parameter/star_base_color = Color(0.8, 1, 0.3, 1)
shader_parameter/star_hue_offset = 0.6
shader_parameter/star_intensity = 0.08
shader_parameter/star_twinkle_speed = 0.8
shader_parameter/star_twinkle_intensity = 0.2
shader_parameter/layer_scale = 20.0
shader_parameter/layer_scale_step = 10.0
shader_parameter/layers_count = 3
[sub_resource type="Sky" id="Sky_65b6a"]
sky_material = SubResource("ShaderMaterial_7a1qq")
[sub_resource type="Environment" id="Environment_nmsah"]
background_mode = 2
sky = SubResource("Sky_65b6a")
tonemap_exposure = 1.54
glow_enabled = true
glow_intensity = 0.88
glow_bloom = 0.44
glow_hdr_scale = 0.0
glow_hdr_luminance_cap = 5.63
adjustment_enabled = true
adjustment_brightness = 1.04
adjustment_contrast = 1.2
adjustment_saturation = 0.88
[node name="TitleScreen" type="Control"]
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
script = ExtResource("1_6yuhi")
[node name="Background1" type="TextureRect" parent="."]
z_index = -1
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_nmsah")
expand_mode = 2
stretch_mode = 6
[node name="MarginContainer" 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_4ph5l")
[node name="Version" type="Label" parent="MarginContainer"]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
text = "Version"
[node name="GridContainer" type="HBoxContainer" parent="MarginContainer"]
layout_mode = 2
alignment = 1
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
theme_override_constants/separation = 20
alignment = 1
[node name="Logo" type="TextureRect" parent="MarginContainer/GridContainer/VBoxContainer"]
z_index = 2
custom_minimum_size = Vector2(400, 0)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 0
texture = ExtResource("2_qnk88")
expand_mode = 5
stretch_mode = 5
[node name="Start" type="Button" parent="MarginContainer/GridContainer/VBoxContainer"]
unique_name_in_owner = true
z_index = 1
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
theme = ExtResource("1_4ph5l")
theme_override_font_sizes/font_size = 33
text = "START"
icon = ExtResource("3_6yuhi")
[node name="Credits" type="VBoxContainer" parent="MarginContainer/GridContainer"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 4
[node name="ArtTitle" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("1_4ph5l")
text = "ART"
label_settings = ExtResource("4_y6tw6")
horizontal_alignment = 1
[node name="ArtText" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("1_4ph5l")
text = "Baptiste Pocard
Céline Ferrand / Lunarde
Camille Fleury
"
horizontal_alignment = 1
[node name="DevTitle" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("1_4ph5l")
text = "DEV_AND_GAME_DESIGN"
label_settings = ExtResource("4_y6tw6")
horizontal_alignment = 1
[node name="DevText" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("1_4ph5l")
text = "Zacharie Guet / Zink
Victor Robert Jaunet / Altaezio
"
horizontal_alignment = 1
[node name="MusicTitle" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("1_4ph5l")
text = "MUSIC"
label_settings = ExtResource("4_y6tw6")
horizontal_alignment = 1
[node name="MusicText" type="Label" parent="MarginContainer/GridContainer/Credits"]
layout_mode = 2
theme = ExtResource("1_4ph5l")
text = "Niels / Nilou"
horizontal_alignment = 1
[node name="SubViewport" type="SubViewport" parent="."]
size = Vector2i(1280, 720)
[node name="Planet3d" parent="SubViewport" instance=ExtResource("5_7a1qq")]
unique_name_in_owner = true
[node name="Camera3D" type="Camera3D" parent="SubViewport"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 64.323425)
fov = 34.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="SubViewport"]
environment = SubResource("Environment_nmsah")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="SubViewport"]
transform = Transform3D(0.044800885, 0.76661056, -0.6405476, -0.8325595, 0.38302267, 0.4001729, 0.55212104, 0.51536596, 0.65540874, -23.18848, 19.508549, 0)