IF-Forum

» IF-Forum - Autorencafé - Schreiben! - T.A.G.- Webportierung
AntwortenNeues ThemaNeue Umfrage

T.A.G.- Webportierung

Geschrieben um 21:41 am 23.05.2004 | Zitat | Editieren | Löschen
magicbelt
Mitglied
Baby Gumby
Beiträge: 7

Mir kam neulich die Idee, T.A.G. oder etwas Ähnliches in eine php-mysql-Umgebung zu portieren, schöne wäre natürlich T.A.G., da es einen vernünftigen Eindruck macht, man dann schon Spiele hätte und einige Leute die Sprache bereits kennen.

Der Knackpunkt der Sache ist die Rechenzeit von PHP bei vielen Spielern und aufwendigen NPC- bzw. Daemons-Rechnereien und wenn Objektbäume jedesmal wieder durchlaufen werden müssen.

Man kann allerdings die Probleme in den Griff bekommen, wenn man die Rechenzeit misst und sich bei der Entwicklung daran orientiert, wenn man 2. Objektwerte für die Datenbank auf Felder aufteilt und indiziert.

Hat hier jemand an einer Mitenwicklung Interesse? Und wenn ja, in welchem Zeitrahmen (1. Jahr?)

Stichworte:

-multiunserfähig

-onlineentwicklung von adventures mit einfacher sprache, z.B.

exa baum_2 attr entflammbar

-objektbibliothek (mit vielen Standard-objekten)

-filling objects (u.a. für Landschaften)

-life-aufzeichnung von npcs

Geschrieben um 21:52 am 23.05.2004 | Zitat | Editieren | Löschen
binzl
Mitglied
Master Gumby
Beiträge: 98

Die Idee ist an sich nicht schlecht, aaaaber... wieso schreibst Du das ganze nicht als Java Interpreter a'la zPlet (z-code Interpreter als Java Applet)? Der Interpreter könnte dann die .tag Dateien lesen genau so wie zPlet .z5 bzw. *.z8 Dateien lesen und interpretieren kann. Die TAG Spiele könnte man dann wie gewohnt offline schreiben und auf Deiner Seite zur Verfügung stellen.

Geschrieben um 22:00 am 23.05.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

Zitat:

Mir kam neulich die Idee, T.A.G. oder etwas Ähnliches in eine php-mysql-Umgebung zu portieren...

Mir ist nicht ganz klar, was du nun implementieren möchtest. Eine T.A.M.- oder andere Textadventure-Engine, ähnlich des Java-Applets zPlet? Oder eine Multi-User-Umgebung, in der sich dann Kräuterfreunde aus der ganzen Welt in Niederzell tummeln können? Oder eine online-Entwicklungsumgebung? Kann man überhaupt eine dieser Sachen sinnvoll in PHP realisieren?

Zitat:

multiunserfähig

Hehe. Ich habe seit meiner Erstkommunion ein Gesangbuch, das vaterunserfähig ist. :-)

Geschrieben um 22:07 am 23.05.2004 | Zitat | Editieren | Löschen
magicbelt
Mitglied
Baby Gumby
Beiträge: 7

Von Java bin ich nicht überzeugt, kenne mich allerdings damit auch nicht gut aus... php/perl und mysql ist auf vielen Serverumgebungen als Standard zu finden und man kann eine solche Anwendung einfacher in bestehende Portale oder CMS einbetten, man könnte sogar online den Code ändern, ohne neu zu kompilieren.

Falls es wirklich was zu rechnen gibt, was ja bei Textadventures meist weniger der Fall ist, könnte man diese Funktionen mit C++ programmieren und per Perl nach PHP integrieren. Das mag aufwendig klingen, macht aber m. E. mehr Sinn als Java, das auch nicht gerade schnell ist.

Zudem glaube ich immer noch, dass der wesentliche Geschindigkeitsfaktor bei Textadventures in den Datenbankzugriffen besteht (bei wirklich großen), dieser ist mit mysql4 und dem neuen Caching ziemlich gut.

