Le jeu Orlog sur la NumWorks
Posted: 02 Jun 2024, 20:30
Tu te souviens peut-être de cette interview dans laquelle je parlais d'adapter le mini-jeu de plateau Orlog que l'on trouve dans le jeu vidéo Assassin's Creed : Valhalla et qui consiste à affronter un adversaire en lançant puis sélectionnant des dés et en invoquant le pouvoir de divinités nordiques.
Eh bien, pour ta plus grande joie, la voici, cette adaptation tant attendue !
Et pour te la faire découvrir, profitons-en pour expliquer le principe et le déroulement du jeu :
Le principe du jeu est le suivant :
La partie se déroule en plusieurs manches dont le déroulement est le suivant :
Une fois la manche terminée, si aucun des deux joueurs n'a été éliminé, c'est une nouvelle manche qui commence, en conservant le nombre actuel de PV et de Jetons de chaque joueur. La nouvelle manche commence par le lancer des dés.
Et pour te la faire découvrir, profitons-en pour expliquer le principe et le déroulement du jeu :
Le principe du jeu est le suivant :
- À chaque partie, chacun des deux joueurs a 15 pierres de vie (que l'on peut appeler très commodément "PV" ) et le but de la partie est de réduire le nombre de PV de l'adversaire à 0. Les manches se succèdent jusqu'à ce qu'un des joueur n'ait plus de PV ; la partie est alors terminée.
- En début de partie, chaque joueur choisit jusqu'à 3 divinités qu'il pourra invoquer en cours de partie, en échange de Jetons.
La partie se déroule en plusieurs manches dont le déroulement est le suivant :
- Chacun des deux joueurs lance 6 dés dont les faces représentent au choix : une hache, une flèche, un casque, un bouclier ou une main. Chaque hache et chaque flèche enlève 1 PV à l'adversaire mais chaque casque protège contre une hache et chaque bouclier protège contre une flèche. La main vole un Jeton à l'adversaire. Chaque face de dé entourée d'un liseré doré donne un Jeton.
- La phase de lancer est répartie sur 3 tours : à chaque tour, le joueur lance ses dés puis choisit les faces qu'il veut verrouiller et conserver. Les dés restants seront relancés au tour suivant.
- Ensuite vient la phase de choix de la divinité à invoquer, ainsi que du niveau d'invocation (il y a 3 niveaux par divinité). Le choix de chaque joueur se fait en fonction des faces qu'il a verrouillées et de son nombre de Jetons. Il est également possible de ne pas invoquer de divinité.
- Enfin, vient la phase de résolution. L'éventuelle divinité choisie par chaque joueur est invoquée suivant sa priorité d'invocation. Les dés des deux joueurs sont associés suivant leur correspondance attaque-défense. Le décompte du nombre de PV enlevés est fait, dé par dé. Puis les mains volent les Jetons correspondant. Enfin, les divinités les moins prioritaires (priorité supérieure à 5) sont invoquées, si le nombre de Jetons est suffisant.
Une fois la manche terminée, si aucun des deux joueurs n'a été éliminé, c'est une nouvelle manche qui commence, en conservant le nombre actuel de PV et de Jetons de chaque joueur. La nouvelle manche commence par le lancer des dés.
Mais les pouvoirs des divinités sont variés et les divinités sont nombreuses, tandis que la mémoire de stockage (pour les scripts) de la NumWorks n'est pas considérable et sa mémoire de travail est encore plus limitée. Si la mémoire de stockage ne semble pas être un facteur limitant dans ce cas précis (le script fait environ 15 ko), ce fut cependant un véritable défi de faire rentrer toutes les informations et toutes les règles dans un nombre restreint de variables et sous une forme optimisée pour ne pas saturer le peu de mémoire de travail de la NumWorks.
Il a fallu ruser, et même rogner sur certains contenus, comme le nom complet des pouvoirs des divinités. Par exemple, "Vol de Thrymr" est réduit à un simple "Thrymr". Toutefois, aucune information importante n'a été retirée et la description du pouvoir de chaque divinité n'a pas été tronquée.
Mais au prix de ce (modeste) sacrifice des noms complets des pouvoirs des divinités, certaines fonctionnalités ont pu être ajoutées et on a finalement :
- Une IA assez sommaire mais qui a le mérite d'exister.
- Un écran d'accueil permettant justement de choisir entre un mode Joueur contre Joueur et un mode Joueur contre IA.
- Un affichage compact du plateau lors du choix de la divinité à invoquer ainsi que son niveau d'invocation. Ce qui permet de savoir si le choix est pertinent et si on a (ou aura) assez de Jetons pour lancer l'invocation.
- Une animation basique mais colorée des différents dés traités lors de la phase de résolution (l'affrontement des dés).
Au fait, comment joue-t-on ?
- Les flèches gauche et droite permettent de naviguer entre les dés ou entre les divinités.
- Les flèches haut et bas permettent d'ajouter ou retirer une divinité lors du choix initial des divinités à utiliser durant la partie (jusqu'à 3 divinités) et permettent ensuite de verrouiller ou déverrouiller des faces de dés à conserver. Elles permettent également de choisir le niveau d'invocation d'une divinité lors de la phase de résolution.
- La touche EXE (ou Entrée, sur le simulateur) permet de valider le choix effectué (pour les divinités ou pour les faces de dés à conserver) et de passer à l'étape suivante du jeu.
Si tu as une calculatrice NumWorks, alors tu peux y transférer cette version.
Si tu n'as pas de calculatrice NumWorks, alors tu peux tout de même tester cette version du jeu, en utilisant les 4 flèches et la touche Entrée du clavier.
Par ailleurs, si tu cherches une version avec le nom complet des pouvoirs des divinités, tu peux regarder par ici, mais en contrepartie, il a fallu supprimer l'affichage compact du plateau en bas d'écran durant le choix de la divinité à invoquer.
Si tu n'as pas de calculatrice NumWorks, alors tu peux tout de même tester cette version du jeu, en utilisant les 4 flèches et la touche Entrée du clavier.
Par ailleurs, si tu cherches une version avec le nom complet des pouvoirs des divinités, tu peux regarder par ici, mais en contrepartie, il a fallu supprimer l'affichage compact du plateau en bas d'écran durant le choix de la divinité à invoquer.
L'aventure aurait pu se terminer ici, avec un jeu épuré et vraiment sobre graphiquement, et à regret sans aucune décoration, faute d'espace suffisant dans la mémoire de travail de la NumWorks.
Mais c'était sans compter sur le travail formidable de la communauté de développeurs qui a produit le firmware alternatif Upsilon qui peut être installé sur certaines NumWorks, à certaines conditions, et qui permet de bénéficier d'une mémoire de travail augmentée.
Mais c'était sans compter sur le travail formidable de la communauté de développeurs qui a produit le firmware alternatif Upsilon qui peut être installé sur certaines NumWorks, à certaines conditions, et qui permet de bénéficier d'une mémoire de travail augmentée.
Le gain de place a permis de rétablir le nom complet des pouvoirs des divinités et d'ajouter un peu de décoration sur l'écran d'accueil, comme illustré ci-contre. Ici encore, il a fallu optimiser l'encodage des motifs, et ruser en utilisant des (successions de) symétries.
Si tu as une calculatrice NumWorks sur laquelle tu peux installer le firmware Upsilon, alors tu peux y transférer cette version.
Si tu n'as pas de calculatrice NumWorks, alors tu peux tout de même tester cette version du jeu, en utilisant les 4 flèches et la touche Entrée. Ceci est rendu possible grâce au formidable Workshop Upsilon de Yaya.Cout.
Si tu as une calculatrice NumWorks sur laquelle tu peux installer le firmware Upsilon, alors tu peux y transférer cette version.
Si tu n'as pas de calculatrice NumWorks, alors tu peux tout de même tester cette version du jeu, en utilisant les 4 flèches et la touche Entrée. Ceci est rendu possible grâce au formidable Workshop Upsilon de Yaya.Cout.
Et qu'en est-il des autres calculatrices ? La légende raconte qu'un add-in permet de lancer des jeux Python pour NumWorks sur les Casio Graph 90+E. Et si... ?
Liens et ressources :
- Version NumWorks Epsilon avec affichage compact du plateau : https://my.numworks.com/python/florian-allard/orlog
Téléchargement : http://ti-pla.net/a4074073 - Version NumWorks Epsilon avec noms complets (moins bien que l'autre) : https://my.numworks.com/python/florian-allard/orlog2023
Téléchargement : http://ti-pla.net/a4074076 - Version NumWorks Upsilon : https://yaya-cout.github.io/Upsilon-Workshop/view/f857ab1d-318c-457f-82c2-3c9a54c222f4
Téléchargement : http://ti-pla.net/a4074078