Forum moved to if-forum.org
Autor Nachricht
<  T.A.G.-Online-Tutorium (Juli 2005)
ChristianB
BeitragVerfasst am: Di, 30 Aug 2005 - 22:55  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Ich finde, NEUN BIS FÜNF ist ein treffendes (und sehr amüsantes) Beispiel, um den Gegensatz von Langeweile und Zeitvertreib zu demonstrieren.

Was in Florians äußerst kurzweiligem Beispiel passiert, folgt einem natürlichen Prinzip: Wenn man eine für die Spielfigur interessante Aktion ausführt (hier zumeist das Untersuchen eines Objekts), dann vergeht die Zeit wie im Fluge; man vertreibt sich eben die Zeit.

Wenn ich aber ein und dieselbe Aktion wiederhole, z.B. immer wieder auf die Uhr starre, dann empfinde ich die verstrichene Zeit in der Regel als länger (wie bei Martin im Flugzeug), in Florians Büro kann sich der Spieler jedoch auch mit dem wiederholten Betrachten von Dingen die Langeweile vertreiben – und zwar genau so zügig, wie mit dem mehrmaligen Fantasieren über die Sekretärin, die den Spieler wesentlich mehr bei Laune hält. Wenn man nur vor sich hin starrt, wartet, oder eine abschlägige Antwort vom Spiel erhält, vergeht im Büro überhaupt keine Zeit.

Christof hat folgendes geschrieben:
Es werden dabei *einmal* sämtliche Aktionen in Zeitkategorien eingeteilt (1 kurz, 2 mittel, 3 lange), sicher ein wenig Arbeit, aber dann immer wieder verwendbar.

Gute Idee, meine ich. Ich könnte mir auch eine Art „Kurzweil-Index“ (vielleicht von 1 bis 10) für bestimmte Objekte/Aktionen vorstellen, der den Hauptzähler beeinflusst, um die Zeit flexibel dehnen oder stauchen zu können und damit die subjektiv empfundene Zeit dem Aufmerksamkeitsgrad des Spiel-Charakters (nicht unbedingt des Spielers) anzupassen. Also, je wichtiger (spannender, interessanter) die ausgeführte Aktion für den Büroangestellten ist, desto schneller erreicht er die nächste Etappe des Büroalltags. Bei den ganz neuen, interessanten Dingen eben sofort, so wie es jetzt auch schon in Florians Büro der Fall ist. Was für die Spielfigur zu welchem Zeitpunkt wichtig ist, legt natürlich der Autor fest.

ChrisW hat folgendes geschrieben:
Kurz: Das Gleichsetzen eines Zuges mit einer bestimmten Zeiteinheit, vom Einführen mehrerer möglicher Zeiteinheiten ganz zu schweigen, wäre mir als Spieler deutlich zu simulationslastig.

Das verstehe ich nicht ganz. Es geht hier doch gerade um Simulation von Zeit und Zeitempfinden.

ChrisW hat folgendes geschrieben:
Was du mit deinen Texten aber vermitteln kannst, ist ein entsprechendes Gefühl der Dringlichkeit, je näher das Ende des Zeitlimits rückt.

Stimmt. Hier ist wohl dramatisches Schreiben angesagt. Der Druck auf die Spielfigur muss für den Spieler fühlbar werden. Bei Florian drückt aber nicht das Zeitlimit auf den Spieler, sondern das Limit will erzwungen/erreicht werden. Eine interessante Umkehrung des Atemnot-Motivs.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Gast
BeitragVerfasst am: Mi, 31 Aug 2005 - 11:42  Antworten mit Zitat






Martin hat folgendes geschrieben:
AfterRoutines() wird eigentlich nur aus der ActionSub für Aktionen der Klasse 2 (##Take, ##Open usw.) aufgerufen,


Dann würden sowieso eine Menge Aktionen gar nicht berücksichtigt. Ginge so also nicht.

Martin hat folgendes geschrieben:
Außerdem ist AfterRoutines() kein entry point, sondern eine bereits definierte Routine, die du hättest ersetzen müssen.


Hatte ich gemacht, ohne auf die Schnelle zu schauen, was ich überschreibe. War erstmal nur ein Test.

Martin hat folgendes geschrieben:
Du meinst wohl die GamePostRoutine(), die zum Schluss der Aktionsausführung und vor den Dämonen und Timern ausgeführt wird.


Genau die meinte ich und wollte sie eigentlich auch benutzen :-)