Meinungen dazu interessieren mich.

Geschrieben um 22:19 am 23.05.2004 | Zitat | Editieren | Löschen
magicbelt
Mitglied
Baby Gumby
Beiträge: 7

Martin:

Zitat:

Mir kam neulich die Idee, T.A.G. oder etwas Ähnliches in eine php-mysql-Umgebung zu portieren...

Mir ist nicht ganz klar, was du nun implementieren möchtest. Eine T.A.M.- oder andere Textadventure-Engine, ähnlich des Java-Applets zPlet? Oder eine Multi-User-Umgebung, in der sich dann Kräuterfreunde aus der ganzen Welt in Niederzell tummeln können? Oder eine online-Entwicklungsumgebung? Kann man überhaupt eine dieser Sachen sinnvoll in PHP realisieren?

Es geht nicht um eine Textadventure-Engine ähnlich dem Java-Applets, sondern um eine Multiuser-Umgebung. Wer sich im Adventure tummelt, kann der Admin bestimmen, man muss ja kein offenes MUD erstellen.

Ebenfalls gemeint ist eine Entwicklungsumgebung.

Zitat:

multiunserfähig

Hehe. Ich habe seit meiner Erstkommunion ein Gesangbuch, das vaterunserfähig ist. :-)[/quote]

Man kann mit PHP man fast alles, was andere objektorientierte Sprachen auch können, gerade für Stringmanipulation ist bestens gesorgt, es fehlt die Mehrfachvererbung (wann braucht man das?).

Mal ernsthaft: Bereits auf dem C=64 wurden Adventures gespielt. Wo liegt das technische Problem?

Geschrieben um 23:09 am 23.05.2004 | Zitat | Editieren | Löschen
Oliver Berse
Mitglied
Bachelor Gumby
Beiträge: 47

Vielleicht könnte man eine Online-Version von $SYSTEM_DEINER_WAHL in PHP, JAVA oder wenn gar nichts hilft sogar in C++ schreiben? Natürlich Multi-User fähig und mit SQL-DB.

Wer nicht schon etliche Tausend Zeilen Erfahrung mit der Programmierung von Online-Spielen gesammelt hat (ich nicht), investiert seine Zeit besser in ein neues Offline-Spiel. Alle bestehenden Offline-Single-Player Systeme müßten völlig neu geschrieben werden, um sie Multi-User fähig zu machen. Bestehende Spiele, die eben nur einen Spieler berücksichtigen, würden auf einem solchen neuen System garantiert nicht mehr laufen.

Übrigens gibt es für Online-Textspiele seit vielen Jahren LPC: http://www.lysator.liu.se/mud/lpc.html

Aber natürlich will ich niemanden entmutigen.

Geschrieben um 10:39 am 24.05.2004 | Zitat | Editieren | Löschen
magicbelt
Mitglied
Baby Gumby
Beiträge: 7

Oliver Berse:

Vielleicht könnte man eine Online-Version von $SYSTEM_DEINER_WAHL in PHP, JAVA oder wenn gar nichts hilft sogar in C++ schreiben? Natürlich Multi-User fähig und mit SQL-DB.

Sicher, man kann einiges. Wobei hier die eigene Kompetenz, die Verfügbarkeit von solchen Systemen, die Pflegbarkeit etc. Grenzen setzen. Man geht weniger nach der Sprache, als nach dem Konzept vor und wählt danach die Sprachen aus.

Zitat:

Wer nicht schon etliche Tausend Zeilen Erfahrung mit der Programmierung von Online-Spielen gesammelt hat (ich nicht), investiert seine Zeit besser in ein neues Offline-Spiel.

