es gab da mal eine Stay for ever spielt Folge an deren Ende die Herren über das Design von Textadventures nachgedacht haben. Leider habe ich vergessen welche Folge genau.
Punkte waren: soll Komfortfunktionen haben, soll Datenbanken nutzen, soll den ganzen Bildschirm benutzen , soll nicht vom Text ablenken (Immersion) und noch so Sachen…
Da ich neulich mal aus anderen Gründen angefangen habe ein Textadventure zu programmieren, habe ich gedacht, da gleich mal was umzusetzen. Und tada: Da ist eine Textadventure Alphaversion mit den Namen Kryptikonhttps://wismarsoft.com/adventuregame/Kryptikon.zip
Dazu noch ein paar Sachen:
die Datei ist 70 MB groß da die Hintergrundmusik recht viel Platz braucht. Text sind nur so 200 k
zur Installation die zip Datei in einen beliebigen Ordner entpacken und dort Kryptikon.exe aufrufen
der Zeit ist das Game fix auf Full HD bzw 1080p eingestellt
für Win 7 / Win 10 kompiliert
Komfortfunktionen:
wichtige Worte sind ´farbig hervorgehoben (auch wenn es Gesprächsthemen sind)
mit ‚replay‘ kann man die Eingaben vom letzten Durchlauf automatisch wiederholen
asynchroner offline Coop Modus (replay mit ‚export‘ speichern und versenden, replays von anderen importieren)
letzten Befehl durch "Pfeil hoch wiederholen
Ingame Hilfe mit ‚Lese die Hilfe‘
Hinweise zum lösen von Rätzeln mit ‚Tip‘
Quest Log und Achievements
Das ganze ist noch nicht vollständig, nur das erste Kapitel.
Ob es einfach oder schwer ist weiß ich nicht so richtig ich tippe auf einfach…
Vielleicht hat ja jemand Lust reinzuspielen und etwas Rückmeldung zu geben.
Cooles Projekt. Programm funktioniert sehr gut. Hab ein paar Minuten reingespielt, lässt sich gut an. Die Texte brauchen aber dringend einen Durchgang Korrektur lesen, und könnten auch ein wenig ausgeschmückter sein. Technisch ist das alles schon ganz super.
find ich super was du machst. Ich hab die Version 0_11 runtergeladen, leider ist der linke Teil des Bildschirms abgeschnitten. Ich spiele auf einem Huawei Laptop mit 1920*1080 Auflösung. Kann man in deinem Spiel die Auflösung in einer Datei anpassen?
Sehr schönes Projekt! Wärst du bereit, den Quelltext zu veröffentlichen? Vielleicht auch zum kollaborativen Schreiben?
Welchen Parser benutzt du?
Beim kurzen Reinspielen sind mir zwei Sachen aufgefallen. Das der Text „reingeschrieben“ wird und nicht einfach erscheint finde ich persönlich eher nervig. Könnte man eine Option haben, dass der Text einfach erscheint, ohne Animation?
Wenn ich die Hilfe aufrufe, gibt es einen Grafikfehler beim Prompt. Da steht dann sowas wie „Drücke Enter für mehr Text (oder so)“, aber die letzte Eingabe ist noch teilweise darunter sichtbar.
Davon abgesehen, sehr coole Initiative! Wenn das Projekt weit genug kommt, vielleicht können wir es ja sogar mal als Staffel SFS hören?
Das Spiel basiert auf einer sqlite3 Datenbank in der alle Texte gespeichert sind. Der Parser ist neu programmiert und funktioniert indem er sql Anfragen über die entsprechenden Tabellen schickt.
Ich hatte da bei flüchtiger Suche keinen Parser gesehen, der so funktioniert. Die Entwicklung war aber auch nicht besonders aufwendig.
Das jeder einzelnen Buchstabe extra gerrendert wird, wirkt in der Tat etwas lahm. Ich habe das mal auf Wort für Wort geändert: Version vom 3.5.2022
Einfach den Text am Stück anzuzeigen, ist glaube ich nicht optimal, da merkt man nicht so richtig wo es neuen Text zu lesen gibt.
Wäre cool wenn Du mit an den Adventure schreiben willst. Im Moment geht es darum die Datenbank Tabellen mit entsprechenden Inhalt zu füllen also das eigentliche Adventure zu schreiben.
Damit Du damit arbeiten kannst brauchst Du natürlich Python. Die Tabellen haben jetzt wenig Kommentare die die Spalten erläutern. Am Besten etwas rumprobieren oder nachfragen.
Wenn man da ein richtiges gemeinsames Projekt draus machen will müsste man das wohl mal bei GitHub oder so hochladen.
Einen groben Plot für das erste Kapitel des Games habe ich eigentlich im Kopf. Könnte ich mal aufschreiben wobei das dann natürlich der reine Spoiler ist.
Schwupps, wie die Zeit vergeht, sorry.
Ich hab gestern die Textdateien und Tabellen (aus der zip) angeschaut und versucht, einen Überblick zu bekommen. Ich denke, das Hauptproblem mit dieser Herangehensweise ist, dass Änderungen durch den Spieler permanent werden. Also wenn jetzt A spielt und etwas ändert, hat dies auch Auswirkungen auf B. Insgesamt ein interessanter Ansatz, aber du solltest (nach meinem Dafürhalten) den „Baseline“-Zustand, wie er am Anfang eines frischen Spiels ist nicht mischen mit Änderungen, die während des Spiels passieren.
Ich würde auch vermuten, dass sqlite ein bisschen Overkill ist und man mit einfachen Datenstrukturen besser arbeiten könnte.
Der Parser funktioniert erstaunlich gut, dafür, dass er so einfach ist.
Die Aktionen des Spieler werden in eine Kopie der Datenbank geschrieben (data1.db) . Bei Neustart wird die data1.db mit den Orginaldaten (data3.db) überschrieben so das alles frisch ist. Speicherstände werden in data2.db kopiert die kann man dann ggf laden, wenn man einen alten Spielstand weiterspielen will.
Bin zur Zeit aber nicht viel dazu gekommen weiter dran rum zu bauen, musste segeln gehen und so
ggf sollte man die Story noch mal gründlich überdenken, ist wahrscheinlich etwas zu komprimiert um einen wirklich mitzunehmen…
Ah, gut, dass der Fortschritt in einer eigenen db gespeichert wird.
Insgesamt ist das Projekt ein interessanter „Proof of Concept“.
Die Story ist bisher etwas kurz, denke ich. Text Adventures sind aber auch ein schwieriges Genre heutzutage. Es gibt sehr viele sehr gute (zumindest auf Englisch). Wenn man Spaß dran hat, zu schreiben und neue Sachen wie z.B. Programmstrukturen auszuprobieren, ist es ein schönes Hobby. Aber es wird nicht viele Leute geben, die es dann auch spielen (insgesamt bisher etwas über 40 Downloads und das, obwohl es im Newsletter erwähnt wurde).
Da kann die Motivation schon mal ne Pause machen, gerade wenn Segelwetter ist
Hui schon 40 Downloads, das ist ja mehr als gedacht.
Es wäre sehr cool, wenn mir einige ein Replay schicken könnten.
Zu diesen Zweck das Spiel starten, mit „load“ den letzten Spielstand laden und dann „export“ eingeben. Das erzeugt im Spielverzeichnis die Datei replay.txt .
Die wäre sehr hilfreich für die Entwicklung, um zu sehen wo man hängen bleibt, wo es Bugs gibt etc…
Also diese Datei an game@wismarsoft.com und ab dafür