Skip to content

Projet du 4ème semestre de BUT Informatique - Clone de agar.io en javascript

Notifications You must be signed in to change notification settings

CyriacF/euh.wtf

Repository files navigation

Agar.io clone - Euh.wtf

Pour la SAE du 4ème semestre nous avons dû produire un Agar.io like en NodeJS, en utilisant Socket.io pour la communication entre notre serveur et notre client.

Screen du projet

Auteurs

Lancement du projet

Pour lancer le projet pour la première fois :

npm run build:server
npm run start

Diagramme de séquence pour l'ajout d'un joueur

Diagramme de séquence pour la récupération de la liste des joueurs

Diagramme de séquence pour la récupération du scoreboard

Diagramme de séquence pour la mise à jour de la position d'un joueur

Diagramme de séquence pour la déconnexion d'un joueur

Difficultés techniques

Nous avons rencontré plusieurs difficultés techniques lors du développement de notre projet, notamment :

  • La gestion du canvas : Il a été difficile de gérer correctement le canvas, la gestion des coordonnées et du "scale" était une horreur dans ce projet, j'en suis encore traumatisé, j'en tremble en l'écrivant.
  • La synchronisation avec Socket.io : Socket.io est une trés bonne technologie mais parfois compliquée à comprendre au début, le fait d'envoyer des informations et de les recevoir à distance est une nouvelle notion pour nous et ce fut très enrichissant.
  • Ensemble du projet : La vue d'ensemble du projet sur le coté Backend pour que ce soit conforme dans son utilisation avec socket.io , pour surmonter cela, nous avons plusieurs fois eu des discussions sur l'infrastructure du projet qui a mené a du refractoring de nos classes ou du côté socket.io selon la difficulté pour adapter notre code aux différentes parties

Points d'amélioration/achèvement

Notre projet pourrait être amélioré de plusieurs façons :

  • Le dézoom en fonction de la taille : C'est un bon ajout qui n'a pas pu être fait, il est compliqué de bien gérer le canvas et les joueurs en fonction de leurs coordonnées
  • Ajouter des fonctionnalités : Pour améliorer notre jeu on pourrait ajouter des pièges, des obstacles ou même des bonus à récupérer !
  • Expérience utilisateur : Améliorer l'expérience utilisateur avec des choix de couleurs, des skins, des sons etc... (ou même des pubs comme dans le vrai Agar.io :D)

De quoi nous sommes fières ?

Nous sommes fières d'avoir une liaison en direct entre tous les joueurs, c'est l'un des premiers projets avec un système de multijoueur, ensuite il y a aussi le fait que le canvas fonctionne dans sa globalité, même si le rescale manque à l'appel

About

Projet du 4ème semestre de BUT Informatique - Clone de agar.io en javascript

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published