Ergebnis 1 bis 16 von 16

Thema: Gedankenspielerei: Elinor

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat
    Eventuell wird auch für jeden NPC im Spiel mit einer variabel abgefragt auf welcher Map er sich befindet, wodurch es möglich wäre, Routen der NPCs über mehrere Maps zu legen.
    Äh, ne, nicht so ohne weiteres ^^°.
    Das Problem bei einem solchen System ist die Willkürlichkeit des Spielers. Stellen wir uns vor ein Bauer kommt um 8:00 Uhr aus seinem Haus und soll um 8:10 bei seiner Arbeitsstelle sein, welche auf der anderen Seite der Map liegt. Sollte sich der Held um 8:00 Uhr auf der Map befinden ist dies kein Problem. Das zugehörige Event callt den Bauern, dieser läuft los. Nur was ist, wenn der Spieler um 8:05 Uhr auf die Map kommt? Sollte der Bauer dann einfach schon da sein oder erst dann loslaufen? Beides ist nicht wirklich realistisch. Die erste Möglichkeit nimmt einem fast völlig die Möglichkeit den Menschen bei ihren Aktionen zuzusehen (sobald sie die Map wechseln sind sie für einen weg, da man es kaum in der selben Sekunde schaffen wird auf die andere Map zu wechseln (wenn ich davon ausgehe das eine Minute im Spiel eine Sekunde in der Wirklichkeit ist und der Code Minuten genau ausgelesen wird). Die zweite Variante könnte zu unschönen Dingen führen wie, dass fast alle Personen in einem Dorf auf einmal loslaufen sobald der Held die Map betritt.
    Will man beide Varianten nicht haben fällt mir keine andere Möglichkeit ein als die Koordinaten über ein PP aller NPCs auf der Welt zu steuern. Sollte dann ein NPC z.B. mehr als 3 Felder von seiner durch das PP vorgegebenen Idealposition stehen würde er sich dorthin teleportieren, ansonsten greift ein einfaches Pathfinding System (ähnlich dem im "Hintereinanderlaufen Skript"). An sowas hatte ich mich mal probiert, bin aber nicht weit gekommen da ich keine Lust mehr hatte. Das größte Problem dabei ist nämlich, das man eine Person nicht mehr über die Route steuern kann, sondern für jeden Schritt (ca. 200 pro Tag) eine Variablenänderung durchführen muss. Man müsste eben mal sehen ob man das so umsetzten kann, jedoch zweifel ich daran, ob dies mit der Performance vereinbar ist, wenn man über 200 NPCs hat (also jede Sekunde rund 800 Variablen umgestellt werden müssen (X- und Y-Koordinate und Zustand (Bewegungsgeschwindigkeit, Facerichtung, Animation, Sound der abgespielt werden soll (sollte man über die NPCs selber regeln (z.B. das öffnen einer Tür)), etc.)).

    Zum Master-System:
    Joa, das wäre dann schon eher möglich, wobei ich daran zweifle ob das dann gut rüberkommt, wenn alle Bauern einfach durch das Dorf marschieren und die Tiere streicheln ^^°. Dann wäre es vielleicht sinnvoller eine Welt zu schaffen in der die Bauern separiert leben (also in einem extra Stadtteil), wo dann auch Ställe und Felder sind, auf denen sie sich vergnügen können...

    Ein anderes System:
    Um die Bewegung von NPCs einigermaßen vernünftig zu gestalten (wie in deinem Master-System), würde ich eine Abfrage für jeden NPC empfehlen, die nachschaut ob der Held den NPC sehen kann. Sollte er nun zu seiner Arbeit müssen wartet er einfach so lange bis der Held weder den Zielort noch ihn selbst sehen kann und teleportiert sich dann dort hin. Es ist zwar nicht die eleganteste Lösung, da so niemand geschäftig durch die Stadt läuft, dafür fällt aber das Pathfinding gänzlich weg (was ein großer Vorteil ist ). Außerdem hat man immer noch das Gefühl, dass die Stadt belebt sei, da je nach Uhrzeit alle NPCs wo anders vorzufinden sind. Hat man dann auch noch genügend Animationen ist es umso besser.

  2. #2
    Für das Bild-Anzahl-Problem gibt es glaub ich eine Lösung: *Threat zum Patch*
    Damit könnt ihr bis zu 50 Pics einplanen (und 38 NPCs sollten doch wohl genügen für den Anfang ^^)

    Geändert von Phantom of Kami (01.12.2006 um 10:19 Uhr)

  3. #3
    Nun, tatsächlich habe ich wohl die meisten Vorschläge noch nicht zu ende gedacht, aber wie schon gesagt, es sind ja nur ideen
    Zu deinem Vorschlag, die NPCs durch teleports, angepasst an einen timer durch die map zu schicken finde ich zwar nicht ganz so elegant wie meine methode, dafür aber umsetztbar und dennoch wirklich ansehnlich, denk ich.
    Zur sicherheit soltle dabei aber mehr abgefragt werden, als nur ob der NPC in sichtweite ist, sondern ein etwas weiterer Bereich, es wäre ja doch komisch, wenn man einen NPC nur mal kur aus den augen verliert und dann plötzlich am anderen Ende der Map wiederfindet. Aber die Idee ansich is genial.

    Jedoch würde ich mich freuen wenn auch mal andere Vorschläge bringen würden, über die man diskutieren kann, müssen ja nich mehr als Ideen sein

    @Phantom of Kami
    Nun, nur eine beschränkte anzahl an Pics darstellen zu können, is wohl kaum das problem, sondern einfach der aufwand dahinter!
    Es müssten pro Map bis zu 10-30 Pics angezeicht werden, da ja anzeigen und Gegener auch noch dazu kommen. Außerdem müssten deren Stellenwert je nach standort des Heros (ob über oder unter der NPC X coordinate) verschoben werden, da ja sonst das NPC pic über den hero gelegt werden würde, wenn man von unten nach oben sehend vor ihm steht...

    Mfg

  4. #4
    Tja um Anzeigen kommt man kaum rum und das ist hin- und hergeschiebe von Bildern ist zwar ein enormer Aufwand aber bei einer halbwegs brauchbaren Grund-eninge mit weniger aufwand einzusetzen (anzugeben wären ja nur die Koordinaten der npcs, alles andere ist Rechenarbeit die stets auf dieselbe Weise abgearbeitet werden muss).

    Simpler wäre es vielleicht -wenn auch beim pixeln ein enormer aufwand- für jede kombination ein charset zu pixeln. Würde ebenfalls, sofern es denn mal vollbracht sein sollte, leicht zu handhaben sein...

    Am rmxp wäre das alles nochmals um eineiges leichter zu realisieren,
    gibt es Gründe weswegen du so ein Monsterprojekt nicht auf dem technisch vielseitigsten Maker planst?
    -hätte da ein hervorragendes Paperdoll-script bei der Hand ^^

    Der rmxp würde den Komplexitätsgedanken ja keinen Abbruch tun aber es wäre einfahc viel mehr und v.a. vieles viel leichter umsetzbar...

    Geändert von Phantom of Kami (02.12.2006 um 00:17 Uhr)

  5. #5
    Da ich den XP nie benutzt habe kann ich zwar nicht beurteilen ob das leichter geht (wobei ich davon ausgehe), aber trotzdem möchte ich eins nicht im Raum stehen lassen:
    Zitat Zitat
    Simpler wäre es vielleicht -wenn auch beim pixeln ein enormer aufwand- für jede kombination ein charset zu pixeln. Würde ebenfalls, sofern es denn mal vollbracht sein sollte, leicht zu handhaben sein...
    Den Pixler der das schafft sollte man ins Buch der Weltrekorde aufnehmen -.-.

    Dazu eine kleine Rechnung:

    - Grundgerüst des Helden (jung, mittel, alt)
    -> 3 Chars

    - Haare (Rot, Blond, Schwarz, Grün, Braun)
    -> 5 Chars * 3 Chars = 15 Chars (aufgrund der Kombinationsmöglichkeiten)

    - Hose (Ums abwechslungsreich zu machen mindestens 10)
    -> 10 Chars * 15 Chars = 150 Chars

    - Oberteil (Ums abwechslungsreich zu machen mindestens 15)
    -> 15 Chars * 150 Chars = 2250 Chars

    - Waffe (ca. 10)
    -> 10 Chars * 2250 Chars = 22500 Chars

    - Schild (ca. 10)
    -> 10 Chars * 22500 Chars = 225000 Chars

    - Extras (Anhänger, Köcher, etc. (5))
    -> 5 Chars * 225000 Chars = 1125000 Chars

    - Animationen (Springen, Schwimmen, Klettern, Hängeln, Sitzen (ohne Posen im Gespräch))
    -> 5 Chars * 1125000 Chars = 5625000 Chars

    Ergebnis:
    Man bräuchte ca. 5.625.000 Chars, das sind 703.125 komplette Char-Sets. Bei einer Größe von sagen wir mal 10 KB pro sind das ca. 7.031.250 KB, also 6866,45 MB, also 6,70 GB!
    Ich muss zugeben, ich bin selbst ein bisschen überrascht das das derart groß werden würde ^^°.

    Na ja, an der ein oder anderen Stelle ist die Rechnung evtl. ein bisschen ungenau, aber generell lässt sich eine Tendenz feststelle. Ich glaube nicht das jemand gerne 703.125 (siebenhundertdreitausendundeinhundertzweiundfünzig) komplette Char-Sets pixeln will.
    Wie es sich mit der Abfrage im Maker verhält dürfte dabei eigentlich recht klar sein. Man bräuchte für jede Mögliche Kombination 8 Abfragen (Grundgerüst, Haarfarbe, etc.). D.h. bei 5.625.000 Chars 45.000.000 Abfragen. Jede Abfrage würde eine Fork-Condition bedeuten. Ohne Else-Verschachtelung braucht man also für jede Fork 4 Zeilen:
    Code:
    <>Fork Variable "Heldenhose" = 1
    <><>Change Hero Walk GFX -> Held 563.789 (1|1)
    <><>
    <>End:
    Das wären dann also 180.000.000 Zeilen Code.
    (Der Rest ist jetzt Spielerei)
    Ich hab mal nachgemessen. Eine Codezeile ist bei mir (Auflösung: 1152 x 864) 3 mm hoch. Würde man den Code nun nach Metern berechnen wären das bei mir (bei besagter Auflösung) 540.000 Meter, also 540 Kilometer (!) Code XD.
    Ich möchte lieber mal nicht ausrechnen wie lange man zum scrollen, bzw. finden eines einzelnen Eintrags brauchen würde (besonders da der Maker bei mir so ab ca. 500 Zeilen (grob geschätzt, hab nie gezählt ^^°) anfängt extrem zu ruckeln).

    Na ja, ich denke was ich verdeutlichen wollte ist auch klar geworden

    Code:
    Zusammenfassung:
    Bei dieser Methode bräuchtest du:
    -5.625.000 Chars
    -> 703.125 komplette Char-Sets
    -6,70 GB Speicherplatz (nur Heldengraphiken)
    -45.000.000 Abfragen
    ->180.000.000 Zeilen Code
    -->540 Kilometer Code (1152 x 864)
    Dieser Beitrag ist nicht ernst zunehmen. Ich wollte lediglich mal wieder ein bisschen mit Zahlen spielen

    mfg
    Phönix Tear

  6. #6
    @Phönix Tear

    Oha, ich liebe diesen Post!
    Ich hab zwar mit einer hohen zahl gerechnet aber 5 1/2 millionen chars?
    Es war mir jedenfalls schon von anfang an klar, dass das alles einzelln zu pixeln unmöglich wäre, vorallem da du jetzt ja von einer recht kleinen Posen zahl ausgingst

    Den 2000er bevorzuge ich desswegen dem XP weil...
    nun...
    Er is mir einfach sympathischer, ich weiß nicht mal genau warum, ich hab mich zwar ne zeitlang mit dem XP auseinander gesetzt, doch gefällt mir der 2k einfach besser (eben noch ein Maker mit Charakter )
    Ich weiß dass das keine begründung is, ich bleib aber dabei

    Also weiter:

    Quests sind in einem solchen Spiel immer wichtig, und auch diese gerecht und vorallem ideenreich zu verteilen trägt dem spielspass bei.

    Auf anhieb würden mir drei arten von Quests einfallen:

    Der Botengang:
    Nachdem man den auftrag angenommen hat muss man sich von punkt A nach punkt B bewegen. Vielleicht steigt die Belohnung auch jenachdem wie lange man für die Übergabe benötigt. Eine andere Idee wäre ein größeres Gegneraufkommen auf der Route die man nun einschlagen muss einzubauen, um den Auftrag auch etwas schwieriger zu gestalten.
    Alles in allem nix schwieriges...

    Die-absolute-Vernichtung!:
    Alleine oder in einer selbstständigen NPC gruppe säubert man ein kleineres Gebiet von allen Gegnern, oder kämpft sich schließlich zu einem Obergegner durch, den es zu besiegen gilt. Wenn solche aufträge nur auf einer Map stattfinden, wäre es denkbar die NPS mit wegpunkten durch die Map zu führen, und am besten auch gleich auf mein "Gewohnheiten-System" zurückgreifen, dass die NPCs alle Gegner in ihrer Nähe angreifen lässt, und erst wenn dieser besiegt ist zurück auf seine route weicht.

    Leibgarde Mission:
    Zusammen mit einigen NPS hat man etwa den auftrag eine Karrawane von punkt A nach punkt B zu geleiten. Doch plötzlich brechen von rechts und links gegner hervor. Manche NPCs suchen nun die Flucht, andere stellen sich den Gegnern.
    Besiege alle gegner bis die Karrawane weiter kann...

    Mfg

Berechtigungen

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