Projektarbeit „Kidnapp’d“

Das sprachgesteuerte Escape-Room-Game

In einer Projektarbeit des Studiengangs Media Engineering wurde in Anlehnung an alte klassische Textadventures ein Escape Room konzipiert und realisiert, der völlig auf visuelle Elemente verzichtet und ausschließlich durch ein CUI (Converstional User Interface) mit Sprache gesteuert wird. Dazu wurde für Amazon „Alexa“ ein Skill implementiert.

Was ist ein Escape Room?

Der Escape Room ist eine neue Erscheinung, die sich mittlerweile einer großen Beliebtheit erfreut. Die Spieler werden dabei in einem Raum eingesperrt und müssen aus diesem entkommen, indem Rätsel gelöst werden. Escape Rooms sprechen jede Altersgruppe an. Eine der wichtigsten Fähigkeiten, um in so einem Raum zu bestehen, ist Teamfähigkeit. Viele Aufgaben müssen im Team gemeistert werden.

Die Escape Rooms sind je nach Setting verschieden eingerichtet. Ob königliches Schlosszimmer oder heruntergekommene Bruchbude – es ist alles möglich.

Rätsel können verschieden ausgelegt sein. Zum einen können Rätsel Nacheinander angeordnet sein so dass die Lösung eines Rätsels zu einem anderen führt. Die parallele Rätselbearbeitung ist ebenfalls möglich. So können zum Beispiel die Ergebnisse vieler einzelner Rätsel die Zahlenkombination eines Schlosses ergeben. Auch die Interaktion mit Gegenständen ist fester Bestandteil von Escape Rooms, wie das Drücken von Knöpfen, Verschieben von Möbeln, Öffnen von Schubladen oder Schränken etc

Story

Die Story handelt von einem namenlosen Protagonisten, der gekidnappt wurde und in einer unbekannten Umgebung aufwacht. Das ganze Setting soll dazu anregen, den Spieler auf der einen Seite neugierig auf die Umgebung zu machen und anderseits animieren die Situation des Protagonisten zu verbessen und aus den Räumen zu entkommen.

Der Alexa Skill

Die Alexa Developer Console ist das webbasierte Tool von Amazon, um Alexa Skills zu entwickeln. Über das Tool wird der End-Point eingetragen, das Interaction Model sowie die jeweilige Invocation eingetragen.

Amazon bietet 2 Möglichkeiten einen Skill zu betreiben.

1. Amazon Lambdafunktionen gehostet über den Amazon Web Service (AWS)

Amazon als einer der größten Anbieter von Cloudservices bietet die Möglichkeit seinen Skill komplett über die webbasierte Anwendung Aws-Services zu realisieren. Das bedeutet das die Skilllogik als Lambdafunktion bei Amazon hinterlegt ist und diese auch mit der Alexa Developer Console kommuniziert.

2. Hosting eines eigenen Servers

Wir haben uns dafür entschieden, dass wir den Amazon Web Service nicht nutzten wollen, sondern den Skill auf unserem eigenen Server zu hosten. Der Amazon Alexa Services kommuniziert über HTTPS mit unserem Server. Diese Kommunikation funktioniert über die Post Methode in der JSON Dateien geschickt werden.

Damit die Alexa Developer Console den Applicationserver findet, wird in der Alexa Developer Console die URL zum Server abgelegt.

Intents

Intents sind ein wichtiger Bestandteil des Amazon-Kommunikation-Models. Dieses Kommunikation-Model gibt den Aufbau der zu erwartenden Befehle an. Intents nehmen in diesem Model den Platz der Befehle ein, die dann in dem entsprechenden Code verarbeitet werden und eine Reaktion des jeweiligen provozieren.