Une baguette magique est cool, mais c'est beaucoup plus cool de faire de la magie simplement avec le mouvement de vos mains. Pour rendre cela possible, en 2014, nous avons repris la reconnaissance des gestes et fabriqué un gant sur les accéléromètres pour les jeux de rôle. Le projet s'est avéré compliqué et a eu de lourdes conséquences.

Ainsi, le jeu
«Il y a un tel métier» dans le monde d'Andrzej Sapkowski . La plupart des personnages sont des adolescents avec l'étoffe d'un sorceleur qui étudient au château de Caer Morhen. Ils doivent vider les monstres, cuisiner des élixirs, clôturer selon des règles spéciales - et pratiquer des gestes magiques. Quelqu'un meurt, quelqu'un se balance vers un sorceleur adulte.

Signes Aard et Yrden dans des jeux informatiques à travers le monde d'Andrzej Sapkowski.Il est logique de mettre sur la main gauche (dans l’épée droite) un joueur pour lire les mouvements des doigts - par exemple, un gant. La solution la plus simple serait d'y utiliser des jauges de contrainte. Mais en 2013-2014, la jauge de contrainte a coûté 110 roubles. Ce montant, multiplié par cinq doigts et 25 appareils, a coûté cher. Malheureusement, la production en série moyenne nous apprend à bien compter: nous ne devions pas dépenser plus de 2 000 roubles par gant, et nous ne pouvions pas nous permettre de réduire un quart de ce montant aux capteurs.
Sélection des composants et création de la langue des signes
Nous nous sommes tournés vers les accéléromètres. L'accéléromètre coûte 30 roubles assez réalistes. Pour les premières expériences, un seul capteur a été utilisé, monté sur une épée - et il est vite devenu évident que travailler avec le mouvement dynamique, comme nous le voulions initialement, n'était pas possible. En fait, l'accéléromètre ne donnait que des informations sur la présence-absence d'un swing.
Le travail avec des positions statiques au lieu de la dynamique a été choisi parce qu'en statique, nous pouvions clairement tracer une ligne entre l'endroit où nous avons besoin d'une position et celle où elle n'en a pas. Dans la dynamique, les accélérations qui se produisent lorsque l'accéléromètre tourne peuvent se révéler être comme n'importe quoi.
Il est donc devenu clair que nous devons travailler avec des dispositions statiques. Mais lesquels? La main humaine a plus de 20 degrés de liberté, vaut-il la peine de coller un accéléromètre sur chaque phalange? Le capteur coûte de l'argent, et des doigts de différentes longueurs et flexibilité ...
À l'aide de l'accéléromètre, dans le langage des modèles d'avion, nous ne pouvons déterminer que deux types de mouvements - roulis (swing gauche et droite) et tangage (haut et bas avec la tête). Et le lacet (tourne à gauche et à droite) n'est plus là, car la force de gravité reste inchangée.

L'accéléromètre ne voit pas la différence entre ces deux gestes. Problème!En conséquence, nous avons décidé de mettre un capteur à l'arrière de la paume et un sur chaque doigt, dans la région de la troisième phalange. Cela a permis de créer des gestes.
Le premier prototype ressemblait à une carte Discovery avec des capteurs connectés. Le script python qui a traité les données (six capteurs à trois étages - un vecteur de 18 nombres correspond à chaque position de gant), nous ne le montrerons à personne - ce n'est pas si parfait, car depuis 2014 nous avons beaucoup appris.
Le tout premier prototype - il perçoit parfaitement les gestes de Vladimir Yashunsky, son développeur principal.La production en série et une tournure inattendue de l'intrigue
La valeur de référence a été enregistrée, elle a été comparée aux données obtenues. Rien de grave.
Deux mois avant le match, une série était prête - 25 capteurs soudés sur des fils, collés à des gants de construction, connectés à 25 tableaux avec batteries et LED.
Flux de travail - LED de soudage.Chaque accéléromètre a été appliqué sur un adhésif thermofusible. Il occupait donc une position légèrement différente. De nouveaux gants avec un péché en deux ont accepté de percevoir les gestes de Vladimir, mais seulement de lui.

