Commit Graph

22 Commits

Author SHA1 Message Date
610d766cb2 feat(progression): quêtes rotatives court-terme + panel HUD
Nouvel autoload QuestManager avec 11 templates (casser X sable, récolter
coraux, collecter perles, plonger à -25m, crafter 2 objets, etc.).
3 quêtes actives simultanément; complétion → récompense XP + roll d'une
nouvelle quête.

HUD: panneau "OBJECTIFS" top-right avec progression couleur (gris→vert),
bannière centrale "✓ QUÊTE" + son bulle au complete.

Motivation moyen-terme (5-15 min): le joueur a toujours qqch à faire.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 18:10:01 +00:00
984754183f feat(progression): XP, niveaux et popups flottants (+N XP)
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>
2026-04-20 18:08:26 +00:00
982a4ec23d feat(gameplay): perles collectibles + recette amulette de soin
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>
2026-04-20 18:01:57 +00:00
183bb0691d polish(ambience): depth-based fog/ambient darkening
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>
2026-04-20 17:59:08 +00:00
df63dec39b feat(hud): compass + depth + biome indicator
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>
2026-04-20 17:58:19 +00:00
Floppyrj45
e78daa2a22 feat(integration): wire Sprint 1 effects (water surface, godrays, caustics, bio particles, block burst) + rebuild v0.2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:18:28 +02:00
Floppyrj45
d8e19932cc feat(biome): abyssal bioluminescent + glow blocks + abyssal jellyfish + particles
- BlockDatabase: GLOW_CORAL_CYAN(10), GLOW_CORAL_VIOLET(11), LAVA_VENT(12) with emission data
- WorldGenerator: abyssal blocks at y<-40 (cyan 4%, violet 1%, vent 0.5% via 3D noise)
- Chunk.gd: multi-surface mesh (solid + 3 emissive surfaces with StandardMaterial3D emission)
- MobSpawner: abyssal jellyfish spawn when player y<-30, max 8
- AbyssalJellyfish: cyan fluo, slower, double damage (10), bioluminescent flash on attack
- BioluminescentParticles: 200 cyan-green particles follow player, only emit in abyss

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:12:37 +02:00
Floppyrj45
e1fda4d393 feat(dolphin): proper 3D mesh + swim animations (procedural)
- DolphinMeshBuilder.gd: ArrayMesh procédural, 14 sections elliptiques,
  nageoire dorsale, pectorales, queue horizontale (caudale), gradient
  dos #4a6d82 / ventre #d8e2ea
- Animations: battement caudale (sin), lean virage, flap pectorales,
  bob corps — fréquence x2 en boost
- Dolphin.tscn: remplace 6 capsules CSG par DolphinMesh + DolphinMeshBuilder
- DolphinController: corrige double-déclaration speed, pilote animate()
- CREDITS.md: mesh procédural CC0 original

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:11:03 +02:00
Floppyrj45
52dc661e7b feat(textures): atlas blocs tileable + UV mapping Chunk.gd (supprime vertex colors)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:09:47 +02:00
Floppyrj45
37a2458c36 feat(shaders): water surface + caustics + godrays + proper fog depth-based
- 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>
2026-04-19 18:09:24 +02:00
Floppyrj45
a8341355e3 feat(particles): bubble trail behind dolphin + block break burst
- BubbleTrail.gd: GPUParticles3D, auto-configured in _ready, set_intensity() API
- BlockBreakParticles.gd: one_shot burst, emit_burst(pos, color) API
- DolphinController.gd: bubble_trail onready + speed_factor hook in _update_movement
- Dolphin.tscn: BubbleEmitterPoint (0,0,1.2) > BubbleTrail child added

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 18:09:21 +02:00
Floppyrj45
5db858527e feat(multiplayer): ENet networking + player/world sync + lobby menu + chat
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>
2026-04-19 17:48:48 +02:00
Floppyrj45
9546fcd96b fix(gameplay): escape pause menu + block placement collision + perf optim render_distance/throttling 2026-04-19 17:32:59 +02:00
Floppyrj45
3fa02492a2 fix: hardening AudioManager null stream + InventoryUI defensive get_node_or_null
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:23:21 +02:00
Floppyrj45
0c309405a7 feat(wiring): MobSpawner integration + take_damage API on dolphin
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:18:31 +02:00
Floppyrj45
37e66a1350 feat(mobs): fish schools + jellyfish + shark + spawner with distance-based life cycle
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:16:39 +02:00
Floppyrj45
d39a55dc45 feat(inventory): hotbar + inventory UI + 5 crafting recipes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:16:13 +02:00
Floppyrj45
af94645d4c feat(integration): Main scene wires world+dolphin+ambience with signal routing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:12:44 +02:00
Floppyrj45
46bcbb27ba feat(ambience): underwater shaders + audio manager + main menu + CC0 assets
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:10:17 +02:00
Floppyrj45
b004a65e96 feat(dolphin): swim controller + third-person camera + HUD stats
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:07:08 +02:00
Floppyrj45
1c1ff67d88 feat(world): voxel chunks + procedural underwater generation + biomes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 17:06:35 +02:00
Floppyrj45
77b1df6060 init: DauphinCraft setup — Godot 4 project scaffold 2026-04-19 17:02:25 +02:00