L’application est conçue selon différents principes :
Un « référentiel » de jeux : comprenant une « description » des composants pouvant être tirés aléatoirement (carte, personnage, scénario, etc.) ainsi que des règles de mise en place aléatoire (randomizer). Les composants peuvent être organisés sous forme de hiérarchie (sets) représentant les différentes extensions ou versions du jeu.
Une « collection » : qui décrit les jeux et éléments que l’utilisateur possède.
Une Progressive Web App (PWA) : application disponible depuis un navigateur et disponible hors-ligne (aucun serveur).
Un affichage composé essentiellement de grilles de « cartes » (au sens graphique, et non de composants de jeu).
Comme je le disais la version actuellle (et première) est un MVP :
Gestion d’un référentiel de jeux
Gestion d’une collection
Tirage aléatoire selon les règles de mise en place définies dans le référentiel
Support de deux jeux : Aeon’s End et Skytear Horde.
Affichage responsive (minimum syndicale pour que ce soit compatible PC et mobile).
Bien entendu, le projet est amené à évoluer, et j’ai déjà plein d’idées pour :
Référentiel :
Données externes (#21) : permettre d’importer des données depuis des fichiers en local ou via une URL. Afin de pouvoir ajouter et modifier des jeux, des composants ou des règles de mises en place.
Synchronisation (#22) : permettre de synchroniser / mettre à jour les référentiels définis à partir d’une URL.
Éditeur : gérer un référentiel local via une interface graphique.
Mise en place aléatoire :
Variables (#23) : la possibilité d’utiliser des variables (exemple : nombre de joueurs, niveau de difficulté).
Emplacements liés (#24): la possibilité de faire correspondre des emplacements entre eux (exemple : un scénario ou un boss utilisant des ennemis spécifiques).
En fait c’est ce que dans le jargon on appelle un « toy project », je le fais essentiellement parce que je trouvais ça pratique pour moi même et curieux de savoir si le concept était possible (ou plutôt jusqu’où c’était possible)
Quand j’ai commencé à me pencher dessus, il y a eu pas mal d’idées qui ont fusées ; et qu’il faudrait que couche enfin dans le backlog (liste des tâches à faire) …
Merci pour les liens en tout cas. Je sais pas si je prioriserai des jeux pour lesquels des apps existes. J’ai pris Aeon’s End malgré https://aeons-end-randomizer.de/ (que je recommande fortement) parce que c’est un jeu :
que je possède
pour lequel il existe pas mal de contenu (histoire de valider l’utilisabilité de la gestion de collection)
pour valider le principe d’importation et transformation de données existantes
En lisant le titre j’ai abord qu’il s’agit tout bêtement de tirer au sort un jeu de sa ludothèque pour décider de ce à quoi on voudrait jouer.
C’est plus élaboré que ça finalement mais je me dis que mon idée vaudrait peut-être le coup d’être intégrée aussi dans le bouzin… À moins que ce ne soit complément con, je ne sais pas trop, j’ai pas réfléchi.
J’ai quelques listes sous la main mais je n’ai trouvé aucune exhaustive. Je pourrai compléter à la main si tu veux, tu me feras signe quand tu te mettras dessus
« Petite » mise à jour (0.2.0) avec l’ajout des éléments de navigation :
Un menu dynamique
Une barre de navigation
Pas de gros changements dans les fonctionnalités. Je voulais garder un peu plus de contenu pour la prochaine mise à jour, cependant cela a eu plus d’impact que je pensais sur le code.
On est donc pas à l’abris de quelques couacs, mais n’hésitez pas à les remonter que je puisse les corriger au plus vite !
Cela faisait un bon moment : quelques soucis techniques, pas mal de remaniement (déjà prévu mais repousser jusqu’à … nécessaire ), pas mal d’activités perso, un peu beaucoup de flemme sur le temps restant et réception d’un nouveau jeu qui je l’espère sera ajouté prochainement
Cependant, ayant atteint un premier niveau de fonctionnalité qui me convient j’envisage désormais une sortie « finale » (aka 1.0.0). Donc pas de nouvelles fonctionnalités pour les semaines à venir qui seront dédiées à :
Ajout d’une documentation : et insertion de liens depuis les différents éléments de l’application
Gestion des erreurs : en interne il y a pas mal de gestion des erreurs mais rien côté IHM pour les afficher. Donc sauf à être accro à la console de développement du navigateur, ça peut être frustrant.
Logo : Ce qui va me prendre le plus de temps je le sens
…
En attendant :
Mise à jour 0.4.0
Collection : Ajout d’une entrée dans le menu pour un accès plus direct
Référentiel : Ajout d’une interface de gestion et la possibilité de rajouter ses propres sources (moyennant un peu de connaissance technique, surtout sans documentation !)