Text Adventure programmieren

Luchsderspieler

PC-Selbstbauer(in)
Hi Leute, Wie die Überschrift schon sagt möchte ich ein Text Adventure programmieren, ich kann jedoch kein Java, C, C++, ... Geplant ist in etwa so eine Oberfläche wie bei "Wer wird Millionär" nur das alle Möglichkeiten linksgebunden sind und es nur drei sind, im Hintergrund möchte ich noch ein Bild einblenden. Welche Programmiersprache soll ich nehmen? Hab schon ein bisschen mit ADRIFT experimentiert entspricht aber nicht meiner Vorstellung.


LG Luchs
 
Bei soetwas bietet sich Java an. Leichte einfach zu lernende Oberflächen API wie JavaFX oder SWING. Außerdem Platform unabhängig.

Eine alternative wäre vielleicht noch C#.

C würde ich auf gar keinen Fall für so eine Anwendung verwenden.
 
Zuletzt bearbeitet:
VB.net würde ich nicht nehmen. Meiner Meinung nach ist es nichts halbes und nicht ganzes. Java, C++, C# sind von der Syntax her relativ änlich. Wenn du später größere Projekte in angriff nimmst, hilft es dir enorm eine strikte OOP Sprache gelernt zu haben.
Soll heißen die 3 oben genannten Programmiersprachen machen mehr Sinn zu lernen wenn du wirklich Fuß in der Programmierung faßen willst.
 
Alternativ kann man das auch mit reinem HTML und CSS machen. Bedingt halt nur sehr viele HTML-Dateien und zur Handlung passende Verweise/Links untereinander.

So in der Art: Willst du nach rechts oder links gehen an der Verzweigung? Links verweist dann auf ein anderes HTML-Dokument als rechts und gut ist. So mit allen Wahlmöglichkeiten verfahren und schon hat man einen schicken "Verzweigungsbaum".
 
Ja wobei ich JAVA auch auf genau die "nichts halbes und nichts ganzes" Stufe stellen würde.
C++ / C# sind schon echt nice, nur die Frage ob das für so ein Vorhaben nicht schon etwas zu kompliziert ist.
 
Alternativ kann man das auch mit reinem HTML und CSS machen. Bedingt halt nur sehr viele HTML-Dateien und zur Handlung passende Verweise/Links untereinander.

So in der Art: Willst du nach rechts oder links gehen an der Verzweigung? Links verweist dann auf ein anderes HTML-Dokument als rechts und gut ist. So mit allen Wahlmöglichkeiten verfahren und schon hat man einen schicken "Verzweigungsbaum".
Damit hast du im grunde genau 0 möglichkeiten wirklich was zu machen. ich habe schon mal ine 'Questengine' gemacht für solche Text adventures, da geht so unglaublich viel;)
Deine HTML Engine könnte in etwa so viel wie viele aktuelle Spiele.
Wenn du noch JS hinzunimmst, könnte es sogar was werden.

Danke für die vielen Antworten :-)
Die größte Frage die sich mir stellt ist was eine OOP Sprach ist?
OOP ist ObjektOrientierte Programmierung.

Also zb. das eine Frage und deren Antworten jewiels ein Objekt sind (Mit Frage, Antwort1, ..., Antwortn. Sowie je einer verlinkung auf das Objekt von Antwort1 bis Antwortn).
Dadurch kannst du mit einer relativ einfachen Programmlogik (Du musst immer nur das aktuelle Objekt auswerten, wo du bist spielt keine rolle) sehr komplexe Quests und Textreihenfolgen aufbauen.
Entsprechend einfach ist das ganze dann auch zu warten.
Das Laden dess Textadventures von einer Textdatei aus, oder von einer DB aus ist dadurch sehr leicht zu implementieren.

