Ein Zauberstab ist cool, aber es ist viel cooler, einfach mit der Bewegung Ihrer Hände zu zaubern. Um dies zu ermöglichen, haben wir 2014 die Erkennung von Gesten aufgegriffen und Beschleunigungsmesser für Rollenspiele angefertigt. Das Projekt erwies sich als kompliziert und mit weitreichenden Konsequenzen.

Also, das Spiel
"Es gibt so ein Handwerk" in der Welt von Andrzej Sapkowski . Die meisten Charaktere sind Teenager mit dem Zeug eines Hexers, die auf der Burg von Caer Morhen studieren. Sie müssen die Monster ausnehmen, Elixiere kochen, nach speziellen Regeln fechten - und magische Gesten üben. Jemand stirbt, jemand schwankt zu einem erwachsenen Hexer.

Signs Aard und Yrden in Computerspielen auf der ganzen Welt von Andrzej Sapkowski.Es ist logisch, an der linken Hand eines Spielers (im rechten Schwert) ein Gerät zum Lesen von Fingerbewegungen anzulegen - zum Beispiel einen Handschuh. Die einfachste Lösung wäre die Verwendung von Dehnungsmessstreifen. In den Jahren 2013-2014 kostete der Dehnungsmessstreifen 110 Rubel. Dieser Betrag, multipliziert mit fünf Fingern und 25 Geräten, verursachte hohe Kosten. Leider lehrt uns die Produktion in mittleren Serien, gut zu zählen: Wir mussten nicht mehr als zweitausend Rubel pro Handschuh ausgeben, und wir konnten es uns nicht leisten, ein Viertel dieser Menge für Sensoren zu senken.
Auswahl der Komponenten und Erstellung der Gebärdensprache
Wir wandten uns Beschleunigungsmessern zu. Der Beschleunigungsmesser kostete ziemlich realistische 30 Rubel. Für die ersten Experimente wurde nur ein Sensor verwendet, der an einem Schwert montiert war - und es wurde schnell klar, dass das Arbeiten mit dynamischer Bewegung, wie wir es ursprünglich wollten, nicht möglich war. Tatsächlich gab der Beschleunigungsmesser nur Auskunft über das Vorhandensein und Nichtvorhandensein einer Schaukel.
Die Arbeit mit statischen Positionen anstelle von Dynamik wurde gewählt, da wir in statischen Positionen klar eine Grenze zwischen dem Ort ziehen können, an dem wir eine Position benötigen, und dem Ort, an dem dies nicht der Fall ist. In der Dynamik könnten sich die Beschleunigungen, die beim Drehen des Beschleunigungsmessers auftreten, als alles andere herausstellen.
Es wurde also klar, dass wir mit statischen Bestimmungen arbeiten müssen. Aber welche? Die menschliche Hand hat mehr als 20 Freiheitsgrade. Lohnt es sich, an jeder Phalanx einen Beschleunigungsmesser anzubringen? Der Sensor kostet Geld und Finger aller Längen und Flexibilität ...
Mit dem Beschleunigungsmesser können wir in der Sprache der Flugzeugmodelle nur zwei Arten von Bewegungen bestimmen - Rollen (nach links und rechts schwingen) und Neigen (mit dem Kopf nach oben und unten). Und das Gieren (dreht sich nach links und rechts) ist nicht mehr da, weil die Schwerkraft unverändert bleibt.

Der Beschleunigungsmesser erkennt den Unterschied zwischen diesen beiden Gesten nicht. Problem!Aus diesem Grund haben wir beschlossen, einen Sensor auf der Rückseite der Handfläche und einen an jedem Finger im Bereich der dritten Phalanx anzubringen. Dies bot einen gewissen Spielraum für die Erfindung von Gesten.
Der erste Prototyp sah aus wie ein Discovery-Board mit angeschlossenen Sensoren. Das Python-Skript, das die Daten verarbeitet hat (sechs dreistufige Sensoren - ein Vektor mit 18 Zahlen entspricht jeder Handschuhposition), werden wir niemandem zeigen - es ist nicht so perfekt, seit 2014 haben wir viel gelernt.
Der allererste Prototyp - er nimmt die Gesten von Vladimir Yashunsky, seinem Hauptentwickler, perfekt wieder.Serienproduktion und eine unerwartete Wendung der Handlung
Der Referenzwert wurde aufgezeichnet und mit den erhaltenen Daten verglichen. Nichts bedeutete Ärger.
Zwei Monate vor dem Spiel war eine Serie fertig - 25 Sensoren, die an Drähten angelötet, auf Bauhandschuhe geklebt und mit Batterien und LEDs an 25 Platinen angeschlossen wurden.
Workflow - Löten von LEDs.Jeder Beschleunigungsmesser wurde auf Schmelzklebstoff aufgetragen. Also nahm er eine etwas andere Position ein. Neue Handschuhe mit einer Sünde in der Hälfte stimmten zu, die Gesten von Wladimir wahrzunehmen, aber nur von ihm.

