evite-2.3-vignetteCela fait déjà plusieurs années que plus aucun jeu ne sort sur Nintendo DS, mais celle-ci comporte encore une communauté relativement active de développeurs amateurs, même si les avancées dans le domaine du homebrew permettent peu à peu de se mettre à la 3DS. Il est en effet relativement facile de développer des logiciels sur cette plate-forme, pour peu que l’on sache programmer en C ou en C++ et que l’on possède pour les faire tourner une cartouche de jeu adéquate dite linker ou encore flashcard pour les anglophones. Il est bien entendu également possible d’utiliser un émulateur sur son ordinateur pour les tester.

Alors qu’est-ce que Evite ? Il s’agit d’un jeu d’action et de scoring, que j’ai programmé pour Nintendo DS.

Histoire

Origine du jeu

Evite! est inspiré de Aspirin, un jeu pour calculatrice TI-83+, programmé par Fil-C. Le but du jeu est simple : il faut récolter des points tout en évitant les traits, qui se font de plus en plus nombreux et se déplacent à travers l’écran en suivant une trajectoire horizontale ou verticale :

aspirin-1 aspirin-2 aspirin-3

Le joueur est représenté par le point noir, et doit récolter les ronds blancs.
Si ça vous intéresse de le tester, Aspirin nécessite le shell ION.
Il est compatible avec TI-82 Stats, Ti-83, Ti-83+

Evite! Sur PC Windows

Ce jeu, simple et amusant, m’a occupé pendant de longues heures durant mon année de terminale. J’avais alors eu l’idée d’en créer une version PC nommée Evite!, reprenant les mêmes principes que le jeu pour calculatrice, améliorée par l’ajout de bonus/power-up pour pimenter la partie :

Evite! Jeu PC
Télécharger Evite! v1.5 (PC)

Un bonus permet de ralentir les traits, et une étoile procure une invincibilité temporaire.
Le jeu PC Evite! est compatible avec Windows XP ou supérieur.
Il devrait passer sous Mac/Linux avec Wine, aussi.

Evite! Sur Nintendo DS

Depuis maintenant presque deux ans, je me suis lancé, très sporadiquement, dans un portage de Evite! sur Nintendo DS. Le but était simple, mettre en pratique mes connaissances en C++, découvrir une nouvelle plate-forme, tout en réalisant un projet amusant. Le but était donc de réaliser un jeu simple, mais exploitant diverses fonctions offertes par la console. Voici une vidéo datant du début du projet, montrant les premiers avancements :

L’interface a été revue pour l’utilisation sur deux écrans avec l’écran du haut affichant les scores et informations, et l’écran du bas pour le jeu. La plupart des graphismes ont été redessinés, je ne suis pas un expert en pixel art, mais je suis plutôt content du rendu. Enfin, les musiques et sons du jeu ont été convertis dans des formats pris en charge par la DS. Ainsi, Evite! Propose un mode solo, jouable aussi bien avec les boutons qu’avec le stylet, ainsi qu’un mode multijoueurs permettant de se mesurer à un ami en wi-fi local. Le jeu prend également en charge le module Rumble Pack, que ce soit le module officiel ou le module EZ-Flash 3in1, pour pimenter un peu la partie en ajoutant des vibrations lors de collisions avec les différents éléments !

Captures d’écran

Voici quelques captures d’écran présentant Evite! sur Nintendo DS :

Evite! Menu principal Evite! Mode Solo
Menu Principal et mode solo du jeu Evite!

Evite! Mode Multijoueurs
Captures d’écran d’une partie Multijoueurs

Fonctionnalités

Éléments du jeu :

  • Balle blanche : Représente le joueur
  • Balle jaune : Position de l’autre joueur (mode 2 joueurs)
  • Balle bleue : Bonus à ramasser (1 bonus = 1 point)
  • Traits en mouvement : Obstacles à éviter sous peine de Game Over !
  • Bonus ? : Ralentit les traits déjà affichés à l’écran
  • Bonus ★ : Procure une invulnérabilité temporaire
  • Balle multicolore : Invulnérabilité temporaire

Modes de jeu :

  • Solo : Tentez d’obtenir le plus haut score !
  • Multi : Mesurez-vous à un ami (2 joueurs, Wi-Fi local)

