Skip to content
aweaver edited this page Sep 5, 2023 · 2 revisions

LIVE

MATCHMAKING

ORIGINAL

CUSTOM

RESPONSIVENESS

Considerations technique 2D vs 3D

Le jeu de Pong est un jeu de base en 2D en vue de dessus, dont l'objectif est de simuler une partie de tennis de table. Le concept est simple : deux joueurs, représentés par deux raquettes sous forme de rectangles, se font face sur un plateau en deux dimensions, avec pour objectif de marquer le plus de points possible en faisant rebondir une balle entre les deux raquettes, sans laisser la balle toucher le bord opposé.

Les composantes du jeu se composent de deux joueurs, d’un plateau et d’une balle. Chaque joueur a une position X et Y, et les joueurs sont contraints sur l'axe vertical par rapport à la vue de dessus. Une balle aura également une position X et Y. La balle démarrera sur l’un des joueurs avec un angle qui variera grâce à un curseur. La balle suivra une dynamique de réflexion de l’angle lorsqu'elle touche un mur. La balle aura une vélocité.

Conditions particulières :

Le plateau de jeu sera lancé dans un navigateur par un client. Chaque client peut avoir un plateau de taille différente car l’application doit être responsive. Le serveur doit obligatoirement avoir un plateau avec une taille définie. Les clients vont donc à l’initialisation envoyer leurs dimensions. Le serveur vérifiera que le plateau n'est pas trop petit ni trop grand. Il faut aussi vérifier que le ratio des clients soit respecté. Le ratio du serveur sera le ratio à respecter.

Aspect 3D

Migration à la version 3D

Dans la communication serveur-client, la version 3D sera identique à l'exception des échelles qui seront différentes. La vue sera une vue subjective à la première personne. Nous avons 3 axes : X, Y, Z. Il peut y avoir une inversion des axes entre Y et Z de par le framework 3D: verge3d qui est une surcouche de threejs. Concernant la hauteur de la balle, elle sera automatique. Pour le moment, une courbe de hauteur sera définie pour les déplacements. Plus la balle est au centre, plus elle sera haute. Nous pouvons aussi implémenter la vitesse de la balle qui permettra de combiner hauteur de la balle et vitesse. Plus il y a de la vitesse, plus la balle sera proche de la table. Une sorte de coefficient.

Il n'y a pas trop de grandes différences entre la version 3D et la 2D, à part l'interface. Du côté technique 3D, une démo visuelle est déjà implémentée au moment de réaliser ce cahier des charges, afin de vous rassurer sur les parties qui peuvent être complexes pour les premiers pas dans le web.

La version 3D de Pong a été créée pour apporter une nouvelle dimension et une expérience de jeu plus immersive aux joueurs. Les graphismes en 3D offrent une meilleure vue sur le jeu, permettant aux joueurs de voir le jeu sous différents angles. Dans la version 3D, la balle suit une trajectoire avec une courbe plus naturelle, ce qui rend le jeu plus réaliste.

Avec la mise en œuvre de la version 3D, les joueurs peuvent également profiter d'une meilleure expérience de jeu avec un environnement sonore plus riche et plus immersif. Les joueurs peuvent entendre le son de la balle qui rebondit sur les raquettes et sur le sol, ainsi que les sons ambiants de la salle de ping-pong.

La version 3D offre également des possibilités supplémentaires pour personnaliser l’apparence du jeu. Les développeurs peuvent ajouter des textures et des effets de lumière, ainsi que des animations pour rendre le jeu encore plus attrayant.

Cependant, il est important de noter que certaines parties de la migration vers la version 3D peuvent être plus complexes que pour la version 2D.

En résumé, la version 3D de Pong est une amélioration significative de la version 2D en termes de graphismes, de son et de personnalisation.

Clone this wiki locally