# Pistolet optique

Le pistolet optique (light gun) est un périphérique d'entrée et un dispositif de pointage utilisable avec certains jeux vidéo sur borne d'arcade, console de jeu et ordinateur personnel. L'accessoire prend généralement la forme d'une arme de poing mais il existe des modèles basés sur d'autres types d'armes (fusil, bazooka, harpon, etc). Il est principalement utilisé dans les light gun shooters. Au lieu de déplacer un viseur virtuel avec le joystick, la manette de jeu ou la souris, le joueur cible les ennemis à l'écran directement avec l'arme, ce qui confère des sensations plus réalistes.

## Histoire

Les premiers pistolets optiques apparurent dans les années 1930, à la suite du développement des tubes électroniques. Il ne fallut pas longtemps avant que cette technologie fasse son apparition dans les jeux de tirs d’arcade, à commencer par le jeu Ray-O-Lite de Seeburg en 1936. Ces premiers jeux à pistolet optique, tel le laser tag moderne, utilisaient de petites cibles (généralement mouvantes) sur lesquelles était monté un tube photosensible. Le joueur utilisait une arme (généralement un fusil) qui émettait un faisceau de lumière lorsque la détente était pressée. Si le faisceau frappait la cible, un “hit” était marqué. Les pistolets optiques modernes fonctionnant sur écran utilisent un principe opposé : le capteur est intégré à l’arme elle-même et la cible sur l’écran émet la lumière à la place de l’arme. Le premier pistolet optique de ce genre fut utilisé sur l’ordinateur Whirlwind du MIT.
Le pistolet optique – et son successeur le crayon optique – sont aujourd’hui rarement utilisés en tant que dispositif de pointage pour ordinateur, en raison de la popularité de la souris et des changements de la technologie d’affichage des moniteurs, les pistolets optiques traditionnels fonctionnant uniquement sur les moniteurs CRT standards.

## Technologie

Le "pistolet optique" est appelé ainsi parce qu’il utilise la lumière comme méthode pour détecter l’endroit de l’écran que l’utilisateur est en train de viser. Le nom amène à penser que le pistolet lui-même émet un faisceau de lumière, mais en réalité la plupart des pistolets optiques reçoivent la lumière à travers une photodiode dans leur canon.
Il y a deux versions de cette technique qui sont communément utilisées, mais le concept est le même : lorsque la gâchette du pistolet est pressée, l’écran devient entièrement noir et la photodiode commence la réception. Tout ou partie de l’écran est peint en blanc d’une manière qui permet à l’ordinateur d’estimer où le pistolet est pointé, en fonction du moment auquel la photodiode détecte la lumière. L’utilisateur du pistolet optique ne remarque rien ou presque car la durée pendant laquelle l’écran est vide ne dure généralement qu’une fraction de seconde (cf. la persistance rétinienne).

### Méthode des cibles séquentielles

La première méthode de détection, utilisée par le NES Zapper, implique le dessin de chaque cible de façon séquentielle en lumière blanche une fois que l’écran est noir. L’ordinateur sait que si la diode détecte de la lumière lorsqu’il est en train de dessiner un carré (ou après que l’écran est rafraîchi), alors le pistolet y est pointé. En pratique, la diode indique à l’ordinateur si vous avez touché quelque chose ou non, et pour n objets, la séquence du dessin des cibles indique à l’ordinateur quelle cible vous avez touchée après 1 + ceil(log2(n)) rafraichissements (un rafraichissement pour déterminer si au moins l’une des cibles a été touchée, et ceil(log2(n)) pour effectuer une recherche binaire sur l’objet qui a été touché).
Un effet secondaire intéressant de cette méthode est que pour les jeux mal conçus, il suffit souvent au joueur de viser une ampoule lumineuse, de presser la gâchette et de toucher la première cible à chaque fois. Les jeux mieux réalisés tiennent compte de cela soit en détectant la duperie si toutes les cibles semblent correspondre, soit en affichant un écran noir et en vérifiant qu’aucune cible ne corresponde.

### Méthode par mesure du temps d’affichage du rayon cathodique

La deuxième méthode, utilisée par le Super Scope de la Super Nintendo (SNES) et par les crayons optiques d’ordinateur, est plus élaborée et plus précise.
L’astuce de cette méthode réside dans la nature du tube cathodique à l’intérieur du moniteur vidéo (les écrans CRT étaient les seuls moniteurs TV abordables à la fin des années 1980 et au début des années 1990, quand cette méthode fut popularisée). L’écran – recouvert d'une matière phosphorescente – est dessiné par balayage d’un faisceau d’électrons qui parcourt de gauche à droite des lignes qui se succèdent de haut en bas, en partant du coin supérieur gauche. Ceci est fait de manière répétée jusqu’à ce que la totalité de l’écran soit dessinée, et semble instantané à l’œil humain car cela se fait très rapidement.
Quand le joueur appuie sur la détente, l’ordinateur (souvent assisté par le circuit d’affichage) doit compter combien de temps il faut au faisceau d’électrons pour exciter le phosphore à l’endroit où le pistolet est pointé. Pour cela, le pistolet optique envoie un signal lorsqu’il perçoit le bref changement de luminosité qui se produit quand le faisceau d’électron rafraîchit le point visé sur l’écran. L’ordinateur calcule alors la position visée en se basant sur le taux de rafraîchissement horizontal du moniteur (le temps – fixé et connu – nécessaire au faisceau pour aller de la gauche à la droite de l’écran). Soit l’ordinateur fournit une base de temps pour le taux de rafraîchissement horizontal à travers le connecteur du contrôleur (comme pour le Super Scope), soit le pistolet lit le signal vidéo composite à travers un connecteur en T sur le câble A/V (cas du GunCon 2). Une fois que l’ordinateur connaît la position visée par le pistolet, il peut déterminer par détection de collisions si celle-ci coïncide avec la cible ou non.
De nombreux pistolets de ce type (dont le Super Scope) ne tiennent pas compte de la lumière rouge, car les phosphores rouges ont un taux de désintégration bien plus lent que les phosphores vert ou bleu. De ce fait, certains jeux illuminent la totalité de l’écran légèrement quand la gâchette est pressée afin d’obtenir un fixage plus fiable sur la position.
Cette méthode de mesure du temps d’affichage n’est pas utilisable avec les écrans plasma, LCD et DLP qui rafraîchissent tous les pixels en même temps.

### Méthode combinée

Certains pistolets optiques conçus pour le ciblage séquentiel n’ont pas une mesure de temps assez précise pour obtenir la lecture d’une position (X, Y) à partir du signal vidéo, mais ils peuvent utiliser une combinaison des deux méthodes. Premièrement l’écran est illuminé et le temps de réponse est mesuré comme pour la méthode de mesure de temps du rayon cathodique, mais l’ordinateur détermine seulement quelle ligne a été touchée et non quel pixel horizontal a été touché. Ceci ne nécessite pas une mesure de temps aussi rapide que celle qu’utilise une méthode de synchronisation cathodique, de l’ordre de 15 kHz pour une synchronisation horizontale contre 5 MHz pour une position (X, Y) sur un affichage à résolution standard. Ensuite en utilisant les cibles séquentielles, le jeu détermine la cible frappée parmi celles qui sont sur la ligne.

### Méthode par émetteurs infrarouges

