J'aime à penser que tout ce qui nous entoure peut être représenté, d'une manière ou d'une autre, à travers un diagramme. Même s'il ne s'agit que d'un diagramme linéaire représentant la transition entre les états d'un objet particulier au cours du temps (comme un être vivant, passant par un certain nombre d'états de la naissance à la mort). J'utilise des diagrammes pour exposer mes pensées et idées pour la mise en œuvre réelle. J'improvise pas mal.
Par conséquent, mes diagrammes sont la plupart du temps à un niveau très élevé et ressemblent à des cartes mentales .
Pour jeter quelques exemples, c'est en fait une carte d'héritage de classe (une qui a été coupée) dans mon jeu où Interactive Object est le type de base.

Il s'agit d'un diagramme FSM ( machine à états finis ) pour un piège à pointes (ces pièges impressionnants sur lesquels vous marchez et les pointes woosh apparaissent du sol).

Il s'agit d'un diagramme de manuel (nommé de cette façon car il est destiné à être un diagramme de retour souvent ) que j'ai dessiné récemment. Il décrit les composants d'un jeu et aide également à rassembler les actifs requis, car vous pouvez voir immédiatement ce qui est nécessaire et ce qui ne l'est pas. Je les recommande sur les petits projets, car ils deviennent assez énormes sur les grands. Cependant, ils peuvent être élargis, ce qui peut régler les choses.

Quand je passe à un niveau inférieur, c'est généralement parce que je dois planifier les aspects les plus complexes de mon architecture, et je traite généralement avec UML là-bas. Je ne me concentre jamais sur la sortie d'un UML absolument propre et correct. J'ai adopté ce que j'aimais le plus à propos de la convention UML, et je l'ai transformé en un joli UML mindmap-ish. C'est simple et fait le travail pour moi, mais je n'irais pas avec dans un environnement où l'UML est attendu, pour des raisons évidentes.
Une autre situation où je dois aller à un niveau inférieur est quand je dois décrire des algorithmes réels. J'utilise ce que j'appelle des organigrammes . C'est un format inspiré des diagrammes utilisés dans les tests en boîte blanche .
Un échantillon pour le piège à pointes que j'ai dessiné en ce moment ressemblerait à ceci:

Il s'agit normalement de la dernière couche entre les diagrammes et les implémentations réelles d'algorithmes. Si le besoin s'en fait sentir, je détaille davantage les organigrammes (avec des instructions supplémentaires exécutées), et je déduis ou estime la complexité, et je construis des cas de test précis. Je préfère également les diagrammes au pseudocode.
Ce n'est pas lié au développement de jeux, j'ai également un bon format pour décrire les écrans dans une application multi-écrans, les fonctionnalités que l'utilisateur peut déclencher sur chaque écran et la relation entre les écrans. Je les construis normalement avant de commencer le développement réel, et ils agissent comme une carte tout au long du processus de développement. Si c'est pour un client, le diagramme d'écran est encore plus utile! Cela m'aide à parcourir tout le projet, du début au début, et à prendre en considération toutes les fonctionnalités dont il aura besoin. Par conséquent, il est inestimable de fournir une estimation précise des coûts et du temps.
Alors oui, je représente définitivement tout et n'importe quoi. Si j'ai une idée, je peux et je vais certainement en dessiner un diagramme. Si je commence un projet sans au moins un schéma très large pour me soutenir, je me sens paralysé.