Textadventure erstellen

GrimmeL

Mitglied
Hallo ihr lieben,
ich bin auf der Suche nach einer Opensoruce von einem Textadventure. Ich würde es dann bearbeiten wollen so wie ich es gerne hätte.

Bin noch neu in java und weiß noch nicht wie sich das ganze aufbaut. Würde es dann später wenn es fertig ist für Android als App zum laufen bringen.

Vielleicht kann mir ja der ein oder andere mit Informationen weiterhelfen. :)

Mfg
 

Highchiller

Bekanntes Mitglied
Ich halte es für sinnvoller du programmierst ohne Vorlage. Das ist bei Textadventures auch überhaupt nicht schwer.

Das schwerste an diesem Genre lässt sich in 2 Punkte gliedern.
1) Du musst gute Texte schreiben (keine Java-Kenntnisse nötig)
2) Du musst gute Texterkennung schreiben (Das ist schwierig, aber nicht großartig von Java-abhängig. Kann also auch mit wenigen Kenntnissen geschrieben werden)

Davon abgesehen, es gibt durchaus text-adventures die open source sind. Allerdings nicht in Java. Generell weiß ich nicht ob es überhaupt Text-Adventures in Java gibt :D

Also es ist nicht schwer... Schau dir mal ein Tutorial namens Hello-World für Java an. Dann weißt du wie du text auf die Konsole bringst.
Dann gibts noch System.in und damit kannst du eingaben von der Konsole lesen.

Jetzt hast du schon alles was du brauchst für ein Text-Adventure ^^

PS: Ich glaub übrigens das erste große Text-Adventure überhaupt ist open-source :D Es hieß "Colossal Cave Adventure"
 
Zuletzt bearbeitet:

Exorcist

Mitglied
Ich halte es für sinnvoller du programmierst ohne Vorlage. Das ist bei Textadventures auch überhaupt nicht schwer.

Das schwerste an diesem Genre lässt sich in 2 Punkte gliedern.
1) Du musst gute Texte schreiben (keine Java-Kenntnisse nötig)
2) Du musst gute Texterkennung schreiben (Das ist schwierig, aber nicht großartig von Java-abhängig. Kann also auch mit wenigen Kenntnissen geschrieben werden)

Davon abgesehen, es gibt durchaus text-adventures die open source sind. Allerdings nicht in Java. Generell weiß ich nicht ob es überhaupt Text-Adventures in Java gibt :D

Also es ist nicht schwer... Schau dir mal ein Tutorial namens Hello-World für Java an. Dann weißt du wie du text auf die Konsole bringst.
Dann gibts noch System.in und damit kannst du eingaben von der Konsole lesen.

Jetzt hast du schon alles was du brauchst für ein Text-Adventure ^^

PS: Ich glaub übrigens das erste große Text-Adventure überhaupt ist open-source :D Es hieß "Colossal Cave Adventure"

Naja, es braucht schon noch etwas mehr. Zb. muss man wissen, wie man den Player in Räumen navigieren lassen kann usw.

Hier ein Textadventure Beispiel in Java :

Creating a text adventure game in Java
 

GrimmeL

Mitglied
Die Typischen Einsteiger Tuts hab ich schon gelesen mit dem Hallo World und alles. Aber dennoch würd ich gern Wissen wie es aufgebaut ist das nun ein Gametext kommt und dann zb. 3 Auswahlmöglichkeiten für den Spieler & je nachdem für was er sich entscheidet, dann zum nächsten Text kommt wo es wieder 3 neue Auswahlmöglichkeiten gibt usw.

Das bsp. von Exorcist sieht doch schon mal gut aus, aber so richtig blicke ich da noch nicht durch. :D

Edit:
Warum ich es halt gerne mit Java machen möchte ist, weil ich die Sprache lernen will um dann später auch eigenständige Apps schreiben zu können. Also in 10jahren wenn ich dann so weit bin ^^

Edit²:
Ich hatte die Hoffnung eine OpenSource zu finden wo man sehen kann wie das Spiel aufgebaut ist von Anfang bis Ende & dann eben daraus Schlüsse ziehen zu können wie das alles Funktioniert und dann mit Hilfe der Vorlage ein eigenes zu schreiben.
 
Zuletzt bearbeitet:

ARadauer

Top Contributor
Ich hatte die Hoffnung eine OpenSource zu finden wo man sehen kann wie das Spiel aufgebaut ist von Anfang bis Ende & dann eben daraus Schlüsse ziehen zu können wie das alles Funktioniert und dann mit Hilfe der Vorlage ein eigenes zu schreiben.

