Jeu WEB Des Mineurs Réinvention du célèbre jeu du Démineur avec une direction artistique inspirée de Minecraft, offrant une expérience familière mais revisitée avec un univers graphique cubique et ludique.
Développement intensif d'une semaine
Projet scolaire transformé en initiative personnelle
Développement des mécaniques de jeu et interface de grille
"Des mineurs" est né d'un projet étudiant simple qui s'est transformé en une véritable aventure créative. Alors que l'exercice initial demandait simplement de créer un démineur basique, nous avons décidé avec un camarade de pousser le concept beaucoup plus loin en fusionnant l'univers du jeu Minecraft avec les mécaniques classiques du démineur.
L'objectif du jeu reste fidèle à l'original : marquer toutes les bombes avec un drapeau sans en faire exploser une seule. Notre touche personnelle réside dans l'habillage visuel et sonore inspiré de Minecraft, avec des blocs, des sons et des animations qui rappellent l'univers cubique du jeu de Mojang.
Nous avons également enrichi l'expérience avec des fonctionnalités supplémentaires, comme un système de vies permettant de continuer sa partie même après avoir fait exploser une bombe, ainsi que différents niveaux de difficulté qui modifient la taille de la grille et le nombre de bombes.
Plusieurs niveaux de difficulté permettant d'ajuster la taille de la grille de jeu et le nombre de bombes. Les joueurs peuvent choisir entre une partie facile pour débuter ou un défi plus intense avec une grille plus large et davantage de bombes à détecter.
Contrairement au démineur classique où une seule erreur est fatale, notre version intègre un système de cœurs permettant de survivre à plusieurs explosions. Le nombre de vies peut être configuré dans les paramètres, offrant ainsi une expérience adaptée à tous les niveaux de joueurs.
Un timer précis permet de mesurer le temps nécessaire pour terminer chaque partie, ajoutant ainsi un élément de challenge personnel. Les joueurs peuvent tenter d'améliorer leur temps à chaque nouvelle tentative, rendant l'expérience encore plus addictive.
Des animations spectaculaires et des effets sonores fidèles à l'univers Minecraft enrichissent l'expérience de jeu. Une pluie de diamants célèbre la victoire, tandis que des explosions visuelles et sonores marquent les erreurs. Un système d'achievements à la Minecraft apparaît également pour féliciter le joueur.
L'un des défis majeurs a été de créer un algorithme qui génère aléatoirement les bombes tout en garantissant que la première case cliquée par le joueur ne contienne jamais de bombe, ce qui aurait rendu l'expérience de jeu frustrante.
J'ai implémenté un système qui initialise la grille uniquement après le premier clic du joueur. L'algorithme place ensuite les bombes aléatoirement en excluant la case choisie par le joueur et ses cases adjacentes, offrant ainsi un début de partie toujours équitable et stratégique.
La fonctionnalité qui dévoile automatiquement les cases adjacentes lorsqu'une case vide est cliquée a été particulièrement complexe à implémenter, nécessitant un algorithme récursif efficace.
J'ai développé un algorithme de parcours en profondeur (DFS) qui explore récursivement toutes les cases adjacentes à une case vide, s'arrêtant uniquement lorsqu'il rencontre des cases contenant des nombres. Cette approche permet de révéler rapidement de grandes zones sans bombes, tout en maintenant les performances du jeu même sur des grilles de grande taille.
Une limitation technique importante a été l'incompatibilité de certaines fonctionnalités JavaScript avec les navigateurs mobiles, empêchant le jeu de fonctionner correctement sur smartphones et tablettes.
Bien que cette limitation n'ait pas été entièrement résolue dans la version actuelle, nous avons identifié les points problématiques et planifié une refonte de ces fonctionnalités en utilisant des alternatives plus compatibles avec les navigateurs mobiles. Cette amélioration fait partie des développements futurs prévus pour le jeu.
Ce projet, bien que relativement court, a été incroyablement enrichissant sur le plan technique et créatif, me permettant de développer plusieurs compétences clés.