ChristianB hat folgendes geschrieben:
Ich könnte mir auch eine Art „Kurzweil-Index“ (vielleicht von 1 bis 10) für bestimmte Objekte/Aktionen vorstellen, der den Hauptzähler beeinflusst, um die Zeit flexibel dehnen oder stauchen zu können und damit die subjektiv empfundene Zeit dem Aufmerksamkeitsgrad des Spiel-Charakters (nicht unbedingt des Spielers) anzupassen.


Wenn du meinst, dass lediglich der Zähler erhöht werden soll, fände ich das überflüssig, weil es wirklich in der PC wahrnimmt, nicht der Spieler (ich schaue jedenfalls nicht nach jedem Zug in die Statuszeile) Ein Textausgabe, aus der das Verstreichen der Zeit hervorgeht, halte ich daher für sinnvoller.

Andere Möglichkeit wäre, nicht nur einfach die Anzahl der Züge zu erhöhen, sondern wirklich weitere Züge stattfinden zu lassen(ähnlich ">warte 10 minuten", daemons laufen weiter)

Dann wäre das Problem, dass etwas passieren könnte, bei dem der Spieler eigentlich seine Handlung unterbrechen würde.
z.B. :Der Spieler öffnet eine großes Stromaggregat, dafür benötigt er vier Züge. Wirft nun irgendein böser NPC eine Handgranate in die Werkshalle, würde er sich kaum um das Aggregat behühem.

Ähnlich >WARTE 5 MINUTEN könnte auch hier unterbrochen werden, d.h. die Handlung ist nicht abgeschlossen und nach dem zweiten imaginären Zug käme die Meldung mit der Granate.

Ich weiß nicht, das ganze erinnert mich dann aber eher an ein Rollenspiel: "Du bist vom Schwert getroffen und drei Züge handlungunfähig."

Wenn aber statt der Züge die Zeit in der Statuszeile angezeigt wird, halte ich es für sinnvoll, bei einer langen Zeitkategorie auch mehr verstrichene Zeit anzuzeigen, also z.B. beim Durchwaten eines Moores (Mühseelig schiebst du einen Fuß vor den anderen.)von 22:17 auf 22:21 zu springen.


Gruß

Christof
Nach oben
ChristianB
BeitragVerfasst am: Mi, 31 Aug 2005 - 11:54  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Christof hat folgendes geschrieben:
Wenn du meinst, dass lediglich der Zähler erhöht werden soll [...]

Nein, das meinte ich ganz und gar nicht.

Ich meine mit dem Index eine Größe, die beeinflusst, nach wie vielen Zügen die Bedingung für den nächsten "Zeitsprung" erreicht ist. Man würde quasi Zeitsprung-Punkte durch verschiedene Aktionen bekommen. Wenn eine bestimmte Summe erreicht oder überschritten ist, hat man sich die Zeit hinreichend vertrieben, und die Stunde ist vorüber.

Also beispielsweise nach einem Zug (sofort), wenn man sich mit der Sekretärin beschäftigt, egal wie oft. Beim ersten Mal in den Spiegel schauen ist der Anblick ebenfalls so interessant, dass die Stunde schon nach einem Zug verflogen ist. Bei den nächsten Malen müsste man vielleicht öfter hineinschauen, um sich an seinem Spiegelbild hinreichend zu ergötzen. Usw.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Florian
BeitragVerfasst am: Mi, 31 Aug 2005 - 12:17  Antworten mit Zitat
Gast





So viele interessante Antworten. Besonders gut finde ich spontan den Hinweis von Kris zum Standard-Runden-System. Will man ein simulationsartiges Spiel (mit Einblendung der Zeit wie in Deadline?), sollte tatsächlich wohl NACHSCHLAGEN länger dauern als SPRINGEN - ähnlich WARTE 5 MINUTEN.

In Bezug auf mein Fragment habe ich allerdings immer mehr die Befürchtung bestätigt gefunden, dass es nicht funktionieren kann, dass man Langeweile nur dann in einem Spiel einbauen kann, indem man den Spieler sich langweilen lässt. Dass ein Spiel mit Langeweile selbst langweilig sein muss.