Du hast wohl Recht und ich will kein MUD schreiben, wobei mir auch die MUDS auf telnet-Basis weniger gefallen und der Gedanke an die Möglichkeiten im Browser verlockend sind, ein Autoren-Werkzeug, das überall frei zur Verfügung steht, unabhängig von Linux, Windows usw. und von außen und aus der Ferne, zu vielen pflegbar.

Zitat:

Alle bestehenden Offline-Single-Player Systeme müßten völlig neu geschrieben werden, um sie Multi-User fähig zu machen. Bestehende Spiele, die eben nur einen Spieler berücksichtigen, würden auf einem solchen neuen System garantiert nicht mehr laufen.

Man könnte diese Spiele anpassen, wobei man dazu die ganze Spiellogik analysieren und wahrscheinlich teilweise ändern müsste. Das ist auch weniger das Ziel, aber sicherlich auch eines, denn Adventures leben gerade von Logik.

Um das Problem für ausgemachte Singleplayerspiele zu umgehen, definiert man aktive Objekte, die man instruieren kann. D.h., du handelst durch eine andere Person: "Charakter1: Nimm Zauberstab." Charakter1 kann sich an einem anderen Ort als du befinden. Auf diese Weise können Adventurespiele getestet werden, außerdem muss man Aktionen rückgängig machen könnnen, was bedingt, dass sie aufgezeichnet werden.

Zitat:

Übrigens gibt es für Online-Textspiele seit vielen Jahren LPC: http://www.lysator.liu.se/mud/lpc.html

Aber natürlich will ich niemanden entmutigen.

Nein danke, ich mag keine MUDS, sonst hätte ich hier nicht geschrieben. Irgendwie bin ich von den alten Textadventures fasziniert, wenn sie eine Geschichte erzählen. Wenn die Story etwas taugt, verzichte ich gerne auf den Rest wie Rollenspielelemente oder überlüssige Unterrätsel, die nur dazu dienen, dass der Charakter wächst, aber mit der Haupthandlung sonst nichts zu tun haben.

Wie gesagt, bin ich für Rügen und Ideen offen und noch gar nicht so sicher, ob es Sinn macht, was ich mir überlege.

Geschrieben um 13:20 am 26.05.2004 | Zitat | Editieren | Löschen
Paycheck
Mitglied
Baby Gumby
Beiträge: 8

Also da fänd ich ne JavaTAM schon sinniger.

Geschrieben um 14:08 am 26.05.2004 | Zitat | Editieren | Löschen
Matthias
Mitglied
Pupil Gumby
Beiträge: 13

jo ne Java TAM währ cool. Dann könnte man das doch auch in den neuen if-archiv einbauen wie das für Inform spiele.

Außerdem find ich das man Java, php vorziehen sollte. Das hat eine reihe vorteile zB ist die Ausführung viel schneller. Sonst müsste ja bei jeder eingabe ein POST Formular übergeben werden und die Seite(vielleicht iframe) neu geladen werden. Das Java wird ja auf dem eigenen Rechner ausgeführt dardurch belastet man den Server nicht und es spielt sich viel flüssiger.

Geschrieben um 21:04 am 26.05.2004 | Zitat | Editieren | Löschen
magicbelt
Mitglied
Baby Gumby
Beiträge: 7

Matthias:

jo ne Java TAM währ cool. Dann könnte man das doch auch in den neuen if-archiv einbauen wie das für Inform spiele.

man muss aber unterscheiden zwischen Server- und Client-Java, m.E. macht es nur Sinn, wenn man das ganze auf einen Server aufsetzt, sonst sind alle Vorteile dahin.

Zitat:

Außerdem find ich das man Java, php vorziehen sollte. Das hat eine reihe vorteile zB ist die Ausführung viel schneller. Sonst müsste ja bei jeder eingabe ein POST Formular übergeben werden und die Seite(vielleicht iframe) neu geladen werden. Das Java wird ja auf dem eigenen Rechner ausgeführt dardurch belastet man den Server nicht und es spielt sich viel flüssiger.

