Jeu de cartes multijoueur

Etant assez fan de jeux vidéo, j'ai choisi de combiner ce centre d'intérêt avec le travail de Bachelor. Le but de ce projet a été de concevoir puis d'implémenter un jeu de cartes multijoueur, dont le concept et les règles du jeu sont inspirées de Kards et Gwent.

Les cartes se regroupent en cinq catégories : unités, héros, véhicules, espions et bases. Les cartes de base ne peuvent se déplacer ni se défendre. Pour gagner, il faut détruire toutes les bases de l'adversaire. Les autres catégories servent à ces fins. A chaque tour, le joueur peut poser un certain nombre de cartes de sa main au plateau tandis que celles déjà posées peuvent se déplacer ou attaquer.

Le jeu nécessite tout d'abord un serveur. Celui-ci a été implémenté à l'aide de Java combiné au framework Play et utilise une base de données PostgreSQL. Il stocke les données relatives au jeu (types de cartes) ainsi qu'au joueur (informations de compte, historique des parties, decks) et gère le système de sessions. Le serveur propose également un petit site web permettant de consulter les règles du jeu et de créer son compte.

Toutes les actions du joueur s'effectuent sur un programme client, réalisé en Kotlin et Compose Desktop. Le joueur s'y connecte avec son pseudo et son mot de passe. Il peut ensuite consulter l'historique de ses parties, gérer ses decks et bien sûr jouer. Lorsque deux joueurs sont en attente, le serveur les fait rentrer en partie. Ensuite chaque client envoie à l'autre les notifications de ses actions. Ces messages sont retransmis par le serveur, qui n'effectue aucun autre traitement dessus. Le joueur peut aussi affronter une IA basique.

Etudiant: David Dupraz

Année: 2021

Département: TIC

Filière: Informatique et systèmes de communication (anciennement Informatique) avec orientation en Logiciel

Type de formation: Plein temps

Enseignant responsable: Pier Donini

Téléchargements:
- Télécharger l'affiche
- Télécharger le rapport