Skip to content

Releases: AlbinHorlaville/network-engine

Release list

Rendu Projet

Choose a tag to compare

@AlbinHorlaville AlbinHorlaville released this 29 Apr 16:05

Network Engine

Auteurs

Albin Horlaville et Hugo Girard

Fonctionnalités

Moteur de jeu

  • Hiérarchie d'objet.
  • Cliquer sur un objet de la hiérarchie fait apparaitre l'inspecteur.
  • Performances : Affichage du nombre de FPS ainsi que du ping de tous les joueurs

Network

  • Le serveur sérialise le monde.
  • Le client désérialise le monde.
  • Le serveur envoie une snapshot du monde toutes les 100ms.
  • Les clients stockent les positions (localisation + rotation) sur 1 seconde pour interpoler et fluidifier le rendu.
  • Les clients envoient leurs inputs toutes les frames. Le serveur renvoie un ACK, ce qui permet de calculer le ping.
  • Lorsque le serveur supprime un objet du monde, son identifiant est stocké dans une liste et indiqué comme étant à supprimer dans toutes les prochaines snapshot jusqu'à ce que tous les clients aient supprimé l'objet de leur monde.

Online

  • Les clients peuvent s'enregistrer avec un pseudo et un mot de passe.
  • Les clients peuvent ensuite se connecter avec leur pseudo et leur mot de passe.
  • Les clients disposent d'un mmr caché pour créer des parties équilibrées.
  • Les clients ont accès à leurs stats ainsi qu'à leurs succès.

Comment lancer le projet ?

Ce projet possède des release pour Windows, MacOS et Linux. Néanmoins nous recommandons l'utilisation de la version Windows, entièrement testée par nos soins. L'API de MacOS ne fonctionne pas (pour une raison inconnue) et nous n'avons pas pu tester la version linux.

Pour executer le projet :

  1. Installer Docker
  2. Lancer dans le terminal Docker la commande suivante : docker run --name redis-server -p 6379:6379 -d redis. Ceci est la base de donnée. Elle sauvegarde les profils des joueurs ainsi que les serveurs disponibles.
  3. Télécharger le zip.
  4. Lancer GameApi (GameApi.exe sur Windows, ./GameApi sur linux/MacOS).
  5. Lancer le serveur (dans le dossier ServeurClient_Windows\bin).
  6. Lancer au moins 4 clients (idem).