docs: Sphinx manuel joueur/admin/dev + build HTML
Manuel complet DauphinCraft v0.1.0 : 14 pages RST (joueur, admin, dev, annexes), conf.py rtd-theme, Makefile/make.bat, build HTML propre. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
81
docs/_build/html/_sources/dev/architecture.rst.txt
vendored
Normal file
81
docs/_build/html/_sources/dev/architecture.rst.txt
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
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 ``PlayerSyncComponent`` et ``WorldSyncComponent``.
|
||||
- Le protocole de transport est **ENet (UDP)** via la couche haut niveau Godot (``MultiplayerAPI``).
|
||||
- Port par défaut : **UDP 7777**.
|
||||
|
||||
Structure du projet
|
||||
-------------------
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
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
|
||||
-----------------
|
||||
|
||||
1. ``Main.tscn`` est la scène principale. Elle instancie ``MainMenu.tscn``.
|
||||
2. Le joueur choisit Solo / Héberger / Rejoindre dans ``LobbyMenu.tscn``.
|
||||
3. ``NetworkManager`` initialise ENet (serveur ou client).
|
||||
4. ``World.tscn`` est chargée : ``ChunkManager`` génère les premiers chunks.
|
||||
5. ``Dolphin.tscn`` est instanciée pour chaque joueur connecté.
|
||||
6. 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.
|
||||
Reference in New Issue
Block a user