Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 51

Thema: Tagesablauf von NPCs

  1. #1

    Tagesablauf von NPCs

    es geht in diesem Threat um die Umsetzung von Tagesabläufen für NPCs.

    Man hat also ein Tag-NAcht-sys mit Uhrzeit etc., evtl. auch noch Wochentagen.
    Nun soll die Welt, in der der Spieler sich befindet, aber auch leben, d.h., ein NPC geht zur Arbeit, dnach wieder nach Haus, oder ähnliches.

    Habt ihr Ideen wie man das Umsetzen könnte.

    Also eingeschlossen wenn man die Map verlässt und dann wieder draufgeht, dass der NPC nicht jedesmal von neuem anfängt nach Haus zu gehen, sondern da weitergeht, wo er war.

    Ich wollte diese Sache in mein Spiel einbinden, und ich glaube, auch diese Sache ist nicht unmöglich, man muss nur um ein paar Ecken denken, weil ich allerdnigs noch keine wirklich Idee habe, frage ich euch, und ich möchte euch bitten, nicht mit solchen Posts wie "geht eh nicht", oder "das wird im Spiel nicht funktionieren" eure Counters zu erhöhen, sondern wenn ihr eine Idee habt, sei sie auch noch so klein, dazu beizutragen, das hier vielleicht ein vernünftiges System rauskommt, was auch für andere interessant wäre.

    Also postet eure Ideen!!!!

  2. #2
    Ich würde mal einen Blick ins Ebook vorschlagen
    http://rpg-atelier.net/ebook/
    Da steht schonmal wie man den Tag-Nacht-Wechsel macht. Wenn du dann ein paar switches und Variablen einbaust könnte es gehen^^

  3. #3
    Schwierig und aufwändig, wenn du das bei ein, zwei kleineren Orten machst mag es noch gehen, aber wenn du das im großen Stil vorhast wirst du Hilfe brauchen.

    Du müsstest erstmal für jeden NPC ein Parallel-Process-Event anlegen, das je nach Uhrzeit die Bewegung der NPCs steuert. Beim Betreten der Map muss ein anderes Event berechnen an welcher Stelle sich die NPCs zu dieser Uhrzeit aufhalten, was schonmal extrem aufwändig wäre, und du musst eien Weg finden die Bewegung an diesem Punkt fortzusetzen, Vermutlich musst du dazu die Marschruten in die einzelnen Schritte aufgliedern und mit Labels oder irgendwas jeden Schritt direkt ansteuern können, sehr aufwändig.

    Ausserdem kannst du kein "ignore if can't be moved" benutzen, da sonst Variable Hindernisse, wie z.B. der Held, den Bewegungsablauf durcheinander bringen, musst aber dafür sorgen, das wenn der NPC auf seinem Nachhauseweg angehalten wird, und die ganze Nacht dort rumsteht am nächsten Morgen wieder seinen normalen Zyklus aufnimmt und nicht komplett durcheinander kommt.

    Vielleicht geht das auch einfacher, aber ich stelle mir sowas auf dem Maker ziemlich kompliziert vor.

  4. #4
    Hier einige Ideen.
    Du könntest z.B. in der Nacht einige NPCs einbauen, die man Tagsüber nicht treffen könnte, wie Nachtwächter(zum Patrollieren von der Gassen, da sich z.B. eine Diebesbande ihr unwesen treibt), Schwarzhändler oder streunende Katzen.
    Diese NPC könnten erscheinen, wenn z.B. der Nacht-Switch an ist.

    Witzig wäre es auch, wenn z.B. die Nachtwächter während ihrer Patrolien auf ihren Weg kurz einen Abstecher ins Wirtshaus machen würden ^^
    Das sollte ohne großen Aufwand möglich sein mit einem Parallelevent möglich sein.

    Zu deiner Frage, wie man anstellen könnte, dass NPC nicht ständig am selben Fleck stehen, kann du es ja so machen, dass bei betreten der Map ein Event per Zufallsskript die NPC's an verschiedenen Stellen teleportiert/setzt/usw.
    z.B. bei einer Zufallszahl von 1-5 soll NPC-1 bei 1 auf die X-Y-Koordinate X15-Y5 gesetzt werden.

    MfG
    netwarrior

    Geändert von netwarrior (09.05.2006 um 09:35 Uhr)

  5. #5
    Ich glaube er meinete Ideen zur technischen Umsetzung.

    Und da sich das Spiel die Position der NPCs auch beim Mapwechsel merken soll, währe selbst eine einfache Patroullieroute recht kompliziert.

  6. #6
    Ich halte es auf dem 2k, in einem kleinen, sehr kleinen Projekt für gerade noch mäglich, aber in einem großen Projekt unmöglich.

    Auf dem XP, wäre es schon eher denkbar, auch wenn ich keine Ahnung habe wie.

    EIn sehr schneller Rechner müsste glaube ich auch drin sein.

  7. #7
    Zitat Zitat von Mc Terror
    Auf dem XP, wäre es schon eher denkbar, auch wenn ich keine Ahnung habe wie.
    Wenn ich mich nicht irre, müsste es so ein Script sogar schon geben.
    (Von NearFantastica, der ja schon einige solcher irrsinnigen Scripts gemacht hat, falls es wen interessiert... ^^;)

  8. #8
    Saug dir Krötenstuhl Saga und schau dir, wies da umgesetzt ist, da isses ungefähr so wie du beschreibst

  9. #9
    Mmh, ok, ich sehe, es scheint doch alles sehr viel komplizierter, als ich zu Anfang dacht.
    Werde mir Kröhtenstuhl mal anschauen.

    aber wie wärs damit, das is jetzt weniger das technische, sondern eher, wie man es trotzdem darstellen kann, die Frage wäre, ob es nicht zu kompliziert würde:
    Bsp. Händler: Nehmen wir an, das Game fängt am Tag an, so, und nun wird es nacht. Der Händler sagt dir, sofern du in seinem Laden stehst, dass er jetzt nach Hause möchte, und du bitte den Laden verlassen sollst. Nun wird er Transparenter gemacht, bis er unsichtbar ist, und es wird ein Switch an gestellt,
    "HändlerZuHAuse" ist dieser Switch an, ist der Händler ab da zu Hause, und du kannst ihn bis zum nöchsten Morgen dort aufsuchen.
    Nun kann man das so machen, dass wenn man im Wald o.ä.ist, immer bei bestimmten Uhrzeiten bestimmte Switches Geändert werden, sodass der Händler auch dann zuhaus steht, nachts, wenn du nicht vorher im Laden warst.

    Das heißt, zu bestimmter Uhrzeit "teleportieren sich die NPCs zu den Stellen, wo sie grad was machen. Nur der Weg würde halt wegfallen.

    Wäre das denkbar, oder würde es alles total umständlich und kompliziert machen, sodass es für den Spieler nachher nur verwirrend ist?

  10. #10
    Nunja, das komplizierte sind eigentlich die Laufwege, die chars einfach per Schalter weg und woanders hinzumache ist hingegen kicki.

    Bedenke nur das es auf dem 2k nicht möglich ist einen Char stufenlos transparent zu machen, das geht nur auf dem XP.

  11. #11
    Ja, es ginge jetzt auch nicht um das Technische, das Transparent machen müsste man dann in schritten, aber das sieht man nicht so stark, wenn man nicht hundert prozentig drauf achtet.

    es ginge jetzt eher darum, ob das die glaubwürdigkeit, das Verständnis des Spiels vermindern würde, es also den spieler sehr irritieren würde...

  12. #12
    Naja, Glaubwürdiger machts es die Welt jedenfalls nicht wenn sich die Leute einfach so auflösen und woanders erscheinen (ausser es ist ein Star Trek-Spiel XD), vielleicht solltest du es mit der Realtime lieber so wie bei den letzten zwei, drei Zeldaspielen machen, also so das die Zeit in Ortschaften stillsteht und nur in der Wildnis ein recht schneller und eher auswirkungsloser Tag/Nachtwechsel stattfindet. Die Zeit in den Städten hängt dann davon ab zu welcher Zeit man sie betritt.

    Das ist recht einfach umzusetzen und immernoch glaubwürdig und der Spieler kann selbst entscheiden zu welcher Tageszeit er die Stadt erkundet.

  13. #13
    An sich wäre das sicherlich in Ordnung. Höchst wahrscheinlich fällt das auch kaum jemandem auf, je nachdem wie lang ein Tag bei dir ist, wird es auch immer unwahrscheinlicher das man genau dann in einem Laden steht wenn der Verkäufer gehen will. Allerdings könntest du, wenn du dich schon "nur" auf die Händler konzentrierst, deren Tagesablauf auch detaillierter darstellen. Die meisten Händler stehen ja sowieso nur hinter dem Tresen in ihrem Laden. Sobald dann die entsprechende Zeit erreicht ist sagt dir der Händler bescheid und geht. Alternativ könnte er dich auch rauswerfen (Teleport auf die Stadtmap). Das Rauswerfen fände ich sogar besser und logischer. Nur sollte er dann auch wirklich aus dem Laden rauskommen und die Tür abschließen. Anschließend musst du dann lediglich die Route zu seinem Haus ablaufen lassen. Dabei ist zu beachten das am Ende seiner Route der Switch "Händler 1 Zuhause" angemacht wird. Sollte man die Stadtmap verlassen und zurückkommen ist der Händler einfach verschwunden und in seinem Haus. Das könnte man natürlich noch verschönern indem man im Haus der Händlers eine weitere Zeitabfrage einbaut ihn dann auch wirklich bei der Tür erscheinen lässt. Dann bewegt er sich zu seiner Position bei der das "Random Movement" (soweit du das so machen willst) startet und Switch "Händler 1 Zuhause" angemacht wird. Das bewirkt, dass der bewegte Char verschwindet aber im selben Moment der "Random Movement" NPC erscheint. Dadurch merkt man keinen Wechsel und der Tag ist abgeschlossen. Das ganze braucht dann nur pro Händler einen Switch und ein bisschen Arbeit bei den Routen. Dazu würde dann noch ein Common-Event gepackt werden, welches die Zeiten der Händler generell regelt (sollte man nicht auf der Map sein schaltet dieses Event die entsprechenden Switches um).
    Das wirkt dann sehr realistisch und ist auch noch mit einem angemessenen Aufwand umzusetzen.
    Allerdings gibt es Fehler die auftreten könne:
    1) Man lässt sich von einem Händler rauswerfen und wartet bis er das Haus verlassen hat, verlässt die Map und kommt sofort wieder rein. Der Händler ist weg aber auch nicht in seinem Haus.
    2) Man wartet etwa eine Sekunde ab, nachdem der Händler sein Haus betreten hat und geht dann rein. Der Händler wird sich nun nicht von der Tür aus losbewegen sondern nach einigen weiteren Sekunden mitten im Raum erscheinen (vorausgesetzt das Bewegungsevent wird am Anfang durch ein "Change Graphik" sichtbar gemacht).
    3) Ohne einen weiteren Switch wird es dir möglich sein den Shop zu betreten während der Händler noch auf seinem Weg nach Hause ist (selbst wenn man die Tür durch eine zweite ersetzen würde (ohne Switch mit "Change Place") könnte man die Map verlassen und schnell zurücklaufen. Bleibt natürlich nur die Frage was einem das bringt, es wäre aber auf jeden Fall unlogisch. Benutz also lieber zwei Switches ^^

  14. #14
    Wenn du ein Beispiel suchst, in dem so ein System ziemlich gut umgesetzt wurde, kannst du dir mal Ultima V (C64) ansehen.

    Ubabhängig davon, wie du das Wechseln der Häuser andeutest, solltest du vor allem darauf achten, dass dieser Tag/Nachtwechsel auch gut ins Gameplay integriert ist. Wenn man erst 30 Minuten herumlaufen muss, damit man wieder in die Geschäfte kommt, würde das auf Dauer ziemlich nerven. Andererseits ist so ein System dann natürlich nicht ganz so wirkungsvoll, wenn der Spieler per Tastendruck die Zeit beliebig verstreichen lassen kann. Vermutlich müßte man dem Spieler einen Anreiz geben, auch mal Nachts unterwegs zu sein.

  15. #15
    Man könnte es ja so machen . Beispiel.Es dauert 30 Minuten bis Tagesanbruch (also 30 min Nacht) das man sich ein Zelt nimmt und darin schläft bis zum Morgen.Und der Reiz in der Nacht unterwegs zu sein ist das es Nachts andere Monster gibt.Also Stärkere mit besseren Items.

  16. #16
    Zitat Zitat
    Man könnte es ja so machen . Beispiel.Es dauert 30 Minuten bis Tagesanbruch (also 30 min Nacht) das man sich ein Zelt nimmt und darin schläft bis zum Morgen.Und der Reiz in der Nacht unterwegs zu sein ist das es Nachts andere Monster gibt.Also Stärkere mit besseren Items.
    Sicher das tut sich auch jeder an, eine halbe Stunde rumzueiern und auf den Tag zu warten, wenn man zum Beispiel etwas am Tag erledigen muss und gerade die Nacht hereingebrochen ist. Nene das muss viel schneller gehen.

  17. #17
    @ Narsil

    Ich meinte das so.Wen man das Zelt benutzt gehen die 30 Minuten sofort rum.

  18. #18
    Nun gut, dachte schon man müsste 30 min in dem Teil verbringen. XD
    Trotzdem ist die Zeitspanne zu lang. Was macht man den dann am Tag? Da kann man ja kein Zelt benutzen außer man hat die letzte Nacht nicht geschlafen.

  19. #19
    Zitat Zitat von Narsil
    Nun gut, dachte schon man müsste 30 min in dem Teil verbringen. XD
    Trotzdem ist die Zeitspanne zu lang. Was macht man den dann am Tag? Da kann man ja kein Zelt benutzen außer man hat die letzte Nacht nicht geschlafen.
    Du hast Recht.Aber im richtigen Leben muss man auch warten wen es gerade 3 uhr ist und du willst ein Film sehen der um 10uhr kommt.Ok man könnte tags über auch schlafen.Was aber im Spiel dan nich sehr gut wirken würde.Mal gucken ob ich da eine Lösung finde.

  20. #20
    Zitat Zitat von SkullRaven
    Du hast Recht.Aber im richtigen Leben muss man auch warten wen es gerade 3 uhr ist und du willst ein Film sehen der um 10uhr kommt.Ok man könnte tags über auch schlafen.Was aber im Spiel dan nich sehr gut wirken würde.Mal gucken ob ich da eine Lösung finde.
    Man muss ja nicht unbedingt schlafen m die zeit verstreichen zu lassen! Bei Morrowind kann man bspw. an Orten an denen man nicht rasten darf einfach warten, was genauso die zeit rumbringt, aber halt nicht regeneriert. So eine Wartefuntktion wäre mir auf jedenfall lieber als die Fünfminutentage die man in manchen Spielen so erlebt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •