Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

1

Samstag, 2. Februar 2019, 10:01

Verdeckte Charas umranden

Dieser Threadt begann unverfänglich im Smalltalk XD

Hier, was bisher geschah:
Josey:
Ich such mich grad im Forum dumm und dämlich- es gab doch mal dieses schicke Script, dass der Player, wenn er hinter einem Gegenstand verschwindet, mit einem "Umriss" versehen wird, der über dem Gegenstand ist?
Und ein Script, dass Gegenstände durchsichtig macht, wenn man dahinter ist.
Eigentlich will ich aber lieber dem Player einen Umriss verpassen, man, wo steckt das denn? D:

Habs gefunden XD
VerdeckenScript V0.02
Wer kommt denn auf 'Verdecken'? XD
Jetzt muss ich das irgendwie umschreiben, ich will keine Shilhouette, sondern einen Umriss >_>
Edit: Es geht nicht so einfach XD *seufz*

Mai- herzlichen Glückwunsch! :D
Ich hab bei der Prüfung damals Blut und Wasser geschwitzt und es knapp geschafft XD
Die Simpsons - Helicopter Homer hebt ab [HD] - YouTube XD


Revito:
@Josey
Das Skript zeichnet auch nur den Charakter halbtransparent nochmal über den normalen Charakter.
Ich wüsste jetzt nicht, wie man den Umriss im Maker nachzeichnet. Man könnte das Skript abändern, dass ein zweites Charset drüber gezeichnet wird, welches nur aus dem Umriss besteht.
Dann hast du mit dem Skript aber das Problem, dass du den Umriss immer siehst.
Und allgemein... Zeichnet das Skipt nicht auch über angezeigte Fenster und Bilder?


Josey:
Ah, das durchsichtige Charset ist also immer da? Verstehe XD So funktioniert das also XD
Zumindest Bilder überlagern es, habs ausprobiert. Das durchsichtige Charset ist nicht zu sehen.


Revito:
Ah, natürlich. Viewports gab es ja auch.
Aber nur den verdeckten Teil anzuzeigen ist trotzdem etwas schwerer.
Es muss ja bei Tiles und auch bei Events funktionieren.


Josey:
Ich denke ich kann zufrieden sein, dass ich überhaupt was hab, um den Char hinter einem Haus anzeigen zu lassen, das ist bei dem HM-Spiel wichtig XD
Wenn du magst, kannst du mir gern noch erklären, was "Viewports" sind und wieso das Wort alles erklärt XD


Revito:
Wie beschreibt man das am besten? Hmm...

Du weißt ja, dass mit den Z-Koordinaten angegeben wird, in welcher Reihenfolge ein Sprite gezeichnet wird.
Also ob der Sprite vor oder nach anderen Sprites gezeichnet wird und damit z.B. überzeichnet wird.

Stell dir jetzt vor, dass ein Viewport eine Folie ist, auf die du alles drauf zeichnest.
Was passiert jetzt wohl, wenn du mehrere Folien hast, auf denen was drauf ist und du die übereinander legst?

Edit:
Ok, den Umriss von einem Char zu zeichnen ist sau leicht.
Aber der Prototyp ist hässlich und ich weiß immernoch nicht wie ich das Regel, dass nur der verdeckte Teil umrandet wird. :/



Josey:
Die oberste Folie wär dann natürlich trotzdem drüber, egal welches z-Level die Grafiken auf der unteren Folie haben.
Also liegen die Pictures auf einem anderen Viewport, als die Charsets?

Ich glaub, wir sollten uns in einen Threadt auslagern XD
Zeig mal, was du hast XD
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Nachricht senden

2

Samstag, 2. Februar 2019, 12:21

Genau, Bilder werden in einen anderen Viewport gezeichnet.

Zum Thema umranden:
Die Grundidee ist, dass du eine Bitmap mit den gleichen Maßen erstellst, wie die des Charsets.
Anschließend gehst du beim Charset über jeden Pixel und überprüfst ob einer der benachbarten Pixel transparent ist.
Wenn ja, setzt du an der Stelle im Bitmap einen Pixel auf z.B. weiß.
Ausnahme ist, wenn der Pixel selber transparent ist, dann machst du einfach mit dem nächsten Pixel weiter.
Und ein Sonderfall ist, wenn sich Pixel am Rand befinden.

Möglich wäre auch direkt im Viewport zu schauen, ob die Pixel vom Charakter verdeckt werden und dann jeden Frame die Pixel zu zeichnen.
Hmm...

Edit:
Auf den ersten Blick müsste man dann aber die komplette Methode update in der Klasse Spriteset_Map abändern, da Wetter und Nebel im gleichen Viewport gezeichnet werden.
Enslaved - Von Sklaverei und Freiheit

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

3

Samstag, 2. Februar 2019, 14:00

Das klingt echt kompliziert, lohnt sich sowas denn zu basteln? :/
Wenn man die Umrandung immer komplett macht, sobald der Char von etwas überdeckt wird, wird es dann einfacher? (also die komplette Umrandung wird gezeichnet, egal wieviel oder wiewenig hinter einem Baum verschwindet). Oder vielleicht nur dann, wenn der "obere Teil" des Charsets von etwas verdeckt wird? Finds albern, die Füße nachzuzeichnen, wenn man hinter einem Fass steht XD
Vlt könnte die Umrandung nur auf Priority 2 reagieren?

