Asteroid (par Louis et Takuma)
Introduction:Pour notre 1er projet d’NSI (notre 3eme de cette année) nous avons décidé de recréer le jeu d’arcade Asteroids développé par Atari. Dans Asteroids, le joueur contrôle le vaisseau spatial, et le but est de survivre le plus longtemps possible en se faisant attaquer par des astéroïdes, un score est généré et augmente à chaque fois qu’on détruit un astéroïde.
Présentation générale/ Description du projet
Description / mode d’emploi
le jeu se présente sous forme d’un jeu 2D dans lequel on est introduit avec un menu qui nous montre 3 choix : “Single Player”, “Multi Player” et “Quit”. Pour se déplacer dans le menu, on utilise “flèches haut” pour monter dans les choix ou “flèche bas” pour descendre dans les mêmes choix. finalement pour sélectionner un choix presser la touche “espace”.
- Si “Single Player” est sélectionné, le jeu commence directement. Le vaisseau est placé au centre du terrain et des astéroïdes commencent à apparaître (seul les grands apparaissent). Pour avancer, on appuie sur la touche “flèche haut” ou “w” (on n’a pas la possibilité de reculer). Pour tourner, les touches “flèche droite” ou “d” pour le sens horaire et les touches “flèche gauche » ou “a” pour le sens horaire. finalement pour tirer, la touche “espace”. Le jeu se déroule sans limite de temps et le but est de détruire un maximum d’astéroïdes en tentant d’avoir le plus haut score. pour détruire les astéroïdes, ilfaut en toucher un avec les projectiles. Les grands astéroïdes donnent 100 points quand détruits et se divisent en plusieurs patits astéroïdes qui quand détruits donnent 50 points.
- Si “Multi Player” est sélectionné, le menu propose 2 choix, si le joueur veut créer
une nouvelle partie ou joindre une partie.
・Si le joueur choisit de créer une nouvelle partie(dans ce cas le joueur est l’hôte de la partie), il doit entrer le nombre de joueurs et son nom( qui va être utilisé pour distinguer son propre vaisseau des autres). Ensuite il devra attendre jusqu’à que tous les joueurs se connectent. L’adresse IP(adresse privée et non publique) de son ordinateur va être affichée dans un coin afin que les autres joueurs puissent avoir facilement l’adresse de l’hôte.
・Si le joueur choisit de joindre une partie (dans ce cas le joueur est un client), il doit entrer son nom et l’adresse IP de l’ordinateur où la partie est crée. Une fois la partie commence, tout se déroule comme dans single player mais avec d’autres joueurs, mais le score est la somme des scores de chaque joueur.
Dans le mode multiplayer, on a réalisé une système pour détecter un timeout(=quand un autre ordinateur qu’on communique ne répond pas) :
・Chez le client, s’ il reçoit pas de signal(message) de l’hôte pendant 10 secondes(cette valeur peut être changée en modifiant GameComponents/locals.py), le client va se déconnecter automatiquement de la partie et affiche une message au joueur.
・Chez l’hôte, même s’il trouve un joueur qui ne répond plus, il traite le joueur comme s’ il était toujours là(c’est-à-dire que le vaisseau du joueur ne bouge plus sur l’écran des autres joueurs) . - Finalement, si “Quit” est sélectionné, la fenêtre se fermera