Skip to content

Cahier des charges

j4kim edited this page Nov 2, 2016 · 3 revisions

Introduction

Snake, de l'anglais signifiant « serpent », est un jeu vidéo dans lequel le joueur dirige une ligne qui grandit et constitue ainsi elle-même un obstacle. [...] Avec l'émergence du nouveau support de jeu qu'est le téléphone mobile, il est devenu un classique du jeu sur appareil mobile.

Wikipedia - Snake (jeu vidéo)

La plupart des implémentation existantes du jeu du serpent en 3D se base en fait sur un plateau 2D et un rendu 3D. Il existe quand même quelques variantes (surtout sur mobile, exemples : Sea Snake, 3D Snake) avec un plateau - un monde - en 3D. Cependant, je n'ai pas trouvé d'implémentation directe dans un navigateur (WebGL). De plus, aucune version n'utilise la perspective, comme je compte le faire dans ce projet.

But

Le but du projet est d'implémenter un Snake en 3D qui offre une interaction avec l'utilisateur la plus intuitive possible.

Fonctionnalités

Must-have

La fonctionnalité de base est de pouvoir diriger le serpent à l'intérieur d'un cube d'une dimension à définir (par exemple 6 * 6 * 6 cases). Chaque élément du serpent est dans une case (le serpent n'est pas libre, il suit une grille). Le jeu commence avec un serpent de 2 (ou 3) éléments.

Un objectif apparaît sur l'une des cases du cube (hors des cases contenant un élément du serpent) déterminée aléatoirement. Lorsque le serpent touche un objectif, son corps s'allonge d'un élément et un autre objectif apparaît.

Le jeu se termine dans 3 cas :

  • le serpent se mord la queue (il y a 2 éléments dans la même case)
  • la tête du serpent sort du cube
  • toutes les cases du cube sont remplies (seule manière de gagner)

Nice-to-have

  • Vue alternative du jeu (par exemple, depuis le dessus et/ou depuis la droite)
  • Semi-transparence des éléments du serpent
  • Animation du déplacement du serpent (pas d'à-coup)
  • Mega-bonus qui ajoutent des points sans agrandir le serpent, mais qui disparaissent après quelques secondes
  • Estéthique agréable avec des jeux de lumière
  • Compteur de points, et mise à jour d'une base de données des meilleurs scores
  • Amazing-to-have : un mode deux-joueurs en ligne
Clone this wiki locally