URL: https://linuxfr.org/users/devnewton/journaux/webcrise-ebauche-d-architecture Title: Webcrise: ébauche d'architecture Authors: devnewton 🍺 Date: 2012年08月17日T00:15:37+02:00 License: CC By-SA Tags: jeu, architecture, uml, dev, jeux_linux et jeu_vidéo Score: 18 Bonjour Nal, Je continue mon travail de préparation d'un futur projet de jeu libre, Webcrise, que je décrivais il y a peu dans le journal suivant: https://linuxfr.org/users/devnewton/journaux/webcrise-appel-a-contribution Au lieu de me lancer, comme trop souvent, dans le code tout de suite, j'ai décider de faire un peu de modélisation. J'envisage aussi de faire une maquette de la gui, mais chaque chose en son temps. J'ai réalisé deux diagrammes, un de classe et un autre de séquence, pour avoir une vue d'ensemble du système. J'ai essayé d'avoir une architecture flexible afin de pouvoir gérer des cas peu évidents dans un jeu de stratégie temps réel: * les unités qui peuvent changer de rôle: un pompier brûlé devient une victime à sauver. * l'état du terrain peut évoluer, une zone peut être brûlée ou inondée, un pont peut être construit pour traverser une rivière... * certaines unités ne sont pas présentes physiquement sur le terrain: un témoin qui signale une émeute par exemple. * chaque joueur doit avoir une représentation différente de la situation: si la police découvre une victime, les pompiers ne sont pas automatiquement au courant. Cet exercice de modélisation m'a aussi permis de déterminer deux choses importantes: * le jeu sera en temps long, cad sur une journée ou une semaine. Le joueur pourra suivre l'évolution de la crise régulièrement, mais comme un préfet ou un gradé dans un poste de commandement, cad recevoir des alertes et faire des points réguliers, puis prendre des décisions de haut niveau. * le terrain sera un ensemble de case (tiling) pour simplifier. Une seule unité pourra occuper une case. J'ai également repéré deux frameworks intéressants, même si je n'ai fait aucun choix définitifs: [vert.x](http://vertx.io/) côté serveur et [melonjs](http://www.melonjs.org/) côté client. Comme éditeur de niveau, je pense utiliser [Tiled](http://www.mapeditor.org/), auquel je contribue déjà dans le cadre de la refonte graphique de [Newton Adventure](http://devnewton.bci.im/projects/newton_adventure).   Plus de news, dès que possible!