diff --git a/design-document.md b/design-document.md index d38e609..96bf0ae 100644 --- a/design-document.md +++ b/design-document.md @@ -14,7 +14,7 @@ - Compétences primaires uniquement : Intelligence, Force, Agilité, Charisme, Rapidité, Courage (Et peut être d'autres ?) : - * L'intelligence influant sur la magie, le cooldown des sorts, leur quantité et niveau max. ..., et l'apprentissage : on pourrait avoir un bonus/malus de vitesse d’apprentissage suivant l'intelligence , surtout si la magie n'est pas si puissante. + * L'intelligence influant sur la magie, [le cooldown des sorts,] leur quantité et niveau max. ..., et l'apprentissage : on pourrait avoir un bonus/malus de vitesse d’apprentissage suivant l'intelligence , surtout si la magie n'est pas si puissante. * * La Force influe sur les dégâts au corps a corps, peut être le nombre de slots d'inventaire si un système du genre est implémenté. @@ -83,6 +83,64 @@ Structure du personnage à mettre en place en concordance: Note: matrice d’interaction à définir en parallèle pour savoir ce qui joue sur quoi si on garde l'idée. +Après y avoir réfléchi pour implémenter dans d'autres de mes projets, un système avec un dictionnaire comportant les caractéristiques de bases d'un item (dégats de base, chance de coup critique, enchantements acceptés ou peu importe) et une seconde liste avec les instances des items + +Implémentation (rusée) exemple: + + typedef enum{ + + struct { + + int damage;//negatif pour soigner + + int crit\_chance; + + int durability\_max; //Utilisé comme un max de stack si stackable + + bool stackable; + + bool use\_self; + + } + + struct{ + + int heal; + + int crit\_chance; + + int stack\_max; + + bool stackable: + + bool use\_self; + + } + + }ItemDef; + + typedef enum{ + + struct { + + int quantity; //Durabilité si non-stackable + + //Enchant enchant; //Par exemple + + }; + + struct { + + int durability; + + //Enchant enchant; + + } + + } ItemInstance; + + Un système comme ça permet de minimiser la taille des items (enum) et de couvrir la plupart des cas + * Univers : @@ -172,16 +230,36 @@ Je comprends pas trop le coup des "pnjs importants" (par exemple un des anciens Combats temps réel : III -Combats tour par tour : II (Shadow avait l'ai pour mais n'a pas confirmé) +Combats tour par tour : II (Shadow avait l'air pour mais n'a pas confirmé) +Pour sommariser avant que je me mette à implémenter : + + - Combats temps réel en open world + + - Pnjs pouvant attaquer des monstres/bandits dans des zones (comme des guardes/guerriers + + - Ennemis : Monstres /bandits directement hostiles + + Mécaniques requises de ce que je suppose : + + - Système de dégâts + + - Pathfinding (déja majoritairement implémenté de ce que j'ai compris) et priorisation de cibles (basique) + + - Détéction d'hostiles + + - Appartion d'ennemis + # Map []C'est un open world :[] Donc pas d'obstructions arbitraires a l'exploration de la map +Pour préciser : Style Elden Ring, donc si tu vas dans une zone avec des ennemis beaucoup plus forts que toi, tant pis pour toi + Pour le moment il y a une capitale, il y aurait des forteresses et des dongeons répartis et une chaîne de montagnes. @@ -254,4 +332,13 @@ PNJs / classes de personnages à intégrer * marchands (dialogues + acheter/vendre des objets) * soldats/guerriers (dialogues ? + baston) * bandits/monstres (baston directe ?) - * boss (par exemples les fameux 5/7 anciens dirigeants) (la totale : dialogues + baston + donner des objets ou compétence) \ No newline at end of file + * boss (par exemples les fameux 5/7 anciens dirigeants) (la totale : dialogues + baston + donner des objets ou compétence) + + + + + + + + +