Textbasiertes Spiel schreiben?

Trebor97

Cadet 2nd Year
Registriert
Okt. 2011
Beiträge
19
Moin,
ich bin vor ein paar Tagen auf Zork gestoßen und denke das es nicht so schwer sein sollte so etwas selber zu schreiben doch welche Programme und Litaraturen könnt ihr für einen Anfänger empfelen, ich habe keine Grundkenntnisse.
Auch absolut die Frage meint ihr man kann so etwas überhaupt machen ohne Vorwissen.
MFG Trebor
 
Bevor Du Dir Gedanken über die Programmierung machst, mach Dir doch erstmal Gedanken über die Story. Es gibt leider schon viel zu viel Spiele ohne Story auf dem Markt. Das Programmieren ist dann Nebensache.
 
Wie hornile schon sagt..

Wenn du erst einmal weißt, WAS du willst, ist die Umsetzung dann das kleinere Problem. Willst Du ein Game mit Texteingabe? Dann brauchst du einen sog. Parser. Oder du machst es a la "Willst du rauf(1) oder runter(2) ?" und verzweigst entsprechend in der Handlung.
 
Klar, ein Anfänger soll nen Parser schreiben :rolleyes: richtig sinnlos ist aber die Antwort von KUGA. Was bringt hier denn bitte ein Batch-Skript?
 
Also ohne Grundkenntnisse wird es schwierig. Aber so ein Textbasiertes Spiel würde mich auch interessieren. Wie geht man da ran?
 
Nun, wie bei jeder Software ist dies absolut abhängig von den Anforderungen. Diese sollten zunächst definiert werden, bevor es Sinn macht zu überlegen, wie man es umsetzt. Ein Ansatz wäre eventuell, das Spiel als Zustandsautomaten zu modellieren, wobei die Antworten dann entsprechende Übergänge auslösen können.

Dazu müsste auch nur das Grundprinzip hinter Automaten verstanden werden, was der Thread-Ersteller sich leicht aneignen kann. Dann noch ein bissl Java und ab gehts ;-)
 
Der Zustandsautomat ist eine Sache, der Parser für die Texteingaben noch eine 2.

Mein erster Versuch war ein einfaches Basic-Programm mit If-Abfragen für komplette Sätze. Ist natürlich wenig flexible, aber für den Anfang kann man damit schon was anstellen. Der "Zustandsautomat" war einfach eine Ansammlung vom Möglichkeiten die während des Verlaufs möglich sein sollen. Nix tolles, aber mein erstes Spiel ;-)
 
Zu Beginn kann er es ja einfach halten, indem er Antworten vorgibt und diese nummeriert. Dann kann er anhand der Nummern selektieren. Wenn er das hinbekommen hat, kann er sich ja mal ans Parsen wagen.
 
Jepp, multiple Choice ist auch ein Ansatz. Meine Variante war nicht anders, nur das der Spieler "rätseln" musste, welche Sätze gehen (hab aber auch auf eine sehr einfache Syntax geachtet, da war nicht viel Verwirrung)
 
Die Buchreihe "Einsamer Wolf" kann als Ideenlieferant dienen. Man wird immer vor eine Entscheidung gestellt und dann heißt es "lies bei 435 weiter" (sinngemäß). Das ist sozusagen voll gescriptet.

Gibt es ein Inventar?
Gibt es Kämpfe? Lebenspunkte? etc.

Falls nein wäre das ganze sehr viel leichter umzusetzen.

Bevor wir hier philosophieren, wäre es echt mal interessant zu wissen, wie genau das Spiel(prinzip) aussehen soll. Und - wie schon gesagt - das wichtigste ist eine zündende Idee!!
 
Das wirklich interessante ist imho die Konfiguration dahinter. Einfach top-down mit if-else zu arbeiten wird sicherlich ziemlich schnell ziemlich öde.

Auch als Anfänger könnte man dem ganzen etwas Struktur geben, in dem man das Spiel als Baum (oder bei Querverbindungen als Netz) aufbaut. Ein Knoten (=Objekt) dieses Baumes stellt eine Entscheidung dar, Kindelemente könnte man komfortabel mit einer append-Methode dranhängen und braucht so im Wesentlichen nur noch einmal im wenigen Zeilen die Entscheidungslogik festlegen. Der ganze textuelle Inhalt könnte man in eine XML-Datei auslagern, auch nicht wirklich sooo schwer. Im nächsten Schritt könnte man die Knoten des Baumes (also den Baum selbst) aus der XML generieren lassen und kann sein Spiel dann in XML "schreiben".

Geht sicher noch besser, aber lieber erstmal locker anfangen (und ganz nebenbei zusätzlich etwas über Bäume lernen). Im Endeffekt ist es wichtig, dass man nach einiger Zeit sein spiel schreiben kann und nicht mit massenhaft if-else und console.println Anweisungen beschäftigt ist, diese braucht man eigentlich nur einmal an einer Stelle.
 
Zuletzt bearbeitet:
Schau mal nach ,,Jagd auf Wumpus''.

Der erste Treffer ist -> http://www.mysoft128.de/specials/wumpus.htm

Kann ich nur empfehlen, dass mal umzusetzen, den es nicht nur stumpf if-else runtertippen.
Gibt auch genug Beispiele in diversen Sprachen, heißen vllt. nur leicht anders.
Das war mein erstes Spiel und ich hab es damals in Java umgesetzt (auch nur über Text).

Man muss also schon etwas besser programmieren können.. was man für das Spiel benötigt, ist nur der Einsteigerkram, also fix gelernt. (Arrays, Schleifen, ...Kreativität ==>wie man die Höhlen immer zufällig verbindet, ohne doppelte etc.^^).

Das wirst du aber auch bei Zork merken, dass man es nicht einfach so mal eben schreiben kann, etwas Zeit musste schon investieren.

Wenn du dann länger in dem Bereich was machen willst, würde ich gleich eine richtige Programmiersprache erlernen.. solche Spiele kannst du in jeder Umsetzen, aber wenn man das eh länger machen will, dann gleich richtig.
Also eher in Richtung C/C++ schauen... für den Einstieg vllt. Java.
Wie gesagt, mit dem Einsteigerkram jeder Sprache kannst du so ein Ding machen, ...
 
Zuletzt bearbeitet: (ich glaub der beitrag ist OT, aber egal :>)
Wenn du keine Scheu vor der englischen Sprache hast, und dir auch videotutorials fürs lernen nicht zu blöd sind, würde ich mal einen Blick auf die Videotutorials von 3DBuzz werfen. Auf Youtube gibts ein gesamtes Kapitel mit insgesamt über 10 Stunden an Videos zum Thema entwicklung eines Text Adventures http://www.youtube.com/playlist?list=PL74F05D68F408B2DD

Die verwendete Sprache hierbei ist C#. Die Tutorialreihe dient zur Erklärung von Grundlagen, zur späteren Programmierung mit dem XNA Framework. Inwiefern in diesen Videos bereits das XNA benutzt wird, kann ich nicht sagen, da ich nur in "Stichproben" reingeschaut habe.
 
Zurück
Oben