JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
Guide du développeur

Ce guide explique toutes les notions couvertes par le moteur et comment le code les implémente. Objectif : un développeur ayant des notions de C++ mais aucune expérience du développement de jeu vidéo comprend l'ensemble du code en autonomie — chaque page part des définitions de base (qu'est-ce qu'une boucle de jeu ? un ECS ? une collision continue ? un coyote time ?) avant d'entrer dans l'implémentation, plutôt que de présupposer ce vocabulaire acquis. Chaque page décrit les fonctions clés, leurs invariants, le pourquoi des choix de conception (pas seulement le quoi), et renvoie aux explications mathématiques/algorithmiques derrière les concepts.

Comment lire ce guide

Architecture en deux couches

Le moteur sépare strictement :

  • Core — logique pure : ECS, mathématiques, physique, modèle de niveau, gameplay, temps. Aucune dépendance à DirectX ni à la fenêtre → testable sans GPU (EX-NFR-010).
  • HMI — présentation : deux applications Qt depuis le LOT-86 — le jeu en Qt Quick, l'éditeur de niveaux en Qt Widgets —, le rendu de scène sur QRhi (Direct3D 11 par défaut sous Windows) et les entrées. Dépend de Core, jamais l'inverse (EX-ARCH-010).
  • Source/Ui — ce que la conception modifie : les écrans du jeu en QML déclaratif, leurs jetons et leurs ornements. Ne connaît de HMI que ses vues-modèles (EX-IHM-100).

La règle d'or : la simulation est dans Core, déterministe et testée ; HMI orchestre et affiche. Cette frontière est ce qui rend le moteur analysable domaine par domaine.

Plan du guide

Les notions d'apprentissage automatique mises en œuvre par le solveur IA font l'objet d'un guide séparé, archivé sous Documentation/Heritage/Guide-Annexe/ avec le programme d'IA qu'il documentait (retiré au LOT-01).