Solche eine Quest klasse sähe dann etwa so aus:
Code:
public Class Quest{
 public Quest(){}
 public string frage="Wie geht es dir?";
 public string antwort1="gut.";
 public string antwort2="schlecht";
 public Quest antwort1Quest;
 public Quest antwort2Quest;
}
Die müsste man dann beim Starten des Programmes laden und die einzelnen Quests aufbauen.
Und danach anzeigen und jedesmal beim Auswählen einer Antwort die Angezeigte Quest durch die Quest der entsprechenden antwort ersetzten.


Im gegensatz dazu stehen die if Bäume die von Anfängern gerne gemacht werden: Kompliziert, fehlersuche schwer, es spielt eine rolle wo man in der Quest ist.
Versuch den If Baum mal dynamisch zu laden:lol:
 
Alternativ kann man das auch mit reinem HTML und CSS machen. Bedingt halt nur sehr viele HTML-Dateien und zur Handlung passende Verweise/Links untereinander.

Wäre sicher die simpelste, aber auch die unflexibelste und am schwersten zu wartende Möglichkeit das zu realisieren.

Wenn du noch JS hinzunimmst, könnte es sogar was werden.

JavasScript + HTML/CSS wäre wirklich eine brauchbare Alternative, die man in Erwägung ziehen sollte. Netter Nebeneffekt wäre, dass das Spiel plattformübergreiffend läuft und auch online spielbar ist.
 
Dafür brauchst du die passende Entwicklungsumgebung bzw Editor.
Ich habe vor ein Paar Jahren mal was von Eclipse für Java gehört, sollte damals wohl ganz gut gewesen sein...
 
Also sollte ich Java benutzen, wo soll ich den Code dann eingeben. Ich bin wirklich absoluter Anfänger ;-)

Du solltest gar nichts. Das sind alles nur Vorschläge. Wofür du dich letztendlich entscheidest ist ganz dir überlassen. In jedem Fall wirst du aber einiges an Zeit investieren müssen um dich in die jeweilige Sprache einzulesen und zu üben.

Falls du dich auf die Beiträge bezüglich HTML + JavaScript beziehst, gilt es zu beachten dass JavaScript etwas völlig anderes ist als Java. Die beiden Sprachen haben abgesehen vom ähnlichen Namen rein gar nichts gemeinsam.

Ja wobei ich JAVA auch auf genau die "nichts halbes und nichts ganzes" Stufe stellen würde.
Warum?
 
JavasScript + HTML/CSS wäre wirklich eine brauchbare Alternative, die man in Erwägung ziehen sollte. Netter Nebeneffekt wäre, dass das Spiel plattformübergreiffend läuft und auch online spielbar ist.
Ist aber mit JSON und co ebenfalls relativ schwer:daumen2:

Für Java würde ich netbeans als IDE nehmen. die macht das relativ gut.
 
Client Serv er Kommunikation. Als Anfänger ist das schwer.

Mit JS solch eine Kommunkation aufzubauen ist selbst dann noch schwer wenn man vorhin schon auf TCP ebene und auf DB ebene Solche Verbindungen benutzt hat.
Ich kämpfe zb. seit 2 Tagen damit. Mit Single Page Websites um genau zu sein.

Ich weiss nicht wie viel einfacher das wird, wenn man Javascript effektiv spricht und nicht nur lesen kann.
 
Client Serv er Kommunikation. Als Anfänger ist das schwer.

Mit JS solch eine Kommunkation aufzubauen ist selbst dann noch schwer wenn man vorhin schon auf TCP ebene und auf DB ebene Solche Verbindungen benutzt hat.
Ich kämpfe zb. seit 2 Tagen damit. Mit Single Page Websites um genau zu sein.

Du verkomplizierst das Ganze wohl auch etwas. Per JavaScript Daten nachzuladen, die auf dem gleichen Server liegen, ist denkbar einfach.
Abgesehen davon sollte es aber in seinem Fall nicht mal notwendig sein, Daten dynamisch nachzuladen.

Ich weiss nicht wie viel einfacher das wird, wenn man Javascript effektiv spricht und nicht nur lesen kann.
?
 
Zurück