Sowas würde dich auf jeden Fall überfordern... versuchs einfach mal selber
 
Zuletzt bearbeitet:

Highchiller

Bekanntes Mitglied
ARadauer hat schon Recht. Ich kenn das selbst ziemlich gut. Früher wollt ich immer Beispiele sehen damit ich Anfangen konnte, die waren dann aber sehr schnell viel zu kompliziert und konnten mir im Endeffekt kaum bis gar nicht helfen.

Diese Projekte sind einfach zu groß als das man da durchblicken kann. Auch erkennt man nicht welche Ansätze verwendet wurden, weil man sich erst mal tief einarbeiten muss um die Zusammenhänge zu begreifen.

Glaub uns also wenn wir dir sagen, es hilft dir nicht weiter großen Projekten über die Schulter zu schauen. Das bringt dir erst was wenn du genügend Java-Kenntnisse und theoretische Ansätze kennst.

Man sagt ja so schön, aller Anfang ist schwer.
Versuch dich mal an daran ein kleines Programm zu schreiben das dir einen Text schickt, du eine eingabe tätigst und dein Programm reagiert dann entsprechend auf diesen Text. Das ist nicht schwer.
Du wirst dann aber schnell feststellen, dass du auf die Art nicht wirklich größer wirst und dein Code nur noch unübersichtlicher. Bist du da angelangt hast du aber schon genug gelernt um neue Ansätze zu verfolgen. Das bedeutet nicht das dein Code nun weggeworfen werden kann. Stattdessen kannst du ihn optimieren.
Exorcist hat ja erwähnt, "wie kann man einen Player im Raum navigieren". Das sind dann Fragen die du dir selbst beantworten musst und damit wird dein Programm größer und größer. Später hast du eine richtige Welt, die der Spieler aber nicht sieht, sondern eben nur die Texte. Du als entwickler kennst aber Lage des Spielers, Gegenstände in seiner Nähe etc.

Du wirst dann merken dass es sinnvoll gewesen wäre erst mal die ganze welt zu erschaffen und dann den Spieler da durch zu lotsen. Da hilft dir schon Papier und Stift weiter. Mal ein labyrinth, erzähl eine geschichte anhand des weges den der Spieler geht. Mit monstern, rätseln, etc.
Wenn du das alles hast und dir durch die obigen fingerübungen einige Fähigkeiten in Java angeeignet hast, dann kannst du mit deinem eigenen text-adventure richtig los legen. ;)
 

GrimmeL

Mitglied
Also anhand zweier Videos weiß ich nun schon wie man den User Fragen stellt und wo er gleich die Fragen im Fenster beantworten kann. Danach verwendet er direkt die Informationen und gibt ihn als Text wieder aus.


Aber Lerninhalte wo nun gezeigt wird wie man einen Text ausgibt, dann der User 3 Auswahlmöglichkeiten bekommt & dann daraufhin eine Reaktion vom Programm erhält, hab ich leider noch nicht gefunden.

Das wäre ja genau das richtige was ich bräuchte.

Ich schaue mir gerade die Tutorials von Hendrik Schmidt durch, da geht er Themen für 1te Semester Informatik durch im Bereich Java.

Dich Bücher "Java ist auch eine Insel" und "Java7 mehr als eine Insel" hab ich auch, falls da jemand ein Kapitel zu meinem Thema weiß, kann er es ja gerne Posten. Hab da noch nicht rein geschaut in die Bücher. ^^
 
Zuletzt bearbeitet:

Highchiller

Bekanntes Mitglied
Ich versteh dein Problem nicht. Wir haben doch alles erklärt. Hier ein ganz simples Beispiel in nicht mal 5 min zusammen geschraubt:

Java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * Fragt den Spieler in welche Richtung er weitergehen will.
 */
