Jeu de tir 3D Killiris

Réalisation d’un jeu en 3D et en réseau. Les étudiants utilisent la librairie OpenGL pour dessiner leur personnage, puis assurent la mise en réseau du jeu en utilisant les sockets UDP multicast et le multi-threading.

Ce mini-projet est réalisé en parallèle des cours/tp de C++. Cela permet d’intégrer les différents concepts étudiés en C++ (classes, encapsulation, héritage, polymorphisme, STL, exceptions, …) dans le mini-projet.

  • Analyse et modélisation UML
  • Utilisation d’un AGL (StarUml)
  • Création d’un avatar graphique en OpenGL
  • Conception en C++ des différentes classes du jeu (Eclipse)
  • Tests (cpptest, sourceMonitor) et optimisations (gprof)
  • Installation (InnoSetup)
  • Mise en place d’un plateforme de travail collaborative (SVN, Trac, Subclipse, Doxygen, …)

Les avatars des étudiants :

Screensoht des avatars du jeu

Génération du maillage à partir d’une carte en niveau xde gris (heightmap), les avatars se déplacent ensuite dessus :

Maillage de la heightmap

Schéma des trames réseaux multicast échangées entre chaque joueur afin de synchroniser les positions de chacun :

Trame réseau

Extrait du fichier de configuration XML :

Extrait du fichier de configuration XML

Et enfin le diagramme de classes général du jeu :

Diagramme de classes

Vous pouvez télécharger le programme d’installation (1,6Mo) : setupKilliris.exe