Nouvel autoload PlayerProgress qui gagne de l'XP sur:
- cassage de blocs (gain variable selon le type: perle, épave, coral > sand)
- collecte de perles (+25)
- crafting (+10)
- paliers de profondeur atteints (+20 à 10/25/50/75/100m)
HUD: barre XP + label niveau en bas centre, bannière "NIVEAU X" au level-up
(son bulle + fade). Popup 3D "+N XP" spawn au point d'action.
Boucle court-terme dopamine: chaque action = feedback visuel immédiat.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Area3D Pearl flottant/tournant qui émet une couleur nacrée, spawned
périodiquement près du joueur (PearlSpawner, 3 max, intervalle 9s,
zone haute du seafloor). Collecte automatique au contact, ajout à
l'inventaire (item 105 Perle). Nouvelle recette : 2 perles + 1 corail
rouge → Amulette de soin (item 106, consommable). Spawner désactivé
sur serveur dédié headless.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Interpole en temps réel bg/ambient/fog entre palette de surface (teal
lumineux y=55) et palette abyssale (bleu-noir y=-40). Fog density
augmente en plongée (0.02 → 0.055) pour renforcer la sensation
oppressante des grandes profondeurs. Courbe smoothstep pour transition
organique.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Panneau info top-right avec boussole (8 directions FR), profondeur
en mètres depuis la surface, et nom de biome courant (Récif Corallien,
Forêt de Kelp, Plateau Rocheux, Abysses). Helper biome_name_at dans
WorldGenerator pour requête client-side sans relire les chunks.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The old script hit 192.168.1.86:3000 which never existed on this LAN.
Real Gitea lives on 192.168.0.82:3000. Also prefer GITEA_TOKEN over
embedding a password; GITEA_PASS remains as a fallback.
Godot reads get_cmdline_user_args() which only contains args after '--'.
Without the separator, NetworkManager never saw --server and the
ENetMultiplayerPeer never bound UDP 7777.
Verified on 192.168.0.89: udp/7777 now listening.
- underwater_fog.gdshader: rewritten shader_type fog with depth-based color/density + current wave
- water_surface.gdshader: new spatial shader for water ceiling at y=60 with Fresnel + vertex waves
- caustics.gdshader: rewritten with caustic_pattern() function, additive blend, depth fade
- godrays.gdshader: rewritten spatial (was canvas_item) with vertical + depth fade, loop-based rays
- UnderwaterEnvironment.gd: spawns FogVolume with custom fog shader, volumetric_fog_density=0.05
- GodraysOverlay.gd: MeshInstance3D quad child of camera, updates fade_bottom from camera depth
- CausticsLayer.gd: 3 horizontal caustic planes at -5/-15/-25, follow camera XZ
- WaterSurface.tscn: PlaneMesh 2000x2000 at y=60 with water_surface shader
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add dedicated server / host / client modes via NetworkManager autoload,
PlayerSyncComponent (20 Hz unreliable RPC), WorldSyncComponent (authoritative
block break/place), ChatManager (F2), LobbyMenu scene, updated MainMenu
with Solo/Heberger/Rejoindre/Quitter buttons. Port changed to 7777
(9999 occupied by sntlkeyssrvr on this machine). Mobs disabled in multi
(spawn solo only). Solo mode untouched.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>