Blog version anglaise

J’ai créé une version anglaise de ce blog: https://www.patternsgameprog.com/

Compte tenu du très grand nombre de lecteurs sur cette nouvelle version comparé à celui-ci, je préfère arrêter le blog en français.

J’ai déjà traduit et même étendu la série sur la façade AWT. Je ferai de même pour la série que j’ai commencé sur l’état du jeu. Je compte également aborder d’autres sujets comme l’initiation à la programmation avec Python.

Publié dans Tutoriel | Laisser un commentaire

Notion d’état (2) – Classes et Énumérations

Dans l’article précédent je vous ai présenté la notion d’état avec ses motivations ainsi qu’un exemple de définition avec le jeu Pacman. Ici, je vous propose de commencer à représenter l’état à l’aide d’éléments informatiques comme les classes et les énumérations. Attention, il n’est toujours pas question de programmer pour l’instant, seul des schémas sont élaborés, avec le plus d’indépendance possible avec un langage et une architecture cible. Cette approche suit toujours le même principe: on commence toujours par raisonner autour de notions plus générales et abstraites avant de se perdre dans des détails d’implantation logicielle.

Continuer la lecture

Publié dans Tutoriel | Laisser un commentaire

Notion d’état (1) – Définition

Les jeux et applications sont généralement conçus en “mélangeant” toutes les notions sans définir des frontières entre elles. Cela pose tout un ensemble de problèmes dont l’énumération est fastidieuse: je vous invite à (re)lire la page A propos pour plus de détails. Parmi les notions à considérer lors de la conception d’un jeu ou d’une application, les premières à prendre en compte sont celles qui concerne les données. Pour les identifier et bien les gérer, je propose de vous présenter une approche basée sur la notion d’état. Continuer la lecture

Publié dans Tutoriel | Laisser un commentaire

Façade Bibliothèque Graphique AWT (5): Souris et Boucle de Jeu

Faisant suite aux articles sur la façade graphique, je propose à présent d’ajouter un peu d’interaction avec l’utilisation d’une souris. Cela va être l’occasion de voir deux autres patrons: l’Observateur (Observater Pattern) pour gérer les événements de la souris, et la Boucle de Jeu (Game Loop Pattern) pour la synchronisation entre contrôles, mises à jour et affichage. Continuer la lecture

Publié dans Tutoriel | Marqué avec , , , , | Laisser un commentaire

Charger un niveau avec le patron Visiteur

Dans cet article, je vous propose d’utiliser le patron Visiteur (Visitor Pattern) pour charger facilement un niveau. Ce patron permet (entre autres) de facilement parcourir une structure de données pour en extraire une information. Dans notre cas, c’est un fichier XML créé par l’éditeur “Tiled Map Editor” qui est analysé pour charger un niveau en mémoire. Continuer la lecture

Publié dans Tutoriel | Marqué avec , | Laisser un commentaire

Façade Bibliothèque Graphique AWT (4): Dessiner avec des tuiles

Je poursuis l’extension de la façade graphique (cf article précédent), avec ici l’idée d’ajouter une forme de dessin très classique pour les jeux vidéos: les tuiles. Celles-ci permettent de composer une image à partir de petites images appelées tuiles. Il existe plusieurs types de tuiles, je propose dans cet article le cas le plus simple avec des tuiles rectangulaires. Continuer la lecture

Publié dans Tutoriel | Marqué avec , , , | Laisser un commentaire

Façade Bibliothèque Graphique AWT (3): Afficher une image

La façade vue dans l’article précédent ne comporte qu’une interface avec ses méthodes. Il est également possible d’enrichir une façade avec des interfaces supplémentaires, connectées entre elles par divers moyens. Pour l’illustrer, je vous propose d’ajouter la gestion des images. Cet ajout permet par ailleurs de présenter un autre patron de conception: le patron Fabrique (Factory Method Pattern). Continuer la lecture

Publié dans Tutoriel | Marqué avec , , , | Laisser un commentaire

Façade Bibliothèque Graphique AWT (2): Dessiner

Dans cet article, je vous propose de poursuivre la conception d’une façade pour un jeux 2D en tuiles (article précédent). Nous allons ajouter deux types de services: l’un pour gérer le cycle de création et de destruction de la fenêtre, et l’autre pour dessiner. Chaque service est géré par un lot de méthodes dans l’interface GUIFacade: Continuer la lecture

Publié dans Tutoriel | Marqué avec , , | Laisser un commentaire

Façade Bibliothèque Graphique AWT (1): Afficher une fenêtre

Dans cette série, je propose de découvrir le patron Façade (Facade Pattern). En deux mots, celui-ci consiste à définir une interface qui permet une utilisation réduite et simplifiée d’un ensemble de fonctionnalités. Pour l’illustrer, nous allons faire une façade de la bibliothèque graphique AWT pour un jeu 2D en tuiles. Continuer la lecture

Publié dans Tutoriel | Marqué avec , , | Laisser un commentaire