Archives mensuelles : janvier 2014

Réseau P2P avec WebRTC

Ce soir une envie passagère m’a pris de m’amuser avec la nouvelle technologie WebRTC, introduite récemment dans nos navigateurs. L’idée était de réaliser des clients javascript P2P capable d’échanger entre eux.

Ensuite, pour illustrer les connexions existantes entre les noeuds du réseau, j’ai implémenté un algorithme distribué permettant  grâce à une « vague » de récupérer la topologie du réseau, puis de l’afficher graphiquement grâce à sigma.js.

La librairie peerjs est utilisé dans ce système.

Et bien sur, voici le résultat de ces quelques heures de travail : Démonstation <- C’est ici !

N’hésitez pas a ouvrir la page de démonstration dans plusieurs onglets, des connexions P2P se mettront ainsi en place entre vos onglets (et les éventuels autres ordinateurs dans le monde qui aurait cette page ouverte).
Ensuite cliquez sur « Obtenir la topographie » qui va lancer la vague pour récupérer la topographie, c’est normalement extrêmement rapide, si rien n’arrive n’hésitez pas à recliquer (les noeuds déconnectés ne sont pas toujours détectés au bon moment, et la vague peut les attendre).

Ensuite pour avoir un graphe un peu plus joli vous pouvez utiliser le bouton « Démarrer Atlas » (penser à l’arrêter une fois qu’il est stabilisé pour pouvoir visualiser les liens).

Le noeud rouge, correspond à l’onglet/navigateur qui a été l’initiateur de la demande de topographie (celui que vous avez sous les yeux…)

 

 

 

SOUNDBURST

soundburst

Pour jouer au jeu, c’est ici !

Soundburst est un projet de jeu multimédia que j’ai réalisé avec 3 autres camarades (Juliette Lima, Guillaume Anicotte, Chamsseddine Sallouh) dans le cadre de l’UV SI28 à l’utc, encadré par M. Serge Bouchardon.

Vous pouvez retrouver les slides de la présentation finale du projet sur google drive.

Ce jeu est aussi bien jouable depuis un ordinateur, qu’une tablette ou un smartphone. Le jeu consiste à créer des bombes, qu’il faut envoyer sur les écrans adverses.
Un clic (ou appui sur une surface tactile) permet de créer une bombe, on peut ensuite l’envoyer en la « lançant » à travers un bord d’écran.

Un double clic sur une bombe permet de la désamorcer.

On gagne des points lorsque l’on désamorce une bombe (2X le nb d’écran traversé par la bombe).
On gagne des points lorsqu’une bombe explose chez un adversaire (2X le nb d’écran traversé).
On perd des points lorsque l’adversaire désamorce notre bombe (1X le nb d’écran traversé).
On perd des points losqu’une bombe explose sur notre écran (1X le nb d’écran traversé).

Les scores sont réinitialisés automatiquement toutes les 5 minutes.

Pour éviter qu’un joueur, crée des bombes et les désamorcent (ou les laissent exploser) chez lui, 10 points de pénalités sont retirés quand aucun écran n’a été traversé.

Quelques captures d’écran sur smartphone :

Le code source du jeu est disponible sur mon github : https://github.com/mattgu74/si28