Was mich an der halbtransparenten Sache auch stört, ist, dass das Bushflag dadurch "verdichtet" wird. Also esist etwas weniger transparent, als es sollte (weil das zusätzliche transparente Charset drüberliegt).
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Nachricht senden

4

Samstag, 2. Februar 2019, 17:40

Ich weiß nicht, Josey. Würde sich das für dich lohnen?

Es wird nicht einfacher. Wäre ja z.B. blöd, wenn die komplette Umrandung erscheint, wenn man hinter einem fast komplett leeren Tile steht.
Sei es meinetwegen eine Lampe an der Decke, die Aluxes Toupee verdeckt.
Enslaved - Von Sklaverei und Freiheit

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Revito« (2. Februar 2019, 17:40)


Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

5

Sonntag, 3. Februar 2019, 12:42

Vom praktischen Nutzen her reicht theoretisch die Version mit dem durchsichtigen Charset, auch, wenn es Nachteile hat. Persönlich fände ich eine Umrandung schöner, die nur auftaucht, wenn der Spieler von etwas verdeckt würde. Das wirkt weniger "unordentlich" XD
Also für mich persönlich lohnt es sich. Ich fände es so viel schöner für mein Spiel und es passt mMn auch besser bei mir ins restliche Setting.
Hier kommts jetzt drauf an, ob du Lust drauf hast, sowas zu basteln, weil ich das auf keinen Fall könnte. :3

Wenn man Spriteset_Map abändert, inwieweit würde das das Orginal-Script und andere Scripts beeinflussen? Ich hab mal nachgesehen und ich hab ein paar Scripts, die auch mit Spriteset_Map arbeiten (zB Dynamik Footprints, ein Wetterscript, mein HUD, usw). Müsstest du die alle vorher einsehen oder würdest du einfach mal auf gut Glück das Script basteln und dann Kompatibilitätsprobleme im Nachhinein anpassen?
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

6

Sonntag, 3. Februar 2019, 12:51

Zitat von »Revito«

Möglich wäre auch direkt im Viewport zu schauen, ob die Pixel vom Charakter verdeckt werden
Wie?

Meiner Meinung nach lohnt es sich nicht. Wenn wir annehmen, dass das Charset n viele Pixel Rand hat. Also n ist die Anzahl der Pixel die benötigt werden, um den Rand des Charset zu zeichnen. Und wir nehmen an uns interessiert nur der Rand des Game_Player-Sprites. Dann müssen wir trotzdem pro Frame mindestens für jeden der n Randpixel prüfen, ob sie gerade verdeckt sind, um in diesem Fall eben jeden verdeckten Randpixel auf den Bildschirm zu bringen.
Somit verlängert sich die Berechnung des Frame-Updates um die Berechnungen, die wir für obiges Problem brauchen. Hat man nun also einen langsameren Computer, der nicht so schnell rechnen kann, könnte es passieren, dass die Framerate sinkt. Und da sich der Player jedes Frame bewegen kann - und wenn er einen MoveCommand hat auch tut - müssen wir in jedem Frame obige Berechnungen ausführen. Deswegen denke ich, dass es sich nicht lohnt. Im Folgenden noch zwei Überlegungen zur Thematik. Ich weiß nicht, was Revito vor hat, aber hier halt meine 2ct zum Thema.

Warum können andere (zum Beispiel AgeOfEmpires) sowas, aber ich nicht?

Wir haben keinen Zugriff auf die im Hintergrund ablaufenden Zeichen-Operationen. Wir können Sprites erstellen, aber wie RGSS diese ins Fenster zeichnet ist für uns weder sichtbar, noch können wir in dieses Prozess uns einklinken.
Wenn wir das könnten, könnten wir auf einem 640x480-Buffer-Bitmap alle Charset-Sprites als rote Flächen zeichnen, und dann wenn wir Tile-Sprites zeichnen, zeichnen wir diese zusätzlich auch als blaue Flächen auf den Buffer. Wenn im Buffer ein Pixel dann Magenta (Blau und Rot) ist, wissen wir, dass wir an dieser Stelle jetzt nochmal Rand-Pixel zeichnen müssen. Würde man dieses Verfahren direkt in die Verarbeitung der Sprites einbauen, würde das auch ausreichend schnell laufen. Aber das ganze im Nachhinein rein zu wurschteln ist halt rechenaufwändiger.

Wie könnte es aussehen, wenn ich es trotzdem probieren möchte? (Playm-Variante)

Schritt 1 wäre für das gewünschte Charset sich zu notieren, wo die Randpixel sind. Um die Randpixel zu finden, kann man einen Kantenfilter verwenden.
Spoiler: Beispiel eines Kantenfilters

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Implementierung eines einfachen Edge-Filters [ 1, -2, 1]
# der auf den Alpha-Value eines Charsets angewendet wird.
# Zusätzlich haben wir eine Step-Function auf dem Alpha-Wert,
# die erst ab einem Grenzwert von 128 auf Eins springt.
charset = RPG::Cache.character("001-Fighter01",0)
bitmap = Bitmap.new( charset.width, charset.height )
 
for x in 1..charset.width-2
  for y in 0..charset.height-1
    pixel = [ charset.get_pixel(x-1, y).alpha > 128 ? 1 : 0, # StepFunction
              charset.get_pixel(x,   y).alpha > 128 ? 1 : 0,
              charset.get_pixel(x+1, y).alpha > 128 ? 1 : 0
            ]
    value = pixel[0] - 2 * pixel[1] + pixel[2] # Filter
    bitmap.set_pixel(x,y,Color.new(255*value, 255*value, 255*value)) # draw output
  end
end
 
# Visualisierung des Filter-Ergebnisses
s1 = Sprite.new
s1.bitmap = charset
s2 = Sprite.new
s2.bitmap = bitmap
 
s1.y = s2.y = 128
s1.x = 32
s2.x = 32+160
 
loop do
  Graphics.update
  Input.update
end
zum Lesen den Text mit der Maus markieren
Hat man erstmal die Rand-Pixel beginnt der zweite Spaß. Wir müssen schauen, wo das Charset verdeckt wird. Hier auch wieder eine Annahme: Uns interessieren nur Überdeckungen durch Tiles und nicht durch andere Charsets. Und wir nehmen an, dass unser Charset-Frame (einzelne Pose im Charset) maximal 96x96 Pixel groß ist. Mit diesen Vorbedingungen können wir dann ein Buffer-Bitmap in der Größe 96x96 Pixel anlegen. Jetzt nehmen wir uns die screen_x, screen_y, screen_z Koordinaten des Game_Players. Anschließend suchen wir uns in der 1-Tile weite Umgebung des Players alle Tiles aus der Game_Map, deren Z-Layer größer als der des Game_Players ist. Dieses Tiles zeichnen wir auf unser Buffer-Image. Man kann es sich vorstellen, dass wir mit den screen_x, screen_y Koordinaten des Players auch noch ein auf ihn zentriertes Bitmap mitziehen, was alle Tile-Grafiken an diesen Positionen auf dem Bildschirm erneut abbildet.
Dann beginnt der dritte Schritt: Wir gehen unsere gefundenen Rand-Pixel durch, und schauen nach, ob an entsprechender Stelle im Buffer-Image keine Transparenz ist. In diesem Fall, haben wir im vorherigen Schritt ein Tile gesehen, was diesen Rand-Pixel verdeckt. Wir zeichnen auf ein extra Bitmap dann diesen einzelnen Randpixel. Und so verfahren wir für alle Randpixel. Anschließend haben wir ein extra Bitmap, auf das wir all die Randpixel gezeichnet haben, die gerade von Tilegrafiken verdeckt werden. Dieses extra Bitmap kann jetzt mit einem extra Sprite auf erhöhter Z-Position (wieviel erhöht muss man sich überlegen, es ist wahrscheinlich falsch z=9999 zu verwenden) angezeigt werden.

Der Kantenfilter muss nur einmal initial ausgeführt werden. Aber das Buffer-Bitmap zeichnen wir jedes Frame einmal. Das ist sehr rechenaufwändig und auch das Buffer-Image auszuwerten, da wir keinen direkten Zugriff auf den Color-Array haben, sondern immer get_pixel.alpha aufrufen müssen.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

7

Sonntag, 3. Februar 2019, 15:17

Wie wäre es, wenn man einfach ein Charset (das eine grobe Umrandung ist) über den Chara legt, sobald er von einem Priotity 2 Tile überdeckt wird (statt dem durchsichtigen Dings immer)? :<
Dann ist es zwar nicht exakt die Umrandung des aktuellen Charsets, aber für den Zweck würde es reichen, oder?

@Playm: Sieht alles unglaublich kompliziert aus, verbraucht es viel Rechenleistung?
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

8

Sonntag, 3. Februar 2019, 15:26

Zitat von »Josey«

Wie wäre es, wenn man einfach ein Charset (das eine grobe Umrandung ist) über den Chara legt, sobald er von einem Priotity 2 Tile überdeckt wird

Dieser Lösungsweg wäre kein Problem. Wäre halt nicht der Effekt, den Du dir ursprünglich gewünscht hast.


Zitat

@Playm: Sieht alles unglaublich kompliziert aus, verbraucht es viel Rechenleistung?
Soo kompliziert ist es am Ende nicht. Ich habe es nur sehr detailiert und mit einigen Fachwörtern aufgeschrieben, falls Revito das ganze programmieren möchte, dass er meine Idee versteht. Ob die Umsetzung zu einer geringeren Framerate führt, müsste man ausprobieren. Lässt sich schwer abschätzen.

Josey

Storyteller

  • »Josey« ist der Autor dieses Themas

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Nachricht senden

9

Sonntag, 3. Februar 2019, 17:42

Das nicht, aber für mich besser als der immer-anwesende-halbdurchsichtige Char :3
Natürlich wäre eine "richtige" Umrandung kuhler :D
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Ähnliche Themen

Social Bookmarks