Réunions

Untitled

Notre Projet


Description

Le jeu que nous avons créé s’intitule Singularity, en référence à la singularité des trous noirs au centre de laquelle les conceptions du temps et de l'espace s'effondrent complètement.

Le jeu se déroule dans un univers inspiré de l'espace, le joueur devra diriger une navette jusqu’à une station spatiale dans le cadre de plusieurs niveaux dont la difficulté augmentera au fur et à mesure de la progression. Le joueur devra prendre garde à éviter les obstacles (champs de gravité des planètes notamment mais aussi des obstacles mobiles comme des vaisseaux ennemis dirigés par une intelligence artificielle).

Pour gagner, vous devrez vous frayer un chemin parmi les planètes jusqu’à la station d’arrivée en évitant au maximum les planètes et projectiles ennemis !

Repository GitHub : ‣

Maquette

Ce schéma a été réalisé au début du projet et sert de base pour son développement.

Il n’est pas définitif mais fait office de cahier des charges.

image.png

Ainsi, voici les éléments que nous souhaiterions ajouter pour répondre aux critères du projet :

Capture d’écran 2025-03-03 145948.png

Schéma final du projet

Depuis l’initialisation du projet et la maquette finale, de nombreux éléments ont été modifiés ou rajoutés.

Ci-joint un schéma plus complet de notre jeu :

  1. VAISSEAU SPATIAL (guidé par le joueur)
  2. PLANETES (générant un champ de gravitation)
  3. VAISSEAU ENNEMIS (à abattre, qui peuvent attaquer)
  4. PROJECTILES (qui permette au joueur d’abattre les vaisseaux ennemis)
  5. STATION (à atteindre)

image.png

Membres

Rôle : Coordination des tâches, chargé du code du jeu et de sa description.

Rôle : Composition des musiques et bruitages, diaporama final et scénario.

Rôle : Rédaction du carnet de bord, diaporama final.

Rôle : Coordination des tâches, chargé du code et de sa description, “Caractéristiques techniques” du carnet de bord.

Rôle : Création des graphismes et chargé des équations de physique.

Caractéristiques techniques

<aside> 💡

Les descriptions suivantes n’expliquent pas le jeu dans son intégralité mais ses fonctionnalités majeures !

</aside>

Comment fonctionne la physique du jeu ?

Les élément liés aux équations de physique se trouvent dans component/movment.py principalement. Afin de définir les trajectoires des entités du jeu, nous utilisons les équations du mouvement et de la force gravitationnelle vues au premier semestre en Physique générale.

Equations horaires du mouvement : la position étant l’intégrale de la vitesse qui est elle-même l’intégrale de l’accélération.

En appuyant sur espace, on donne une valeur fixe d’accélération et un angle de direction initiale au vaisseau (un vecteur apparait sur le vaisseau). A chaque image, on additionne l’accélération à la vitesse et on applique le même principe pour la position.

Pour gérer la gravité, on fait la somme des attractions gravitationnelles entre le vaisseau et les planètes. Ainsi, le vaisseau est attiré par les planètes comme ce serait le cas dans la réalité.

Qu’y a-t-il dans le main ?

Comment ça fonctionne ?

Quelles fonctionnalités avons-nous mis en place ?

  1. Mouvement interactifs et dynamiques des astres et des vaisseaux ;
  2. Système de collision entre les éléments ;
  3. Adversaires dirigés par une IA ;
  4. Système de combat (projectiles tirés par le joueur) ;
  5. Système économique pour améliorer le vaisseau ;

Gestion des contraintes

Roadmap


Organisation du projet