Prototyp und Serie.Was zu tun ist? Zwei Monate vor dem Spiel, so die Handschuhe angekündigt, lernen die Spieler Gesten. Theoretisch war es möglich, für jeden Handschuh eine eigene Firmware zu erstellen. Praktisch - ich wollte nicht wirklich. Ich wollte auch den zulässigen Bewegungsbereich nicht erweitern, sonst würden die Gesten miteinander verwechselt. Ich musste die Statistiksammlung organisieren
Wir haben 10 Personen (mit unterschiedlicher Länge und Flexibilität der Finger) eingeladen und alle in jedem Zeichen gebeten, alle Gesten zu machen. Der Freiwillige machte eine Geste. Vladimir stellte sicher, dass das System ihn korrekt erkannte, bestätigte, dass die Geste gültig war, und zeichnete den Wert in einem Ordner auf. Unnötig zu erwähnen, dass die gemittelten Werte denen, die Vladimir selbst herausgab, nicht sehr ähnlich waren.
Nach dem Sammeln von Statistiken wurden für jede Geste die mathematische Erwartung und Varianz berechnet.
Handschuh durch die Augen des Benutzers
Zehn Gesten wurden erfunden. Eine einzige Geste, die zu einem positiven Ergebnis führt, ist jedoch mit Zwischenfällen behaftet. Es ist eine Schande, eine Hand zu heben, um eine Person zu begrüßen und sie versehentlich zu verbrennen.
Es wurde beschlossen, vom Text von Sapkowski abzuweichen und drei Zeichen in jedes Zeichen aufzunehmen.
Die erste Geste ist die einleitende Geste des Zeichens, sie ist einzigartig. Die zweite gewinnt an Stärke, diese Geste ist ein und dieselbe. Und alles endet mit einer dritten Geste der Exekutive. Es gab drei Arten.
Rückzug. Mensch und Elektronik
Es gibt eine solche Regel - bei all seinen Fehlern neigt eine Person dazu, jemand anderem die Schuld zu geben. Und wenn der Fehler mit der Elektronik zusammenhängt, werden sie die Elektronik für das Problem verantwortlich machen. Für uns bedeutet dies Folgendes: Wenn Sie die Aktion zugunsten des Spielers interpretieren können, müssen Sie dies tun. Aber Fehlalarme stehen der Güte im Wege, und auch ihnen wird nicht vergeben.Um die korrekte Ausführung des Zeichens zu steuern, wollten sie zuerst einen Ringpuffer schreiben. Es war jedoch unmöglich, eine große Anzahl von Fehlalarmen oder umgekehrt Fehlern zuzulassen. Deshalb sind wir durch die Zustandsmaschine in die andere Richtung gegangen. Wenn der Handschuh gerade eingeschaltet ist, kann die erste Geste nur eine von fünf auslösenden Gesten sein. Sie verursachen eine schwache Schwingung, und die zuerst gemachte „Stärke“ wird ignoriert.
Die maximale Benutzerbindung zeigte sich wie folgt:
Nach der ersten richtigen Geste hat der Benutzer 10 Sekunden Zeit, um die zweite richtige Geste auszuführen. Zwischendurch kann er mit seinen Händen jeden Unsinn machen.
Dies zählt nicht als Fehler:



Schauen Sie, der Benutzer hat Aard (offene Hand) korrekt initiiert, auf Kraftzuwachs umgestellt, aber gezögert und die falsche Geste des Abstiegs gemacht. Bei Ringpufferung würde dies die Zeichenausführung unterbrechen, der Benutzer wäre verärgert. Die Zustandsmaschine ignoriert diesen kleinen Fleck. Der Benutzer merkt sich die richtige Auslösegeste und der Handschuh wird ausgelöst.Und irgendwo könnte der Handschuh immer noch einen schmutzigen Trick werfen.
Sie wollten einen Kameraden mit dem Aard-Zeichen wegschieben und haben versehentlich ein ähnliches Zeichen mit Ignie verbrannt?