Das dachte ich schon beim Schreiben zwischendurch mal, aber jetzt meine ich, dass Christian die Lösung des Problems tatsächlich gefunden hat:

ChristianB hat folgendes geschrieben:
Wenn man eine für die Spielfigur interessante Aktion ausführt (hier zumeist das Untersuchen eines Objekts), dann vergeht die Zeit wie im Fluge; man vertreibt sich eben die Zeit.

Wenn ich aber ein und dieselbe Aktion wiederhole, z.B. immer wieder auf die Uhr starre, dann empfinde ich die verstrichene Zeit in der Regel als länger (wie bei Martin im Flugzeug), in Florians Büro kann sich der Spieler jedoch auch mit dem wiederholten Betrachten von Dingen die Langeweile vertreiben – und zwar genau so zügig, wie mit dem mehrmaligen Fantasieren über die Sekretärin, die den Spieler wesentlich mehr bei Laune hält. Wenn man nur vor sich hin starrt, wartet, oder eine abschlägige Antwort vom Spiel erhält, vergeht im Büro überhaupt keine Zeit.

Das finde ich einfach klasse. Was du da beschreibst, ist "Neun bis fünf", wie ich es hätte schreiben sollen. Der Spieler soll sich langweilen, aber nur, wenn er langweilige Dinge tut, und die Zeit soll nur bei einigen vergleichsweise spannenden Dingen voranschreiten.

Das habe ich aber beim Schreiben einfach nicht realisiert, und deshalb vergeht die Zeit zum Beispiel beim Betrachten der Uhr auch, was wohl hier das meistgenannte Beispiel ist. Ich schaue heute abend mal, ob ich es in die Richtung gehend ändern kann.

Viele Grüße,
Florian
Nach oben
Florian
BeitragVerfasst am: Mi, 31 Aug 2005 - 12:53  Antworten mit Zitat
Gast





Noch ein paar "Vermischte Betrachtungen":

Martin hat folgendes geschrieben:
Oder sich hier komplett von den Zügen lösen und das Beenden der Szene von einem oder mehreren (alternativen) Ereignissen abhängig machen. Wenn die wichtige Akte im Büro des Chefs gefunden wurde, hört man eine Turmuhr schlagen, und weiß, dass der Chef gleich aus seiner Mittagspause zurückkommt. Ob der Spieler dann viele Züge verplempert hat, weil er Sachen untersucht hat, ist dann egal, er hat sie halt "schnell" untersucht. Der Nachteil bei dieser Vorgehensweise ist allerdings, dass das auslösende Ereignis nie eintreten kann, wenn der Spieler sich blöd (gemessen an den Erwartungen des Autors) anstellt und so die Dringlichkeit der Szene herabgesetzt wird.

Die Anchorhead-Methode. Die würde ich gerne einmal in einem deutschen Spiel sehen (und auch selbst gerne verwenden). Das Beispiel Anchorhead zeigt schon gleich, dass die Rätsel, wenn es überhaupt welche gibt, nicht schwer sein dürfen.

Im Gegensatz dazu stellt ein (enger) Timer fast immer selbst schon ein Rätsel dar. Vielleicht müsste man zwischen zwei Timer-Funktionen trennen: Vermittlung von Struktur und Spannung. (Spannung erfordert wiederum die Möglichkeit des Scheiterns.) Und ist Simulation eine dritte Funktion?

Allerdings, Martin, die schlagende Kirchturmuhr ist eine glatte Themaverfehlung. Solche offensichtlichen Hinweise auf die Zeit wollte Christian in seiner ursprünglichen Formulierung des Problems ausdrücklich nicht.

ChrisW hat folgendes geschrieben:
Kurzes Textbeispiel aus einem steinalten und unvollendeten Projekt ...

Petze ;) An die Szene musste ich allerdings angesichts des ersten Beispiels von Christian auch denken. "Unter Wasser" ist ein beliebtes Thema für zeitabhängige Rätsel.

Und warum? Auf Anhieb würde ich sagen: 1. die Bedrohung (Atemnot) ist offensichtlich, 2. jedem Spieler wird klar, dass er nur etwa eine Hand voll Züge Zeit hat. Die Situation selbst gibt also schon Hinweise, dass ein Rätsel in der Folge innerhalb weniger Züge gelöst werden muss. Der Spieler hat eine Hilfestellung (kann unter anderem erst einmal speichern) und die Atmosphäre ist sofort da.