Prototype et série.Que faire Deux mois avant le match, les gants annoncés, les joueurs apprennent les gestes. Théoriquement, il était possible de créer votre propre firmware pour chaque gant. Pratiquement - je ne voulais pas vraiment. Je ne voulais pas non plus élargir la gamme autorisée de mouvements, sinon les gestes commenceraient à se confondre. J'ai dû organiser la collecte de statistiques
Nous avons invité 10 personnes (avec différentes longueurs et flexibilité des doigts) et avons demandé à chacun dans chaque signe de faire tous les gestes. Le volontaire a fait un geste. Vladimir s'est assuré que le système le reconnaissait correctement, a confirmé que le geste était valide et a enregistré la valeur dans un dossier. Inutile de dire que les valeurs moyennes n'étaient pas très similaires à celles que Vladimir lui-même a données?
Après avoir collecté des statistiques, pour chaque geste, l'espérance mathématique et la variance ont été calculées.
Gant à travers les yeux de l'utilisateur
Dix gestes ont été inventés. Mais un seul geste conduisant à un résultat positif est lourd d'incidents. Il est dommage de lever la main pour saluer une personne et de l'incinérer par inadvertance.
Il a été décidé de s'écarter du texte de Sapkowski et d'inclure trois gestes dans chaque signe.
Le premier geste est le geste initiateur du Signe, il est unique. Le second gagne en force, ce geste est le même. Et tout se termine par un troisième geste exécutif. Il y avait trois espèces.
Retraite. L'homme et l'électronique
Il existe une telle règle - dans tous ses échecs, une personne est encline à blâmer quelqu'un d'autre. Et si l'échec semble être lié à l'électronique, ils imputeront le problème à l'électronique. Pour nous, cela signifie ceci: si vous pouvez interpréter l'action en faveur du joueur, vous devez le faire. Mais les faux positifs font obstacle à la gentillesse, et ils ne seront pas non plus pardonnés.Pour contrôler la bonne exécution du signe, ils ont d'abord voulu écrire un tampon en anneau. Mais il était impossible d'autoriser un grand nombre de faux positifs ou, inversement, d'échecs. Par conséquent, nous sommes allés dans l'autre sens, à travers la machine d'État. Si le gant vient d'être allumé, le premier geste ne peut être que l'un des cinq gestes initiateurs. Ce sont eux qui provoquent une vibration faible, et le «jeu de force» créé en premier est ignoré.
La fidélité maximale des utilisateurs s'est manifestée comme suit:
Après le premier geste correct, l'utilisateur dispose de 10 secondes pour effectuer le deuxième geste correct. Entre les deux, il peut faire n'importe quoi avec ses mains.
Cela ne compte pas comme une erreur:



Regardez, l'utilisateur a correctement initié Aard (main ouverte), est passé à la prise de force, mais a hésité et a fait le mauvais geste de descente. Avec la mise en mémoire tampon en anneau, cela interromprait l'exécution des caractères, l'utilisateur serait contrarié. La machine d'état ignore cette petite tache. L'utilisateur se souvient du geste de déclenchement correct et le gant est déclenché.Et quelque part, le gant pourrait encore lancer un sale tour.
Ils voulaient repousser un camarade avec le signe Aard et ont brûlé par inadvertance un signe similaire avec Ignie?



