ajout des graines procédurales et des cinamatiques

This commit is contained in:
2026-02-21 14:29:36 +01:00
parent 2e4a1bab53
commit ca0133bd71
117 changed files with 1238 additions and 590 deletions

View File

@@ -23,6 +23,10 @@
[ext_resource type="AudioStream" uid="uid://cqa0gvgpoa7pd" path="res://common/audio_manager/assets/sfx/pick_up/pick_up_2.wav" id="21_dk5s6"]
[ext_resource type="AudioStream" uid="uid://d1cpi438ep0ys" path="res://common/audio_manager/assets/sfx/announce/annnounce.wav" id="22_btfwx"]
[ext_resource type="AudioStream" uid="uid://ccq04ahrwr3bv" path="res://common/audio_manager/assets/sfx/alarm/alarm.wav" id="23_fwu3w"]
[ext_resource type="AudioStream" uid="uid://ctfaxvblcg5lc" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_1.wav" id="24_tq535"]
[ext_resource type="AudioStream" uid="uid://c1dnklmka2ccn" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_2.wav" id="25_ywn7s"]
[ext_resource type="AudioStream" uid="uid://dd1uu6dd6sloe" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_3.wav" id="26_xhon7"]
[ext_resource type="AudioStream" uid="uid://eq7wufwnolto" path="res://common/audio_manager/assets/sfx/pickaxe/pickaxe_4.wav" id="27_3jg6d"]
[sub_resource type="AudioStreamPlaylist" id="AudioStreamPlaylist_ajci6"]
stream_count = 4
@@ -62,6 +66,14 @@ streams_count = 2
stream_0/stream = ExtResource("20_pu6t4")
stream_1/stream = ExtResource("21_dk5s6")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_dhq5t"]
random_pitch = 1.0594631
streams_count = 4
stream_0/stream = ExtResource("24_tq535")
stream_1/stream = ExtResource("25_ywn7s")
stream_2/stream = ExtResource("26_xhon7")
stream_3/stream = ExtResource("27_3jg6d")
[node name="AudioManager" type="Node" unique_id=1871137180]
process_mode = 3
script = ExtResource("1_0tvca")
@@ -114,3 +126,6 @@ volume_db = 8.627
[node name="Alarm" type="AudioStreamPlayer" parent="Sfx" unique_id=689347925]
stream = ExtResource("23_fwu3w")
[node name="Pickaxe" type="AudioStreamPlayer" parent="Sfx" unique_id=996309145]
stream = SubResource("AudioStreamRandomizer_dhq5t")

View File

@@ -92,7 +92,8 @@ func _on_timeline_started():
# Amuse toi Nilou ;)
func _on_timeline_ended():
_on_change_scene(SceneManager.actual_scene)
if SceneManager.actual_scene:
_on_change_scene(SceneManager.actual_scene)
func play_music(player_name : String = "", from_random_time := false, fade_time := DEFAULT_FADE_TIME):
music_action = AudioLaunch.new(

View File

@@ -51,7 +51,7 @@ func start_tutorial():
10,
3,
tr("TUTORIAL"),
true,
["tutorial"],
0,
randi()
)

View File

@@ -4,9 +4,9 @@ class_name RunData
enum State {STARTED, IN_PROGRESS, FINISHED}
const RUN_POINT_POSITION_DERIVATION = 100
const DIFFICULTY_INCREASE_BY_LEVEL = 1
const DIFFICULTY_INCREASE_BY_LEVEL = 3
const RUN_POINTS_NEXT_NUMBER :Array[int] = [2]
const RUN_POINT_MAX_LEVEL = 6
const RUN_POINT_MAX_LEVEL = 0 # TODO
signal current_run_point_changed
@@ -41,9 +41,14 @@ func generate_next_run_points(run_point : RunPoint) -> Array[RunPoint]:
func generate_next_run_point(run_point : RunPoint) -> RunPoint:
var level = run_point.level + 1
var region_parameter = RegionParameter.new()
region_parameter.level = level
region_parameter.flags = get_region_flags(region_parameter)
return RunPoint.new(
run_point.level + 1,
generate_difficulty_increased_region_parameter(run_point.region_parameter, DIFFICULTY_INCREASE_BY_LEVEL),
level,
generate_difficulty_increased_region_parameter(region_parameter, DIFFICULTY_INCREASE_BY_LEVEL * level),
(run_point.position + randi_range(-RUN_POINT_POSITION_DERIVATION, RUN_POINT_POSITION_DERIVATION)) % 360
)
@@ -56,6 +61,7 @@ func generate_difficulty_increased_region_parameter(
region_parameter.charges,
region_parameter.objective
)
while i_diff > 0:
var available_difficulty_modifier = [
@@ -96,6 +102,15 @@ func choose_next_run_point(run_point : RunPoint) -> RunPoint:
next_run_points = generate_next_run_points(current_run_point)
return current_run_point
func get_region_flags(region_parameter : RegionParameter) -> Array[String]:
var flags : Array[String] = []
print(region_parameter.level)
if region_parameter.level == RUN_POINT_MAX_LEVEL:
flags.append("borea")
return flags
class DifficultyModifier:
func modify(_region_parameter : RegionParameter):
pass

View File

@@ -44,7 +44,7 @@ const AVAILABLE_LANGUAGES_LABEL = [
#region ------------------ Video ------------------
@export var full_screen : bool = false :
@export var full_screen : bool = true :
set(v):
full_screen = v
video_changed.emit(self)

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#ffffff" class="icon icon-tabler icons-tabler-filled icon-tabler-circle-check"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M17 3.34a10 10 0 1 1 -14.995 8.984l-.005 -.324l.005 -.324a10 10 0 0 1 14.995 -8.336zm-1.293 5.953a1 1 0 0 0 -1.32 -.083l-.094 .083l-3.293 3.292l-1.293 -1.292l-.094 -.083a1 1 0 0 0 -1.403 1.403l.083 .094l2 2l.094 .083a1 1 0 0 0 1.226 0l.094 -.083l4 -4l.083 -.094a1 1 0 0 0 -.083 -1.32z" /></svg>

After

Width:  |  Height:  |  Size: 522 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dk7j4cmn2avor"
path="res://.godot/imported/circle-check.svg-a4b2a081fcd49aa81b3d471e5cf96154.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/circle-check.svg"
dest_files=["res://.godot/imported/circle-check.svg-a4b2a081fcd49aa81b3d471e5cf96154.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
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-circle-dotted"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M7.5 4.21l0 .01" /><path d="M4.21 7.5l0 .01" /><path d="M3 12l0 .01" /><path d="M4.21 16.5l0 .01" /><path d="M7.5 19.79l0 .01" /><path d="M12 21l0 .01" /><path d="M16.5 19.79l0 .01" /><path d="M19.79 16.5l0 .01" /><path d="M21 12l0 .01" /><path d="M19.79 7.5l0 .01" /><path d="M16.5 4.21l0 .01" /><path d="M12 3l0 .01" /></svg>

After

Width:  |  Height:  |  Size: 635 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://p7417vydlndb"
path="res://.godot/imported/circle-dotted.svg-66d6de56bbd4e5cdc1d212f761ee2b4a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/circle-dotted.svg"
dest_files=["res://.godot/imported/circle-dotted.svg-66d6de56bbd4e5cdc1d212f761ee2b4a.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
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

1
common/icons/rocket.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="icon icon-tabler icons-tabler-outline icon-tabler-rocket"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3" /><path d="M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3" /><path d="M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /></svg>

After

Width:  |  Height:  |  Size: 501 B

View File

@@ -0,0 +1,43 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://1ynlp05wj0hm"
path="res://.godot/imported/rocket.svg-179ed4d17d5fad3feb8d3bb0242a9308.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://common/icons/rocket.svg"
dest_files=["res://.godot/imported/rocket.svg-179ed4d17d5fad3feb8d3bb0242a9308.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
svg/scale=2.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -1,7 +1,7 @@
[gd_scene format=3 uid="uid://b8gqdgabrjaml"]
[ext_resource type="Script" uid="uid://dt2ip3pw2cboy" path="res://entities/plants/scripts/texture_builder/plant_texture_builder.gd" id="1_s8rsj"]
[ext_resource type="Script" uid="uid://b3jwglylqdqtw" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="2_cfiqo"]
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/plant_part.gd" id="2_cfiqo"]
[ext_resource type="Resource" uid="uid://bfyafiewcrjln" path="res://entities/plants/resources/plant_parts/Base1.tres" id="3_coupj"]
[ext_resource type="Resource" uid="uid://d2vdf2sth2xjm" path="res://entities/plants/resources/plant_parts/Base3.tres" id="4_coupj"]
[ext_resource type="Resource" uid="uid://7hrdkl6bf3o4" path="res://entities/plants/resources/plant_parts/Branch1.tres" id="4_ggud5"]
@@ -17,7 +17,7 @@
[ext_resource type="Resource" uid="uid://b4s58a600q2rn" path="res://entities/plants/resources/plant_parts/Branch16.tres" id="13_fuh2b"]
[ext_resource type="Resource" uid="uid://dspugxsjw2aea" path="res://entities/plants/resources/plant_parts/Branch17.tres" id="14_28gvc"]
[ext_resource type="Resource" uid="uid://cnt38l2fmg8d7" path="res://entities/plants/resources/plant_parts/Branch18.tres" id="15_1cwvj"]
[ext_resource type="Script" uid="uid://cfjd8jelpm8dt" path="res://entities/plants/scripts/texture_builder/part_mutation_association.gd" id="16_c3tk3"]
[ext_resource type="Script" path="res://entities/plants/scripts/texture_builder/part_mutation_association.gd" id="16_c3tk3"]
[ext_resource type="Resource" uid="uid://wxqxm6d5twdh" path="res://entities/plants/resources/plant_parts/Leaf8.tres" id="17_q0jli"]
[ext_resource type="Resource" uid="uid://uoikjpno37bi" path="res://entities/plants/resources/plant_parts/Leaf9.tres" id="18_rplk6"]
[ext_resource type="Resource" uid="uid://c5gqwck2p5h5n" path="res://entities/plants/resources/plant_parts/Leaf10.tres" id="19_mcckl"]
@@ -47,6 +47,13 @@
[ext_resource type="Resource" uid="uid://cbqrl72y0d1yg" path="res://entities/plants/resources/plant_parts/BottomLeaf7.tres" id="43_h02jx"]
[ext_resource type="Resource" uid="uid://dwppani7gyjl5" path="res://entities/plants/resources/plant_parts/BottomLeaf8.tres" id="44_1v1v5"]
[ext_resource type="Resource" uid="uid://dkta1u1u0efxk" path="res://entities/plants/resources/plant_parts/BottomLeaf9.tres" id="45_yha2t"]
[ext_resource type="Script" uid="uid://hs3i48clok85" path="res://entities/plants/scripts/texture_builder/seed_texture_set.gd" id="48_cynqk"]
[ext_resource type="Texture2D" uid="uid://cq2f308itghq7" path="res://entities/plants/assets/sprites/seeds/haricot/color_1.png" id="49_b21au"]
[ext_resource type="Texture2D" uid="uid://b3apxg55cjoow" path="res://entities/plants/assets/sprites/seeds/haricot/color_2.png" id="50_17ac3"]
[ext_resource type="Texture2D" uid="uid://0ayiumcnqyc1" path="res://entities/plants/assets/sprites/seeds/haricot/outline.png" id="51_fuh2b"]
[ext_resource type="Texture2D" uid="uid://cuqocuhfpdful" path="res://entities/plants/assets/sprites/seeds/pick-sphere/color_1.png" id="52_28gvc"]
[ext_resource type="Texture2D" uid="uid://tcjcq04akuns" path="res://entities/plants/assets/sprites/seeds/pick-sphere/color_2.png" id="53_1cwvj"]
[ext_resource type="Texture2D" uid="uid://cu1dajkls18x0" path="res://entities/plants/assets/sprites/seeds/pick-sphere/line.png" id="54_c3tk3"]
[sub_resource type="Resource" id="Resource_x75j3"]
script = ExtResource("16_c3tk3")
@@ -72,6 +79,18 @@ parts = Array[ExtResource("2_cfiqo")]([ExtResource("37_kyre2"), ExtResource("38_
part_amount = 2
metadata/_custom_type_script = "uid://cfjd8jelpm8dt"
[sub_resource type="Resource" id="Resource_q0jli"]
script = ExtResource("48_cynqk")
color_textures = Array[Texture]([ExtResource("49_b21au"), ExtResource("50_17ac3")])
outline_texture = ExtResource("51_fuh2b")
metadata/_custom_type_script = "uid://hs3i48clok85"
[sub_resource type="Resource" id="Resource_rplk6"]
script = ExtResource("48_cynqk")
color_textures = Array[Texture]([ExtResource("52_28gvc"), ExtResource("53_1cwvj")])
outline_texture = ExtResource("54_c3tk3")
metadata/_custom_type_script = "uid://hs3i48clok85"
[node name="TextureBuilder" type="Node" unique_id=79184097]
script = ExtResource("1_s8rsj")
bases = Array[ExtResource("2_cfiqo")]([ExtResource("3_coupj")])
@@ -83,3 +102,4 @@ parts_mutation_associations = Dictionary[String, ExtResource("16_c3tk3")]({
"QUALITY": SubResource("Resource_n40r1"),
"QUICK": SubResource("Resource_pw6ot")
})
seed_texture_sets = Array[ExtResource("48_cynqk")]([SubResource("Resource_q0jli"), SubResource("Resource_rplk6")])

View File

@@ -9,7 +9,8 @@
[ext_resource type="Resource" uid="uid://diro74w272onp" path="res://common/scene_manager/scenes/title.tres" id="7_ol3d5"]
[ext_resource type="Resource" uid="uid://jegdqnd2sqi2" path="res://common/scene_manager/scenes/astra.tres" id="8_e28ni"]
[ext_resource type="Resource" uid="uid://b3ebbo88ptrrc" path="res://common/scene_manager/scenes/garage.tres" id="9_msho1"]
[ext_resource type="Resource" uid="uid://cvrs6qsq7mpa5" path="res://common/scene_manager/scenes/borea.tres" id="10_ytog4"]
[node name="SceneManager" type="Node" unique_id=1630600782]
script = ExtResource("1_1c0qu")
scenes = Array[ExtResource("2_c1lr7")]([ExtResource("3_e28ni"), ExtResource("4_msho1"), ExtResource("5_ytog4"), ExtResource("6_chs32"), ExtResource("7_ol3d5"), ExtResource("8_e28ni"), ExtResource("9_msho1")])
scenes = Array[ExtResource("2_c1lr7")]([ExtResource("3_e28ni"), ExtResource("4_msho1"), ExtResource("5_ytog4"), ExtResource("6_chs32"), ExtResource("7_ol3d5"), ExtResource("8_e28ni"), ExtResource("9_msho1"), ExtResource("10_ytog4")])

View File

@@ -0,0 +1,10 @@
[gd_resource type="Resource" script_class="Scene" format=3 uid="uid://cvrs6qsq7mpa5"]
[ext_resource type="Script" uid="uid://1ejbvr3431ac" path="res://common/scene_manager/scripts/scene.gd" id="1_7m46k"]
[resource]
script = ExtResource("1_7m46k")
scene_id = "BOREA"
scene_path = "res://stages/3d_scenes/borea_base/borea_base.tscn"
mouse_captured = true
metadata/_custom_type_script = "uid://1ejbvr3431ac"