Daraus folgen für mich weitere Fragen:
1. Macht eine genaue Zeitabrechnung nur für eine übersichtliche Anzahl von Runden Sinn? Mein Beispiel ist ja auch übersichtlich, und übrigens gibt der Titel (obwohl ich nicht daran gedacht hatte) schon einen Hinweis für den Spieler. Hier glaube ich: ja. Das einzige mir bekannte Gegenbeispiel wären die Murder Mysteries von Infocom sowie ein paar spätere Spiele wie Gumshoe, und die sind wirklich sehr stark simulationistisch (bzw. im Fall vom Gumshoe steht die laufende Zeit fast nur der Story im Weg). Und halten jeweils das ganze Spiel hindurch eine Geschwindigkeit aufrecht.
2. Gibt es weitere klassische Situationen für Timer? Die tickende Bombe fällt mir ein. Weitere? Vielleicht kann man daraus ja Schlüsse ziehen.

Und ohne Zusammenhang fiel mir noch ein:

- Max Kalus hat in Starrider und Die Bewerbung zwei sehr ähnliche, zeitkritische Rätsel, in denen der Spieler mit zwei Runden Vorsprung einen Verfolger vernichten muss.
- Schon in einem Standard-Spiel mit TAG oder Inform gibt es zwei "Geschwindigkeiten": Meta-Verben verbraten ja keine Runde.

Viele Grüße,
Florian
Nach oben
Kris
BeitragVerfasst am: Mi, 31 Aug 2005 - 12:54  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

ChristianB hat folgendes geschrieben:
wenn man sich mit der Sekretärin beschäftigt, egal wie oft


schöne Vorstellung, aber ich schweife ab... :-)

Zurück zum Thema:

ChristianB hat folgendes geschrieben:
Also beispielsweise nach einem Zug (sofort), wenn man sich mit der Sekretärin beschäftigt, egal wie oft. Beim ersten Mal in den Spiegel schauen ist der Anblick ebenfalls so interessant, dass die Stunde schon nach einem Zug verflogen ist. Bei den nächsten Malen müsste man vielleicht öfter hineinschauen, um sich an seinem Spiegelbild hinreichend zu ergötzen. Usw.

Ok, verstehe, das würde aber bedeuten, dass man nicht die Aktion als solche zeitlich bewerten würde, sondern doch auch wieder das betreffende Objekt (wie in Florians Beipiel). Und beim zweiten Mal könnte es ja auch länger dauern als beim ersten Mal (wenn z.B. beim zweiten Anblick auf das Foto der Ex die Depression so richtig zuschlägt), es ist ja nicht automatisch kürzer.
Dann müßte jedes Objekt wieder einzeln in die Hand genommen werden. Ich würde das nicht programmieren wollen (jedenfalls nicht für ein gesamtes Spiel, für einzelne Szenen ginge das sicherlich)



Gruß

Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Mi, 31 Aug 2005 - 16:12  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Florian hat folgendes geschrieben:
Der Spieler soll sich langweilen, aber nur, wenn er langweilige Dinge tut, und die Zeit soll nur bei einigen vergleichsweise spannenden Dingen voranschreiten.

Genau das wollte ich ursprünglich sagen. Und um dem „Vergleichsweise“ gerecht zu werden, hatte ich dann die Idee mit dem „Kurzweil-Index“, der dem Autor die Möglichkeit geben könnte, nicht nur zwischen zwei Extremen „spannend/langweilig“ zu unterscheiden, sondern Abstufungen zu ermöglichen. Von gaaaanz öde bis super-interessant. Wobei ich es nicht so realistisch fände, wenn bei gaaaanz öde die Zeit stehen bliebe – und das tut sie in 9to5, wenn man z.B. wartet.

Klingt nach Arbeit, weil für jedes relevante Objekt ein Index definiert werden müsste. Aber in T.A.G. hat Martin etwas Ähnliches ja auch schon mit Volumen und Gewicht (Vol und Gew), die für bestimmte Objekte festgelegt werden können, vorgesehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: Mi, 31 Aug 2005 - 16:40  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Ich habe mal an der Zeit gearbeitet, hierfür zwei Routinen erstellt:

