eigenes Adventure schreiben
lima-city → Forum → Programmiersprachen → Sonstige Programmiersprachen
antwort
antworten
beispiel
code
demo
ende
entscheidung
frage
helfen
hilfe
http
problem
programm
sagen
spiel
spieler
struktur
text
windows
wohnzimmer
-
Ähm, kann mir vllt irgendwer n Grundgerüst für sowas geben?
Also so wie des "SAW" auf der ersten Seite oder so, ganz einfach, keine Grafik, keine Objekte, nur Handlung, Entscheidung, Handlung -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du solltest unbedingt in Maschinensprache programmieren. Dann ist das Programm schön schnell. Hol dir halt eine Demo-Version.
Na ja, ich wollte auch mal Unsinn schreiben, denn meiner Meinung nach ist die Programmiersprache für deine Aufgabe fast beliebig. Hauptsache die erstellten Programme laufen unter Linux. Würde ich vor dieser Aufgabe stehen, wären meine weiteren Kriterien: Leicht erlernbar und kostenlos.
(Für ein kleines Versuchs-Projekt habe ich vor einiger Zeit mal eine entsprechende Programmiersprache gesucht, allerdings für Windows in allen gängigen Versionen und mich für Profan 5.0 entschieden). Ich lerne sicherlich nicht C++ und kaufe mir ein entsprechendes Softwarepaket, um damit einige Zeilen Programmcode zu tippen und danach in der Schublade verschwinden zu lassen)
Weit wichtiger scheint mir die Frage der Komplexität / Struktur zu sein: Nehmen wir an, der Spieler kann zu 100 Fragen seine Antwort auswählen, dann ist das Spiel zu Ende. Das würde aber bedeuten, dass bei jeweils 2 Antwortmöglichkeiten 1,2,4,8,16,32,64,128,256 ... äh, tja, hm, jedenfalls eine riesige Zahl an Fragen und Antworten einprogrammiert werden müssen, weil ja abhängig von der Antwort die jeweils neue Frage gestellt wird.
Weil diese Zahl viel zu hoch ist, um in der Praxis realisiert werden zu können, müssen also bestimmte Antworten mit bestimmten Antworten anderer Fragen zum gleichen Ergebnis führen. Und das ist die eigentliche Schwierigkeit vor dem Programmieren: Die Struktur zu planen. Leider bin ich diesbezüglich kein Experte und verkneife mir irgendwelche dilettantischen Tipps. Aber die Frage an sich finde ich interessant.
-
Tja, das Texte schreiben dürfte mir als leidenschaftlichem Krimiautor wohl nich sooo schwer fallen...
mir gehts eben ums Grundgerüst -
Tja, das Texte schreiben dürfte mir als leidenschaftlichem Krimiautor wohl nich sooo schwer fallen...
Bei 6,34E+029 Texten wohl auch nicht so leicht. Selbst wenn das Spiel auf 20 Fragen verkürzt wird, benötigst du bei 2-Antworten insgesamt 524288 Fragen. Für ein aus der Sicht des Spielers so kurzes Abenteuer ist der Aufwand für dich enorm hoch.
mir gehts eben ums Grundgerüst
Das meine ich mit Struktur. Vielleicht sprechen wir vom Gleichen? Ich meine damit, eine grundsätzliche Lösung, wie du mit – sagen wir mal 50 – 500 Fragen und doppelt so vielen Antworten ein ansprechendes Spiel mit Multiple-Choice-Antworten erstellen kannst. Ohne ein paar „Tricks“ und „Kniffe“ kommt da nicht viel bei rum: Sieben bis Zehn Fragen und das Spiel ist nach 2 Minuten zu Ende.
-
Weit wichtiger scheint mir die Frage der Komplexität / Struktur zu sein: Nehmen wir an, der Spieler kann zu 100 Fragen seine Antwort auswählen, dann ist das Spiel zu Ende. Das würde aber bedeuten, dass bei jeweils 2 Antwortmöglichkeiten 1,2,4,8,16,32,64,128,256 ... äh, tja, hm, jedenfalls eine riesige Zahl an Fragen und Antworten einprogrammiert werden müssen, weil ja abhängig von der Antwort die jeweils neue Frage gestellt wird.
Nicht umbedingt. Man kann es einfach so machen, dass die meisten Textabschnitte für einen bestimmten Ort stehen. Und zu diesen Orten kann man auch wieder zurückkehren.
Wohnzimmer -->Schalt Fernseher ein -->Untersuche den Teppich -->Geh ins Schlafzimmer Schlafzimmer -->Untersuche Bett -->Geh nach Draußen -->Benutze Kopfkissen mit Fenster (rauswerfen) -->Geh ins Wohnzimmer
Man kann also beliebig oft zwischen Wohnzimmer und Schlafzimmer wechseln. Und wenn man irgendwo am anderen Ende der Welt ist, sollte man auch über verschiedene Zwischenstationen wieder ins Wohnzimmer gelangen können.
Aktionen, wie "Benutze Kopfkissen mit Fenster" kann man natürlich nur 1 mal machen, so dass man den entsprechenden Textabschnitt dann auch nur auf diese Weise zu lesen bekommt.
Als Programmiersprache solltest du auf jeden fall eine objektorientierte Sprache nehmen, da dadurch die Gegenstände, mit denen du in deinem Adventure herumhantieren willst, leichter im Programmcode definiert werden können.
In diesem Fall rate ich zu Python http://openbook.galileocomputing.de/python/ -
Okay, ich glaub des mit dem Textadventure war der falsche Begriff... also es soll z B so aussehen:
"Eine Mandantin ist zu dir gekommen und bittet dich verzweifelt um Hilfe. Sie glaubt ihr 17jähriger Sohn handelt mit Drogen. Nimmst du den Auftrag an?
(1)Ja
(2)Nein
"
Man wählt, wenn man "Ja" wählt, steht zum Beispiel dran
"Am nächsten Tag wartest du vor der Schule auf den Sohn der Mandantin. Dieser kommt mit seiner Freundin aus dem Schulhaus. Was tust du nun?
(1) Seine Freundin isolieren und befragen [du gibst dich als Redakteur der Schülerzeitung aus]
(2) Den beiden folgen
(3) Den Sohn isolieren und befragen [du gibst dich als Redakteur der Schülerzeitung aus]"
usw
-
Das Problem ist aber wie schon oben angesprochen dass du in jedem Punkt neue Antwortmöglichkeiten brauchst.
Wenn du X Fragen hast die immer zu einer Frage mit Y antwortmöglichkeiten führen, dann brauchst du Y^X antworten
Beispiel: 10 Fragen mit je 2 antworten, also:
2^10 = 1024 verschiedene antworten werden benötigt -
na ja, wenn man z B am Anfang "Nein" wählt is der Spaß vorbei
wenn man beim zweiten versucht sich als Schülerzeitungsredakteur auszugeben, is eben der Verdächtige/seine Freundin selbst bei der Schülerzeitung
etc
und das schreiben is wie schon gesagt kein Problem für mich -
ho ;)
Also ich kann mich nur wiederholen.
Das mag für dich jetzt komisch klingen, aber es ist meiner Meinung nach der Beste weg, wie du das angehen solltest!
Such dir im Internet ein Einsteigertutorial in C++ (Es muss kein Buch sein, wenn du schnell Lernst und Verstehst, reicht auch eine kurze (vil. 50 Seiten) Anleitung in form einer PDF Datei, etc.)
Ich habe jetzt vergessen, mit was ich das gelernt habe, aber wenn dus unbedingt wissen willst, kann ich schauen, ob ich noch irgendwas von den alten Tuts habe. (Aber frage Google doch einfach mal - habe es damals ja auch so gemacht.)
Wie dir schon gesagt wurde, brauchst du ja eig. nur folgendes:
Grundverständins (und nicht einmal das!) für #include
Ausgaben cout
Eingabe cin
schleifen (am besten while)
variablen (brauchst du eig. nur Integer, denn wenn eine Antwort gegeben wurde, setzt du die eine Var 1, und die andere(n) auf 0)
Eine Abfragemöglichkeit (if, else)
Und mehr brauchst du gar nicht...
Mit diesen Mitteln kannst du schon alles so schreiben, wie du es dir vorstellst.
Und wenn du dann wirklich mal Hilfe dafür brauchen solltest, dann kannst du noch immer hier im Forum nachfragen - es gibt ja einen eigenen C++ Teil :D
lg
Sincer
PS: Aber wie meine Vorredner schon geschrieben haben - Es ist schon einiges an (teils mühsamer) Arbeit dabei. Lass dich beim schreiben nicht entmutigen und gib nicht einfach auf. Das geilste kommt doch erst am Ende, wenn du das Programm verteilst, und alle sagen "Cool", "Finde ich klasse", etc :) -
Hi,
ich will ein adventureartiges Programm schreiben, ganz schlicht:
Text erscheint, User erhält 2 oder 3 Möglichkeiten weiterzuspielen, nächstes Textfenster abhängig von Entscheidung...
würde das gerne als Ausbildungsprogramm nutzen können...
Gibt es irgendwelche Programme mit denen ich sowas leicht erstelle oder könnt ihr mir ne andere Möglichkeit empfehlen?
EDIT: Bitte nur Linux-tauglich
Beitrag geändert: 19.11.2008 14:33:33 von researchers
Ich hab sowas mal gemacht. Ohne PHP nur HTMl und Javascript. Sdb heiß das Game. War ganz schön wurde aber leider wegen Copyright Problemem eingestellt. -
An HTML hatte ich au schon gedacht... aber des sind halt an Haufen Seiten...
-
Also, wenn es wirklich ganz simpel sein soll, dann mach das einfach so:
http://pastebin.ca/1265019
Die Programmiersprache ist C, weil ich in diesem einfachem(!) Fall die Benutzung von goto für sehr sinnvoll und ideal halte.
Eine gute Einführung in C ist http://openbook.galileocomputing.de/c_von_a_bis_z/ -
Also wenn du das wirklich ganz einfach textbasiert machen willst, ist das Hauptproblem (wenn ich das richtig sehe) ja nur, anhand eines gegebenen Pfades von Entscheidungen den nächsten Text zu ermitteln. Könnte man über Graphen lösen ^^
Ich könnte mir vorstellen, dass sich das in Prolog oder LISP sehr einfach realisieren lässt, weil du da einfach schreiben kannst (sinngemäß):
"Dieser Text wird angezeigt wenn Bedingung 1 und Bedingung 2 und Bedingung 3 erfüllt sind"
Und das halt für jeden Text. Keine Schleifen, keine weitere Programmierung nötig. Dafür halt Einarbeitung in Prolog :)
Die Hauptarbeit ist hin wie her die Erstellung der Texte.
MfG,
thw -
Es gab dafür mal nen Programm aber keine Ahnung wie das hieß, Adventure Creator oder so, war relativ einfach zu meistern ^^ Musst nur nen bissl googeln schätz ich :)
-
Es gab dafür mal nen Programm aber keine Ahnung wie das hieß, Adventure Creator oder so, war relativ einfach zu meistern ^^ Musst nur nen bissl googeln schätz ich :)
Okay, aufgrund dieses Kommentars:
An google hatte ich auch schon gedacht, aber mein PC läuft unter Linux und die meisten Programme laufen da eben nicht -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage