Feature pour l'alpha 1.3

* Ajout d'un mode infini (pour nos hard core gamers)
* Ajout d'un message de découverte d'un nouvel outil
* Séparation de la pelle en deux outils : la pioche et la fourche
* Amélioration de la lisibilité des capsules d'énergies
* Changement léger des texture du sol et de la pierre
* Correction d'un bug lors du clic frénétique sur le porte de sortie du vaisseau
* Ajout d'un icône de recharge
* Fix de la mutation Ancien qui ne s'améliorait pas au niveau 4

+ début de dev des artefacts avec un distributeur
This commit is contained in:
2026-03-27 17:28:20 +01:00
parent 28dfc94da6
commit d45fab6a3d
90 changed files with 1896 additions and 577 deletions

View File

@@ -53,7 +53,7 @@ func _ready():
func story():
AudioManager.play_sfx("Respawn")
if not INTRO_DIALOG in GameInfo.game_data.dialogs_done:
if not INTRO_DIALOG in GameInfo.game_data.dialogs_done and GameInfo.game_data.game_mode == GameData.GameMode.STORY:
await get_tree().create_timer(TIME_WITHOUT_PHONE).timeout
%Phone.play_audio()
await %Phone.clicked
@@ -84,7 +84,7 @@ func story():
func finish_scene():
GameInfo.game_data.start_run()
if GameInfo.game_data.tutorial_done:
if GameInfo.game_data.tutorial_done or GameInfo.game_data.game_mode == GameData.GameMode.INFINITE:
GameInfo.game_data.ship_in_space = false
SceneManager.change_to_scene_id('COCKPIT')
else:

View File

@@ -11,6 +11,7 @@ signal land
@onready var dashboard : Dashboard = %Dashboard
var choosen_run_point : RunPoint = null
var exiting = false
# Called when the node enters the scene tree for the first time.
func _ready():
@@ -32,14 +33,8 @@ func _ready():
%Exit.clicked.connect(_on_exit_clicked)
%Exit.interactable = can_exit()
handle_dialogs()
var player_has_teleporter : bool = GameInfo.game_data.player_data.inventory.items.find_custom(
func (i : Item): return i is ShipPortal
) != -1
if not player_has_teleporter:
GameInfo.game_data.player_data.inventory.add_item(ShipPortal.new())
if GameInfo.game_data.game_mode == GameData.GameMode.STORY:
handle_dialogs()
func handle_dialogs():
if not POST_TUTORIAL_DIALOG_PATH in GameInfo.game_data.dialogs_done:
@@ -94,19 +89,24 @@ func _on_right_screen_activated():
update_dashboard()
func _on_exit_clicked():
AudioManager.play_sfx("Ship_exit")
if (can_exit()):
if (can_exit() and not exiting):
AudioManager.play_sfx("Ship_exit")
exiting = true
SceneManager.change_to_scene_id('REGION')
func update_dashboard():
var current_region_data = GameInfo.game_data.current_region_data
if current_region_data and not "tutorial" in current_region_data.flags:
dashboard.destination_distance = RunData.RUN_POINT_MAX_LEVEL * 1000 - current_region_data.region_level * 1000
else :
dashboard.destination_distance = (RunData.RUN_POINT_MAX_LEVEL + 1) * 1000
dashboard.destination_title = "TO_BOREA_BASE"
if GameInfo.game_data.game_mode == GameData.GameMode.STORY:
if current_region_data and not "tutorial" in current_region_data.flags:
dashboard.destination_distance = RunData.RUN_POINT_MAX_LEVEL * 1000 - current_region_data.region_level * 1000
else :
dashboard.destination_distance = (RunData.RUN_POINT_MAX_LEVEL + 1) * 1000
dashboard.destination_title = "TO_BOREA_BASE"
elif GameInfo.game_data.game_mode == GameData.GameMode.INFINITE:
dashboard.destination_distance = 0 if current_region_data == null else current_region_data.region_level * 1000
dashboard.destination_title = "TRAVELED_DISTANCE"
var current_run = GameInfo.game_data.current_run

View File