Une nouvelle méthode a été développée pour pouvoir utiliser les technologies d’affichage autres que CRT. Elle repose sur l’utilisation d’un ou plusieurs émetteurs de lumière infrarouge placés près de l’écran et d’un capteur infrarouge placé sur la bouche du canon du pistolet. Quand la gâchette est pressée, l’arme renvoie l’intensité du rayon infrarouge qu’il détecte. Puisque l’intensité dépend à la fois de la distance et de l’angle relatif avec l’écran, des capteurs d’angle sont placés dans l’arme. De cette manière un système d’équation trigonométrique est résolu et la position 3D de la bouche du canon par rapport à l’écran est calculée. Ensuite, en projetant la bouche du canon sur l’écran avec les angles mesurés le point d’impact est déterminé. Un des premiers exemples de cette technologie (bien que n’utilisant pas l’infrarouge) peut être vu dans l’accessoire Power Glove de la Nintendo NES, qui utilisait trois capteurs à ultrasons servant la même fonction que les émetteurs infrarouges.
Une variante simple est communément utilisée pour les jeux d’arcade, où il n’y a pas de détecteurs d’angle mais quatre capteurs infrarouges. Cependant, celle-ci peut se montrer peu précise pour certaines distances et certains angles de tir, puisque le calcul des angles et la position 3D a une plus grande marge d’erreur.
D’autres variantes incluent trois ou plusieurs émetteurs infrarouges avec différentes longueurs d’onde couplés avec le même nombre de capteurs. Avec cette méthode et un bon étalonnage on peut obtenir trois ou plusieurs angles relatifs, ne nécessitant donc pas de détecteurs d’angle pour positionner le pistolet.
Parfois, les capteurs sont placés autour de l’écran et l’émetteur sur le pistolet, mais les calculs sont similaires.
Cette famille de méthodes est utilisée pour la télécommande Wii, le GunCon 3 et les systèmes d’arcade modernes.

### Multijoueur

Un jeu qui utilise plus d’un pistolet lit toutes les gâchettes de manière continue et ainsi, quand un joueur presse la gâchette de son pistolet, le jeu lit ce pistolet jusqu’à ce qu’il sache quel objet a été touché.

## Pistolet positionnel

Les pistolets positionnels sont assez courants dans les systèmes d’arcade. Un pistolet positionnel est un pistolet fixé à la borne d’arcade et monté sur un pivot qui permet au joueur de diriger l’arme. Ceux-ci sont souvent confondus avec les pistolets optiques mais fonctionnent tout à fait différemment. Ces pistolets ne peuvent pas être enlevés de la borne comme leurs homologues optiques, qui sont attachés et stockés dans un étui fixé à la borne. Ils sont habituellement plus chers à l’achat mais plus simple à entretenir et à réparer. Les jeux qui utilisent des pistolets positionnels incluent Operation Wolf, Silent Scope, la version arcade de Resident Evil: Survivor, Space Gun, Revolution X, Terminator 2: Judgment Day… Leurs portages consoles utilisent des pistolets optiques.
Un pistolet positionnel est en fait similaire à un joystick analogique qui enregistre la position du pistolet pour déterminer vers où le joueur est en train de viser. L’arme doit être calibrée, ce qui est généralement effectué après la mise sous tension. Quelques jeux utilisent des pistolets optiques fixés sur la borne, tel que Crossbow de Exidy.

## Quelques pistolets optiques

Le premier pistolet optique commercialisé pour une console de jeu est le Shooting Gallery en 1972 sur l'Odyssey de Magnavox (la première console de jeu). Conçu par Ralph Baer, l'accessoire est une imitation plutôt réaliste d'une carabine (elle nécessite même d’être « armée » après chaque tir).
Des exemples de pistolets optiques célèbres sont donnés ci-dessous :
* Le Shooting Gallery pour la Magnavox Odyssey, la première arme pour console de salon qui est en fait une carabine à l’aspect très réaliste ;
* Le NES Zapper pour la NES, sans doute l’exemple le plus populaire de pistolet optique ;
* Le Magnum Light Phaser pour le ZX Spectrum et le Commodore 64 ;
* Le XG-1 pour Atari XEGS ;
* L’Action Max, une console qui utilise des cassettes VHS pour le stockage des jeux, contrôlée uniquement par un pistolet optique ;
* Le Light Phaser pour la Master System ;
* Le Super Scope pour la Super Nintendo, ayant la forme d’un bazooka ;
* Le Sega Menacer pour la Mega Drive ;
* Le Virtua Gun pour la Saturn ;
* Plusieurs pistolets optiques Dreamcast ;
* Les GunCon de Namco pour les PlayStation, premiers à lire le signal vidéo dans l’accessoire (plutôt que de manière interne dans la console) et connu pour être hautement précis ;
* Le Wii Zapper pour la console Wii est conçu pour accueillir la télécommande Wii et le Nunchuk, donnant l’impression d’un pistolet optique (la télécommande Wii elle-même n’utilise cependant pas la technologie traditionnelle des pistolets optiques).