Glossaire¶
Définitions des termes techniques utilisés dans R-Type.
A¶
ASIO¶
Asynchronous I/O - Bibliothèque Boost pour les opérations asynchrones, notamment réseau. Utilisée pour la communication UDP.
Autoritatif (Serveur)¶
Modèle où le serveur est la seule source de vérité pour l'état du jeu. Les clients envoient des inputs, le serveur valide et broadcast l'état.
B¶
Backend¶
Implémentation concrète d'une interface. R-Type supporte deux backends graphiques : SDL2 et SFML.
Batch Rendering¶
Technique d'optimisation qui regroupe plusieurs opérations de dessin en une seule pour réduire les appels GPU.
C¶
Client-Side Prediction¶
Technique où le client simule localement l'effet de ses inputs sans attendre la confirmation du serveur, pour une meilleure réactivité.
Composant (ECS)¶
Structure de données pure associée à une entité. Ex: Position, Velocity, Sprite.
D¶
Delta State¶
État différentiel envoyé par le serveur contenant uniquement les changements depuis le dernier état, pour économiser la bande passante.
Draw Call¶
Appel à l'API graphique pour dessiner un élément. Minimiser les draw calls améliore les performances.
E¶
ECS¶
Entity Component System - Pattern architectural où : - Entity = identifiant unique - Component = données pures - System = logique opérant sur les composants
Entité¶
Identifiant unique dans le système ECS. N'a pas de données propres, juste un ID auquel sont attachés des composants.
F¶
Frame¶
Image complète rendue à l'écran. 60 FPS = 60 frames par seconde.
Fullscreen¶
Mode d'affichage où le jeu occupe tout l'écran, sans bordures de fenêtre.
G¶
Game Loop¶
Boucle principale du jeu : Input → Update → Render → Repeat.
Game State¶
État complet du monde de jeu à un instant donné : positions, scores, états des entités.
H¶
Hitbox¶
Zone de collision invisible autour d'une entité, utilisée pour la détection des collisions.
Hot Reload¶
Rechargement de configuration ou ressources sans redémarrer l'application.
I¶
Interpolation¶
Technique de lissage entre deux états connus pour créer un mouvement fluide. Le client interpole entre les états reçus du serveur.
Input Lag¶
Délai entre l'action du joueur et sa répercussion à l'écran.
L¶
Latence¶
Temps de trajet d'un paquet entre client et serveur. Mesurée en millisecondes.
Lerp¶
Linear Interpolation - Interpolation linéaire entre deux valeurs : lerp(a, b, t) = a + (b - a) * t
M¶
Manifest (vcpkg)¶
Fichier vcpkg.json déclarant les dépendances du projet. vcpkg les installe automatiquement.
MongoDB¶
Base de données NoSQL orientée documents. Utilisée pour stocker les profils joueurs et les scores.
Multi-backend¶
Architecture supportant plusieurs implémentations d'une même fonctionnalité (ex: SDL2 et SFML pour le rendu).
O¶
Opus¶
Codec audio open source optimisé pour la voix et la musique. Utilisé pour le voice chat avec une excellente qualité à faible bitrate.
P¶
Packet¶
Unité de données envoyée sur le réseau. Contient un header et un payload.
Plugin¶
Module chargé dynamiquement à l'exécution. Les backends graphiques sont des plugins.
Port¶
Numéro identifiant un service réseau. R-Type utilise les ports 4125 (TCP/TLS auth), 4124 (UDP game), 4126 (UDP voice).
PortAudio¶
Bibliothèque audio cross-platform pour la capture et la lecture audio en temps réel. Utilisée pour le voice chat.
PTT¶
Push-to-Talk - Mode de communication vocale où l'utilisateur doit maintenir une touche pour parler.
R¶
RAII¶
Resource Acquisition Is Initialization - Pattern C++ où les ressources sont acquises dans le constructeur et libérées dans le destructeur.
Reconciliation¶
Processus de correction de la prédiction client quand l'état serveur arrive et diffère.
Registry¶
Conteneur central gérant toutes les entités et leurs composants dans un ECS.
S¶
Serialization¶
Conversion de structures en flux d'octets pour transmission réseau ou stockage.
Sprite¶
Image 2D représentant un élément graphique du jeu.
System (ECS)¶
Logique opérant sur un ensemble de composants. Ex: MovementSystem met à jour les positions selon les vélocités.
T¶
Tick¶
Mise à jour du serveur. Le serveur tourne à 60 ticks/seconde = 16.67ms par tick.
Tick Rate¶
Fréquence des mises à jour du serveur en Hertz.
TLS¶
Transport Layer Security - Protocole de chiffrement des communications réseau. R-Type utilise TLS 1.2+ pour sécuriser l'authentification sur le port TCP 4125.
U¶
UDP¶
User Datagram Protocol - Protocole réseau sans connexion, sans garantie de livraison, mais avec latence minimale. Idéal pour les jeux temps réel.
V¶
VAD¶
Voice Activity Detection - Détection automatique de la parole pour activer le microphone sans touche.
vcpkg¶
Gestionnaire de paquets C++ de Microsoft. Gère les dépendances du projet.
View (ECS)¶
Itérateur sur les entités possédant un ensemble spécifique de composants.
Voice Chat¶
Système de communication vocale en temps réel entre joueurs. Utilise PortAudio pour la capture et Opus pour l'encodage.
VSync¶
Vertical Synchronization - Synchronise le rendu avec le rafraîchissement de l'écran pour éviter le tearing.
W¶
Wrapper¶
Classe encapsulant une API externe pour l'adapter à notre code.