@@ -1,36 +1,35 @@
[gd_scene load_steps=8 format=3 uid="uid://gxbqe5rtqi58"]
[gd_scene format=3 uid="uid://gxbqe5rtqi58"]
[ext_resource type="Script" uid="uid://j8cd0qbk4bma" path="res://stages/region_selection/region_point/scripts/region_point.gd" id="1_65ijn"]
[ext_resource type="Script" uid="uid://b4eimt3v08jhc" path="res://common/game_data/scripts/run/run_point.gd" id="2_34ylp"]
[ext_resource type="Script" uid="uid://ccb06rayqowp3" path="res://stages/terrain/region/scripts/modifiers/region_modifier.gd" id="2_lr77n"]
[ext_resource type="Script" uid="uid://ddk7j5b8p51dk" path="res://stages/terrain/region/scripts/region_parameter.gd" id="3_dm7jk"]
[ext_resource type="Texture2D" uid="uid://dqsx56wc73wry" path="res://common/icons/map-pin-check.svg" id="4_ndccb"]
[sub_resource type="Resource" id="Resource_ndccb"]
[sub_resource type="Resource" id="Resource_8kf6p"]
script = ExtResource("3_dm7jk")
charges = 10
objective = 10
planet_seed = 4074963764
region_name = "Obaj"
region_seed = 3836569679
[sub_resource type="Resource" id="Resource_txxa3"]
script = ExtResource("2_34ylp")
level = 1
planet_parameter = SubResource("Resource_ndccb")
region_name = "Usaf"
position = 61
region_parameter = SubResource("Resource_8kf6p")
position = 61.0
metadata/_custom_type_script = "uid://b4eimt3v08jhc"
[sub_resource type="SphereShape3D" id="SphereShape3D_ys0ma"]
radius = 1.0629065
[node name="RegionPoint" type="Area3D"]
[node name="RegionPoint" type="Area3D" unique_id=1680498278]
script = ExtResource("1_65ijn")
run_point = SubResource("Resource_txxa3")
state = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=791907494]
shape = SubResource("SphereShape3D_ys0ma")
[node name="Sprite3D" type="Sprite3D" parent="."]
[node name="Sprite3D" type="Sprite3D" parent="." unique_id=567852602]
unique_name_in_owner = true
modulate = Color(1, 1, 1, 0.5)
pixel_size = 0.04

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bseoyd8mqjo7y"
path="res://.godot/imported/garden_decontamined_background_texture.png-d2e9b3111739dbe0f3e878510238390a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/terrain/region/assets/textures/garden_decontamined_background_texture.png"
dest_files=["res://.godot/imported/garden_decontamined_background_texture.png-d2e9b3111739dbe0f3e878510238390a.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ex35g5nvtsy0"
path="res://.godot/imported/garden_decontamined_background_texture_old.png-951b3e125e8b7083a60c2b7435bce68a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/terrain/region/assets/textures/garden_decontamined_background_texture_old.png"
dest_files=["res://.godot/imported/garden_decontamined_background_texture_old.png-951b3e125e8b7083a60c2b7435bce68a.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cquonnydto387"
path="res://.godot/imported/moss_contamination_atlas_texture_2.png-d3b17c123dfe73058f82ef745ed7ae76.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/terrain/region/assets/textures/moss_biome/moss_contamination_atlas_texture_2.png"
dest_files=["res://.godot/imported/moss_contamination_atlas_texture_2.png-d3b17c123dfe73058f82ef745ed7ae76.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 581 KiB

After

Width:  |  Height:  |  Size: 348 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 KiB

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://beqx4rmgthkql"
path="res://.godot/imported/rock_background_texture.png-79a8569ff49f7d85f8b64d55ac1ce62d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/terrain/region/assets/textures/rock_background_texture.png"
dest_files=["res://.godot/imported/rock_background_texture.png-79a8569ff49f7d85f8b64d55ac1ce62d.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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 204 KiB

View File

@@ -1,41 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://02nuoqleo4yu"
path.s3tc="res://.godot/imported/rock_cristal_texture.png-c34612644dbfa24e49296bfe43df46c6.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://stages/terrain/region/assets/textures/rock_cristal_texture.png"
dest_files=["res://.godot/imported/rock_cristal_texture.png-c34612644dbfa24e49296bfe43df46c6.s3tc.ctex"]
[params]
compress/mode=2
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=true
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=0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

View File

@@ -1,40 +0,0 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmdb63witojeg"
path="res://.godot/imported/round_red_tiles.png-c254569faa1f0323275dcc266f2b4c86.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://stages/terrain/region/assets/textures/round_red_tiles.png"
dest_files=["res://.godot/imported/round_red_tiles.png-c254569faa1f0323275dcc266f2b4c86.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

View File

@@ -11,6 +11,7 @@
[ext_resource type="PackedScene" uid="uid://d324mlmgls4fs" path="res://entities/interactables/truck/recharge/truck_recharge.tscn" id="7_6d8m3"]
[ext_resource type="PackedScene" uid="uid://b8m537op75gib" path="res://entities/interactables/door/door.tscn" id="8_2f6js"]
[ext_resource type="PackedScene" uid="uid://dj7gp3crtg2yt" path="res://entities/camera/camera.tscn" id="8_fwgig"]
[ext_resource type="PackedScene" uid="uid://fnv0qhkh40mv" path="res://gui/game/announce/announce.tscn" id="8_mlppq"]
[ext_resource type="Texture2D" uid="uid://rdrhi3r11ey6" path="res://common/icons/square-rounded.svg" id="10_ktnx3"]
[ext_resource type="Texture2D" uid="uid://b752eqq4cm7ve" path="res://common/icons/building-factory-2.svg" id="11_fwgig"]
[ext_resource type="Texture2D" uid="uid://dg00xnpp6ixls" path="res://common/icons/server-2.svg" id="12_mlppq"]
@@ -115,7 +116,6 @@ 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
@@ -128,6 +128,9 @@ game_gui = NodePath("../../GameGui")
[node name="GameGui" parent="." unique_id=1970837239 instance=ExtResource("4_qdnee")]
[node name="Announce" parent="." unique_id=1659074958 instance=ExtResource("8_mlppq")]
layer = 3
[node name="Entities" type="Node2D" parent="." unique_id=2132324579]
y_sort_enabled = true

View File

@@ -1,7 +1,6 @@
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://bq3dmwkej5gmx"]
[gd_resource type="ShaderMaterial" format=3 uid="uid://bq3dmwkej5gmx"]
[ext_resource type="Shader" uid="uid://bglep64ppn74p" path="res://common/vfx/materials/shaders/textures_data_filter.gdshader" id="1_kujx0"]
[ext_resource type="Texture2D" uid="uid://beqx4rmgthkql" path="res://stages/terrain/region/assets/textures/rock_background_texture.png" id="2_6cs2h"]
[ext_resource type="Texture2D" uid="uid://bnrjnvceprxfn" path="res://stages/terrain/region/assets/textures/garden_background_texture.png" id="2_ydx6d"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_kujx0"]
@@ -13,11 +12,14 @@ width = 20
height = 20
noise = SubResource("FastNoiseLite_kujx0")
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_cmstg"]
load_path = "res://.godot/imported/rock_background_texture.png-79a8569ff49f7d85f8b64d55ac1ce62d.ctex"
[resource]
shader = ExtResource("1_kujx0")
shader_parameter/data_texture = SubResource("NoiseTexture2D_ydx6d")
shader_parameter/data_texture_size = Vector2(200, 200)
shader_parameter/data_texture_threshold = 0.5
shader_parameter/texture_0 = ExtResource("2_6cs2h")
shader_parameter/texture_0 = SubResource("CompressedTexture2D_cmstg")
shader_parameter/texture_1 = ExtResource("2_ydx6d")
shader_parameter/texture_scale = 5.0

View File

@@ -1,8 +1,7 @@
[gd_resource type="ShaderMaterial" load_steps=6 format=3 uid="uid://ljvaj1vab53a"]
[gd_resource type="ShaderMaterial" format=3 uid="uid://ljvaj1vab53a"]
[ext_resource type="Shader" uid="uid://bglep64ppn74p" path="res://common/vfx/materials/shaders/textures_data_filter.gdshader" id="1_ye8oh"]
[ext_resource type="Texture2D" uid="uid://bnrjnvceprxfn" path="res://stages/terrain/region/assets/textures/garden_background_texture.png" id="2_6hswu"]
[ext_resource type="Texture2D" uid="uid://ex35g5nvtsy0" path="res://stages/terrain/region/assets/textures/garden_decontamined_background_texture_old.png" id="2_r7pv0"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_6hswu"]
frequency = 0.0109
@@ -10,11 +9,14 @@ frequency = 0.0109
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_j3avn"]
noise = SubResource("FastNoiseLite_6hswu")
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_nntr3"]
load_path = "res://.godot/imported/garden_decontamined_background_texture_old.png-951b3e125e8b7083a60c2b7435bce68a.ctex"
[resource]
shader = ExtResource("1_ye8oh")
shader_parameter/data_texture = SubResource("NoiseTexture2D_j3avn")
shader_parameter/data_texture_size = Vector2(1000, 1000)
shader_parameter/data_texture_threshold = 0.5
shader_parameter/texture_0 = ExtResource("2_6hswu")
shader_parameter/texture_1 = ExtResource("2_r7pv0")
shader_parameter/texture_1 = SubResource("CompressedTexture2D_nntr3")
shader_parameter/texture_scale = 5.0

View File

@@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dpxu8yeee4qi1"]
[gd_resource type="ShaderMaterial" format=3 uid="uid://dpxu8yeee4qi1"]
[ext_resource type="Shader" uid="uid://q5isn3rwrir8" path="res://common/vfx/materials/shaders/texture_color_filter.gdshader" id="1_k4e5t"]
[ext_resource type="Texture2D" uid="uid://bnrjnvceprxfn" path="res://stages/terrain/region/assets/textures/garden_background_texture.png" id="2_k4e5t"]

View File

@@ -178,13 +178,11 @@ texture_region_size = Vector2i(64, 64)
9:1/0 = 0
9:1/0/terrain_set = 0
9:1/0/terrain = 1
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -16, -16, -32, 32, -32, 32, 16, 16, 32, -32, 32)
9:1/0/terrains_peering_bit/right_side = 1
9:1/0/terrains_peering_bit/bottom_right_corner = 1
9:1/0/terrains_peering_bit/bottom_side = 1
9:1/0/terrains_peering_bit/bottom_left_corner = 1
9:1/0/terrains_peering_bit/left_side = 1
9:1/0/terrains_peering_bit/top_left_corner = 1
9:1/0/terrains_peering_bit/top_side = 1
9:1/0/terrains_peering_bit/top_right_corner = 1
11:1/0 = 0
@@ -284,15 +282,13 @@ texture_region_size = Vector2i(64, 64)
10:2/0 = 0
10:2/0/terrain_set = 0
10:2/0/terrain = 1
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 16, -32, 32, -16, 32, 32, -16, 32, -32, 16)
10:2/0/terrains_peering_bit/right_side = 1
10:2/0/terrains_peering_bit/bottom_right_corner = 1
10:2/0/terrains_peering_bit/bottom_side = 1
10:2/0/terrains_peering_bit/bottom_left_corner = 1
10:2/0/terrains_peering_bit/left_side = 1
10:2/0/terrains_peering_bit/top_left_corner = 1
10:2/0/terrains_peering_bit/top_side = 1
10:2/0/terrains_peering_bit/top_right_corner = 1
11:2/0 = 0
11:2/0/terrain_set = 0
11:2/0/terrain = 1
@@ -675,13 +671,11 @@ texture_region_size = Vector2i(64, 64)
9:1/0 = 0
9:1/0/terrain_set = 0
9:1/0/terrain = 2
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -16, -16, -32, 32, -32, 32, 16, 16, 32, -32, 32)
9:1/0/terrains_peering_bit/right_side = 2
9:1/0/terrains_peering_bit/bottom_right_corner = 2
9:1/0/terrains_peering_bit/bottom_side = 2
9:1/0/terrains_peering_bit/bottom_left_corner = 2
9:1/0/terrains_peering_bit/left_side = 2
9:1/0/terrains_peering_bit/top_left_corner = 2
9:1/0/terrains_peering_bit/top_side = 2
9:1/0/terrains_peering_bit/top_right_corner = 2
9:2/0 = 0
@@ -746,15 +740,13 @@ texture_region_size = Vector2i(64, 64)
10:2/0 = 0
10:2/0/terrain_set = 0
10:2/0/terrain = 2
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 32, -32, 32, 32, -32, 32)
10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-32, -32, 16, -32, 32, -16, 32, 32, -16, 32, -32, 16)
10:2/0/terrains_peering_bit/right_side = 2
10:2/0/terrains_peering_bit/bottom_right_corner = 2
10:2/0/terrains_peering_bit/bottom_side = 2
10:2/0/terrains_peering_bit/bottom_left_corner = 2
10:2/0/terrains_peering_bit/left_side = 2
10:2/0/terrains_peering_bit/top_left_corner = 2
10:2/0/terrains_peering_bit/top_side = 2
10:2/0/terrains_peering_bit/top_right_corner = 2
10:3/0 = 0
10:3/0/terrain_set = 0
10:3/0/terrain = 2
@@ -952,11 +944,9 @@ texture_region_size = Vector2i(64, 64)
9:1/0/terrain_set = 0
9:1/0/terrain = 0
9:1/0/terrains_peering_bit/right_side = 0
9:1/0/terrains_peering_bit/bottom_right_corner = 0
9:1/0/terrains_peering_bit/bottom_side = 0
9:1/0/terrains_peering_bit/bottom_left_corner = 0
9:1/0/terrains_peering_bit/left_side = 0
9:1/0/terrains_peering_bit/top_left_corner = 0
9:1/0/terrains_peering_bit/top_side = 0
9:1/0/terrains_peering_bit/top_right_corner = 0
10:1/0 = 0
@@ -1059,11 +1049,9 @@ texture_region_size = Vector2i(64, 64)
10:2/0/terrains_peering_bit/right_side = 0
10:2/0/terrains_peering_bit/bottom_right_corner = 0
10:2/0/terrains_peering_bit/bottom_side = 0
10:2/0/terrains_peering_bit/bottom_left_corner = 0
10:2/0/terrains_peering_bit/left_side = 0
10:2/0/terrains_peering_bit/top_left_corner = 0
10:2/0/terrains_peering_bit/top_side = 0
10:2/0/terrains_peering_bit/top_right_corner = 0
11:2/0 = 0
11:2/0/terrain_set = 0
11:2/0/terrain = 0

View File

@@ -84,6 +84,12 @@ func _ready():
spawn_object_random_move(%BoreaDoor)
spawn_object_random_move(%ShipGarageDoor)
if not "tutorial" in data.flags:
GameInfo.game_data.player_data.inventory.add_item(Detector.new())
GameInfo.game_data.player_data.inventory.add_item(Pickaxe.new())
GameInfo.game_data.player_data.inventory.add_item(Fork.new())
GameInfo.game_data.player_data.inventory.add_item(ShipPortal.new())
func _process(_d):
if player:
generate_near_chunks(player)

View File

@@ -11,43 +11,52 @@ var prev_mouse_pos : Vector2
var next_mouse_pos : Vector2
func _ready():
%Version.text = ProjectSettings.get_setting("application/config/version")
%Start.text = tr("CONTINUE") if GameInfo.game_loaded else tr("START")
%Restart.visible = GameInfo.game_loaded
%Version.text = ProjectSettings.get_setting("application/config/version")
%Start.text = tr("CONTINUE") if GameInfo.game_loaded else tr("START")
%Restart.visible = GameInfo.game_loaded
%ModeChoose.hide()
func _on_start_pressed():
if GameInfo.game_data and GameInfo.game_data.last_game_scene:
SceneManager.change_to_scene(GameInfo.game_data.last_game_scene)
else:
SceneManager.change_to_scene_id("INTRO")
if GameInfo.game_data and GameInfo.game_data.last_game_scene:
SceneManager.change_to_scene(GameInfo.game_data.last_game_scene)
else:
%ModeChoose.show()
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
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)
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)
%Planet3d.rotate(Vector3.UP, planet_rotation.x * delta)
%Planet3d.rotate(Vector3.RIGHT, planet_rotation.y * delta)
func _on_restart_button_down():
GameInfo.restart_game_data()
_on_start_pressed()
GameInfo.restart_game_data()
%ModeChoose.show()
func _on_story_mode_start_button_down():
SceneManager.change_to_scene_id("INTRO")
func _on_infinite_mode_start_button_down():
GameInfo.game_data.game_mode = GameData.GameMode.INFINITE
SceneManager.change_to_scene_id("COCKPIT")