Code:
[ ActionTime;

     Close: Seconds(15); return false;
     Disrobe: Seconds(30); return false;
     Drop: Seconds(10); return false;
     EmptyT: Seconds(15); return false;
     Enter: Seconds(15); return false;

   ... usw ...


und diese

Code:
[ Seconds s;
   
   sec = sec + s;
   
   if (sec >= 60) {the_time = the_time + (sec/60); sec = sec - (sec/60)*60;} ! Sekunden addieren und ggf Minuten abziehen
];


the_time ist ja die Zeitvariable in Inform, mit

Code:
SetTime( (60*12)+23,0);


startet das Spiel um 12:23, wobei die 0 nach dem Komma das Voranschreiten pro Zug bestimmt. Null deshalb, da ich meine Zeit selbst machen will.

Die Funktion Seconds(15) bewirkt, dass 15 Sekunden addiert werden.

Die Routine ActionTime rufe ich über die GamePostRoutine, dort werden jeder Aktion eine bestimmte anzahl von Sekunden zugeteilt, ggf. kann man die globale Variable sec auch noch jederzeit manuell aus dem Code heraus vergrößern, also z.B. beim Öffnen einer riesigen Maschine über after noch 30 Sekunden zusätzlich addieren.
Oder wenn man um von Raum A nach Raum B zu gelangen durch einen langen Tunnel laufen muß, kann sec ebenso um 120 Sekunden vergrößert werden.
(Entschludigung dass ich hier im TAG-Forum mit Inform komme)

Ein weiterer Vorteil ist, dass bei unausgeführter Aktion, z.B. weil das angesprochene Objekt nicht im Raum ist, die Zeit nicht weiterläuft, obwohl turns (die Züge) um eins erhöht werden.

the_time kann auch verwendet werden, wie von ChristianB vorgeschlagen, um nach einer gewissen Zeit eine neue Aktion starten zu lassen.

In einem extrem zeitabhängigen Spiel das vielleicht nur eine Stunde abdeckt, könnte man auch die Zeit mit Sekunden anzeigen, bei einem Spiel wie Holywood Hijinx, wo man eine ganze Nacht Zeit hat, fände ich Sekunden in der Statuszeile allerdings kleinkarriert.



Grüße

Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: Mi, 31 Aug 2005 - 18:50  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Florian hat folgendes geschrieben:
2. Gibt es weitere klassische Situationen für Timer? Die tickende Bombe fällt mir ein. Weitere? Vielleicht kann man daraus ja Schlüsse ziehen.


- Da gibt es Verließe die mit diversen Sachen volllaufen, Sand, Wasser, Schlamm usw. oder die Decke sinkt langsam zu Boden.

- Man muß aus einem brennenden Raum gelangen bevor die Flammen einen erwischen.

- Im Flieger geht der Sprit aus.

- Eine Batterie, die irgendeine eine Maschine antreibt, reicht nur noch für 10 Minuten (Ich habe jetzt extra keine Taschenlampe genommen :-)

- Einen Countdown für Selbstzerstörung (Planetfall u.a.)

Bei all diesen Situationen würde mir als Spieler eine gute Beschreibung genügen, den Streß mache ich mir dann schon selbst...


Gruß

Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChrisW
BeitragVerfasst am: Do, 1 Sep 2005 - 11:04  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 26.08.2002
Beiträge: 278
Wohnort: Leipzig

Oder in einer Detektivgeschichte, 30er Jahre. Du (Philip Marlowe) willst ein Büro durchsuchen, der Typ, der da drin sitzt, steht auf und geht zur Toilette. Nun kannst du hinein und hast begrenzt Zeit, dich dort umzusehen. Elegant fände ich hier, ein "Sterben" des Spielers zu vermeiden. Will man das schaffen, führt das allerdings zu vier möglichen Enden:

1.) Du findest, was du suchst und verlässt das Büro rechtzeitig.
2.) Du findest, was du suchst, bist aber noch im Büro, wenn der Typ zurückkommt. Jetzt solltest du dich irgendwie herausreden. :)
3.) Du findest es nicht, verschwindest aber entweder rechtzeitig ...
4.) ... oder schaffst auch das nicht.

Das wär schon große Kunst, wenn das Spiel alle vier Varianten sinnvoll innerhalb der Story abfangen könnte. (Überhaupt der große Haken bei der Verwendung von Zeitlimits - dass in der Regel das Spiel beendet ist, wenn man das Limit reißt. Muss das so? Reicht es nicht manchmal, wenn, wie in diesem Beispiel, spätere Rätsel schwerer werden, weil dem Spieler bestimmte Hinweise fehlen?)

