Il s'agit de développer une application interactive et coopérative sur le réseau, dont le principe est exposé ci-dessous.
Soit un espace topologique représenté par une fenêtre rectangulaire partionnée à l'aide d'une grille naturelle de carrés. Cet espace est vu comme une adresse de groupe IP Multicast unique partagée entre toutes les instances de cette application. De même, tous les carrés formés par la grille sont chacuns associés à une adresse IP Multicast (une par carré).
Dans cet espace, un utilisateur peut être représenté par un signe (petit cercle plein coloré ou croix ou autr chose) à l'intérieur d'un carré qu'il aura choisi comme origine. Ce carré central est lui même entouré de 8 carrés voisins selon les points cardinaux (N, NE, E, SE, S, SO, O, NO). L'utilisateur se trouve alors associé à 9 adresses multicast, là où il se trouve et son voisinage immédiat.
L'utilisateur peut naviguer dans l'espace par deplacement d'une case. Son carré destinataire doit toujours être entouré de son voisinage immédiat (cad. 8 cases autour de lui). Il s'est donc attribué de nouvelles cases dans le sens de sa progression et a quitté des cases qui étaient dans le sens l'inverse.
Si un autre utilisateur entre dans le jeu, il aura probablement choisi une origine et une couleur différente que le premier. Bien entendu, les 2 utilisateurs qui partagent le même espace global se voient, mais ne pourront communiquer que si leurs voisanages s'intersectent. Pour cela, il faudra que l'un ou l'autre se déplacent pour se rappocher, en allouant des cases vers la destination choisie et en désallouant celles laissées sur leurs traces.
Si une intersection se produit, les 2 utilisateurs pourraient communiquer par exemple sous la forme d'un "Chat" textuel ou bien en Audio avec un outil approprié (rat, vat). On pourrait aussi donner un effet visuel à l'intersection en mélangeant les couleurs des voisinages distincs. La couleur des centres pourrait être vive et celle des voisinages pâle pour donner un effet de drégradé.
Afin que l'interface de l'application (qui doit être graphique) soit facile à mettre en oeuvre, et que les fonctions permettant d'utiliser le multicast soient disponibles, c'est le langage Java qui devrait être choisi pour ce développement.