Motus Advance

François PESSAUX - 07 Oct 2004

Version 1.1.
    Cette documentation est sujette à changements afin de refléter les évolutions du jeu. C'est pourquoi, les photos d'écran peuvent varier légèrement de la version réelle du jeu, le développement étant encore en cours.


Dispositions légales

    Motus Advance est un jeu développé pour la Gameboy Advance™. Il est destiné à être distribué librement et gratuitement. L'auteur fournit le logiciel en l'état et ne pourra être tenu responsable en aucun cas de tout dommage direct ou indirect engendré par l'utilisation du-dit logiciel. Le présent logiciel ne fait l'objet de licence auprès d'aucun organisme. L'auteur, bien que distribuant librement et gratuitement son logiciel en reste toutefois le propriétaire. Néanmoins, il accepte que des éléments constituant le logiciel puissent être librement ré-utilisés ou modifiés ou que le logiciel puisse être étendu tant que le but reste non-commercial.

Après tout ce blabla que personne ne lit, qui ennuie tout le monde, mais que tout le monde écrit pour être blindé... attaquons la partie intéressante !


Règles du jeu

    Motus Advance est un jeu de réflexion basé sur la logique et le vocabulaire.


    Le but est de deviner en au maximum 6 essais un mot de 6 lettres choisi au hasard parmi un dictionnaire de référence.  Actuellement, trois langues sont disponibles dans le jeu : le Français, l'Anglais (Grande Bretagne et non pas U.S.A, ce qui peut donner lieu à de légères variations, en particulier sur les "z" et les "s" ;-) et l'Italien. Le choix de la langue s'effectue dès le lancement du jeu en déplaçant le pointeur puis en pressant les boutons A, SELECT ou START.

    Pour deviner le mot caché, vous allez faire des propositions. Une fois une proposition soumise, le jeu va la comparer au mot caché puis vous donner des indications. Le mot que vous aurez proposé va être coloré lettre par lettre selon le code couleur suivant:

    Ainsi sur l'image ci-dessus, la première ligne indique qu'aucune lettre de la proposition ne correspond à des lettres du mot caché sauf la première et la dernière (qui vous sont d'ailleurs gracieusement données en début de partie). Grâce à la seconde ligne, vous savez que le "e" en troisième position est bien placé. La troisième ligne indique qu'un "d" et un second "e" (différent du premier qui lui est bien placé) existent dans le mot caché mais qu'ils ne sont pas à la position où vous les avez indiqués dans votre proposition. Munis de ces indices qui se cumulent ligne après ligne, à vous de découvrir de quel mot il s'agit !..

    Au début d'une partie, afin de ne pas partir dans l'inconnu, vous sont données la première et la dernière lettre du mot à découvrir. Toutefois, il vous est possible de les changer si vous le voulez afin de faire votre proposition. Par exemple, si vous ne trouvez pas de mot commençant par la première lettre indiquée, vous pouvez toujours la remplacer par une autre afin de composer un mot nouveau dont peut-être les lettres suivantes vous donneront des indices pour la suite. Pareil pour la dernière lettre. Cette possibilité est particulièrement intéressante dans le mode de jeu où vous devez obligatoirement proposer des mots existant dans le dictionnaire sous peine de perdre votre tour (c.f. section des options).

    Le jeu ne tient pas compte de la casse des lettres (c'est-à-dire de si elles sont en majuscule ou en minuscule). De même, les lettres accentuées et non accentuées ne sont  pas différenciées. Ainsi, dans les langues utilisant des accents, un mot accentué écrit sans accent sera considéré comme valide. Actuellement, ceci ne joue bien entendu que sur la langue Française. Les pluriels et les verbes conjugués sont autorisés.

    Une partie est terminée soit :
    À l'issue de chaque partie, vos statistiques courantes vous seront affichées.

Résumé des contrôles

Le panneau de saisie


    La saisie de vos mots s'effectue sur l'écran de jeu grâce au panneau de lettres se trouvant dans la partie inférieure droite de l'écran. Toutes les lettres non accentuées en majuscule de l'alphabet occidental s'y trouvent représentées, ainsi que deux petites flèches supplémentaires (en bas à droite) .

Les touches physiques

    Par défaut, lors de la saisie de votre proposition, lorsque vous sélectionnez une lettre avec le bouton A, celle-ci est insérée directement dans le prochain emplacement vide. Ainsi vous n'avez pas besoin de saisir les lettres déjà bien placées. De même, au moment de valider votre proposition, si la fin du mot était déjà composées de lettre précédemment bien placées, vous n'aurez pas à la saisir à nouveau avant de pouvoir valider votre proposition.

    Inversement, lors de la saisie de votre proposition, lorsque vous décidez de corriger (supprimer) une lettre de votre suggestion en pressant le bouton B, la lettre supprimée est celle juste devant l'emplacement où aurait été inséré la prochaine lettre. Ceci vous permet ainsi de corriger des lettres que vous aurez saisies, mais aussi des lettres qui vous auraient été remises des tours précédents car bien placées ainsi que les lettres d'aide de début et de fin de mot.

Options



    À chaque début de partie, un menu d'options vous permet de:
  1. Commencer une partie avec la configuration courante.
  2. Autoriser ou refuser les proposition de mots n'existant pas dans le dictionnaire. Si cette option est désactivée, alors vous aurez le droit de soumettre des suggestions complètement dénuées de sens et le jeu regardera quand même la position de leurs lettres pour vous donner les indices résultant. Par contre, si cette option est activée et que vous soumettez un mot qui n'existe pas, vous serez pénalisés et perdrez tout simplement le bénéfice de votre tour : la ligne restera vide (sans indice) et vous passerez au tour suivant. Dommage !

  3. Activer ou désactiver la limite de temps entre chacune de vos propositions. Si cette option est activée, alors vous devrez effectuer chaque proposition en moins de 1 minute chacune sous peine de perdre le bénéfice de votre tour.
  4. Sauvegarder les statistiques courantes. Ces statistiques ne sont pas l'état courant d'un jeu en cours, mais le nombre de manches que vous avez gagnées, perdues et abandonnées. Ceci revient un peu à des highscores simplifiés. Fait important, par la même occasion, ceci enregistre un nouveau germe pour le générateur aléatoire, ce qui vous garantit que si vous rallumez le jeu, vous n'aurez pas la même séquence de mots cachés à trouver.
  5. Effacer les stats courantes. Ceci réinitialise à 0 le nombre de parties que vous avez gagnées, perdues et abandonnées. Par contre, ceci ne ré-initialise pas le germe du générateur aléatoire, bien au contraire, ceci en génère et mémorise un nouveau, ainsi vous continuerez à toujours devoir deviner de nouvelles séquences de mots.
    Les options 2 et 3 se comportent comme des cases à cocher. Presser le bouton A au dessus permet alternativement des les activer et de les désactiver. Par défaut lors de l'allumage du jeu, ces options sont désactivées (comme le montre le petit indicateur rouge). Une fois cochées, le petit indicateur se trouvant devant chacune d'entre elles devient vert comme le montrent les images ci-dessous.



    Dans le menu d'options, le bouton B permet de commencer la partie avec la configuration courante, indépendamment de la position du curseur. Ceci permet de débuter plus rapidement sans avoir à remonter jusqu'au premier item de la liste des options puis de presser le bouton A.

    L'activation de l'option de temps contraint met en route une petite animation au cours du jeu de façon à refléter le temps restant avant que le délai de soumission ne soit écoulé. Dans le partie supérieure droite de l'écran se trouve une petite horloge sous laquelle une barre de progression est affichée. En mode sans limite de temps cette barre reste vide. Par contre, en temps limité, elle se remplit d'un marqueur toutes les 10 secondes.


    Il y a 6 marqueurs. Un toutes les 10 secondes, ça fait bien 60 secondes = 1 minute ! Autrement dit, le premier marqueur apparaît au bout de 10 secondes, le second après écoulement de la 20ème seconde. Et bien évidemment, lorsque le 6ème et dernier marqueur apparaît, il est déjà trop tard !!!

Making off et remerciements

    Motus Advance a été entièrement écrit en C, avec le génial DevKit Advance sous Linux et sous Microsoft Windows. Les graphismes ont été réalisés grâce à l'excellent Gimp. La conversion des images BMP au format binaire de la Gameboy a été réalisée grâce à un petit outil que j'ai développé sur mesure en Objective Caml. La conversion des échantillons sonores a été effectuée avec Wav2raw de Sylvain Rochette. Les tests et le débug ont été effectués à la fois sur console physique et sous le fabuleux émulateur VisualboyAdvance. Je tiens donc à remercier toute la communauté des logiciels libres grâce à qui ce petit jeu sans prétention a pu voir le jour. C'est aussi pour cette raison qu'il est librement distribuable.

    Cette version du jeu est un portage modifié de la version que j'avais précédemment développée sur Ipaq. Le moteur interne de représentation du dictionnaire provient à l'origine de mon correcteur d'orthographe Mérimé développé il y a de cela quelques années. La première version était en C, puis une refonte plus performante a ensuite été développée ... en OCaml.

    Le dictionnaire Italien ainsi que la traduction des messages m'ont aimablement été fournis par Francesco Stano. C'est ainsi grâce à lui que cette langue est désormais disponible dans le jeu.

    Comme pour mes précédentes créations, ma petite femme a bien voulu se prêter au jeu du "testeur fou" afin d'améliorer la réalisation de ce jeu.

    Les sources de ce jeu seront bientôt également librement distribuées. J'espère qu'elles donneront des idées et réponses à d'autres. Actuellement, je ne les mets pas encore à disposition car je souhaite encore effectuer des modifications sur Motus Advance. Mais patience, ça va venir !

 Contact

    Pour tout renseignement, suggestions, critiques il est possible de me joindre par mail à :

francois_pessauxHATyahoo.fr

adresse dans laquelle, bien entendu vous remplacez texto "HAT" par le caractère "@" (c'est juste pour éviter que les scanners automatiques d'adresses mail viennent me logger une fois de plus; je reçois déjà assez de spam comme ça !)

Historique

07 Oct 2004 : Version 1.0
Nov 2004 : Version 1.1