public class SimpleTextAdventure {
	/**
	 * Starte das mini TextAdventure
	 * @param args
	 */
	public static void main(String[] args) {
		// Gebe dem Spieler eine Ausgabe vor
		System.out.println( "Du stehst in einem Wald. Links geht es nicht weiter. Du kannst aber geradeaus oder rechts lang gehen." );
		System.out.println( "Wofür entscheidest du dich?" );
		
		// Versuche seine Eingabe zu lesen, zum Beispiel mit Hilfe des BufferedReaders (kann Zeilenweise lesen)
		try ( BufferedReader input = new BufferedReader( new InputStreamReader(System.in) ) ){
			// die eingelesene Zeile ist erst mal null
			String zeile = null;
			
			// solange diese Zeile null ist tue folgendes
			while ( zeile == null ){
				// lese die Eingabe des Spielers
				zeile = input.readLine();
				
				/**
				 * Hier kannst du jetzt alle Fälle abfangen. Die Kunst ist möglichst viel der Eingaben des Spielers zu verstehen.
				 * Also auch 'gerade aus' oder 'Geradeaus' oder 'gradaus' oder 'gehe grade aus' etc.
				 * Das ist das schwerste am ganzen Spiel!!!
				 * 
				 * Hier gehen jetzt nur ganz simple fälle. Wenn der Spieler nicht genau 'geradeaus' schreibt und Enter drückt wird die Eingabe
				 * nicht erkannt! Das ist natürlich schlecht!
				 */
				if ( zeile.matches( "geradeaus" ) ){
					// GEH GERADE AUS
					System.out.println("Du gehst geradeaus!");
				} else if ( zeile.matches( "rechts rum" ) ){
					// GEH RECHTS LANG
					System.out.println( "Du gehst rechts rum." );
				} else if ( zeile.matches( "dreh um" ) ){
					// DREH UM
					System.out.println("Du drehst dich um.");
				} else { // immer daran denken, dass der Spieler auch falsche Eingaben tätigen kann. Das sollte man auch abhandeln.
					zeile = null;
					System.out.println( "Das geht leider nicht. Möchtest du gerade aus gehen, schreibe 'geradeaus'." + System.lineSeparator()
							+ "Möchtest du rechts entlang gehen, schreibe 'rechts rum'." + System.lineSeparator()
							+ "Möchtest du umdrehen, schreibe 'umdrehen'." + System.lineSeparator()
							+ "Wofür entscheidest du dich?");
				} // schon fertig...
			}
		} catch (IOException e) { // Fehler abhandeln nicht vergessen.
			e.printStackTrace();
		}
	}
}

Reicht dir das jetzt? Wenn du sagst du hast System.out und System.in verstanden reicht das schon für die ersten kleinen Beispiele...

PS: Wegen der Bücher. "Java ist auch eine Insel" kannst du dir mal Kapitel 4 durchlesen. Mehr sollte für dich (zumindest erst mal) nicht von Interesse sein.Kapitel 4 - Der Umgang mit Zeichenketten
Wenn du mehr über das Auslesen aus Dateien und über den obigen BufferedReader lernen willst ließt du einfach Kapitel 17 - Datenströme
 
Zuletzt bearbeitet:

GrimmeL

Mitglied
Na der Code hilft mir doch schon super weiter, danke dafür. So etwas hab ich doch gesucht, wo man es auch anschaulich sehen kann. ;)

