Intro
Contexte
L’objectif du projet est de concevoir un shooter mobile développé sous Unity, permettant à plusieurs joueurs de s’affronter en temps réel. Le jeu est connecté à une infrastructure backend chargée de gérer les échanges de données entre les joueurs, les comptes utilisateurs et les statistiques de jeu.
Le projet consiste à développer un jeu de tir multijoueur mobile réalisé avec Unity, associé à un client web permettant de suivre une partie en tant que spectateur.
Le jeu doit permettre à plusieurs joueurs de s’affronter en temps réel sur une même carte. Les échanges de données entre les joueurs seront assurés par une infrastructure backend utilisant des WebSockets.
Le backend aura également pour rôle de gérer les comptes utilisateurs, les parties, ainsi que les statistiques des joueurs. Une base de données sera utilisée afin de stocker et consulter ces informations.
Le client web aura principalement un rôle de spectateur. Il permettra de visualiser une partie en cours et de suivre les déplacements des joueurs sur une carte.
Problématique
Comment créer un jeu multijoueur permettant à des spectateurs d’assister à une partie sans posséder le jeu ?
Fonctionnalités attendues
- Carte sur le client Web avec suivi des joueurs (sous forme de points)
- Possibilité de lancer une partie (concept de lobby)
- Système d’apparition
- Collision
- Système de mouvement
- Système de tir
- Système de mort/perte de vie pour logique de partie
- Logique de partie avec des rounds
- Synchronisation des joueurs
- Transmission des informations nécessaires au client web
- Enregistrement des informations liées aux comptes et aux statistiques des joueurs
Parties prenantes
Joueur
Le Joueur a premièrement besoin de se connecter à l'application mobile.
Le Joueur est un participant à la partie qui contrôle un personnage, et est activement impliqué dans son déroulement. Il possède des points de vie et peut causer des dégâts à ses adversaires.
Le Joueur a pour but de gagner sa partie.
Spectateur
Le Spectateur ne nécessite aucune connexion spécifique pour accéder à ses fonctionnalités.
Le Spectateur est passif, il peut regarder une partie en cours et n’est pas activement impliqué dans son déroulement.
Le Spectateur n’a pas de but particulier.
Créateur
Un Créateur est une sous-catégorie de Joueur.
Un Créateur est un Joueur qui crée une partie.
N’importe quel Joueur peut être un Créateur.
Quintilien
Quoi ?
Développer un shooter multijoueur mobile sous Unity, connecté à un backend et à une base de données, ainsi qu’un client web permettant de visualiser et suivre les parties en direct.
Pourquoi ?
L’objectif est de mettre en place une architecture permettant de gérer un jeu multijoueur en tout en explorant différentes problématiques techniques.
Quand ?
Le projet est réalisé au cours du semestre 5, dans le cadre de la SAÉ. Les différentes fonctionnalités seront développées progressivement au cours de la période de projet.
Où ?
Le jeu sera destiné aux appareils mobiles, tandis que le client spectateur sera accessible depuis un navigateur web. Le backend et la base de données seront hébergés sur une infrastructure permettant la communication entre les différents clients.
Qui ?
Le jeu est destiné aux utilisateurs de tout âge.
Notre équipe comporte :
- Matteo LAGRAVE
- Jokin SUARES
- Sayri CHOTEL
- Maxime LABAT
Définition des rôles
Jokin — Développement Backend
Responsable principal de la partie backend, incluant le développement et la mise en pratique du serveur ainsi que la gestion de la base de données.
Matteo — Développement mobile
Responsable du développement de l’application mobile et de l’implémentation des fonctionnalités côté client mobile.
Maxime — Développement web
Responsable du développement de l’interface web et de l’ensemble des fonctionnalités côté client web.
Sayri — Assurance qualité logicielle / tests unitaires
Responsable du support, de l’accompagnement des développeurs et du suivi des demandes et incidents.