Objectifs
Il s'agit de créer un jeu en ligne multijoueurs, tour par tour ou points/actions ou autres, se déroulant dans un monde dont on établira une carte.
Les critères à respecter sont les suivants:
-
En ce qui concerne l'aspect suivi de projet:
- Chaque membre du groupe doit participer au développement en php du projet;
- Attribuer au moins un module php à implémenter à chaque membre du groupe;
- Créer une page web (dont l'adresse nous sera communiquée au plus tôt) présentant l'état d'avancement de chaque module semaine par semaine. Il existe de très bon
outils open source dédiés à cette tâche;
- Le rapport final devra être rendu au plus tard le ??/??/2006;
- Les soutenances de projet auront lieu le ??/??/2006.
-
En ce qui concerne le développement proprement dit, les points suivants devront être respectés:
- Sécurité;
- Conformité aux normes XHTML1.0 strict et CSS1.0 (ou bien CSS2.1 mais alors exit IE);
- Séparation entre la logique interne et la présentation des données (donc utilisation de template);
-
En ce qui concerne le jeu :
- Les règles du jeu devront être clairement définies;
- Les joueurs devront avoir accès à un système de messagerie interne;
- Une attention particulière devra être prêtée à l'ergonomie de l'interface graphique.
- Vous devrez proposer une carte tactique du monde c'est-à-dire une carte représentant ce que le joueur (ou les joueurs d'une même équipe) voit au moment présent
ou alors ce qu'il a déjà découvert du monde. Cela sera à définir dans les règles du jeu. Cette carte devra être créée dynamiquement à l'aide de la bibliothèque php gd. Les éléments de cette carte
seront présentés graphiquement de manière grossière. Cette carte devra proposer des légendes ou labels associés aux points/objets/endroits/personnes etc. notables de
la carte. La carte sera clicable par partie, cela signifie que cliquer sur une zone permettra d'afficher dans une 2ème carte cette même zone mais zoomée. Cette 2ème carte sera elle
travaillée graphiquement, sera composée d'images et pourra utiliser gd.
- Systeme de gestion des personnages non-joueurs (PNJ) ainsi que du reste de l'environnement proposé;
- Un système d'annonces;
- Un systeme de backup et de restauration; (tâche non prioritaire)
- Un systeme de suppression automatique de comptes inactifs (avec envoi d'un message interne quelques jours avant suppression) (tâche non prioritaire).
Les différentes étapes
- mardi 28 mars : désigner 3 personnes par groupe afin de définir ensemble le principe du jeu (tour par tour, points/actions etc.), le contexte (jeu de rôles, etc.) et les différentes rêgles.
- lundi 03 avril : fin et validation de l'étape précédente et désignation de 3 personnes par groupe chargées de créer ensemble les bases de données servant au jeu. Afin, entre autres, d'améliorer la sécurité du jeu
il faudra implémenter un maximum des tâches de base sous la forme de procédures stockées, trigger et transactions;
- lundi 10 avril : fin de la création de la base de données et propositions fermes pour les procédures stockées, trigger et transactions;
Bien entendu les personnes n'ayant pas été affectées à une tâche précise ne restent pas sans rien faire et en profite pour réviser leurs xhtml strict et css, réfléchissent en interne (c'est-à-dire avec les membres de leur groupe uniquement)
cette fois-çi à l'interface du jeu et à tout le reste.
Actions, pages, que sais-je...
Les pages ou possibilités suivantes seront considérées comme étant indispensables:
- Page de creation de compte (demande de nom d'utilisateur, nom de personnage, mot de passe, adresse e-mail) et devra comporter une étape de validation (par exemple à base de texte posé dans une image générée à la volée) pour empêcher la création automatique de compte.
- Page de login qui mènera à une page de résumé comportant les informations suivantes:
- les dernières nouvelles et annonces;
- l'état du personnage;
- un résumé des événements ayant affecté le personnage depuis la fin de la dernière connection au jeu;
- l'état de la messagerie.
-
Une page de description du personnage fournissant par exemple les informations suivantes:
- Les caractéristiques et compétences du personnage;
- Son équipement (avec possibilité de manipulation);
- Sa description (avec possibilité de mise à jour);
- Son expression favorite (avec possibilité de mise à jour);
- Son blason (avec posssibilité d'upload d'un nouveau blason);
- Et plus si nécessaire.
-
L'interface devra permettre au minimum la réalisation des actions suivants (à définir selon les règles du jeu):
- le déplacement du personnage dans le monde;
- l'utilisation de compétences et/ou d'objets;
- la gestion de l'inventaire.
-
Il devra être possible d'afficher les objets, personnages et autres parties de l'environnement visibles par le personnage.
-
Le système de messagerie devra permettre les actions suivantes:
- L'envoi de message a 1 ou plusieurs autres utilisateurs,
- La visualisation de la liste des messages reçus;
- La visualisation d'un messages reçu,
- La suppression d'un ou plusieurs messages,
- La suppression AUTOMATIQUE des messages trop vieux,
- La gestion d'un carnet d'adresse.
-
L'accès aux événements ayant affecté le personnage dernièrement.
-
Une aide en ligne permettant l'accès au règles et à une FAQ.
Comme d'habitude, tout ajout supplémentaire nécessaire au bon fonctionnement du jeu sera le bienvenu.
Un exemple d'extension dignement salué serait l'implémentation de la carte tactique au format svg.
Et pourquoi ne pas utiliser AJAX ?
Cette page évoluera très certainement.