La création de nouvelles pistes dans les Tux Racer libres est une chose qui a été vraiment bien pensé. Même si elle ne permet pas de creuser des sous-terrains ou de régler l’orientation des objets par exemple, elle vous permettra de modéliser assez facilement et plutôt rapidement des courses totalement intégrés dans le jeu, réellement jouables, et cela sans aucune connaissance en infographie 3D, en programmation, et sans logiciels particuliers.
Nous verrons pas à pas dans ce didacticiel comment réaliser une course pour Tux Racer (excepté sa version commerciale) et ses dérivés. Certains points ne concernent que les versions plus avancés (PlanetPenguin Racer, Extreme Tux Racer) : ce sera précisé.
Tout d’abord, munissez vous de :
Premièrement, créez un dossier portant le nom de la piste (vous pourrez le changer après), en évitant tout accents et caractères spéciaux (évitez même les espaces, on ne sait jamais). Si vous voulez tester votre course pendant sa création, commencez par les étapes de paramétrage et d’installation (à la fin de cet article).
Attention, le format d’image utilisé dans ce didacticiel est le PNG. Cependant, il est à noter que si vous créez votre piste pour le Tux Racer original (et OpenRacer), vous devez enregistrer toutes les images au format RGB. Les pistes dans cet ancien format ne devrait pas poser de problème si vous les importez dans des versions plus récentes du jeu.
Tout d’abord, créez un fichier elev.png dans le répertoire de votre course. Cette image, n’acceptant uniquement les niveaux de gris, représente le relief de la piste. Une fois interprété par le jeu, c’est ce fichier qui définira la forme 3D du terrain.
La taille de cette image déterminera également les dimensions et le format de la course, qui ne pourra que difficilement être modifié par la suite. En général, une piste ne dépasse pas quelques centaines de pixels de largeur et longueur. Habituellement, on considère que chaque pixel représente un « mètre² virtuel ».
Le départ est en haut de l’image, l’arrivée est en bas. Pour peindre le relief, le principe est simple : plus le gris utilisé est clair, plus le terrain sera haut. Plus il est foncé, plus le terrain sera bas. Par conséquence, le blanc représente l’élévation maximale, et le noir est le niveau minimal.
Pour une meilleure compréhension, voici un exemple. Une pente a été obtenu par un dégradé horizontal, et les bords surélevés ne sont que deux fins dégradés verticaux. Enfin, vous pouvez également voir comment obtenir un tremplin basique.
Le deuxième fichier à créer se nomme terrain.png et il s’agit de l’image qui déterminera quels matériaux seront appliqués sur telle ou telle zone de la piste. Ses dimensions doivent être exactement les mêmes que celles de elev.png.
Voici les différentes couleurs à utiliser pour ce fichier. On utilise souvent un gris 50% pour ajouter de la pierre. En réalité, n’importe quel gris fera l’affaire.
Si vous créez votre piste pour PlanetPenguin Racer et Extreme Tux Racer, elles sont beaucoup plus nombreuses :
Appliquez ces couleurs comme bon vous semble sur votre image. Le plus simple est de superposer dans un premier temps ce nouveau fichier à elev.png, afin de pouvoir suivre le relief de la course.
Il est important de noter qu’il n’est pas la peine (et même très déconseillé) d’utiliser des fondus et des transitions entre les différentes couleurs. Au contraire, il est mieux de n’utiliser que des bords nets et aucun dégradés, au risque d’un rendu non satisfaisant. Le jeu s’occupera lui même des fondus.
Voici donc le fichier terrain.png associé à l’exemple précédent. Les bords de la pistes sont en terre, le tremplin est recouvert de glace, tandis que le reste est enneigé.
Il faut maintenant placer les objets de la course (poissons, arbres …) : pour cela, créez une troisième image trees.png aux dimensions précédentes. Appliquez lui un fond noir.
En suivant les couleurs suivantes, placez les objets sur l’image (vous pouvez comme précédemment la superposer sur le reste). Chaque objet est représenté par un seul et unique pixel d’une couleur précise.
Pour PlanetPenguin Racer et Extreme Tux Racer, il y a bien entendu de nouveaux objets :
Le départ et l’arrivée ne sont en réalité ici que les banderoles. Ils sont donc facultatifs comme les autres et vous pouvez en placer autant que vous voulez (ce qui est tout de même généralement assez inutile !). Le point de retour n’est pas un objet, mais le lieu où sera redirigé le joueur lors d’un appui sur la touche de retour. À noter que cette option n’est pas fonctionnelle dans toutes les versions (mais ne posera pas de problème de compatibilité).
Finissons avec notre exemple :
Des poissons alignés tout le long, des drapeaux au bord du chemin (et deux de chaque côté en haut du tremplin), deux banderoles, une au départ et une à l’arrivée, un point de retour vers le milieu, des arbres variés sur les bords et des arbustes éparpillés.
Passons au fichier de configuration. Créez-le sous le nom de course.tcl toujours dans le même répertoire. Ce fichier contient plusieurs attributs et leurs valeurs :
Tous ces attributs sont suivis directement de leurs valeurs, séparés par un simple espace. La majorité, mais pas tous, acceptent des valeurs décimales (le point remplaçant alors la virgule). Sauf pour les deux premiers, terminez chaque ligne par un point virgule (bien qu’il semblerait que ce ne soit pas une nécessité). Le fichier se termine par tux_course_init pour lancer le jeu.
Pour mieux comprendre le système des marges, voici un schéma (visualisant tux_course_dim et tux_start_pt) :
Enfin, voici un exemple de fichier de configuration :
tux_course_name "Test de course"
tux_course_author "Qui ?"
tux_course_dim 100 200 80 180 ;
tux_start_pt 50 10 ;
tux_angle 20 ;
tux_elev_scale 30 ;
tux_base_height_value 255 ;
tux_elev elev.png ;
tux_terrain terrain.png ;
tux_theme_init ppracer ;
tux_course_init
Il est à noter que dans les versions d’Extreme Tux Racer supérieures à la 0.4 (c’est à dire les versions actuellement en développement, qui sortiront prochainement), le système a légèrement changé : un nouveau fichier info.tcl est ajouté.
C’est lui qui contient désormais le nom de la course et son auteur, ainsi que la description de la course : tux_course_name et tux_course_author deviennent alors obsolètes dans course.tcl. Ce nouveau fichier se présente comme ceci :
set course_name "Test de course"
set course_author "Qui ?"
set course_description "Description de la course"
Il peut contenir aussi les informations supplémentaires pour intégrer la piste dans une compétition (temps à ne pas dépasser, nombre minimum de poissons à attraper …). Nous ne verrons cependant pas cet aspect dans ce didacticiel, consacré uniquement aux courses et non à la création de coupes.
Pour finir, il faut mettre en place la course dans le jeu. Ici, nous la feront simplement apparaître dans le menu Entraînement ("Practice"), et non pas dans une compétition.
Rendez-vous donc dans le dossier ou sont installées les données de votre version de Tux Racer, par exemple /usr/share/games/etracer/ pour Extreme Tux Racer. Naviguez jusque au sous-dossier courses/contrib/ et déplacez-y le répertoire de votre course. Et c’est tout. Démarrez le jeu, votre course devrait se trouver parmi les autres.
Que faire une fois fini ? Jouer déjà ! Ensuite, pensez à faire une capture d’écran de votre piste, puis à la redimensionner (traditionnellement en un carré de 128px de côté, même si elle se trouve écrasée), avant de la placer dans le dossier contenant les autres fichiers sous le nom de preview.png.
Enfin, vous pouvez partagez votre course : sur ce forum prévu à cet effet ou même dans la bonne catégorie du forum d’Extreme Tux Racer (qui sait, peut être que votre création sera intégrée dans une version future ?).
Fiche d’Extreme Tux Racer
Article Wikipédia sur Tux Racer (historique du jeu, liste des dérivés …)
Emplacement original de ce didacticiel