Den Einwand mit dem post lasse ich teilweise gelten, allerdings fällt der ja kaum ins Gewicht, wenn die Verbingung gut genug ist, ebenso ist es mit dem PHP, wenn der Server stimmt, stimmt auch der Rest, wenn man natürilch bei Puretec oder Strato Kunde ist oder einen billigen VServer benutzt, dann macht das vielleicht weniger Sinn. Das gilt aber auch für einen Javaserver. Von der Geschwindigkeit ist das alles kein Problem, die Frage war, ob es Sinn macht, mit einer Inform-artigen Lösung oder eben TAG, eventuell abgespeckt, online Abenteuer bauen zu können, spielen sowieso. Die meisten haben ihren armseeligen Web-Account im Blick, aber es ist doch so, dass die meisten Online-Kunden mit einem Schnecken-Account abgespeist werden und diese dann davon ausgehen, php müsse so langsam laufen.

Geschrieben um 17:17 am 27.05.2004 | Zitat | Editieren | Löschen
Gast
Gast

magicbelt:

Den Einwand mit dem post lasse ich teilweise gelten, allerdings fällt der ja kaum ins Gewicht, wenn die Verbingung gut genug ist, ebenso ist es mit dem PHP, wenn der Server stimmt, stimmt auch der Rest, wenn man natürilch bei Puretec ........

Also gut da habe ich dich wohl missverstanden du willst also ein php Script schreiben der 1. TAG Dateien liest und spielbar dem Client zurverfügung stellt. 2. Sollen diese TAG Dateien dann mit einer anderen völlig neuen Sprache erweitert werden ? also ein neues TAM ? oder gleich ein eigenes Format. Ausserdem soll es Multiuser fähig sein. Ja ist ja klar sonst würde ja ein php interpreter sowieso keinen sinn machen. Die User sollen sich also in den Räumen begegnen ? So wie ein MUD ?


Die User sollen also in einer Multiuserwelt spielen können die sie selbst erweitern können und die dann für alle anderen Spieler auch zur verfügung steht ?

Wofür brauchst du dann noch TAG ? Letztendlich willst du soviel das man sowieso TAG spiele nicht mehr gebrauchen kann und du gleich eine neue Sprache aufsetzen kannst.

PHP bietet wirklich gute Funktionen zum verarbeiten von Strings und die idee eine art idexing für eingaben der benutzer zu erstellen ist auch ganz gut.

Aber jetzt erklär nocheinmal genau wie du dir diesen misch aus MUD, TAM, TAG vorstellst.

Geschrieben um 23:32 am 27.05.2004 | Zitat | Editieren | Löschen
magicbelt
Mitglied
Baby Gumby
Beiträge: 7

Zitat:

Also gut da habe ich dich wohl missverstanden du willst also ein php Script schreiben der 1. TAG Dateien liest und spielbar dem Client zurverfügung stellt. 2. Sollen diese TAG Dateien dann mit einer anderen völlig neuen Sprache erweitert werden ? also ein neues TAM ? oder gleich ein eigenes Format. Ausserdem soll es Multiuser fähig sein. Ja ist ja klar sonst würde ja ein php interpreter sowieso keinen sinn machen. Die User sollen sich also in den Räumen begegnen ? So wie ein MUD ?

Jetzt hast du mich verstanden. Ich denke einfach, dass mittlerweile einige Dinge zutreffen, die vor einem Jahr noch nicht zugetroffen haben:

  • root server ziemlich sind billig geworden (sharing ist möglich)

  • php ist schneller und besser geworden

  • apache2 und mysql4 bieten jeweil neue caching funktionalität

soweit erst mal zur technischen Grundlage, welche die Server-Basis bildet.

Zitat:

Die User sollen also in einer Multiuserwelt spielen können die sie selbst erweitern können und die dann für alle anderen Spieler auch zur verfügung steht ?

