|
Last update: 25-11-2023 |
1. | Nouvelles fraîches |
2. | Présentation générale |
3. | Présentation du jeu |
4. | Les exécutables d'OcamlPilot(d) |
5. | Les énoncés de TP |
6. | Les tailles des objets graphiques |
7. | Ressources |
8. | Env de développement |
9. | Le protocole d'OcamlPilot |
10. | Coding style |
11. | Le Plan du cours |
12. | Evaluation des projets |
13. | Foire Aux Questions |
Les jeux en réseau sont en principe réalisés autour d'une architecture client-serveur. Dans ce type d'architecture, le serveur a pour mission de gérer le bon déroulement du jeu, de permettre aux utilisateurs de se connecter, et d'échanger avec ceux-ci toutes les informations utiles pour le bon fonctionnement du jeu. Le client, quant à lui, est le programme lancé par l'utilisateur. Son rôle est d'agir comme une interface entre l'utilisateur et le serveur, il envoie en particulier à ce dernier toutes les commandes tapées par l'utilisateur et affiche sur l'écran du joueur l'état du jeu.
L'objectif de ce projet est d'implémenter à la fois un serveur et un client pour une version très simplifiée du jeu Xpilot. Afin de rendre le jeu plus attractif, celui-ci sera graphique. L'implémentation se fera en Ocaml. Ce choix est principalement fondé sur la simplicité d'utilisation du langage, en particulier en ce qui concerne la gestion des graphismes et des communications entre les clients et le serveur.
Ce projet vous permettra d'appréhender les concepts de base d'internet, en particulier il vous montrera comment sont réalisés les serveurs sur internet : le principe est identique pour les serveurs Web, FTP, telnet, etc. Vous apprendrez en outre à programmer en utilisant des processus légers (Threads) qui permettent d'exécuter des tâches en «parallèle» au sein d'un même programme.
Enfin, vous vous familiariserez avec Ocaml et sa bibliothèque graphique
en programmant le jeu en version 2D, et avec openGL en programmant une
version en 3D (optionnel).
Emploi du temps :
Cours/TD : le mardi de 15h15 à 17h en 45-55 salle 104
TME : le jeudi de 8h45 à 10h15 et de 10h45 à 12h30
Note finale = 70% contrôle continu + 30% examen final (cliquez ICI pour plus de détails).