# X-Moto

X-Moto est un jeu vidéo de simulation de motocross en 2D créé par le danois Rasmus Teislev Neckelmann en 2005. Il s'agit d'un clone libre et gratuit du jeu Elastomania.

## Système de jeu
### Généralités

Le but du jeu est de récolter toutes les fraises, les anneaux (et plus généralement tout objet indiqué en haut à gauche du niveau en cours) du niveau en les touchant, puis de toucher la fleur pour terminer. Si la tête du pilote touche un mur, le sol, une mine, ou une quelconque matière, le joueur perd, et il faut recommencer le niveau. Chaque niveau contient généralement un chemin plus ou moins tracé par les fraises à ramasser, avec des difficultés, comme des sauts, mines, loopings, tunnels, pentes ou montées raides, etc.
Tout l'intérêt du jeu réside dans sa jouabilité. Pour passer les différents obstacles dressés dans un niveau, il faut manier au mieux la moto. Pour ce faire, on utilise les cinq contrôles possibles sur la moto :
* L'accélération (uniquement sur la roue arrière)
* Le freinage (sur les deux roues)
* La poussée avant (le pilote pousse le guidon et provoque une rotation vers l'avant de la moto)
* Le tirage (même principe que la poussée mais dans l'autre sens)
* Le retournement (le pilote se "retourne", la roue arrière devient la roue avant, et vice-versa)
Un autre intérêt du jeu, une fois les niveaux terminés, est de les finir le plus rapidement possible. Aussi est-il possible dans le jeu d'avoir en vue le "record mondial" de temps pour chaque niveau. En plus des records mondiaux, il est possible de créer des "rooms", le principe est le même que les records mondiaux, mais celles-ci se limitent à un groupe de joueurs.

### Niveaux

X-Moto est accompagné d'un éditeur de niveaux nommé Inksmoto. Il permet aux joueurs de créer des niveaux, qu'ils peuvent ensuite publier directement sur le jeu. Ainsi, en plus de la centaine de niveaux inclus dans le jeu, une multitude d'autres niveaux sont téléchargeables depuis le menu du jeu ou sur le site officiel. Il est aussi possible d'ajouter des scripts aux niveaux (programmés en Lua) pour créer des évènements (par exemple inverser la gravité). L'éditeur de niveaux utilise le logiciel de dessin vectoriel libre Inkscape pour dessiner les niveaux.

## Développement
### Origines et conception

Au tout début du jeu, il était question pour Rasmus Neckelmann de développer une simulation de voiture. Très rapidement, il s'aperçut que le jeu ressemblait de plus en plus au jeu Elastomania. Rasmus décida alors d'en faire un clone d'Elastomania. La première version du jeu est sortie après seulement un mois de développement (29 mai 2005).
Depuis, Rasmus Teislev Neckelmann a arrêté le projet alors que la version 1.0 devait sortir. Le projet a été repris en avril 2006 par le français Nicolas Adenis-Lamarre. Il a été rejoint fin 2006 par un deuxième français, Emmanuel G.

### Versions

Chaque changement de version majeur (0.x) correspond à un changement technique important.
* 0.1 : première version de X-Moto (mai 2005) écrite en 1 mois seulement.
* 0.2.x : le jeu se connecte à internet (initialement pour télécharger la liste des records).
* 0.3.x : le jeu gère ses données via SQLite, une base données (les joueurs retiendront surtout que c'est depuis qu'on peut jouer en multi joueurs).
* 0.4.x : réécriture de la gestion des états du jeu (afin de permettre une plus grande maintenabilité du jeu).
* 0.5.x : gestion physique des éléments / jeu en réseau / synchronisation des statistiques avec le serveur web.
* 0.6.x : CMake remplace autotools et d'autres améliorations du système de construction des binaires.