View File

@@ -9,11 +9,21 @@
[ext_resource type="PackedScene" uid="uid://c8flevrkelpvy" path="res://gui/credits/socials/instagram.tscn" id="6_7a1qq"]
[ext_resource type="PackedScene" uid="uid://bc3byq8e45ejj" path="res://gui/credits/socials/steam.tscn" id="7_nmsah"]
[ext_resource type="Shader" uid="uid://bv2rghn44mrrf" path="res://stages/title_screen/resources/shaders/stars.gdshader" id="7_y6tw6"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="8_pjo5j"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="9_5mxqx"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="10_tsp1v"]
[ext_resource type="Texture2D" uid="uid://b75k12a4wc5t4" path="res://common/icons/book-2.svg" id="11_3aitq"]
[ext_resource type="Texture2D" uid="uid://dbv5hm7lyi1f6" path="res://common/icons/infinity.svg" id="12_igvpv"]
[sub_resource type="ViewportTexture" id="ViewportTexture_6yuhi"]
viewport_path = NodePath("SubViewport")
[sub_resource type="FastNoiseLite" id="FastNoiseLite_yctb5"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lwj2x"]
shader = ExtResource("8_pjo5j")
shader_parameter/strength = 5.00000023424012
shader_parameter/mix_percentage = 0.3
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rf16a"]
frequency = 1.0
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7a1qq"]
@@ -130,7 +140,6 @@ size_flags_horizontal = 3
size_flags_vertical = 4
[node name="Socials" type="VBoxContainer" parent="MarginContainer" unique_id=1306915726]
visible = false
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 8
@@ -140,14 +149,66 @@ layout_mode = 2
size_flags_horizontal = 8
[node name="SteamButton" parent="MarginContainer/Socials" unique_id=1181450581 instance=ExtResource("7_nmsah")]
visible = false
layout_mode = 2
[node name="ModeChoose" type="Control" parent="." unique_id=1527342716]
unique_name_in_owner = true
z_index = 2
layout_mode = 3
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="ColorRect" type="ColorRect" parent="ModeChoose" unique_id=301172574]
material = SubResource("ShaderMaterial_lwj2x")
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="VBoxContainer" type="VBoxContainer" parent="ModeChoose" unique_id=2135671035]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
alignment = 1
[node name="Label" type="Label" parent="ModeChoose/VBoxContainer" unique_id=513644546]
layout_mode = 2
text = "CHOOSE_GAME_MODE"
label_settings = ExtResource("9_5mxqx")
horizontal_alignment = 1
[node name="StoryModeStart" type="Button" parent="ModeChoose/VBoxContainer" unique_id=1236564484]
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("10_tsp1v")
text = "STORY_MODE"
icon = ExtResource("11_3aitq")
flat = true
[node name="InfiniteModeStart" type="Button" parent="ModeChoose/VBoxContainer" unique_id=516318256]
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("10_tsp1v")
text = "INFINITE_MODE"
icon = ExtResource("12_igvpv")
flat = true
[node name="SubViewport" type="SubViewport" parent="." unique_id=1703203942]
size = Vector2i(1980, 1080)
[node name="Planet3d" parent="SubViewport" unique_id=926789923 instance=ExtResource("5_7a1qq")]
unique_name_in_owner = true
noise = SubResource("FastNoiseLite_yctb5")
noise = SubResource("FastNoiseLite_rf16a")
[node name="Camera3D" type="Camera3D" parent="SubViewport" unique_id=806252928]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.369979, 0, 64.323425)
@@ -168,3 +229,5 @@ shadow_blur = 3.055
[connection signal="pressed" from="MarginContainer/GridContainer/VBoxContainer/VBoxContainer/Start" to="." method="_on_start_pressed"]
[connection signal="button_down" from="MarginContainer/GridContainer/VBoxContainer/VBoxContainer/Restart" to="." method="_on_restart_button_down"]
[connection signal="button_down" from="ModeChoose/VBoxContainer/StoryModeStart" to="." method="_on_story_mode_start_button_down"]
[connection signal="button_down" from="ModeChoose/VBoxContainer/InfiniteModeStart" to="." method="_on_infinite_mode_start_button_down"]