Spielprinzip: Die Studierenden entwickeln ein Einzelspieler-Spiel über Automaten. Das Ziel des Spiels ist es, einen vorgegebenen, aber versteckten, Automaten zu rekonstruieren. Ein Automat akzeptiert Wörter. Der Spieler soll einen Automaten bauen. Das Spiel präsentiert dem Spieler nach und nach Wörter. Dabei sind einige Wörter so markiert, dass sie in der Sprache des Automaten sein sollen. Andere sind so markiert, dass der Automat sie nicht akzeptieren soll. Der Spieler muss Kontrollzustände und Transitionen zu dem Automaten hinzufügen, sodass die kommenden Wörter akzeptiert / abgelehnt werden, je nach Markierung. Die Schwierigkeit eines Levels hängt z.B. von der Größe des Automaten, der Anzahl und Länge der Wörter, sowie der Größe des Alphabets ab.
Gamification: Um die Spieler zu motivieren, sollen sie Punkte sammeln oder Lebenspunkte verlieren können. Beispielsweise kann man Punkte sammeln, indem man möglichst wenige Zustände benutzt. Oder man kann Lebenspunkte verlieren, wenn man die falschen Wörter akzeptiert oder ablehnt. Am Ende kann man sich in einem Scoreboard.
Aufgabe: Die Studierenden sollen dieses Spielprinzip ansprechend und spielerisch umsetzen.
Im folgenden präsentieren wir ein Beispiel, wie man das obige Konzept spieletauglich umsetzen könnte. Die Studierenden werden aber ermutigt, eigene Ideen auszuprobieren und umzusetzen.
Themenbeispiel: Wir greifen das Konzept des Automaten als einen Ort, an dem man Emotionen abbaut. Die Wörter sind also eine Folge an Emotionen. Das lässt sich gut durch Emojis darstellen. Es könnten also Personen, die mit einer Liste von Emojis versehen werden, durch das Spielfeld laufen. Ein Kontrollzustand wäre in dieser Analogie z.B. ein Boxsack, um die Emotion "Aggression" abzubauen. Transitionen sind Fußwege zwischen den einzelnen Stationen.
Dieses Projekt wird als Teil des Softwareentwicklungspraktikums 2026 angeboten.
Gruppenzahl: Bis zu drei Gruppen.
Gruppengröße: Bis zu acht Studierende pro Gruppe.
Voraussetzungen: Grundlegende Programmierkenntnisse. Für Infos und Winfos wird ein erfolgreicher Abschluss von "Software Engineering 1" vorausgesetzt. Wir empfehlen zusätzlich die Veranstaltungen "Programmieren 1" und "Theoretische Informatik 1" abgeschlossen zu haben.
Die Ansprechpartner für das Praktikum sind René Maseli und Jakob Tepe.