Introduction à JDuplicate

PREAMBULE

JDuplicate est un client gratuit Java permettant de jouer à plusieurs au jeu de lettres : Scrabble Duplicate. Cette variante du Scrabble est la plus utilisée lors des tournois officiels.

La FAQ Scrabble définit le Scrabble Duplicate ainsi :

Avec le Scrabble Duplicate, les joueurs jouent tous avec les mêmes pièces et cherchent à inscrire le score le plus élevé possible à chaque tour. Les tournois Duplicate sont principalement organisés en France.

Ces règles retirent du jeu toute notion de chance, ce qui le rend plus équilibré et plus juste pour tous les joueurs. L'autre avantage du Duplicate est qu'il permet à un nombre illimité de joueurs je participer simultanément.
 

QU'EST CE QUE JDUPLICATE?

JDuplicate est un jeu de lettres mutlijoueur en ligne. Il a été créé dans le but de proposer différents jeux de lettres et est indépendant du langage. Les parties peuvent se tenir en Anglais, en Français ou tout autre langage basé sur l'alphabet occidental. De nouveaux modes de jeu seront implémentés pendant l'avancement du projet.

Tout ce dont vous avez besoin pour jouer est un client JDuplicate.

Vous pouvez vous renseigner sur l'historique du projet en consultant la page d'Accueil.

BREVE DESCRIPTION TECHNIQUE

Le code de la version officielle de JDuplicate est à 100% Java. Ce choix s'explique par plusieurs raisons. Tout d'abord, il s'agit d'un langage que nous connaissions, de plus Java est reconnu pour être multi-plateforme, ce qui est, selon nous, primordial pour les jeux en ligne (et puis surtout, nous utilisons nous même de différentes plateformes de développement). Enfin,  Java nous permet de nous concentrer sur des problèmes de sémantique plutôt que techniques.

L'inconvénient principal est que le joueur devra installer un environement Java runtime sur sa machine.

Pour pouvoir jouer à JDuplicate il faut un serveur, et au moins un client. Un client se connecte au serveur et obtient une liste des parties en cours, il peut alors s'y joindre ou y assister. On peut rejoindre une partie à tout moment, à moins que le créateur de la partie décide que tous les joueurs doivent jouer sur un pied d'égalité (en effet, si un joueur rejoint une partie en cours, il aura un retard au score).

JDuplicate à été pensé comme devant être aussi ouvert que possible. Sa conception initiale lui permettait de gérer des parties de Scrabble Duplicate mais il pourra évidemment supporter facilement d'autres modes de jeu. Les dictionnaires et pièces de jeu (et leurs occurences) pouvant être facilement chargées, les parties dans différentes langues sont facielement implémentables.

L'implémentation est de type Client/Serveur. Le package officiel JDuplicate est constitué de deux modules :

La spécification du protocole de communication (basé sur XML) entre les clients et le Serveur est disponible sur le site (de même que les DTD). Les clients se basant sur ce protocole devraient pouvoir se connecter facilement à n'importe quel Serveur JDuplicate. Ainsi, les clients peuvent être développés pour différentes plateformes avec différentes spécifications et différents langages.
L'implémentation du GUI de référence (JDSC) est disponible (avec le Serveur comme référence) et propose les fonctions basiques proposées par le jeu. Le code source du JDSC dispose également une API JDuplicate. Cette dernière permet aux développeurs de réutiliser ou effectuer des portages du client de base.

EQUIPE

Les chefs de projets et développeurs principaux  de l'équipe JDuplicate sont, par ordre alphabétique :  Jeremy Grumbrach, Ahmad Imam et Luc Vo Van. Nous habitons la région parisienne (France) et Bruxelles (Belgique).

Nous aimerions remercier les personnes suivantes, sans ordre particulier : gn pour les commentaires et retours utilisateurs,  Tobias Sargeant (developpeur chez Quixotic pour le design et son soutien, Dave Biggs pour son logo en 3D sur la page "A propos", Narishma pour ses retours utilisateurs et son futur client Python, Sylvain Forest pour nous avoir fait connaitre le Scrabble Duplicate, Rog et Nicolas Falduti pour leurs traductions.