Contrôles :

  • Boutons : Utilisez la croix directionnelle pour diriger votre balle
  • Stylet : Guidez votre balle d’une simple pression sur l’écran
  • Le bouton Start permet de revenir au menu à tout moment

Autres Fonctions :

  • Support du Rumble Pack, si inséré, des vibrations sont jouées durant le jeu
  • Bouton Quitter : Retour rapide au menu du linker (Testé sur R4 Wood)
  • Tient en RAM : Un seul linker peut permettre de charger le jeu sur 2 consoles

Téléchargement

Si j’ai réussi à vous convaincre que Evite! est le meilleur jeu de l’univers (ahem…), alors voici le lien de téléchargement du jeu au format NDS, jouable sur votre console via un linker ou bien avec un émulateur tel que No$GBA qui permet de jouer aux jeux de Gameboy Advance et de Nintendo DS sur votre ordinateur.

ndsTélécharger Evite! v2.4 (NDS)


Télécharger Evite! v2.3 (NDS)
Télécharger Evite! v1.0 (NDS)

Change-Log

Voici l’ordre détaillé de l’ajout des fonctionnalités dans le jeu :

v0.1 : Tests
– Découverte de devkitPro et PALib
– Instructions sur l’écran du haut
– Thème principal du jeu en musique de fond
– Balle qui se promène à l’écran avec la croix directionnelle
v0.9 : Jeu basique
– Bonus à ramasser
– Gestion et affichage du score
– Ajout de traits au ramassage du bonus
– Déplacement vertical ou horizontal des traits
– Gestion du Game Over : Texte « Perdu! » rouge
– Lancement d’une partie après un Game Over (Bouton A)
v1.0 : Corrections
– Crédits et numéro de version sur l’écran du haut
– Les traits sont inoffensifs pendant un très court délai après apparition
– Publication de la vidéo et du lien de téléchargement de la version 1.0
v1.1 : Police d’écriture
– Gestion de police d’écriture personnalisée
– Affichage du score en police pixelisée, en rouge
v2.0 : Multijoueurs
– Ajout d’un mode multijoueurs expérimental
– Si deux consoles sont à proximité, le jeu passe en mode 2 joueurs
– Affichage de la position et du score de l’autre joueur (balle jaune)
– Les traits et la position du bonus sont communs aux deux consoles
– Une fois que les deux joueurs ont perdu, celui avec le meilleur score gagne
– Les traits et le joueur 2 restent animés quand on a perdu (Texte Perdu! gris, en fond)
v2.1 : Power-Up !
– Désactivation du multijoueur pour se concentrer sur le gameplay
– Ajout des bonus « ? » avec plusieurs trajectoires, tous les 5 points
– Le ramassage du bonus « ? » ralentit tous les traits à l’écran (4x plus lents)
– Les nouveaux traits ne sont pas affectés par le ralentissement du précédent bonus
– Ajout du bonus « ★ » similaire au « ? », mais tous les 15 points
– Le ramassage de l’étoile procure une invulnérabilité temporaire
– Toucher un trait en étant invulnérable permet de le détruire
– Un thème musical différent est joué durant l’invulnérabilité
– Gestion du Rumble Pack : vibrations lors des collisions
v2.2 : Menu principal
– Un menu permet de choisir entre Commencer et Quitter le jeu
– Les boutons du menu ont une touche associée et répondent au stylet
– On revient au menu principal après avoir rencontré un Game Over
– Suppression du premier bonus « ? » au score 5 (trop facile sinon)
– Gestion du stylet pour piloter la balle sans la croix directionnelle
v2.3 : Multiplayer is back
– Réintégration du code pour le multijoueurs
– Ajout du bouton Multijoueurs dans le menu principal
– Le WiFi s’active seulement si on sélectionne Multijoueurs
– La partie multi ne commence qu’après détection de l’autre joueur
– Au Game Over, appuyer sur A relance une partie au lieu d’aller au menu
– Le menu principal reste accessible à tout moment en appuyant sur Start
– Version « Finale » du jeu : Toutes les fonctions prévues au départ y sont !
– Écriture de l’article et publication de la version 2.3
v2.4 : Let’s speak English
– Le jeu passe en anglais si la langue de la console n’est pas le français
– Correction d’un crash possible avec le rumble pak officiel
Quoi, vous avez vraiment lu le changelog en entier ? Félicitations, valeureux lecteur !

Si vous avez des suggestions, des remarques ou des questions, les commentaires sont ouverts 😉