Projet Pong

Sur cette page vous trouverez la documentation relative au projet Pong en WebGL


Auteur: Kevin perroches
Contact: k.perroches@etud.univ-pau.fr
Version courante: 1.0

Version Documentation

0.1
Créé le: 3/04/14
Modifié le: 2/05/14

Collisions

Les collisions avec les murs sont réalisés avec la bounding box car ils ne sont pas en mouvement et sont droits.

Pour les collisions avec les raquettes et les obstacles sont gérés avec le raycasting qui se trouve dans le fichier collide.js .

 


Structure logicielle

Bibliothèque logiciels utilisés hormis Three.js : Utilisation de plusieurs ajouts a Three.js généralement des THREEx.jspour le keyboard, WindowResize, Fullscreen . Ajout de la bibliothèque soundmanager V2 qui permet de gérer le son .

 


Points de vue caméra

Une camera de dessus déplaçable avec avec le scroll de la souris.

 

 


Problèmes rencontrés lors du projet

Tentative d'utilisation d'un moteur physique physi.js avantage possible de l'utilisation d'un moteur physique :

  1. Collisions réalistes
  2. Inertie et vitesse des raquettes
  3. Possibilité de rajouter des effet de "pente"

Mais problème avec ce moteur physique :

  1. Manque de documentation
  2. Complexe a prendre en main
  3. Exemple et aide sur les forums divergentes

Ce qui a été réussi a faire avec le moteur physique :

  1. Gestion des collisions réaliste
  2. Mouvement de la balle avec difficultés


Dialogues avec l'utilisateur


Dynamique

Intelligence artificielle de l'adversaire

Musique et sons

Triche

 


Fichiers Utilisés

Voici la liste de tous les fichiers utilisés pour le proget WebGL et leurs description:

Nom du fichier Description
terrain.js Script permettant de mettre en place le plateau et les murs avec comme constructeur : terrain(w,h) avec w=width et h=height.
joueurs.s Permet la gestion des joueurs score et si le mur a déjà été frapé une fois par la balle.Constructeur : player(id) id=numero du joueur
camera.js

Crée la camera; le constructeur ne prend aucun paramettres.

balle.js Script permettant la reation de la balle selon differents paramettres : Constructeur balle(w,h,H,vitesse) avec w=width , h=height, H=Hauteur, vitesse=permet de definir la vitesse de la balle au départ.
raquette.js Script permettant de creer les raquettes des deux joueurs avec le constructeur suivant: raquette (w,h,H,side,velocity) avec w=width , h=height, H=Hauteur , side= definit le coté de la raquette, velocity=definit la vitesse de la raquette
lights.js

Script permettant la mise en place de differents eclairages : Constructeur : lights(active) avec active=paramettre permettant de choisir quel type d'eclairage appliqué a la scene.

collide.js Script permettant la gestion des collisions avec le raycaster : fonction collided(object) retourne true si il y a eu une collision.
skybox.js crée la skybox.