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:
- Lettre rouge : cette
lettre n'existe pas dans le mot caché.
- Lettre verte : cette
lettre existe dans le mot caché et se trouve à la bonne place
(c'est-à-dire que sa place dans votre proposition correspond à sa place
dans le mot caché).
- Lettre bleue :
cette lettre existe dans le mot caché mais ne se trouve pas à la bonne
place (c'est-à-dire que sa place dans votre proposition ne correspond
pas à sa place dans le mot caché).

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 :
- Lorsque vous avez trouvé le mot caché en moins de 7 propositions.
Dans ce cas vous avez gagné.
- Si au bout de 6 propositions vous ne l'avez pas trouvé. Dans ce
cas ... c'est perdu ! Toutefois vous aurez la consolation de quand même
connaître le mot qui était caché.
- Si vous abandonnez via le menu de pause / abandon et là, vous
aurez aussi perdu.
À 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)
.
- La première flèche (dirigée vers la droite) permet de valider
votre proposition une fois que celle-ci comporte 6 lettres (comme
raccourci, utilisez le bouton SELECT).
- Le seconde flèche (dirigée vers la gauche) permet de corriger la
dernière lettre de votre suggestion en cours d'élaboration (comme
raccourci, utilisez le bouton B).
Les touches physiques
- Pavé de direction :
Déplacer votre curseur de sélection de lettre (haut - bas - droite -
gauche).
- A : Sélectionner la
lettre pointée par le curseur pour l'ajouter au mot qui formera votre
proposition.
- B : Supprimer la
dernière lettre écrite du mot qui formera votre proposition
(correction). Si votre proposition ne contient plus aucune lettre, alors
vous recevrez un message d'erreur.
- SELECT :
Soumettre le mot saisi comme proposition. Si votre proposition contient
moins de 6 lettres, vous serez avertis.
- START : Invoquer
le menu de pause et d'abandon.
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:
- Commencer une partie avec la configuration courante.
- 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 !
- 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.
- 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.
- 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
- Première distribution officielle.
Nov 2004 : Version 1.1
- Ajout d'effets sonores.
- Ajout de l'Italien.