IMA5 2018/2019 P26

De Wiki de Projets IMA
Révision datée du 11 octobre 2018 à 23:51 par Jyang (discussion | contributions) (Semaine 3-4)


Présentation générale

Description

Un certains nombre de logiciels permettent à l'heure actuelle de redonner vie à de vieux logiciels de jeux (jeux devenus libres de droit car délaissés par leurs propriétaires, ces jeux sont dit "abandonware"). D'autres jeux existent, totalements libres de droits dès leur diffusion. Dans le cadre d'un projet européen auquel l'équipe de recherche MINT participe, nous souhaitons mettre en place un prototype permettant à une structure de rééducation spécialisé dans la rééducation de l'enfant cérébrolésé de disposer d'un système de réalité virtuelle via lequel l'enfant peut jouer à l'un ou l'autre de ces vieux jeux. Le fait de réaliser cet objectif en réalité virtuelle plutôt que via un dispositif d'interaction standard est le suivant : la réalité virtuelle permettra ici de se libérer des contraintes matérielles, permettra d'adapter l'écran virtuel à la réalité de l'enfant, pourquoi pas par la suite de mettre en place des distracteurs ou d'augmenter la difficulté de l'interaction, etc... et ce afin de permettre aux soignants de disposer d'une application qui leur permette de graduer la difficulté d'interaction (permettant ainsi à l'enfant d'entrainer ses capacités motrices et cognitives), tout en disposant d'une base de jeux importantes et donc la dimension ludique n'est plus à prouver. La travail consistera tout d'abord en un examen des différents émulateurs existants, et en la proposition d'une configuration permettant de réaliser l'interaction d'un affichage 2D dans un environnement type HTC Vive. On pourra par exemple utiliser une fonctionnalité du type VNC et sa compatibilité avec l'environnement Unity. On travaillera ensuite à l'intégration d'un systeme simulant le "touch" à partir des mouvements des mains de l'utilisateur. En fonction de l'avancement, on pourra explorer quelques configurations d'interaction mettant en valeur plusieurs configurations virtuelles différentes, permettant par la suite d'explorer les modalités d'interaction (ce dernier point pourra se faire en collaboration avec une structure médicale basée à Meerbush, prés de dusseldorf en allemagne).

Objectifs

Mettre en place un dispositif de réalité virtuelle permettant à l'utilisateur d'interagir avec une application 2D classique, en simulant une interaction tactile.

Préparation du projet

Cahier des charges

Choix techniques : matériel et logiciel

Unity

Fceux

Fove/HTV Vive

Visual Studio

2 ordinateurs

Liste des tâches à effectuer

Calendrier prévisionnel

Réalisation du Projet

Semaine 1

Semaine 2

Semaine 3-4

A semaine 3 et 4, j'ai fait des choses suivantes :

1. Tester des émulateur du jeux vidéo

2. Apprendre VNC et tester le VNC

3. Apprendre à utiliser Unity

4. Apprendre C#

5. Integration le VNC à Unity

6. Réalisation d'une solution pour afficher l'image du jeux vidéo à Unity par TCP/IP

Details:

1. Tester des émulateur du jeux vidéo:

J'ai cherché les émulateur du jeux vidéo et j'ai trouvé qu'il y a deux grandes groupes des émulateur qui s'appliquent à mon projet: les émulateur d'Android et les émulateur de "Nintendo entertainment system"(NES, après je vais utiliser NES pour s'appeler). Ils sont convenables, parce qu'il y a beaucoup de jeux vidéo qui sont implémenté aux Android et NES, à la même temps, il est facile à trouver les deux genre d'émulateurs gratuits, par exemple :

Pour l'Android:

BlueStacks[1]

Il est gratuit et il marche en Windows et MacOS.

BlueStacks.png
BlueStacks2.png


Nox[2]

Koplayer[3]


Pour NES:

FCEUX[4]

Il est gratuit et "Open source". Il supporte à utiliser le script de LUA à le contrôler.

FCEUX.png


JNES[5]

NEStopia[6]

Les autres NES émulateur de "open source"


Problème::

1). Comment on réalise l'interaction du jeux video par les dispositif de réalité virtuelle?

Solution 1: On fait une configuration pour intégrer le VNC à l'Unity, et il y a les APIs de Unity qui peut faire l'interaction avec le dispositif de réalité virtuelle.

Solution 2: On programme à transfère l'image du jeux vidéo à Unity pour l'afficher au dispositif de réalité virtuelle par TCP/IP et transfère par TCP/IP les consignes du dispositif de réalité virtuelle au jeux vidéo pour le contrôler.


2). Maintenant, je ne suis pas claire que si on peut utiliser les émulateurs et des jeux à mon projet légalement.*


2. Apprendre VNC et tester le VNC


Description du VNC[7]:

VNC (Virtual Network Computing, littéralement « informatique virtuelle en réseau ») est un système de visualisation et de contrôle de l'environnement de bureau d'un ordinateur distant. Il permet au logiciel client VNC de transmettre les informations de saisie du clavier et de la souris à l'ordinateur distant, possédant un logiciel serveur VNC à travers un réseau informatique. Il utilise le protocole RFB pour les communications.

VNC est indépendant du système d'exploitation : un client VNC installé sur n'importe quel système d'exploitation peut se connecter à un serveur VNC installé sur un système d'exploitation différent ou identique. Il existe des clients et des serveurs VNC pour la plupart des systèmes d'exploitation. Plusieurs clients peuvent se connecter en même temps à un unique serveur VNC.

Parmi les utilisations de ce protocole, on peut citer le support technique à distance, l'administration et la maintenance de systèmes ou logiciels ne permettant que des contrôles graphiques et demandant l'utilisation de la souris ou bien encore la visualisation distante d'applications diverses et variées, dans un but éducatif par exemple.

Teste:

J'ai installé le VNC Viewer[8] et VNC Server[9] est fait un test. (*VNC Viewer est gratuit, mais VNC Server n'est pas gratuit).

Premièrement, j'ai lancé un VNC Server

VNCServer.png

Après, j'ai lancé un VNC Viewer et connecté à mon serveur de VNC, j pouvais afficher l'écran du serveur et le contrôler.

VNCCLient1.png
VNCCLient2.png

Documents Rendus