![]() |
Textadventure selbst erstellen - Wie?
Hey,
und zwar habe ich mir überlegt, ein (kleines) Textadventure, wie man es aus den guten alten Zeiten kennt, selbst zu schreiben. Nun sind meine Programmierkentnisse leider nach wie vor bescheiden, so das mir noch nicht ganz klar ist wie ich es umsetzen soll/werde. Die Fragen wären: 1) Die Sprache - VB - Perl - PHP - Was andres? Die 3 genannten kann ich wenigstens ein ganz klein wenig, wobei mir Perl da am leichtesten fallen würde weils mega leicht ist da einfach Text ausgeben zu lassen.. Wobei ich nicht weiss wie oder ob man da auch wechselnde Hintergrundgrafiken u.ä. erstellen kann.... 2) Grafiken fürn Hintergrund Sinnvoll oder nicht? Im orginal hatten die damals ja ansich keine großartigen Screens, aber bei ner "Neuauflage" wäre das angebracht.. Oder? 3) Die Handlung Eher spontan sein oder doch vorher Gedanken machen? Was denkt ihr? Wie würds mehr Sinn machen? Ich weiss was ich will, möchte nur eure Kommentare und Einfälle dazu hören. Also keine Neumalklugen Bemerkungen bitte ;) |
Erstmal brauchst Du ein Storyskript. Die Handlung sollte von vornherein stehen, also was soll Dein Protagonist erleben, wo fängt er an, wo lebt er/ist er gerade, was für Abenteuer soll er erleben. Wie soll die Handlung enden? etc.
Lass dabei Deiner Fantasie freien Lauf, schreib eine Geschichte, so wie Du sie erleben möchtest bzw. andere sie erleben sollen. Diese Geschichte kannst Du dann aufteilen in Handlungsorte und dort fängt das eigentliche Programmieren an. Wenn Du das hast, geht es um Design Deiner Oberfläche. Sollen die Spieler alles selber eintippen oder möchtest Du eine Art[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] zur Verfügung stellen? Perl ist kein schlechter Anfang für ein Textadventure, da es gerade zu prädestiniert ist, Text zu verarbeiten und auszugeben. |
gute idee, so eine old-school-geschichte wiederzubeleben!
die programmiersprache ist für so etwas IMO egal. die grundlegende handlung würde ich schon vor dem coden fertig haben, danach wirst du noch von selbst spontan sein. |
C wäre ebenfalls geradezu perfekt für ein Textadventure.
ANSI C hätte unter anderem noch den Vorteil, dass es auf Windows und Linux lauffähig wäre, ohne das man es großartig umschreiben müsste. Ich habe schon lange kein gutes Textadventure mehr gespielt - dein Vorhaben macht Lust auf eine Runde Nethack. ;) Viele Grüße, haze303 |
Ok, danke schonmal für eure Antworten :)
Also ich habe bereits eine fertige Handlung für ein Spiel, was aber eigentlich weniger für so ein Textadventure gedacht war.. Aber liesse sich auch problemlos verwenden... Nun zu den Sprachen... Scumm klingt interessant, basiert aber wohl auf C-ähnlichen Sprachen.. Die kann ich halt leider überhaupt gar nicht... Werde ich mal sehn nachher ob sich daas lohnt dafür auch noch mit C anzufangen.. Sonst wirds eben wohl anfangs über Perl laufen... Ist es eigentlich relevant welchen Compiler oder welche Sprache man nutzt wenn man das Spiel bzw die Anwendung anschliessend irgendwo veröffentlichen will? Weil ich würd das zwar nicht verkaufen, so ien Weltwerk wird das wohl nicht, aber zumindest doch an paar Leute weitergeben und evtl wenn es was wird mal versuchen damit irgendwo vorstellig zu werden fürn Job in der richtung... Naja ok kann ich auch google benutzen um das rauszufinden^^ Aber mal sehn... Wenn noch jemand was sagen möcht dazu immer gern :) |
Was ich mit SCUMM meinte, war eher die Benutzung des Adventures. D. h. dass Du je nach Kontext mehrere Möglichkeiten anbietest wie zB. Rede, Untersuche, Gehe zu etc.
Das macht es einfacher, die Eingaben zu parsen und Fehler von der Benutzerseite her zu vermeiden. Wenn Du alles von Hand eintippen lässt, musst Du halt mehr Sachen parsen. Wenn Du Bilder als Hintergrund anbieten willst, müsstest Dich mit Perl::Tk oder Perl::Qt auseinandersetzen. Auf der Konsole ist das nicht darzustellen. Oder Du machst eine lokale Webanwendung draus, dann kannst Du alle Vorteile von Perl und HTML/XML mit nutzen. |
Ah so ok....
Hmm ja so gesehn wäre das um Welten einfacher, wenngleich der Aufwand doch erheblich ist... Das so eine Anwendung eine Mords-Arbeit ist war mir klar, aber im moment (habe erst gestern angefangen mir ernsthaft Gedanken zur Umsetzung zu machen) bin ich da doch bissel überwältigt... Ne reine Konsolenversion wäre für den Anfang sicherlich recht leicht, aber ist halt gleichzeitig ziemlich langweilig und irgendwie nicht ganz zeitgemäss. Mein neuster Einfall wäre einfach über VB das zu machen, ähnlich Schaltflächen... Also ein wirklich reines textadventure, ohne Mausbenutzung, nur zum lesen quasi... Das ginge ja sehr einfach.. wäre vom Prinzip her umsetzbar wie die DSA-Abenteuer, also verschiedene Antwortmöglichkeiten, je nach antwort setzt sich die Geschichte fort usw. .. Das würde ne gewisse Dynamik reinbringen. Aber bleibt halt das Problem mit dem doch recht langweiligen Grundprinzip.. Eine Frage zu der lokalen Webanwendung... Würde das vorraussetzen das alle Nutzer der Software anschliessend einen lokalen Serverdienst laufen haben? Also z.b. sql oder apache oder so? Weil meine bisherigen Erfahrungen mit Perl im zusammenhang mit mit Webapplikation bauten immer drauf auf das der Server diese Dinge benötigte... Hoffe die Frage ist richtig gestellt, blick grad selbst nich ganz was ich mein :confused::D:o |
Ja, einen Server brauchste + Perl-Installation auf dem Rechner. Apache muss nicht unbedingt sein, es gibt auf dem CPAN sicherlich ein paar Module, die einen HTTP-Server emulieren und nur die grundlegenden Funktionalitäten bereitstellen.
|
Nimm c++/c# oder für Anfänger am besten vb.
Bei Vb und c# hast du die möglichkeit über Silverlight eine Webanwendung zu schreiben. Würde dir persönlich c# Empfehlen in einer Konsolenanwendung. Kannst aber auch ganz anders sein und ein WIndows Form benutzen. |
Von Windows war hier nie die Rede...
|
Was Windows Forms damit zu tun hat ist mir nun auch nicht ganz klar ehrlich gesagt...
Aber gut, wirst dir irgendwas dabei gedacht haben.. Habe mir nun für den Anfang mal überlegt das wohl ein wenig zum testen zu machen, wobei ich halt einen Teil meiner Story einbringe, auf alles weitere noch verzichte und erstmal schaue wie das ankommt. Und je nachdem wie die Resonanz ist schaue ich dann wie es weitergeht. Das Problem ist, meine Hauptstory wäre quasi in ner Stunde erzählt... Da man aber ein Spiel ansich gerne länger spielt, da noch merh Verzweigungen rein müssen und so, muss ich das noch weiter ausbauen... Bringt ja nix immer nur weiter zu klickenu nd zu lesen, da kann man gleich ein Buch nehmen^^ |
Textadventure.. ich liebe Textadventure!!!!!!
Da du sowas programmieren willst, vielleicht helfen dir ein paar Tips von mir :) Das Problem war immer bei den Textadventuren der Parser, er war der Knackpunkt. Um es mal kurz zu verdeutlichen. Angenommen in deinem Textadventure führst du eine Gruppe von Abenteurern durch eine Höhle voller Trolle und willst dort die Trolle erschlagen und das Gold klauen. Weiter nehmen wir an dein Textadveture gibt dir nun aus: Du gehst mit deiner Gruppe weiter durch das Höhlenlabyrinth, vor die verzweigt sich nun der Weg. Der linke Gang führt weiter hinab in das Labyrinth, der rechte Gang hört nach etwa 2 Metern auf und auf dem Boden befindet sich eine Falltür aus Holz. In welchen Gang möchtest du mit deiner Gruppe gehen? > Da es hier nur 2 Auswahlmöglichkeiten gibt die man eingeben kann (links oder rechts) bietet sich eine einfache Ja/Nein Abfrage an oder wenn man es schöner programmieren will eine Mehrfachauswahl (case). Übel wird es zb. wenn die Eingabe kompliziert wird, nehmen wir das Beispiel das wir oben "rechts" eingeben: Du hast dich mit deiner Gruppe für den rechten Gang entschieden. Nach 2 Metern endet der Gang und deine Gruppe steht vor einer schweren Falltür aus Eichenholz. Was möchtest du tun? > Nun muß der User bei (einem gut programmierten Textadventure) mindestens 3 Wörter eingeben und dein Programm muß die erkennen: untersuche die Falltür öffne die Falltür Angegommen der User gibt ein "öffne die Falltür" und das Programm gibt nun aus: Ihr versucht die Falltür zu öffnen - sie bewegt sich keinen Milimeter Vermutlich wird der User jetzt sowas eingeben: "Breche die Falltür auf" oder "Benutze ein Schwert als Hebel um die Falltür aufzubrechen" Und schon bist du in dem einen Fall bei 4 Wörter und im anderen sogar bei 9 Wörter die dein Programm verstehen sollte. Hier ist halt der große Knackpunkt, der Parser deines Programms. Wenn der parser (also die Worterkennung) gut programmiert ist kann er ohne Probleme die 9 Wörter verstehen, aber - großes aber, so einen parser zu programmieren ist kompliziert, sehr kompliziert!!! Es gab in der Vergangenheit der Textadventure eigentlich nur 2 große Firmen die es fertig brachten einen Parser dermaßen gut zu programmieren das er solche komplizierten Sätze verstand. Einmal war das die Firma Infocom die solch gute Textadventure programmierten das sie heute noch absoluter Kult sind (zb. Zorc, Hitchhiker, North&Bert, Sorcerer, Spellbreaker, Shogun usw. Und einmal die Firma Magnetic Scrolls die ebenfalls absolut geniale Textadventures rausbrachte und außerdem dort zusätzlichen Bilder einbaute, sie brachten Textadventure raus wie Guild of Thieves, The Pawn, Fish, usw. Die Parser der beiden genannten Firmen war so gut das man Unsinn eingab das Programm ironisch antworte, passend zu der Eingabe. Nun zu der dir und zum programmieren solcher Parser. Es gibt seit einige jahren eine richtige Fangemeinde im Internet um die (leider meist englischen) Textadventure von Infocom. In den frühen 90er jahren wurde der Parser der Infocom Spiele gecrackt, eigentlich die in den textadventure enthaltende Z-machine die die objektorientiere Sprache Inform benötigte. Zum Verständnis: die Firma Infocom entwickelte eine eigene Programmiersprache die speziell dafür ausgelegt war auch komplizierten Parser zu verstehen. Der Compiler (oder besser eine virteulle Maschine) die aus dem Quellcode ein lauffähiges Spiel machte hieß Z-machine). Das es nun gecrackt wurde war der Weg frei das die Fans solcher Textadventure eigene Textadenture in dieser Programmiersprache Inform programmieren konnte und mit solch komplizierten parser Texten. Um nun selber solche Textadventure mit Inform zu programmieren brauchst du die deutsche Libary, download hier: und eine Einführung in die Programmiersprache mit Beispielen, das findest du hier (mit Link zu dem Z-Compiler) auf deutsch: Wenn du nun ein Textadventure fertig programmiert hast gibt es für Windows ein Programm das WinFrotz heißt, damit kann man zum einen die ganzen alten Textadventure von Infocom öffnen und spielen (Das Dateiformat solcher Textadventure ist meisten .z5) download von WinFrotz (Freeware) hier: viele weitere solcher .z5 Textadventure gibt es hier: Und hier kann man übrigens einige Spiele von Infocom Online spielen, zb. Dungeon oder Zorc um mal ein bißchen Textadventure Nostalgie zu schnuppern, aber denkt dran die Textadventure von Infocom sind sauschwer zu lösen aber machen viel Spass: Ach so etwas zur Ironie von den Infocom Adventuren, geht mal auf das Online Spiel von Zorc: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] Zitat:
|
Super Beitrag @quink!
Da muss man mal ein Lob aussprechen. Schöner, strukturierter und dazu noch verständlicher kann man komplexere Themen nicht präsentieren. Das Parsen solcher Eingaben ist tatsächlich keine einfache Aufgabe. Wenn man so etwas selbst implementieren will, dann kann ich den Einsatz von Prolog empfehlen. Prolog wurde damals entwickelt um Sprache zu analysieren. Wird aber nicht umsonst "Akademiker-Programmiersprache" genannt, d.h. Prolog ist nicht leicht zu verstehen. |
DAnke für eure antworten und entschuldigung das ich nich eher was dazu schrieb ;)
Habe nun mal angefangen die erste, also sozusagen die Grundgeschichte aufzuschreiben. Da man aber ja immer mehr als eine Möglichkeit haben sollte müssen da mehrere Wege her. Ich hab nun Ideen für 2-3 alternativen, aber mal noch ne Frage... Wie lang würdet ihr so ein Spiel inhaltstechnisch ungefähr machen? Meine Hauptstory wäre als Buchform bei einem schnellen Leser in ca. 3 Stunden abgearbeitet. Da man ja aber bissel mehr lesen muss und so denk ich mal es würd so bei direkter abarbeitung 4-5 stunden gehn. Reicht das dann erstmal oder sollte ich das ganze noch mehr ausschmücken? Das Parser Problem wird so nicht wirklich aufkommen, weil in meiner ersten Version kaum freies schreiben möglich sein wird... Habs erstmal als reines auswahlspiel geplant, um zu sehn wie groß der aufwand ist, ob das in ner Relation mitm Nutzen steht und so... Aber trotzdem super Beitrag, vielen Dank hierfür. |
gabs nicht mal so ne art baukasten für adventure games?
ich kann mich da an was erinnern. nannte sich glaub ich game studio oder so |
Na Baukästen gibts schon ein paar, aber darum gehts mir ja nicht. Ich will kein Adventure in dem Sinn das man rumläuft oder so sondern eben nur rein textbasiert, d.h. man liest die Geschichte, steigt ein, wird Teil davon und erlebt es quasi nur in der fantasie, ohne viel bilder direkt vorgegeben zu bekommen...
|
verdammt ich drück immer auf bedanken statt auf antworten....
wenn du es ganz ganz einfach machen willst wie wärs wenn du das in html machst? es gibt auch in html eingabemöglichkeiten, sprungbefehle und soweit ich weiß auch wenn- dann abfragen etc. könnte man sich wie eine Art DSA Soloabenteuer vorstellen wenn dir das was sagt |
HTML? Weißt du überhaupt, wofür das steht? Hier, ein hilfreicher Link: [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Das was du meinst, ist wohl eher PHP. Aber auch das kann nur im Internet benutzt werden (also im Browser). |
Zitat:
da bin ich leider ein snob, mit internet-programmierung will ich nichts zu tun haben ^^ EDIT: da war wer schneller als ich. PHP kann aber unser kollege und themenstarter. |
HTML ist schon möglich, wenn man jedes mal ne andre seite aufruft wo der text drauf steht ;)
Also im Prinzip so: Frage seite frage Antwort seite antwort mit 3 möglichkeiten Möglichkeit 1 Seite 1 Möglichkeit 2 Seite 2 Möglichkeit 3 Seite 3 Also möglich isses, nur hast du danach 10mrd HTML-Dokumente^^ Hab nun aber übrigens mal angefangen mir C anzuschauen, scheint aber gar nich mal so schwer zu sein wie zunächst gedacht, verlängert das Projekt aber noch erheblich.... Und @zecho genau in der Art möchte ich es machen, nur ist HTML dafür halt weniger geeignet, aber danke trotzdem für den Hinweis :) |
danke erstmal
|
Ich wär sowas mit Python angegangen, wenn du Bilder einbinden willst evtl. mit Pygame Library, ist verdammt einfach von der Syntax her, und für Tutorials stehen die onkels youtube oder galileo/openbook zu Verfügung!
Wünsche dir viel Glück bei deinem Projekt und hoffe du stellst es hier rein wenn's die Beta-Phase erreicht hat :D ;) mfg, Mint |
textadventure? :D
da wird man ja gleich nostalgisch ^^ spaß bei seite: html sehe ich als schwachsinnig an. ich würde auch zu perl oder c greifen zumal du vom ersetn ja auch schon ahnung hast. viel spaß beim erstellen deines adventures. musst du dann mal uppen ;D |
Ihr schwafelt schon von der Beta :D
Ich bin grade noch am Alternativ-Story tippern, hab nun 3 Möglichkeiten, aber ist irgendwie noch zu wenig, und langsam wirds schwer :rolleyes: Mehr hab ich noch gar nicht geschafft :rolleyes: Aber irgendwann wirds fertig, und sollte ich bis dahin hier nicht gesperrt sein, wirds als erstes hier landen, das steht ja ausser Frage :) |
Zitat:
mfg, Mint. |
Natürlich nicht, aber es gibt schon ein paar Experten hier im Board wo es extrem schwer fällt die Finger ruhig zu halten :rolleyes::D
|
Zitat:
mfg, Mint. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.