Ergebnis 1 bis 20 von 836

Thema: The Daily Game Dev Struggle #2: "Ich code schneller als mein Schatten"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    @ Drakee: Der rot-grün zirkulierende Auswahl-Cursor ist total irritierend ^^' Irgendwie hat mein Kopf Probleme den abwechselnden rot-grün-Farbverlauf zu folgen ^^'
    Wegen deinem Ernstgemeinten Angebot: Gilt das auch für sehr spezielle Weltkugel-Grafiken? Ich hab da doch noch einen Thread zu rumfliegen... Ich schreib dich gleich mal per PN an

  2. #2
    Ich hab weitere NPCs editiert /o/
    ...
    Und das war's.

    - Das Inno -

  3. #3
    Hab etwas Worldbuilding betrieben und hier und da was angefangen.
    Stay tuned for more.. oder auch nicht.

  4. #4
    Ich bin noch unentschieden was die Höhen und Tiefen der Tile-Maps in meinem Editor angeht. Meine Idee wie ich Baumkronen und Dächer über dem Spieler anzeige ist im Moment folgende:

    • Der Benutzer kann beliebig viele Layer bei für Tile-Map erstellen
    • Jeder Layer hat eine eigene Z-Koordinate
    • Layer mit höherer Z-Koordinate werden über Layern mit niedrigeren Z-Koordinaten angezeigt
    • Layer können auch negative Z-Koordinaten erhalten
    • Pictures, Sprites, Labels, etc haben ebenfalls eine Z-Koordinate und können vor oder hinter Layern der Tile-Map angezeigt werden

    Das heist, dass alles, was über den NPC's gezeigt werden soll (der Upper-Layer im RPG-Maker) in einen eigenen höher liegenden Layer gemappt werden muss. Das bedeutet aber auch, dass jedes Tile theoretisch über oder unter dem Helden verwendet werden kann. Außerdem wird man zur Laufzeit des Spiels die Z-Koordinate des Helden ändern können um ihn plötzlich über den Dächern laufen zu lassen. Oder man kann die Sichtbarkeit eines Layers ausschalten um die Baumkronen zu verstecken.

    Meinungen?

  5. #5
    Kleiner Betatest des eigenen Intros und zahlreiche große und kleineren Ausbesserungen vorgenommen.

  6. #6
    Zitat Zitat von Cornix Beitrag anzeigen
    Ich bin noch unentschieden was die Höhen und Tiefen der Tile-Maps in meinem Editor angeht. Meine Idee wie ich Baumkronen und Dächer über dem Spieler anzeige ist im Moment folgende:

    • Der Benutzer kann beliebig viele Layer bei für Tile-Map erstellen
    • Jeder Layer hat eine eigene Z-Koordinate
    • Layer mit höherer Z-Koordinate werden über Layern mit niedrigeren Z-Koordinaten angezeigt
    • Layer können auch negative Z-Koordinaten erhalten
    • Pictures, Sprites, Labels, etc haben ebenfalls eine Z-Koordinate und können vor oder hinter Layern der Tile-Map angezeigt werden

    Das heist, dass alles, was über den NPC's gezeigt werden soll (der Upper-Layer im RPG-Maker) in einen eigenen höher liegenden Layer gemappt werden muss. Das bedeutet aber auch, dass jedes Tile theoretisch über oder unter dem Helden verwendet werden kann. Außerdem wird man zur Laufzeit des Spiels die Z-Koordinate des Helden ändern können um ihn plötzlich über den Dächern laufen zu lassen. Oder man kann die Sichtbarkeit eines Layers ausschalten um die Baumkronen zu verstecken.

    Meinungen?
    Hört sich doch fabelhaft an, wo ist das Problem?
    Was ich noch als Vorschlag hätte: Könntest du eine Funktion implementieren, dass in einem gewisser Radius um den Spieler herum eine bestimmte Z-Ebene transparent wird? So könnte man ein Haus betreten und das Dach (das komplett auf einer Ebene liegt) wird in einem großen Kreis Transparent (oder wenn man es genauer haben möchte kann man dass auch pro Raum machen). Das hätte den Vorteil, dass man in großen Räumen (/Höhlen/etc.), nicht sofort alles sehen kann sondern nur den Bereich direkt um den Spieler (Radius - oder auch die genaue Form - sollte auch selbst gewählt werden können). Ein weiteres Szenario wäre, dass man die oberste Z-Ebene komplett schwarz macht, und es als Lichteffekt in dunklen Höhlen anwendet. Der Übergang des Hellen zum Dunklen sollte daher also nicht eine Linie sein, sondern ein fließender Übergang (Einstellbar?).
    Und wird es auch möglich sein, eine ganze Ebene (wie das Hausdach, was du schon ansprachst) automatisch (fließend, also kein abruptes verschwinden) transparend werden zu lassen, sobald die Spielfigur von einem Teil der besagten Ebene verdeckt wird und sie wieder auftauchen lässt, sobald das nicht mehr der Fall ist? Für den Fall wäre auch eine Art transparentes Tile sinnvoll, damit man z.B. unter einem großen und offenem Dachfenster drunterlaufen kann, ohne dass dann gleich die Sichtbarkeit wechselt.
    Hoffe du kannst mit meinen spontanen Einfällen was anfangen

  7. #7
    Theoretisch ja, praktisch würde ich es lieber nicht. Das ist eine sehr spezielle Funktion, und diese für Anfänger leicht zugänglich zu machen wird extrem kompliziert. Aber ich werde darüber nachdenken und sie möglicherweise am Ende implementieren wenn noch Zeit da ist.

  8. #8
    Zitat Zitat
    Meinungen?
    hab ich mir schon immer gewünscht ^^

  9. #9
    Ich sehe im Moment noch ein Problem mit kleineren Objekten wie Büschen. Falls der Charakter unterhalb des Busches steht (höhere Y-Koordinate) sollte sein Bild oberhalb des Busches gezeigt werden. Falls der Charakter oberhalb des Busches steht soll das Bild des Busches höher liegen.
    Mit der von mir gewählten Lösung der Z-Koordinaten pro Layer wäre soetwas leider unmöglich. Ich muss also dringend nocheinmal darüber nachdenken und es ändern, ich weis nur im Moment noch nicht wie. Ich wäre für Vorschläge sehr dankbar.

  10. #10
    Zitat Zitat von Cornix Beitrag anzeigen
    Ich sehe im Moment noch ein Problem mit kleineren Objekten wie Büschen. Falls der Charakter unterhalb des Busches steht (höhere Y-Koordinate) sollte sein Bild oberhalb des Busches gezeigt werden. Falls der Charakter oberhalb des Busches steht soll das Bild des Busches höher liegen.
    Mit der von mir gewählten Lösung der Z-Koordinaten pro Layer wäre soetwas leider unmöglich. Ich muss also dringend nocheinmal darüber nachdenken und es ändern, ich weis nur im Moment noch nicht wie. Ich wäre für Vorschläge sehr dankbar.
    Hey,

    ich muss erst sagen, deine Ideen bzgl. der Darstellung von Tiles mit unterschiedlichen Z Level ist spitze und ich wünsche mir so etwas schon sehr lange für die Maker.

    Um dein beschriebenes Problem zu lösen, müsstest du noch anhand der Y Koordinate abfragen ob das jeweilige Objekt vor oder hinter einem anderen steht. Ist die Y Koordinate des Busches größer als die des Spielers, so wird der Busch auch über dem Spieler gezeichnet, allerdings nur wenn der Z Level vom Busch gleich oder größer Spieler ist. Ist der Z Level des Busches niedriger wird er ja immer unter dem Spieler gezeichnet.

    greetz

  11. #11
    Zitat Zitat von schmoggi Beitrag anzeigen
    Hey,

    ich muss erst sagen, deine Ideen bzgl. der Darstellung von Tiles mit unterschiedlichen Z Level ist spitze und ich wünsche mir so etwas schon sehr lange für die Maker.

    Um dein beschriebenes Problem zu lösen, müsstest du noch anhand der Y Koordinate abfragen ob das jeweilige Objekt vor oder hinter einem anderen steht. Ist die Y Koordinate des Busches größer als die des Spielers, so wird der Busch auch über dem Spieler gezeichnet, allerdings nur wenn der Z Level vom Busch gleich oder größer Spieler ist. Ist der Z Level des Busches niedriger wird er ja immer unter dem Spieler gezeichnet.

    greetz
    Das geht aber nur wenn der Busch selbst ein Sprite ist und kein Tile. Ich müsste, um Büsche als Tiles darstellen zu ermöglichen, auch für Tiles die Y-Koordinate in die Z-Koordinate einwirken lassen. Das würde die gesamte Render-Logik extrem komplizieren, Performance in Massen fressen und möglicherweise an anderen Stellen Probleme bereiten. Ich weis nicht ob es das wert ist.

  12. #12
    ist es nicht so, dass im maker eine buschgrafik quasi 2geteilt wäre? die ersten 16 pixel sind unter und die nächsten 16 sind über dem hero. bzw. betrifft das doch allgemein objekte, wo man auch dahinter laufen kann. der entwickler müsste also quasi die grundfläche des objektes einstellen, welche felder also dann unter dem hero wären, bzw. kann da ja auch gleich die passierbarkeit festgelegt werden-->die grundfläche ist nicht passierbar.
    das schwierige dabei ist natürlich, dass viele objekte keine quadratische oder rechteckige grundfläche haben, was das reine festlegen von variablen wie zB 48x48 ausschließt. der entwickler müsste also zunächst die größe festlegen und dann, welche felder den umriss der grundfläche des objektes darstellen ... oh je, war das verständlich? vermutlich hab ich irgendwas übersehen, was ihr meint.

    @topic:
    ich hab heute über das stück, was ich gestern gepostet habe, meinen eigenen gesang drüber gelegt. das ist allerdings nur ein provisorisches konstrukt, ehe dann meine freundin nochmal drüber singen soll ...

  13. #13
    @IndependentArt
    Ich weis nicht, wie es bei den alten Makern ist, aber im RPG-Maker XP berechnet sich die Z-Koordinate eines Tiles aus der Y-Koordinate plus einen Z-Offset der im Tileset gesetzt wird (Sternchen von 0 bis 5 wobei jeder Stern als 32-Pixel auf der Y-Koordinate zählt). Die Z-Koordinate der Events berechnet sich genauso, also Y-Koordinate + Konstante.

  14. #14
    Zitat Zitat von Cornix Beitrag anzeigen
    Das geht aber nur wenn der Busch selbst ein Sprite ist und kein Tile. Ich müsste, um Büsche als Tiles darstellen zu ermöglichen, auch für Tiles die Y-Koordinate in die Z-Koordinate einwirken lassen. Das würde die gesamte Render-Logik extrem komplizieren, Performance in Massen fressen und möglicherweise an anderen Stellen Probleme bereiten. Ich weis nicht ob es das wert ist.
    Nur, damit wir uns nicht falsch verstehen.

    Büsche, Bäume sowie alles andere was statisch ist sind ja (mehrere) Tiles in einem Tileset wie im Maker auch, right? Beim Maker gibt es ja, genau für deine beschriebene Situation, die Priority Einstellungen. Diese definieren ja einen Z Level Wert für einzelne Tiles im Grid und dadurch wird erst ermöglicht, dass Player über und unter Tile xyz angezeigt werden kann. Wäre so etwas dann nicht eine denkbare Lösung für dich?

    greetz

  15. #15
    Zitat Zitat von schmoggi Beitrag anzeigen
    Nur, damit wir uns nicht falsch verstehen.

    Büsche, Bäume sowie alles andere was statisch ist sind ja (mehrere) Tiles in einem Tileset wie im Maker auch, right? Beim Maker gibt es ja, genau für deine beschriebene Situation, die Priority Einstellungen. Diese definieren ja einen Z Level Wert für einzelne Tiles im Grid und dadurch wird erst ermöglicht, dass Player über und unter Tile xyz angezeigt werden kann. Wäre so etwas dann nicht eine denkbare Lösung für dich?

    greetz
    Ich habe es jetzt nocheinmal ausprobiert. Im RPG-Maker 2000 ist es tatsächlich so, dass ein Event NICHT über dem Tile angezeigt wird wenn es eine niedrigere Y-Koordinate besitzt. Im RPG-Maker XP ist es aber so. Hier ein Bild um die Situation zu verdeutlichen:

    Wenn der Held südlich von dem Fass steht wird seine Grafik über dem Fass angezeigt. Wenn der Held nördlich von dem Fass steht (oder auf gleicher Höhe) wird seine Grafik unter dem Fass angezeigt.
    Das Fass besitzt eine Priorität von 1 im Tileset.

    Ein solcher Effekt wäre mit meinem System NICHT möglich. Wäre das etwas schlimmes?
    Wenn man soetwas will müsste man Fässer/Büsche/Bäume als Map-Objekte (Events) einbauen.

  16. #16
    Zitat Zitat von Cornix Beitrag anzeigen
    Ein solcher Effekt wäre mit meinem System NICHT möglich. Wäre das etwas schlimmes?
    Wenn man soetwas will müsste man Fässer/Büsche/Bäume als Map-Objekte (Events) einbauen.
    Wäre schon schade, wenn das nicht klappen würde. Ist es denn wirklich so aufwändig jedesmal die Y-Koordinate abzufragen und bei höhren/niedrigeren Werten im Vergleich zur Figur sie entweder vor oder hinter die Figur zu machen?

  17. #17
    Zitat Zitat von Cornix Beitrag anzeigen
    Ich habe es jetzt nocheinmal ausprobiert. Im RPG-Maker 2000 ist es tatsächlich so, dass ein Event NICHT über dem Tile angezeigt wird wenn es eine niedrigere Y-Koordinate besitzt. Im RPG-Maker XP ist es aber so. Hier ein Bild um die Situation zu verdeutlichen:

    Wenn der Held südlich von dem Fass steht wird seine Grafik über dem Fass angezeigt. Wenn der Held nördlich von dem Fass steht (oder auf gleicher Höhe) wird seine Grafik unter dem Fass angezeigt.
    Das Fass besitzt eine Priorität von 1 im Tileset.

    Ein solcher Effekt wäre mit meinem System NICHT möglich. Wäre das etwas schlimmes?
    Wenn man soetwas will müsste man Fässer/Büsche/Bäume als Map-Objekte (Events) einbauen.
    Ich komme vom XP Lager und erwähnte aus diesem Grund auch die Priorities .

    Wie du beschrieben hast, Werden Sprites ja anhand ihres Z Offsets (das bestimmten die Priorities) und der Y Koordinate auf dem Screen gezeichnet. Hier auch noch mal zur Verdeutlichung:



    Dein oben gezeigtes Beispiel ist allerdings ungünstig da der Character ja gar nicht dort stehen dürfte weil das Fass nicht begehbar ist. Ich weiß jedoch was du damit aufzeigen möchtest. Und ja, es wäre sehr schlimm, wenn deine Umsetzung das nicht kann. Diese vorgegaukelte Tiefe ist doch das A und O bei 2D Spielen, oder etwa nicht? Dadurch entsteht ja erst der Eindruck von Tiefe. Ich muss auch ehrlich gesagt sagen, ich verstehe nicht weshalb du gegen die Variante mit der Y Koordinate bist. Soweit ich das kenne ist genau das eine sehr gängige Variante. Hierzu folgender Artikel z.B.:

    https://eliasdaler.wordpress.com/201...down-2d-games/

    Sprich, Grafiken welche auf dem selben Z Level sind abhängig von der niedrigsten Y Koordinate in Reihenfolge zeichnen. Wenn ich einen Maker erstellen würde, wäre meine Vorstellung ungefähr so:

    - User entscheidet wie viele Layer er fürs Mapping nutzen kann( unendlich oder eine feste hohe anzahl z.B. 10).

    - User entscheidet wie viele Z Levels eine Map besitzen kann. Das heißt z.B., dass alles auf Z Level 3 über Z Level 2 gezeichnet wird. Man kann sich das praktisch so vorstellen, dass man im Editor zwischen definierten Z Levels hin und her springen kann.

    - Tiles in einem Tileset können verschiedene Prioritäten haben(wie im XP), allerdings mehr als 5 (unendlich oder eine max hohe anzahl z.B. 99). Wichtig ist das für das oben aufgezeigte Beispiel.

    - Jeder Z Level sollte eigene Passable Einstellungen haben welche auch bei der Abwicklung von Kollisionen berücksichtigt werden. Sprich, ist Spieler auf Z Level 2 werden für ihn nur die Passable Einstellungen von Z Level 2 berücksichtigt. Ein Tracking vom Z Level des Players ist hier natürlich dann erforderlich (auch für Events). Sollte mit einer Art Terrain Tag für jeden Z Levelrelativ einfach sein.

    Das wäre ein Traum, Brücken mit NPC's darunter und darüber zur selben Zeit kein Problem mehr. Hach ja...

    greetz

    Geändert von schmoggi (07.10.2015 um 20:28 Uhr)

Stichworte

Berechtigungen

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