ChristianB hat folgendes geschrieben:
Bei Florian drückt aber nicht das Zeitlimit auf den Spieler, sondern das Limit will erzwungen/erreicht werden. Eine interessante Umkehrung des Atemnot-Motivs.

Stimmt. Interessante Umkehrung der üblichen Timerverwendung in Spielen überhaupt. Variante 2 des zeitabhängigen Rätselns.

Bei diesem Beispiel ist der Kurzweil-Index auch eine super Idee. Warum? Weil bei Florians Beispiel der Timer an sich schon das ganze Rätsel ist. Üblicherweise ist er ja nur eine Zeitbegrenzung für ein ganz anderes Rätsel. Bombe entschärfen, Büro durchsuchen, Eisdecke aufbrechen.

Variante 3 wären die Rätsel, bei denen man nicht innerhalb eines Zeitlimits, sondern exakt zu einer bestimmten Zeit Handlungen vornehmen muss. Punkt zwölf die Glocke läuten, oder so.

Idee einer Szene, bei der Variante 2 und 3 kombiniert werden: Deine Kumpels wollen in eine Bank einbrechen und du musst draußen Schmiere stehen. Prinzipiell ein langweiliger Job und du hast genügend Zeit, um dir Plakate und Litfaßsäulen anzuschauen, Zeitung zu lesen (nutzen wir die freie Zeit, um dem Spieler Hintergrundwissen unterzujubeln) oder einfach Däumchen zu drehen. Wenn ein Wachmann oder gar die Polizei aufkreuzt, musst du allerdings umgehend deine Kumpels warnen. Warum das Variante 3 ist? Weil deine Leute über falschen Alarm sicher nicht erfreut wären.

ChristianB hat folgendes geschrieben:
ChrisW hat folgendes geschrieben:
Kurz: Das Gleichsetzen eines Zuges mit einer bestimmten Zeiteinheit, vom Einführen mehrerer möglicher Zeiteinheiten ganz zu schweigen, wäre mir als Spieler deutlich zu simulationslastig.

Das verstehe ich nicht ganz. Es geht hier doch gerade um Simulation von Zeit und Zeitempfinden.

Geht es. Aber es geht auch darum, das sinnvoll einzusetzen. So, dass der Spieler etwas davon hat. Die Simulation der Länge einzelner Züge ist bei Florians Beispiel eine Spitzenidee, vielleicht auch bei dem Schmierestehen vor der Bank möglich. Bei der Bürodurchsuchung oder bei Christofs Beispielen einen Beitrag über mir empfände ich dieses Verfahren als Spieler allerdings als überdimensioniert. Für die meisten Szenen mit Zeitlimit wäre eine pauschale Obergrenze an Zügen, ohne sich um die exakte Dauer jedes einzelnen Zugs zu kümmern, ausreichend. Denke ich.

Darauf wollte ich hinaus:
1) Was technisch die optimale Lösung ist, hängt extrem von der jeweiligen Szene ab.
2) Die Erzeugung des entsprechenden Zeitgefühls beim Spieler, die wichtigste Sache also an zeitabhängigen Szenen, hängt überwiegend am Text, nicht an der Technik.

Das gälte auch für den Kurzweil-Index. Es ist sicher nicht einfach, das zu implementieren, klar. Ob er letztendlich funktioniert, hängt aber davon ab, ob du die entsprechenden zeitlichen Differenzen für die unterschiedlichen Züge dem Spieler tatsächlich im Text vermitteln kannst.

Und nun könnt ihr mit der technischen Diskussion fortfahren. :)

Florian hat folgendes geschrieben:
Vielleicht müsste man zwischen zwei Timer-Funktionen trennen: Vermittlung von Struktur und Spannung. (Spannung erfordert wiederum die Möglichkeit des Scheiterns.) Und ist Simulation eine dritte Funktion?

Spannung - klar. Was genau meinst du mit "Struktur"? Dass es gut für den Spielfluß ist? Dass es eine saubere Einteilung des Spiels in Szenen geradezu erzwingt?