Entre les exécutions correctes d'Aard (main ouverte) et d'Igni (pincement), il existe plusieurs autres options bâclées - 5 accéléromètres sont dirigés vers le haut, et celui sur le dos de la main ne l'est pas. C'est plein de surprises pour la sorcière.
Il a été décidé que le gant devrait communiquer avec l'utilisateur, et il communiquera par vibration (nous utilisons souvent la vibration, cela nous permet de créer des appareils sans écrans technogéniques, sans démasquer le son et la lumière - mais toujours capables de communiquer avec les utilisateurs).
Lors de l'exécution du geste initiateur, le gant vibre légèrement, vibre plus fortement sur le deuxième geste. Ils ont expliqué aux utilisateurs: c'est parce que vous sentez un caillot de force remplir votre paume. Un signe correctement exécuté était indiqué par un flash de la couleur correspondante, tout le monde dans le jeu savait comment réagir à une telle chose.
Tous les techniciens du jeu - les monstres avec lesquels les sorcières se sont battus - ont su réagir à la lumière du gant. Et j'ai dû faire face, par exemple, à une telle manticore sur des jolly jumpers.
Photo de Lily Barladyan
Le sorceleur a laissé la vile créature des marais se fermer, pour sûrement rejeter Aard avec un signe.
Photo de Lily BarladyanLa plupart de la magie avec le gant était censée se produire la nuit, mais juste au cas où, il utilise les LED de sortie habituelles (plus lumineuses que RVB). De plus, il n'y a aucun risque de confusion des couleurs sur les LED de sortie (ceux qui ont travaillé avec RGB ont remarqué que sous certains angles, il est clair que la lumière jaune est une combinaison de rouge et de vert, etc.).
La sorcière ne reçoit aucun geste. Sous la bande renforcée, vous pouvez voir la batterie du téléphone mobile, au-dessus - le vibromoteur.
Photo par Ekaterina GrigorovaDigression lyrique
C'est bien quand le système a un point d'entrée, après quoi il commence à reconnaître quelque chose. Ok Google. Et que faire quand il y a cinq points de ce type? Les utilisateurs ressentaient régulièrement une légère vibration, une puissance bouillonnait en eux.
La sorcière dans le gant. Sur la poitrine, le médaillon est une simple électronique, indication de couleur des potions bues.
Photo par Elena MavrikidiPuis nous sommes arrivés dans la forêt. Plusieurs problèmes sont survenus. Premièrement, personne ne portait de gants en cuir supérieur, c'était inconfortable en eux. Donc, sur les photos, vous pouvez observer un cyberpunk uniforme, mais ce qui est beaucoup plus désagréable - les fils sont morts à cause de cela. Plusieurs vibromoteurs sont morts, ils ont été soudés directement à la décharge. Le problème principal du gant était peut-être l'année de sa création. Nous n'avions toujours pas d'imprimante 3D, rien n'était emballé, tout était conservé sur un adhésif thermofusible.
Sorcière.
Photo par Elena MavrikidiCependant, le jeu s'est déroulé sans bancs mondiaux.
Et ensuite?
De retour à Moscou, en lavant les gants dans la machine à laver (avec le contrôleur éteint et la batterie, bien sûr), en récupérant et en calculant les pertes, nous avons pensé à une mise à niveau.
Il serait possible d'utiliser non pas un câble IDE (il n'est pas du tout destiné à l'électronique portable et a été utilisé à partir d'une pauvreté amère), mais un «câble rouge» téléphonique. Et laissez-le passer sur le cordon avec un gant, pour que le problème de lavage ne se lève pas du tout. Et connectez la LED IR pour combiner le gant avec l'étiquette laser. Et ...
Et puis en vente est apparu
myoslolet . Nous avons joué avec lui et nous avons réalisé que nous ne développerions pas davantage le gant. Sans compromis. La lecture du signal des muscles est beaucoup plus pratique que le signal des doigts. (Vrai, pour une utilisation basée sur les rôles, le myoslet ne convient pas en raison du prix). Gants a continué un jeu de plus à Primorye et fait constamment des tournées lors d'expositions.
Nous pensons que l'expérience a été utile, bien que parfois douloureuse - elle a été utile lors de la création d'un bracelet pour reconnaître un geste dynamique, c'est notre nouveau projet. Conscient de la façon dont nous avons été tourmentés avec des capteurs soudés aux fils et répartis sur le tissu, le bracelet a coûté deux soudés à une carte fiable ordinaire. Le gant fonctionnait en statique avec une grande quantité de données initiales (18 chiffres provenant de 6 capteurs), la position du bracelet est décrite par 2 chiffres (en utilisant l'algorithme Mahoney, nous convertissons 9 valeurs reçues des capteurs).
Cependant, il y a ceux qui sont intéressés à expérimenter avec le gant. En 2015, le gant a été montré aux participants d'une école de design, et certains l'ont considéré comme un défi. Daniil Velovaty (alors écolier, maintenant étudiant au MIPT) a rassemblé sa propre version. Contrairement à nous, il a mis en œuvre le transfert de données depuis l'appareil et a surpris les visiteurs de l'exposition en allumant à distance la bouilloire avec une pancarte. La langue des signes de Daniel est aussi la sienne.
