Geschrieben um 23:08 am 11.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 24 | Welche Programmiersprachen eignen sich gut um IFs zu proggen... Mit TAG isses mir ein bisschen zu kompliziert, und ich weis wie leicht es in machnchen Sprachen geht... Koenntet ihr mir eine Sprache sagen, den Link zu einem Compiler und wnen moeglich auch ein Link zu Tutorien geben? Danke im Voraus! |
Geschrieben um 23:38 am 11.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 31 | bdoppler:
Als bis jetzt dachte ich immer TAG wäre die einfachste Sprache, die es hier gibt. Sie leicht zu verstehen, dafür aber glaube ich nicht so komplex wie Inform. bdoppler:
Komplett auf Parser zu verzichten. Würde ich als noch komplizierten ansehen, da man ja erst die ganze Umgebung programmieren muss. Ich weiß natürlich nicht welche Programmiersprachen du sonst behrerrscht, aber des größte Problem bei TAG war für mich anstatt "if" "wenn" schreiben zu müssen. |
Geschrieben um 03:06 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 126 | bdoppler:
Mit TAG isses mir ein bisschen zu kompliziert, und ich weis wie leicht es in machnchen Sprachen geht... Koenntet ihr mir eine Sprache sagen, den Link zu einem Compiler und wnen moeglich auch ein Link zu Tutorien geben? Uhmmm... das ist natürlich kaum eindeutig zu beantworten. Was genau hast du denn vor, wieviel Programmiererfahrung hast du, möchtest du deutsch-, englisch- oder sonstwiesprachige IF schreiben, "brauchst" du Multimedia-Elemente, soll's mit Parser sein oder irgendwas "Reduziertes" wie z.B. Multiple Choice? Eine gute Übersicht über IF-Autorensysteme ("Cloak of Darkness") und weitere Informationen zum Thema findest du hier: http://www.firthworks.com/roger/ -- allerdings fehlen u.a. deutschsprachige Autorensysteme und das neue TADS 3. Findest du TAG kompliziert, weil es eine vergleichsweise einfache und unflexible Sprache ist, weil es deiner gewohnten Herangehensweise nicht entgegenkommt, weil du wenig Programmiererfahrung hast, weil du die Dokumentation nicht lesen magst... oder warum? In welchen "manchen Sprachen" geht was genau leicht? Meinst du damit, daß XY in Python, Java oder C++ (oder TADS oder Inform oder Hugo oder anderen "mächtigeren" IF-Autorensystemen) leichter von der Hand geht als in TAG? Sicher ist sind die grade genannten Sprachen und Autorensysteme flexibler und Feature-reicher, und ich würde kompliziertere Dinge auch nicht gerade in TAG angehen wollen -- aber: TAGs deutscher Parser ist wirklich nicht von schlechten Eltern, und mit dem Tutorium stellen sich auch schnell erste Erfolgserlebnisse ein. Bei Problemen kannst du sicher Hilfe hier im Forum finden. Und daß man in TAG ordentliche (wenn auch leider, leider vollkommen un-multimediale) IF schreiben kann, hat sich auch schon mehrfach gezeigt (Der Angstbaum, Im Bannkreis, ...). IF zu programmieren, die so einigermaßen die Erwartungen an Infocom oder Magnetic Scrolls oder neuere Inform- und TADS-Spiele gewöhnter Spieler erfüllt, erfordert nun mal ein wenig Einarbeitungszeit. Wenn du IF schreiben willst, die nicht nur von zwei Freunden freiwillig gespielt wird, und du (wie die allermeisten Autoren) dazu nicht erst deinen eigenen Parser und dein eigenes Weltmodell entwickeln willst (oder kannst), empfehlen sich Allzwecksprachen schon mal nicht. Und was deutschsprachige IF betrifft, sind TAG und Inform meines Wissens die einzigen wirklich einsatzbereiten Autorensysteme, die in Frage kommen -- zumal du da auch davon ausgehen kannst, daß dir bei Problemen geholfen wird. (Einer der "Konkurrenten", Floyd, machte einen angenehm sauberen und syntaktisch wohlvertrauten Eindruck, ist aber wohl nicht ganz fertig und dann auch irgendwie verschwunden oder sowas.) (An sich favorisiere ich offensichtlich TADS 3, obwohl ich die noch undokumentierte dazugehörige IF-Library (adv3) kaum kapiere und mich in absehbarer Zeit auch kaum trauen werde, sie ins Deutsche übertragen (dabei soll T3 ja leicht übersetzbar sein.) Wie's aussieht, macht T3 es allerdings relativ leicht, selber einen Parser zu entwickeln -- nicht, daß "leicht" wirklich der angemessene Ausdruck wäre, aber vieles von der Drecksarbeit des Strings-Zerlegens, Wörter-Objekten-Zuordnens usw. wird einem auch ohne Verwendung von adv3 abgenommen. Für Anfänger oder mit IF noch sehr Unerfahrene ist T3 aber auch unter Verwendung der adv3-Lib noch nicht zu empfehlen (ich gehe jetzt mal davon aus, daß du kein Code-Guru bist) -- nicht, solange es keine einsteigerfreundliche Dokumentation dazu gibt.) Wenn du "nur" Multiple Choice schreiben willst, kannst du natürlich mit allem arbeiten, von HTML über dedizierte MC-Autorensysteme wie Adventurebook oder C-TAC und IF-Sprachen wie Inform oder TADS bis hin zu "webbigen" Sprachen wie PHP und Allzwecksprachen von Basic über Delphi/Kylix, Java und C++ und zurück, wobei ich im Sinne der Plattformunabhängigkeit vielleicht zu IF- oder einer HTML-/"Websprachen"-Kombination raten würde. Für GUI-orientierte (evtl. auch illustrierte) Textadventures a la "LucasArts ohne Animation" (oder "Eric the Unready/Tass Times/Spellcasting x0x ohne Parser") würde ich aufgrund der Einfachheit, mit Fenstern, Schriften, HTML-Tabellen, Grafiken, Buttons etc. zu arbeiten spontan TADS 3 empfehlen, aber so direkt loslegen wie im Falle traditioneller, parser-gesteuerter IF könntest du da auch nicht. Schließlich ist T3s adv3-Library für Parser-IF gedacht. Ähnliches gilt für Inform und Hugo, die ebenfalls Multimedia-Features haben, ohne daß ihre Libraries für grafische Spielen ausgelegt wären. Solche Spiele sind vielleicht in Delphi oder VisualIrgendwas oder Sprache-deiner-Wahl oder C++-mit-irgendeiner-GUI-Lib genauso einfach/schwer zu bewerkstelligen. Kenn mich da nicht aus. Vielleicht gibt es aber auch Sprachen, die bereits auf solche Spiele gemünzt sind. Für reine Grafikadventures im Stil von Maniac Mansion oder The Longest Journey oder King's Quest bieten sich u.a. SLUDGE oder AGS an (Google hilft. Ich weiß sonst eigentlich nichts über die, außer daß AGS ein umständliches DOS-Tool ist und noch nicht ganz in der Neuzeit angekommen, was bei grafischen Spielen doch etwas stört. SLUDGE sieht aber lecker aus. Yum.) http://trumgottist.com/crowsnest/ verrät bei Interesse mehr zu Engines, die für Spiele in LucasArts-/Sierra-Manier gedacht sind. Das ist hier aber off-topic, also wohl nicht, wonach du suchst. Uff. Das war's. |
Geschrieben um 11:47 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 238 | |
Geschrieben um 15:19 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 31 | Walafrid:
So war das auch nicht gemeint. Ich denke aber immernoch wenn ich mir überlege wie ich es schreiben will. " IF ... THEN ... ". Mittlerweile geht es einigermaßen. Jetzt habe ich das Problem andersherum. Ich schreibe in Delphi "Wenn" anstatt "If". Grundsätzlich halte ich TAG aber für eine Sprache in der man gut und einfach Programmieren kann. Gerade als Anfängen (der der englischen Sprache nicht sehr mächtig ist) kann man sich gut vorstellen, was das Programm jetzt eingendlich macht. Sprich "WENN, DANN SONST". |
Geschrieben um 15:38 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 24 | In QBasic habe ich einige, die fuer Textadventures total reichen! C++ hab ich auch mal angefangen, hatte aber in letzter Zeit keine Zeit mehr... oder nicht mehr so viel! Ich habe das Tutorium gelesen (uuuuuuuuhhhhh ) und weis aber noch nicht so richtig wie man Zeitschleifen macht... also, zB. in 15 Runden geht irgendson Tor auf, wo dann ein Gegner kommt.. bis dahin muss man weg sein oder so)... Naja, Multiple-Choice Lehne ich ohne viel zu ueberlegen ab... Di Raetsel in diesen Spielen sind sehr einfach (da man ja nur 1 Taste druecken muss und man sieht ja was man da macht.. zB: (1) schaue unter tisch, (2) gehe wieder - sehr einfach "unter tisch schauen ") ausserdem gibt es meistens 4 Antworten, wo 2 zum Tode fuehren, 1 in ne Sackgasse und 1 Richtig ist - Spielspass is schnell weg! Naja, ich weis dass es in QBasic, C und C++ relativ leicht ist ein IF zu entwickeln... Ich verusche es einfach weiterhin mit TAG, bis mir jemand eine gute Sprache sagen kann |
Geschrieben um 16:19 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 126 | bdoppler:
(Einige was? Und wenn sie total reichen, wieso nimmst du sie dann nicht? Ich glaub, ich verstehe nicht wirklich, was du willst...) Zitat:
(Das ist jetzt keine Schleife, aber egal:) du kannst mit "Aktion *" Aktionen definieren, die am Ende jeder Runde automatisch ausgeführt werden. Eine solche könntest du benutzen, um in jeder Runde eine Variable (Flagge), die zu Beginn des Countdowns auf 15 gesetzt wird, um 1 zu dekrementieren (verringern, Befehl "Dekr"). Wenn die Flagge dadurch auf 0 rutscht, kommt der Gegner. Das steht aber so ähnlich auch im Manual ("zeitabhängige Ereignisse"). Zitat:
Di Raetsel in diesen Spielen sind sehr einfach (da man ja nur 1 Taste druecken muss und man sieht ja was man da macht.. zB: (1) schaue unter tisch, (2) gehe wieder - sehr einfach "unter tisch schauen ") ausserdem gibt es meistens 4 Antworten, wo 2 zum Tode fuehren, 1 in ne Sackgasse und 1 Richtig ist - Spielspass is schnell weg! Ich fände es auch langweilig, MC zu programmieren, aber "A Dark and Stormy Entry" (Emily Short) oder auch "Halb Zwei" (Wala) funktionieren ganz, ganz anders als dein Beispiel. Mit Rätselknacken oder "Gewinnen" hat das dann nüscht zu tun, eher mit dem Erforschen von Möglichkeiten vage rumfabulier Zitat:
In so ziemlich jeder IF-Sprache ist es sehr viel leichter. Aber vielleicht haben wir auch ganz unterschiedliche Vorstellungen vom technischen Innenleben eines Textadventures/IF-Dingsbumses. Zitat:
Das haben wir ja schon getan... insofern viel Glück mit TAG. (Wenn du wirklich meinst, IF in C wäre relativ leicht zu entwickeln, könnte dir allerdings auch Inform zusagen.) |
Geschrieben um 16:20 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 404 | Zitat:
Aber nur ohne Parser. Parser programmieren ist ziemlich kompliziert. Zitat:
Da kannst Du warscheinlich lange warten - außer TAG und Inform gibt es halt nichts Vernünftiges für deutsche IF. Zitat:
Mit einer "Aktion *". Die wird automatisch nach jedem Zug ausgeführt:
|
Geschrieben um 16:23 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 37 | Ally:
Trotz OT kann ich als member der AGS-community (Ja, ich bekenne ) natürlich nicht so stehen lassen. Adventure Game Studio hat inzwischen eine reine Windows-Oberfläche bekommen, die wirklich viel einfacher und intuitiver ist, als die DOS-Geschichte. Wer wirklich mit dem Gedanken spielt, ein Grafik-Adventure zu machen, der sollte sich AGS unbedingt mal ansehen. (www.agsforums.com) Was die IF-Sprache angeht, so kann ich gerade Einsteigern ("Anfänger" sagt man ja nicht mehr) nur TAG empfehlen. Wenn man sich ein bisschen reinfuchst, stellen sich die Erfolgserlebnisse sehr schnell ein, und der wirklich erstklassige Parser bewahrt einen eine ganze Weile davor, sich über vermurkste Grammatik zu ärgern. Wer das allerdings mag, wird Inform lieben. |
Geschrieben um 16:49 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 238 | |
Geschrieben um 16:52 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 126 | Christoph:
Die fand ich wirklich wirr. Hätte mir wohl denken sollen, daß die mal ersetzt wird... |
Geschrieben um 20:57 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 275 | Ally:
Die Herangehensweise unterscheidet sich natürlich etwas. Bei IF-Sprachen wie TAG und Inform ist vieles schon vorhanden, wie bspw. der Parser. D.h. man muss schon lernen, wie man damit umgeht, das ist aber immer noch deutlich weniger Aufwand als Parser und User-Interface usw. alles selbst zu schreiben. Wie jemand TAG schwerer als C++ finden kann, ist mir zwar ein Rätsel, aber wenn's an der Syntax liegt, läge dir vielleicht wirklich eher Inform. Ich persönlich find's zwar schwerer als TAG, aber es ist immer noch viieel leichter als alles selbst in C++ zu schreiben. Woher weißt du eigentlich, dass es in QBasic oder C, C++ so einfach wäre? Hast du schon irgendwas fertiggestellt? Ich meine, so richtig fertig?? bdoppler:
Soll das heissen, TAG wäre keine gute Sprache? Da hab ich mich hoffentlich verlesen. |
Geschrieben um 21:42 am 12.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 24 | Naja, ich habe fertige Produkte gehabt, die ich jetzt leider nicht mehr habe ^.^'' wie schon gesagt, hab die diesketten bis zu gaenze gebraucht! Ich will nicht sagen dass TAG schlecht ist, nur die Syntax und die Befehle von TAG wirken auf mich ein bisschen verwirrent ^.^''' |
Geschrieben um 00:17 am 13.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 290 | bdoppler:
Da schließe ich mich den anderen hier an: ich weiß, dass es extrem schwierig ist, in o.g. Sprachen IF zu entwickeln, da sie zunächst überhaupt keine IF-spezifische Unterstützung bieten. Allein für Merkmale wie Raum- und Objektverwaltung muss das Rad neu erfunden werden, vom Parser ganz zu schweigen. Wenn es wirklich so leicht wäre, gäbe es sicher viel mehr sehr gute Spiele, die in Basic oder C/C++ programmiert wurden. Andererseits kannst Du uns gerne das Gegenteil beweisen bdoppler:
Ich hoffe, dass Du uns Deine Entdeckung dann nicht vorenthältst und uns über die Programmiersprache Deiner Wahl informierst. Tanan:
|
Geschrieben um 14:34 am 13.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 126 | Walafrid:
Vielleicht hat der Schwierigkeitsgrad von TAG wenig mit TAG selbst zu tun, sondern steigt mit zunehmender 'Schädigung' durch zuvor Verwendetes? Wenn ich bei dem, was ich mir vornehme, von Anfang an in Strukturen wie "for (local obj = firstObj(vTemplate) ; obj != nil ; obj = nextObj(obj, vTemplate)) game.vList += obj;" denke, ist das bei TAG natürlich wenig hilfreich. Aber Richtige Programmierer sind davon vielleicht unabhängig. |
Geschrieben um 14:45 am 13.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 24 | Naja, ich meine mit Produkte natuerlich Spiele Ich werde halt viel mehr Zeit fuer TAG verbringen muessen, als nur 2 Wochen! Achja, meine "Recht"schreibung schreibt sich falsch ^.^'' das kommt aber nur daher, dass ich eigentlich nur "drauf-los" tippe, also keinen 10-Fingersatz verwende, so wie dieser ueblich ist. Da schleichen sich manchmal Fehler ein, obwohl ich - finde ich - fuer meine sehr schnelle (ca. 2500 Anschlaege hab ich mal unter 10 minuten getipp ^.^ mit nur 2 FEHLER!) Tippweise, fast keine Fehler habe ^.^ |
Geschrieben um 12:53 am 15.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 199 | TAG erfordert eine gewissen Einarbeitungszeit, aber das bringt auch Ergebnisse, sag ich dir. Schau dir Dinge von anderen Quellcodes ab, such die Stichworte in den Anleitungen, halte deinen Quellcode übersichtlich und es muss gehen. |
Geschrieben um 16:57 am 15.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 24 | Ok, danke ^.^ Ich werd mich halt mal naeher damit beschaeftigen, aber mal guckn.... eventuell werd ich auch nur kleinere IFs schreiben, die eigentlich komplett unsinnig sind Danke nochma |
Geschrieben um 17:04 am 16.02.2003 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Ein C++-Progg-Papst:
Komisch. Davon war ich auch ohne Ankündigung ausgegangen. Wenn das Adventure schon klein und unsinnig ist, ist hoffentlich die Entwicklung des Parsers eine Herausforderung für Dich. Dann solltest Du doch vielleicht C++ benutzen. Andererseits besitzt C++ eine strenge Syntax und beachtet Groß-, Klein- und Rechtschreibung. Du solltest auf jeden Fall deine normale Tippgeschwindigkeit reduzieren. |