Und die zwei Kapitel im Buch werde ich mir mal anschauen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Einen Dialog zweier Personen erstellen (Textadventure) Spiele- und Multimedia-Programmierung 4
K Textadventure Spiele- und Multimedia-Programmierung 1
temi Textadventure (gähn!) Designfragen Spiele- und Multimedia-Programmierung 7
P Frage bzgl. TextAdventure Spiele- und Multimedia-Programmierung 11
M Java Textadventure HashMap wird nicht befüllt? Spiele- und Multimedia-Programmierung 7
H Pokemonklon erstellen Spiele- und Multimedia-Programmierung 7
M Mühle Spielfeld erstellen Spiele- und Multimedia-Programmierung 5
J TreeNode erstellen [Hilfe beim Konstruktor, Zeile 16] Spiele- und Multimedia-Programmierung 2
V GUI in LWJGL 2 erstellen Spiele- und Multimedia-Programmierung 6
J CMD Output aktualisieren lassen statt neu erstellen? Spiele- und Multimedia-Programmierung 1
A Spielfelder erstellen mit Jogl Java durch ein Koordinaten Array Spiele- und Multimedia-Programmierung 1
A Figur zentrieren und Spielwelt erstellen Spiele- und Multimedia-Programmierung 1
R Durch String Platform Game erstellen Spiele- und Multimedia-Programmierung 8
B Mit Swing eine Grafische Oberfläche erstellen Spiele- und Multimedia-Programmierung 1
L Zeichentrick erstellen Spiele- und Multimedia-Programmierung 6
S GUI erstellen für Text Adventure Spiele- und Multimedia-Programmierung 4
ZoXlike Audio Server selbst erstellen Spiele- und Multimedia-Programmierung 11
K Erstellen eines Fotoalbums mit Java Spiele- und Multimedia-Programmierung 8
F Klausurersatz: Ein Java-Programm erstellen und dieses präsentieren. Spiele- und Multimedia-Programmierung 2
K Umlaufbahn erstellen Spiele- und Multimedia-Programmierung 3
Anfänger2011 Wichtig: Grafik und Sprites erstellen Spiele- und Multimedia-Programmierung 1
D Ordner auf Desktop erstellen(Pc unabhängig) Spiele- und Multimedia-Programmierung 3
J Zufällige Zeichenfolge erstellen mit Möglichkeit der Subtraktion Spiele- und Multimedia-Programmierung 20
X LWJGL - Anklick baren Button erstellen aber wie? Spiele- und Multimedia-Programmierung 6
X Minecraft Wie kann ich eine Karte erstellen wie zb:(Bei Minecraft) Spiele- und Multimedia-Programmierung 1
A Spielemap erstellen Spiele- und Multimedia-Programmierung 13
M Beste methode zur Map Erstellen in "Block" Games Spiele- und Multimedia-Programmierung 2
F LWJGL Problem mit Erstellen eines Objekts und der Kamera Spiele- und Multimedia-Programmierung 5
windl Mediacenter Skin erstellen Spiele- und Multimedia-Programmierung 3
M OpenGL: Rectangle dort erstellen wo ich hintippe Spiele- und Multimedia-Programmierung 2
T LWJGL Gui erstellen Spiele- und Multimedia-Programmierung 7
N Level abspeichern/erstellen Spiele- und Multimedia-Programmierung 7
C Würfel erstellen und als Raum nutzen Spiele- und Multimedia-Programmierung 6
S Wolken Bild/Grafik vom Programm erstellen lassen Spiele- und Multimedia-Programmierung 11
N Eigene Java 3D Engine erstellen. Spiele- und Multimedia-Programmierung 11
P Spiel HUD erstellen Spiele- und Multimedia-Programmierung 6
D ImageIcon erstellen Spiele- und Multimedia-Programmierung 2
S Applikation aus Applet erstellen Spiele- und Multimedia-Programmierung 6
M Spielkapitel/-Level erstellen/verwalten Spiele- und Multimedia-Programmierung 6
T mit Sketchup und Java [Spiel erstellen] Spiele- und Multimedia-Programmierung 4
S Spielfeld erstellen Spiele- und Multimedia-Programmierung 2
X Kartenspiel: Karten erstellen Spiele- und Multimedia-Programmierung 4
W Quiz mit Videos erstellen Spiele- und Multimedia-Programmierung 4
T Animiertes GIF erstellen Spiele- und Multimedia-Programmierung 2
E Sammelspiel erstellen? Spiele- und Multimedia-Programmierung 2
W Bitmap aus Datei erstellen Spiele- und Multimedia-Programmierung 5
H Screenshot einer Graphics2D Anwendung erstellen Spiele- und Multimedia-Programmierung 6
Quaxli isometrische Sprites erstellen Spiele- und Multimedia-Programmierung 2
R Shapes erstellen Spiele- und Multimedia-Programmierung 8
D Jogl2 (Netbeans8) selbstlaufende Applikation erstellen Spiele- und Multimedia-Programmierung 4
S Grafik erstellen für Java Spiel Spiele- und Multimedia-Programmierung 8
M *.jar erstellen Spiele- und Multimedia-Programmierung 12
V Java3D: HUD erstellen Spiele- und Multimedia-Programmierung 2
V Java3D: Ringe für Saturn erstellen Spiele- und Multimedia-Programmierung 8
S jfreechart, kursdiagramm erstellen Spiele- und Multimedia-Programmierung 22
S Video erstellen (AVI) Spiele- und Multimedia-Programmierung 3
T Erstellen eines ausdruckbaren Formulars Spiele- und Multimedia-Programmierung 5
A Screenshots von einer Scene erstellen Spiele- und Multimedia-Programmierung 5
O Image dynamisch erstellen. Spiele- und Multimedia-Programmierung 6
G GL4Java Animation erstellen Spiele- und Multimedia-Programmierung 2
C JPEG oder BMP Bild erstellen Spiele- und Multimedia-Programmierung 5
S 3d editor gesucht der 3ds files erstellen kann. Spiele- und Multimedia-Programmierung 4
F Image eines bestimmten Bereichs eines JPanels erstellen Spiele- und Multimedia-Programmierung 4
T [jogl] GLU ab JSR-231 erstellen Spiele- und Multimedia-Programmierung 2
S Gif Animation aus Prog heraus erstellen Spiele- und Multimedia-Programmierung 11
S 3D Objekt erstellen und darstellen Spiele- und Multimedia-Programmierung 4
R JPEG aus HexString erstellen Spiele- und Multimedia-Programmierung 2
D mehrere Graphiken erstellen und ihre Position definieren Spiele- und Multimedia-Programmierung 4

Ähnliche Java Themen


Oben