Architecture technique
Moteur et langage
Composant |
Valeur |
|---|---|
Moteur |
Godot Engine 4.6.2 (Forward+) |
Langage |
GDScript (typage strict) |
Rendu |
Vulkan (Forward+) / Compatibility (fallback) |
Réseau |
ENet UDP, autorité serveur |
Architecture réseau
DauphinCraft utilise un modèle autorité serveur :
Le serveur est la source de vérité pour les positions, les blocs et les inventaires.
Les clients envoient leurs intentions (déplacement, action) et reçoivent l’état du monde.
La synchronisation est assurée par
PlayerSyncComponentetWorldSyncComponent.Le protocole de transport est ENet (UDP) via la couche haut niveau Godot (
MultiplayerAPI).Port par défaut : UDP 7777.
Structure du projet
DauphinCraft/
├── project.godot # Fichier de projet Godot
├── icon.svg # Icône du jeu
├── export_presets.cfg # Présets d'export (Windows, Linux serveur)
├── assets/ # Ressources visuelles (textures, modèles)
├── audio/ # Fichiers audio
│ ├── music/ # Musiques de fond
│ └── sfx/ # Effets sonores
├── builds/ # Sorties d'export
├── scenes/ # Scènes Godot (.tscn)
│ ├── Main.tscn
│ ├── MainMenu.tscn
│ ├── LobbyMenu.tscn
│ ├── World.tscn
│ ├── Dolphin.tscn
│ ├── InventoryUI.tscn
│ ├── PauseMenu.tscn
│ └── mobs/
├── scripts/ # Scripts GDScript (.gd)
│ ├── Main.gd
│ ├── PauseMenu.gd
│ ├── world/ # Gestion du monde voxel
│ ├── dolphin/ # Contrôleur joueur + HUD
│ ├── ambience/ # Environnement visuel et audio
│ ├── inventory/ # Inventaire et crafting
│ ├── mobs/ # Intelligence artificielle des mobs
│ └── net/ # Réseau multijoueur
├── shaders/ # Shaders GLSL/Godot
└── docs/ # Documentation Sphinx (ce manuel)
Flux de démarrage
Main.tscnest la scène principale. Elle instancieMainMenu.tscn.Le joueur choisit Solo / Héberger / Rejoindre dans
LobbyMenu.tscn.NetworkManagerinitialise ENet (serveur ou client).World.tscnest chargée :ChunkManagergénère les premiers chunks.Dolphin.tscnest instanciée pour chaque joueur connecté.La boucle de jeu tourne : physique, synchronisation réseau, rendu.
Présets d’export
Deux présets sont configurés dans export_presets.cfg :
Windows (64 bits) : exécutable joueur pour Windows.
Linux Server (64 bits) : exécutable headless pour serveur dédié Linux.