Simulation - ja, ist meiner Meinung nach aber eher das "wie mache ich das" als das "wozu mache ich das".
_________________
"Ein Musiker! Was will der hier so spät?" Stolzing (Meistersinger v.N.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Gast
BeitragVerfasst am: Fr, 2 Sep 2005 - 9:34  Antworten mit Zitat






ChrisW hat folgendes geschrieben:
Florian hat folgendes geschrieben:
Vielleicht müsste man zwischen zwei Timer-Funktionen trennen: Vermittlung von Struktur und Spannung. (Spannung erfordert wiederum die Möglichkeit des Scheiterns.) Und ist Simulation eine dritte Funktion?

Spannung - klar. Was genau meinst du mit "Struktur"? Dass es gut für den Spielfluß ist? Dass es eine saubere Einteilung des Spiels in Szenen geradezu erzwingt?

Ja, die Einteilung des Spiels, wie in Anchorhead. Ein Beispiel: Mein Krimi-Spiel umfasst einen Vormittag, Nachmittag und Abend. Sobald vormittags der Tatort untersucht und der Hauptzeuge befragt sind, bekommt der Assistent des Spieler-Kommissars Hunger, und es ist Zeit, ein Restaurant oder eine Pommesbude aufzusuchen. Am Nachmittag wird dann weiter ermittelt: Erst jetzt öffnet der Nachtwächter zur Befragung seine Tür, da er vormittags noch geschlafen hat, und erst nachmittags kann man in der Gerichtsmedizin den Befund abholen. Der wichtigste Zeuge aber ist beruflich unterwegs und wird erst abends angetroffen. (Eine Reihe von Dingen kann man aber zu einem beliebigen Zeitpunkt erledigen, bspw. Recherche der Akten.)

In dem Fall tritt meiner Ansicht nach die Zeit an die Stelle von Gegenständen, um das Spiel zu strukturieren: Normalerweise benötigt man einen Schlüssel für die Tür oder ein Goldstück für den Troll, um neue Bereiche der Karte zu öffnen, hier öffnen sie sich nur zu bestimmten Zeitpunkten. Der Rätselcharakter ist nicht mehr, an bestimmte Gegenstände heranzukommen, sondern, zur richtigen Zeit am richtigen Ort zu sein (wozu das Spiel natürlich Hinweise geben sollte, wie bei jedem guten Rätsel).

ChrisW hat folgendes geschrieben:
Simulation - ja, ist meiner Meinung nach aber eher das "wie mache ich das" als das "wozu mache ich das".

Ich möchte mich da korrigieren: Simulation ist eigentlich auch genau eine Struktur wie eben beschrieben. Ist ja egal, ob man den Zeugen nur nachmittags erreicht oder Oberst von Gatow um 11:13 am Gartenhäuschen abpassen muss - das Prinzip ist das gleiche.

Die Unterscheidung "wie" und "wozu" trifft es schon, aber ich würde betonen, dass das "wie" keine reine Äußerlichkeit ist. Anchorhead spielt sich anders als Deadline (ich würde sagen großzügiger, problemloser, weil man nicht so genau sein muss), während der alte Mann in den Höhlen von Karn zeitunabhängig herumwandert, und die Schätze bleiben, wo sie sind.

Viele Grüße,
Florian
Nach oben
Kris
BeitragVerfasst am: Mo, 5 Sep 2005 - 15:55  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Kris hat folgendes geschrieben:
Ein weiterer Vorteil ist, dass bei unausgeführter Aktion, z.B. weil das angesprochene Objekt nicht im Raum ist, die Zeit nicht weiterläuft, obwohl turns (die Züge) um eins erhöht werden.


Hierzu ist mir noch eine wichtige Sache eingefallen:

Wenn man zeitabhängige Rätsel implementiert hat, die einen engen Zeitrahmen abstecken mit Timer-Funktion, dann wird der Timer trotzdem weiterlaufen, auch wenn mit der Zeit in der Statuszeile nichts passiert. Das verwirrt natürlich den Spieler.

Man müßte dann den Timer unter Berücksichtigung der Spiel-Echtzeit manipulieren.

Gruß

Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChrisW
BeitragVerfasst am: Mo, 5 Sep 2005 - 20:36  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 26.08.2002
Beiträge: 278
Wohnort: Leipzig

Kris hat folgendes geschrieben:
Man müßte dann den Timer unter Berücksichtigung der Spiel-Echtzeit manipulieren.

Mit anderen Worten: Wenn man denn den Timer in der Statusanzeige will, muss die kleinste angezeigt Zeiteinheit auch die kleinste simulierte Zeiteinheit sein?
_________________
"Ein Musiker! Was will der hier so spät?" Stolzing (Meistersinger v.N.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: Mo, 5 Sep 2005 - 21:57  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

ChrisW hat folgendes geschrieben:
Mit anderen Worten: Wenn man denn den Timer in der Statusanzeige will, muss die kleinste angezeigt Zeiteinheit auch die kleinste simulierte Zeiteinheit sein?


Ich denke ja, sonst verwirrt es den Spieler nur.

Ich dachte da an einen Trick:

Wenn man den Timer in Sekunden Startet, also sagen wir 90 für 1 1/2 Minuten, dann würde dem Timer pro Zug ja eine Sekunde abgezogen. Die restlichen Sekunden müßte man dann anhand der Aktion (z.B. etwas aufheben = 10 Sekunden) noch abziehen (Die Formel wäre dann: Timer = Timer - (Aktionszeit -1).

Das funktioniert momentan nur in meinem Kopf, ich werde es mal ausprobieren und berichten, kann aber ein paar Tage dauern.


Grüße


Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kris
BeitragVerfasst am: Di, 6 Sep 2005 - 8:22  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 21.02.2004
Beiträge: 198
Wohnort: Rheinmain

Kris hat folgendes geschrieben:
Das funktioniert momentan nur in meinem Kopf, ich werde es mal ausprobieren und berichten, kann aber ein paar Tage dauern.


... so, ging doch schneller als erwartet, ich bitte aber wieder um Entschuldigung, dass ich im TAG-Forum mit Inform aufwarte:

Es wird noch eine Global actime eingeführt. In der weiter oben erwähnten Funktion Seconds wird dieser die Sekunden einer Aktion zugeordnet:

Code:
[ Seconds s;
   actime = s;
   
   sec = sec + actime;
   
   if (sec >= 60) {the_time = the_time + (sec/60); sec = sec - (sec/60)*60;} ! Sekunden addieren und nullen
];


(übrigens funktioniert das nicht, wenn man anstelle von s gleich actime einsetzt, dann bleibt der Wert nur in der Formel gespeichert. Das war mir auch neu, ich dachte, man könne auch so einer Global einen Wert zuordnen.)

Das Objekt bekommt noch einen Daemon:

Code:
Object Baum "Baum" Spielplatz
  with dekl Genitiv_s,
       description "Der Baum wackelt bedrohlich im Wind",
       name 'baum',
       daemon [;
            self.time_left = self.time_left - (actime -1);
             if (self.time_left <= 0){
              self.time_left = 0;
              StopDaemon(self);}
              ],
       time_left,
       time_out "Der Baum ist umgefallen.",
   has male static;


Der Daemon bewirkt, dass die Aktionszeit dem Timer abgezogen wird, sollte time_left kleiner/gleich 0 sein, wird sie genullt und der Daemon angehalten.

Das einzige was man machen muß, ist zum Timer auch noch den Daemon zu starten, in diesem Fall mit 200 Sekunden:

Code:
    StartTimer(Baum,200);
    StartDaemon(Baum);



Es funktioniert im Reagenzglas, ich weiß aber nicht, welche Nebenwirkungen in einem Spiel auftauchen können. Ich halte das ganze auch nicht für allzu sauber, da ich nicht Zeit simuliere, sondern ich simuliere eine Simulation von Zeit.

Wirklich sauber wäre es, wenn jeder Zug eine Sekunde wäre und bei einer Aktion von 10 Sekunden wirklich 10 Züge vergehen würden. Das wäre dann das, was ChrisW meinte:

ChrisW hat folgendes geschrieben:
Mit anderen Worten: Wenn man denn den Timer in der Statusanzeige will, muss die kleinste angezeigt Zeiteinheit auch die kleinste simulierte Zeiteinheit sein?


Für ein Spiel, dass mit Zeit arbeitet (z.B. ein Tag auf einem Boot das ein Leck hat) in dem das eine oder andere zeitabhängige Rätsel implementiert ist, könnte man es aber damit mal versuchen.


Gruß


Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 2 von 3
Gehe zu Seite Zurück  1, 2, 3  Weiter
if-de :: Forum Foren-Übersicht  >  T.A.G.

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05