Ja und Nein. Jeder entscheidet selbst, inwieweit er oder sie kooperiert, denn Menschen können auch Energie ziehen und Belanglosigkeiten ablassen, kennen wir alle. Das bedeutet, die Multiuserwelt ist a. Ein Experimentierfeld für Adventure-Forschung, b. dient es dazu, erstmalig multiuser-Adventures life zu konzipieren, c. kann man mit shell-artigen Befehlen sofortige Erfolge sehen, was die "Programmierung" intuitiver und interessanter gestaltet. (Sicher aber kein Allheilmittel für Phantasielosigkeit oder Realitätsnäherung darstellt).

Zitat:

Wofür brauchst du dann noch TAG ? Letztendlich willst du soviel das man sowieso TAG spiele nicht mehr gebrauchen kann und du gleich eine neue Sprache aufsetzen kannst.

Aus 2 Gründen würde ich mich bemühen, eine Sprache einzubinden. Warum sollte man etwas neu erfinden, das es schon gibt und das - auch wenn es nicht perfekt ist- eine Grundlage stellt? Der zweite Grund ist, dass man auf diese Weise eine allgemeinen Standard schafft und Austaschbarkeit mit anderen. Betrachte TAG wie XML, es ist ein Format, das man lesen kann, wenn man es versteht. Das ist praktisch, wenn man Source weitergibt oder ändern möchte, es ist praktisch, weil es viele bereits kennen und weil man auch ihnen neue Möglichkeiten einräumt.

Zitat:

Aber jetzt erklär nocheinmal genau wie du dir diesen misch aus MUD, TAM, TAG vorstellst.

Es soll eigentlich kein Mix sein, die Frage ist, wie sehr man sich an eine Lösung anlehnt. Ich würde auch Inform nehmen, finde aber die Idee von TAG gut, Adventures verständlich zu machen. TAG, Inform, eine andere Sprachen wäre allerdings nur ein Konstrukt, intern würde das Ding nach den eigenen Regeln laufen, die natürlich sehr verwand mit Inform, TAG usw. wären. Ich stelle das mal grob dar (bitte Nachsicht!):

Parser -> scannt Inputs aus einem Interface, erstellt Objekte bzw. Zeiger auf Objekte und Aktionen, erstellt Anfragen an den Objektbaum

Generator -> Wandelt die Anfragen in Anworten um, steuert Dämonen, Objekte

Parser -> Wandelt Anfragen in Sprache um

So ein Gerüst müsste man erst mal erstellen und dann mit einem simplen 2-Objekte/1-Verb-Parser beginnen. Den Parser kann man sich zu Anfang aber auch erst mal sparen und direkte Objekt-Manipulation betreiben, wichtiger als alle Programmierung ist, wie das Konzept erstellt wird, dass alle mit dem Ergebnis zufrieden sind, damit die Motivation stimmt, denn Geld gibt es ja nicht.

Der Gewinn kann höchstens der Spaß am Rätsellösen sein, der Spaß am Lernen und der Weitervermitllung von Informationen und der Gemeinsamkeit zu entdecken, schließlich sind Adventures auch nichts anderes als Spiegelungen und ich will weder die Upanishaden noch Kant oder Goethe zitieren ;)

Mit MUDS kann ich wenig anfangen, das liegt nicht nur an ihrem Aufbau, sondern auch ihrem d&d-Konzept. Nichts gegen Rollenspiele mit Adventure-Anteil, aber der Rollenspielgedanke vernichtet das Adventure.

Geschrieben um 11:00 am 14.07.2004 | Zitat | Editieren | Löschen
Paycheck
Mitglied
Baby Gumby
Beiträge: 8

Also ich würde es einfach toll finden wenn ich in dem Spiel auf andere Spieler treffen würde mit denen ich einige Rätsel gemeinsam lösen könnte. Oder andere Spieler könnten mir tipps geben... allerdings hört sich das doch stark nach MUD an...

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz