Je pensais avoir abattu le plus gros du boulot avec les inventaires et ne plus avoir qu’à ajouter les marchands, la banque et la garde-robes.
En fait, non, loin s’en fallait.
Je n’avais pas géré le cas où un joueur ouvre un coffre et un deuxième arrive qui l’ouvre aussi. Dans ce cas, si le premier essaie de fermer le coffre, il ne se fermera pas puisqu’il est ouvert par le deuxième joueur. Par contre, l’affichage de l’inventaire du premier joueur doit, lui, disparaître. C’est plus compliqué qu’il n’y paraît, j’ai dû créer une table de joueurs en action avec le coffre, les ajouter et retirer, éviter le spam, n’afficher l’animation du coffre qui s’ouvre que lorsque le premier joueur l’ouvre et l’animation de fermeture que lorsque le dernier joueur le ferme. Et gérer l’éloignement du coffre, ne pas autoriser l’ouverture de trop loin et fermer le coffre si le joueur s’éloigne trop. Des tas de petites choses qui paraissent évidentes quand on joue à notre jeu préféré mais qui sont toutes programmées l’une après l’autre. Un vrai labyrinthe.
Ca m’a complètement pourri la journée, le moindre bruit – un gosse qui pleure, le livreur qui amène les courses, la vie quoi – m’empêchait de raisonner, j’étais au taquet. Mais en fin de soirée tout était fait. Et bien fait, le système est stable, propre, simple et solidement géré par le serveur, je n’ai pour l’instant aucune faille de sécurité à surveiller, tout est fait dans les règles.
Je vais à présent m’attaquer aux popups pour afficher les détails des objets, puis aux vendeurs, puis à la banque. Ca va me prendre un certain temps…