Equilibrage, amélioration du tutoriel et de la clarté des éléments de gameplay

* Rajout d'une région supplémentaire pour finir le jeu, et renommage de la dernière map en "Base Borea"
* Amélioration de la clarté du détecteur
* Les objectifs du tutoriel et les indications de jeu apparaissent désormais en haut de l'écran
* Changement des étapes du tutoriel
* Amélioration de la lisibilité du voyage dans le vaisseau (avec un décompte de distance jusqu'à la fin du jeu)
* Changement de la génération de map : la zone fertile est désormais uniquement au centre de la carte, les chunks sont également plus petits
* Changement des objectifs à réaliser ainsi que des recharges, seule 8 par région désormais
* Les modificateurs de région n'évoluent plus
This commit is contained in:
2026-03-21 18:59:39 +01:00
parent 03fbf72ee9
commit 4a46492598
26 changed files with 470 additions and 271 deletions

View File

@@ -115,14 +115,16 @@ camera = NodePath("../../Camera")
[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
[node name="Tutorial" parent="RegionGui" unique_id=762436685 node_paths=PackedStringArray("player", "region") instance=ExtResource("2_2f6js")]
[node name="Tutorial" parent="RegionGui" unique_id=762436685 node_paths=PackedStringArray("player", "region", "game_gui") instance=ExtResource("2_2f6js")]
unique_name_in_owner = true
player = NodePath("../../Entities/Player")
region = NodePath("../..")
game_gui = NodePath("../../GameGui")
[node name="GameGui" parent="." unique_id=1970837239 instance=ExtResource("4_qdnee")]

View File

@@ -5,12 +5,13 @@ const GENERATION_NUMBER = 4
const NOISE_IMAGE_SIZE := 150
const MAX_DECONTAMINATION_DISTANCE=2
const MAX_TALION_DISTANCE=3
const MAX_DECONTAMINATION_DISTANCE=0
const MAX_TALION_DISTANCE=2
const RANDOM_PADDING_NOISE_FREQUENCY := 0.01
const ROCK_NOISE_FREQUENCY := 0.01
const DECONTAMINATION_NOISE_FREQUENCY := 0.01
const ROCK_NOISE_FREQUENCY := 0.005
const CRISTAL_NOISE_FREQUENCY := 0.008
const DECONTAMINATION_NOISE_FREQUENCY := 0.008
const CHUNK_RANDOM_PADDING := 2
@@ -71,7 +72,7 @@ func setup_position():
func generate():
rock_noise_image = generate_noise(region_data.region_seed + 1, ROCK_NOISE_FREQUENCY)
decontamination_noise_image = generate_noise(region_data.region_seed + 2, DECONTAMINATION_NOISE_FREQUENCY)
cristal_noise_image = generate_noise(region_data.region_seed + 3, ROCK_NOISE_FREQUENCY)
cristal_noise_image = generate_noise(region_data.region_seed + 3, CRISTAL_NOISE_FREQUENCY)
random_padding_noise = generate_noise(region_data.region_seed + 10, RANDOM_PADDING_NOISE_FREQUENCY)
all_tiles = calculate_all_tiles()
@@ -169,7 +170,7 @@ func generate_noise(
var noise: FastNoiseLite = FastNoiseLite.new()
noise.seed = noise_seed
noise.noise_type = FastNoiseLite.TYPE_SIMPLEX
noise.frequency = 0.01
noise.frequency = frequency
noise.fractal_type = FastNoiseLite.FRACTAL_NONE
noise.fractal_weighted_strength = 1.0
noise.offset = Vector3(

View File

@@ -8,7 +8,7 @@ func get_description() -> String:
return tr("ARID_MODIFIER_DESC_TEXT")
func modify_decontamination_threshold(decontamination_threshold : float) -> float:
return decontamination_threshold * (1. - 0.2*level)
return decontamination_threshold * (0.5)
func modify_start_decontamination_zone_radius(start_decontamination_zone_radius : int) -> int:
return max(1,roundi(start_decontamination_zone_radius * (1. - 0.2*level)))
return max(1,roundi(start_decontamination_zone_radius * (0.5)))

View File

@@ -8,4 +8,4 @@ func get_description() -> String:
return tr("HARSH_MODIFIER_DESC_TEXT")
func modify_objective(objective : int) -> int:
return roundi(objective * (1. + 0.2*level))
return roundi(objective * 1.5)

View File

@@ -8,4 +8,4 @@ func get_description() -> String:
return tr("HUMID_MODIFIER_DESC_TEXT")
func modify_charge(charge : int) -> int:
return charge - level
return charge - 2

View File

@@ -8,4 +8,4 @@ func get_description() -> String:
return tr("POOR_MODIFIER_DESC_TEXT")
func modify_cristal_threshold(cristal_threshold : float) -> float:
return cristal_threshold * (1. - 0.2*level)
return cristal_threshold * 0.5

View File

@@ -10,10 +10,10 @@ const TILE_SCALE = 1
const TILE_SIZE : int = roundi(TILE_SET.tile_size.x * TILE_SCALE)
const SPAWN_OBJECT_RANDOM_MOVEMENT = 200
const CHUNK_TILE_SIZE : int = 20
const CHUNK_TILE_SIZE : int = 10
const CHUNK_SIZE = CHUNK_TILE_SIZE * TILE_SIZE
const CHUNK_LOAD_DISTANCE : int = 1
const CHUNK_UNLOAD_DISTANCE : int = 2
const CHUNK_LOAD_DISTANCE : int = 2
const CHUNK_UNLOAD_DISTANCE : int = 3
const MAX_GENERATION_THREAD = 1 # Crash when superior to 1

View File

@@ -2,9 +2,9 @@ extends Resource
class_name RegionParameter
const DEFAULT_ROCK_THRESHOLD = 0.3
const DEFAULT_DECONTAMINATION_THRESHOLD = 0.15
const DEFAULT_CRISTAL_THRESHOLD = 0.06
const DEFAULT_CHARGE = 10
const DEFAULT_DECONTAMINATION_THRESHOLD = 0.4
const DEFAULT_CRISTAL_THRESHOLD = 0.1
const DEFAULT_CHARGE = 8
const DEFAULT_START_DECONTAMINATION_ZONE_RADIUS = 3
@export var region_name : String
@@ -14,7 +14,14 @@ const DEFAULT_START_DECONTAMINATION_ZONE_RADIUS = 3
@export var modifiers : Array[RegionModifier]
static func get_objective_by_level(l : int) -> int:
return 10 + 5 * l
match l:
0: return 5
1: return 8
2: return 10
3: return 15
4: return 20
5: return 30
_: return get_objective_by_level(l-1) + (l-3) * 5
func _init(
_level = 0,

View File

@@ -23,6 +23,12 @@ rock_tiles_data = SubResource("Resource_ame7t")
decontamination_tiles_data = SubResource("Resource_0rtv3")
metadata/_custom_type_script = "uid://cx30nvq8b34lj"
[sub_resource type="FastNoiseLite" id="FastNoiseLite_ct7cr"]
frequency = 0.0071
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0rtv3"]
noise = SubResource("FastNoiseLite_ct7cr")
[node name="TestChunk" type="Node2D" unique_id=990498648]
[node name="Chunk" type="Node2D" parent="." unique_id=709095052]
@@ -50,3 +56,6 @@ script = ExtResource("1_mhr83")
region_data = SubResource("Resource_tiw8g")
chunk_coord = Vector2i(1, 1)
metadata/_custom_type_script = "uid://d2ixbaa2uqlv4"
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1962434767]
texture = SubResource("NoiseTexture2D_0rtv3")