Dokumentation - Text Adventure
Story
In diesem simplen Text Adventure geht das darum, das der Spieler seit 6 Monaten in einem Anwendungsentwicklung-Unternehmen arbeitet, aber es soll nun ein neuer Azubi kommen und den Spieler ersetzen. Die Aufgabe des Spielers ist es zu versuchen dennoch seinen Platz in der Firma zu behalten.
Sprache
Ich habe für das Text Adventure mir Java ausgesucht, da es eine Sprache ist, in der ich mich gut auskenne. Zudem habe ich die Packages von Jackson und Apache Commons Lang benutzt.
Besonderheiten
Das Programm ist so geschrieben, das ich mit einer einfachen JSON-Datei auch einfach selbst neue Text Adventures kreieren kann.
{
"start": {
"text": [
"Startpunkt",
"Hallo, %user%"
],
"decisions": [
{
"text": "Dies ist Option 1",
"scene": "option1"
},
{
"text": "Dies ist Option 1",
"scene": "option2"
}
]
},
"option1": {
"text": [
"Du hast Option 1 ausgewählt"
],
"decisions": []
},
"option2": {
"text": [
"Du hast Option 2 ausgewählt"
],
"decisions": []
}
}
Wichtig ist dabei, dass es immer einen start Node im Top-Level gibt, das ist unsere Erste Szene unsere start-Scene, darin einen text Node als List und einen decisions Node als List.
Die decisions List kann aber leer sein und somit endet dann auch das Text Adventure.
Wenn man aber eine Entscheidung hinzufügen möchte, muss man in decisions mindestens ein JSON-Objekt hinzufügen mit einem text als String und eine scene als String.
Der richtige Name der Nächsten Scene muss hier angeben werden und in der JSON-Datei definiert werden wie man es bereits bei start gemacht hat.
Zudem kann man auch den Platzhalter %user% Verwenden, um später im Programm das ganze durch den von User Angegebene Username auszutauschen.
Wenn man das Programm startet, bekommt man die möglich auszuwählen, welche Text Geschwindigkeit man haben möchte, da jeder Buchstabe einzeln nacheinander ausgegeben wird.
Der Standard ist Normal.
Danach wird man nach dem Username gefragt, es wird nur das Erste Wort genommen.
Der Standard Username ist Player.
Das Programm wird ausgeführt mit
java -jar TextAdventure.jar <optional path/to/dialog.json>
Was fiel mir leicht / schwer?
Mir fiel es leicht den Code zu schreiben und auch gegeben, falls Online nach Hilfestellungen zu suchen und diese anzuwenden.
Mir fiel es nicht so leicht eine Story für meinen Text Adventure zu formulieren.
Author
Yannik Giebenhain