diff --git a/project.godot b/project.godot index b1435ef..d39fd57 100644 --- a/project.godot +++ b/project.godot @@ -132,6 +132,16 @@ debug_4={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194335,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +debug_speed_up={ +"deadzone": 0.2, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":8,"position":Vector2(160, 1),"global_position":Vector2(169, 47),"factor":1.0,"button_index":4,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} +debug_speed_down={ +"deadzone": 0.2, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":16,"position":Vector2(145, 7),"global_position":Vector2(154, 53),"factor":1.0,"button_index":5,"canceled":false,"pressed":true,"double_click":false,"script":null) +] +} [layer_names] diff --git a/src/player/movement/debug_movement.gd b/src/player/movement/debug_movement.gd index abe4ca7..750b552 100644 --- a/src/player/movement/debug_movement.gd +++ b/src/player/movement/debug_movement.gd @@ -2,17 +2,19 @@ class_name DebugMovement extends Node ## Movement controller for debug flight const ACCELERATION := 10.0 +const SPEED_SCALE_FACTOR := 1.2 @export var enabled := false @export var normal_speed := 160.0 @export var fast_speed := 320.0 +@export var speed_scale := 1.0 @onready var character: CharacterBody3D = get_parent() func get_speed() -> float: - return fast_speed if Input.is_action_pressed("sprint") else normal_speed + return speed_scale * (fast_speed if Input.is_action_pressed("sprint") else normal_speed) func _physics_process(delta: float) -> void: @@ -30,3 +32,11 @@ func _physics_process(delta: float) -> void: character.velocity = character.velocity.lerp(motion, weight) character.move_and_slide() + + +func _unhandled_input(event: InputEvent) -> void: + if enabled: + if event.is_action_pressed("debug_speed_up"): + speed_scale *= SPEED_SCALE_FACTOR + elif event.is_action_pressed("debug_speed_down"): + speed_scale /= SPEED_SCALE_FACTOR diff --git a/src/world/generation/feature/arcology/arcology.tscn b/src/world/generation/feature/arcology/arcology.tscn index f365e27..f05c7e8 100644 --- a/src/world/generation/feature/arcology/arcology.tscn +++ b/src/world/generation/feature/arcology/arcology.tscn @@ -17,6 +17,9 @@ metadata/_custom_type_script = "uid://drk82eeqk2mjs" [node name="InnerPyramid" type="CSGCylinder3D" parent="."] transform = Transform3D(0.70710677, 0, 0.70710677, 0, 1, 0, -0.70710677, 0, 0.70710677, 50000, 30000, 50000) +visibility_range_end = 100000.0 +visibility_range_end_margin = 64.0 +visibility_range_fade_mode = 1 use_collision = true radius = 60000.0 height = 60000.0 diff --git a/src/world/generation/layer/arcology_grid_layer/arcology_grid_layer.gd b/src/world/generation/layer/arcology_grid_layer/arcology_grid_layer.gd index 0d4344d..2b332c0 100644 --- a/src/world/generation/layer/arcology_grid_layer/arcology_grid_layer.gd +++ b/src/world/generation/layer/arcology_grid_layer/arcology_grid_layer.gd @@ -6,7 +6,8 @@ const GRID_SIZE := Vector2(100000, 100000) @export var arcology_feature_scene: PackedScene @export var empty_feature_scene: PackedScene -@export var arcology_probability := 0.2 +@export var sample_scale := 2.0 +@export var arcology_probability := 0.1 var features: Dictionary[Vector2, GenerationFeature] = {} @@ -30,7 +31,7 @@ func probe_grid(grid_pos: Vector2) -> void: # Generate if needed if grid_pos not in features: var feature: GenerationFeature - var sample := absf(WorldGenManager.noise.get_noise_2dv(grid_pos)) + var sample := absf(WorldGenManager.noise.get_noise_2dv(sample_scale * grid_pos)) print_debug("Sampled ", sample, " at ", grid_pos) if sample < arcology_probability: print_debug("Generating arcology at ", grid_pos) diff --git a/src/world/generation/worldgen_manager/worldgen_manager.tscn b/src/world/generation/worldgen_manager/worldgen_manager.tscn index b35e5d4..00e3fa1 100644 --- a/src/world/generation/worldgen_manager/worldgen_manager.tscn +++ b/src/world/generation/worldgen_manager/worldgen_manager.tscn @@ -3,7 +3,9 @@ [ext_resource type="Script" uid="uid://7frynyj4vspc" path="res://src/world/generation/worldgen_manager/worldgen_manager.gd" id="1_7xvag"] [sub_resource type="FastNoiseLite" id="FastNoiseLite_7xvag"] +noise_type = 0 frequency = 0.1 +offset = Vector3(1024, 1024, 1024) [node name="WorldGenManager" type="Node"] script = ExtResource("1_7xvag") diff --git a/src/world/world.tscn b/src/world/world.tscn index e59942d..8ddef90 100644 --- a/src/world/world.tscn +++ b/src/world/world.tscn @@ -5,7 +5,7 @@ [ext_resource type="PackedScene" uid="uid://cop4mkrv70yhc" path="res://src/world/generation/generated_world.tscn" id="3_jte2u"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_6fy3g"] -sky_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) +sky_curve = 0.39585283 ground_bottom_color = Color(0.78, 0.78, 0.78, 1) ground_horizon_color = Color(0.66224277, 0.6717428, 0.6867428, 1) ground_curve = 0.012311422 @@ -22,14 +22,19 @@ ssao_enabled = true ssil_enabled = true sdfgi_min_cell_size = 5.734082 glow_enabled = true +fog_enabled = true fog_mode = 1 -fog_density = 0.0447 -fog_sky_affect = 0.045 +fog_light_color = Color(0.85, 0.90749997, 1, 1) +fog_density = 1.0 +fog_sky_affect = 0.129 +fog_depth_curve = 0.5 +fog_depth_begin = 0.0 +fog_depth_end = 10000.0 volumetric_fog_enabled = true volumetric_fog_density = 0.002 volumetric_fog_albedo = Color(0.7, 0.83000004, 1, 1) volumetric_fog_length = 1024.0 -volumetric_fog_sky_affect = 0.3 +volumetric_fog_sky_affect = 0.0 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jte2u"] albedo_color = Color(0.16, 0.16, 0.16, 1)