Zwischen den korrekten Ausführungen von Aard (offene Hand) und Igni (Prise) gibt es mehrere weitere unordentliche Optionen - 5 Beschleunigungsmesser sind nach oben gerichtet und der auf dem Handrücken nicht. Dies ist voller Überraschungen für die Hexe.
Es wurde beschlossen, dass der Handschuh mit dem Benutzer kommunizieren soll und dass er durch Vibration kommunizieren soll (wir verwenden häufig Vibrationen, um Geräte ohne technogene Bildschirme zu erstellen, ohne Ton und Licht zu entlarven - aber dennoch mit Benutzern kommunizieren zu können).
Bei der Ausführung der auslösenden Geste vibriert der Handschuh leicht und bei der zweiten Geste stärker. Sie erklärten den Benutzern: Dies liegt daran, dass Sie spüren, wie ein Kraftklumpen Ihre Handfläche füllt. Ein korrekt ausgeführtes Zeichen wurde durch einen Blitz der entsprechenden Farbe angezeigt. Jeder im Spiel wusste, wie er auf so etwas reagieren sollte.
Alle Spieltechniker - die Monster, mit denen die Hexen kämpften - wussten, wie sie auf das Licht des Handschuhs reagieren sollten. Und ich musste mich zum Beispiel mit einem solchen Mantikor auf lustigen Springern auseinandersetzen.
Foto von Lily Barladyan
Der Hexer ließ die abscheuliche Sumpfkreatur schließen, um Aard mit einem Schild wegzuwerfen.
Foto von Lily BarladyanDer größte Teil der Magie mit dem Handschuh sollte nachts stattfinden, aber nur für den Fall, dass die üblichen Ausgangs-LEDs verwendet wurden (heller als RGB). Darüber hinaus besteht keine Gefahr, dass die Farben der Ausgangs-LEDs verwechselt werden (diejenigen, die mit RGB gearbeitet haben, haben festgestellt, dass in bestimmten Winkeln klar ist, dass gelbes Licht eine Kombination aus Rot und Grün usw. ist).
Die Hexe bekommt keine Geste. Unter dem verstärkten Klebeband sehen Sie den Akku des Mobiltelefons über dem Vibromotor.
Foto von Ekaterina GrigorovaLyrischer Exkurs
Es ist gut, wenn das System einen Eingabepunkt hat, nach dem es beginnt, etwas zu erkennen. Ok Google. Und was tun, wenn es fünf solcher Punkte gibt? Die Benutzer spürten regelmäßig eine leichte Vibration, in der sich Kraft niederschlug.
Die Hexe im Handschuh. Auf der Brust ist das Medaillon eine einfache Elektronik, Farbanzeige für betrunkene Tränke.
Foto von Elena MavrikidiDann kamen wir in den Wald. Da sind einige Probleme rausgekommen. Erstens trug niemand Oberlederhandschuhe, es war unangenehm in ihnen. Auf den Fotos kann man also einheitlichen Cyberpunk beobachten, aber was viel unangenehmer ist - die Drähte sind dadurch gestorben. Mehrere Vibromotoren starben, sie wurden direkt auf die Deponie gelötet. Vielleicht war das Hauptproblem des Handschuhs das Jahr seiner Herstellung. Wir hatten noch keinen 3D-Drucker, nichts war verpackt, alles wurde auf Schmelzkleber gehalten.
Hexe.
Foto von Elena MavrikidiDas Spiel verlief jedoch ohne globale Schwärme.
Was weiter?
Als wir nach Moskau zurückkehrten, die Handschuhe in der Waschmaschine wuschen (bei ausgeschaltetem Controller und natürlich bei Batterie), die Verluste wiedererlangten und berechneten, dachten wir über ein Upgrade nach.
Es wäre möglich, kein IDE-Kabel zu verwenden (es ist überhaupt nicht für tragbare Elektronik gedacht und wurde aus bitterer Armut verwendet), sondern ein „rotes Telefonkabel“. Und lassen Sie ihn mit einem Handschuh auf den Kordelzug gehen, damit das Problem beim Waschen überhaupt nicht aufkommt. Schließen Sie die IR-LED an, um den Handschuh mit dem Lasertag zu kombinieren. Und ...
Und dann erschien zum Verkauf
Myoslolet . Wir spielten mit ihm und stellten fest, dass wir den Handschuh nicht weiterentwickeln würden. Unversprechend. Das Lesen des Signals von den Muskeln ist viel bequemer als das Signal von den Fingern. (Richtig, für die rollenbasierte Verwendung ist das Myoslet aufgrund des Preises nicht geeignet.) Gloves spielte noch ein Spiel in Primorye und tourte ständig auf Ausstellungen.
Wir glauben, dass die Erfahrung nützlich war, obwohl sie manchmal schmerzhaft war - sie hat sich als nützlich erwiesen, wenn ein Armband zum Erkennen einer dynamischen Geste erstellt wurde. Dies ist unser neues Projekt. In Anbetracht dessen, wie wir mit Sensoren gequält wurden, die an Drähten angelötet und über den Stoff verteilt waren, kostete das Armband zwei, die an eine gewöhnliche zuverlässige Platine gelötet wurden. Der Handschuh arbeitete in der Statik mit einer großen Menge an Anfangsdaten (18 Zahlen von 6 Sensoren), die Position des Armbands wird durch 2 Zahlen beschrieben (unter Verwendung des Mahoney-Algorithmus konvertieren wir 9 von den Sensoren empfangene Werte).
Es gibt jedoch diejenigen, die daran interessiert sind, mit dem Handschuh zu experimentieren. 2015 wurde der Handschuh den Teilnehmern einer Designschule gezeigt, und einige betrachteten ihn als Herausforderung. Daniil Velovaty (damals ein Schüler, jetzt ein Schüler am MIPT) sammelte seine eigene Version. Im Gegensatz zu uns implementierte er die Datenübertragung vom Gerät und überraschte die Besucher der Ausstellung, indem er den Wasserkocher mit einem Schild aus der Ferne einschaltete. Daniels Gebärdensprache ist auch seine eigene.
