frage zu bereicherkennung



  • hi, also ich code mir jetzt also mein adventure (meine script engine dazu jaja).
    aber wie soll ich die verschiedenen bereiche erkennen ?
    zB der Boden wo der held darauf gehen kann, weil er kann ja nicht auf dem ganzen hintergrund laufen. ich habe mir überlegt es vielleicht mit einer rgba textur zu machen bei der ich dann den alpha wert setze, zB für boden den wert 0.1f, für einen gegenstand1 0.2f , für gegenstand3 0.3f usw.
    wäre das praktikabel , oder wie würdet ihr das machen / macht man das.

    dankeschoen (und tggc ich weiß jetzt wie man fragen stellt, dass du der held bist und überhaupt, also bitte bloß sinnvolle posts)



  • Yo, oder mit Polygonen, bzw. den diese umschließenden Linien z.B.
    Wird wahrscheinlich noch einfacher sein.
    Spart Platz, ist schnell in 'nem Editor gemacht, und ist wohl im Pathfinding nachher auch leichter. Zudem könnte man einfacher Perspektive reinbringen.

    Und hör' auf TGGC zu flamen!

    🕶



  • editor ? wie editor, kann man in photoshop polygone zeichnen ?



  • Also ich würde für die Kollisionserkennung einfach eine Tilemap benutzen. Mit der könnte man dann gleichzeitig auch noch die Tiefensortierung machen. Zum Klicken würde ich allerdings AABBs um die Objekte haben, wenn die sich überlappen, gilt wieder das "vorderste".

    BTW: Jo, ich bin es. 😎

    Bye, TGGC \-/



  • schlaumeier schrieb:

    editor ? wie editor, kann man in photoshop polygone zeichnen ?

    Klar. Mit dem Linienwerkzeug mehrere aufeinander folgende Linien ziehen, wobei die letzte an die erste anschließt. Anschließend mit dem Füllwerkzeug mit der gewünschten Farbe füllen. 🤡 👍

    Ich gehe jetzt davon aus, Du meinst 2D? Also old-school Adventures?

    Den Editor müsstest Du Dir selber coden. Am Anfang reicht auch 'ne Textdatei und Notepad als Editor.
    Du mußt nur die Koordinaten der polylines (Anfangs-/Endpunkt) speichern. Beim Rumlatschen darf der Charakter dann keine Linie überqueren.
    Eine Alphamap fände ich zu krass. Ausserdem muß da nachher für's Pathfinding übelst mit rumgewerkelt werden.

    Was TGGC mit AABBs will schnall ich net.

    Tilemaps halte ich für Blödsinn, es sei denn es soll eher so ein "Action-Adventure" wie Zelda III oder so werden...



  • Ich schreibe auch gerade an einer Adventureengine. Ich habe es erst versucht, mit einem Bitmap den begehbaren Weg zu kennzeichnen, aber die Pfadfindung war viel zu langsam (> 1 Sekunde). Ich benutze jetzt Polygone, da ist zwar die Wegfindung komplizierter, dafuer dauert eine typische (und optimale) Wegfindung unter 10ms (Polygon mit 20 Kanten).
    Wenn Du willst, kann ich dir den Algorithmus schicken.

    -Gunnar



  • Siehste Nukem, du schnallst wieder mal nix... 😎

    Eure Methode mit den Umrissen ist IMHO schlechter, weil dort nicht die Tiefe der objekte drin ist und auch keine Objekte hintereinander sein können. Die AABBs sind dafür gedacht, das ich die Sachen dann auch anklicken kann, in der Tilemap habe ich ja nur die Position am Boden.

    Bye, TGGC \-/



  • Gunnar schrieb:

    Ich schreibe auch gerade an einer Adventureengine. Ich habe es erst versucht, mit einem Bitmap den begehbaren Weg zu kennzeichnen, aber die Pfadfindung war viel zu langsam (> 1 Sekunde). Ich benutze jetzt Polygone, da ist zwar die Wegfindung komplizierter, dafuer dauert eine typische (und optimale) Wegfindung unter 10ms (Polygon mit 20 Kanten).
    Wenn Du willst, kann ich dir den Algorithmus schicken.

    Wow, jemand der "meine Idee" (natürlich stammt sie nicht von mir) sogar praktisch umgesetzt hat. 👍

    TGGC schrieb:

    Siehste Nukem, du schnallst wieder mal nix... 😎

    Für's Schnallen bist Du ja auch zuständig, alte Schnalle! 😉

    TGGC schrieb:

    Eure Methode mit den Umrissen ist IMHO schlechter, weil dort nicht die Tiefe der objekte drin ist und auch keine Objekte hintereinander sein können.

    Warum denn das nicht? Ist dann halt kein konvexes Polygon, klar.

    Und für Tiefe reicht IMHO pro Hintergrundbild ein einfacher Faktor. Das sollte sich bei 'nem 2D-Adventure ja nicht ändern...

    TGGC schrieb:

    Die AABBs sind dafür gedacht, das ich die Sachen dann auch anklicken kann, in der Tilemap habe ich ja nur die Position am Boden.

    Das ist mir schon klar, aber Du stellst Dir jetzt einen Raum (halt 3D) mit fester Kamera vor, oder nicht?!

    Will unser Frager nicht LucasArts '93 nachmachen?? 😕



  • TGGC schrieb:

    Siehste Nukem, du schnallst wieder mal nix... 😎

    Eure Methode mit den Umrissen ist IMHO schlechter, weil dort nicht die Tiefe der objekte drin ist und auch keine Objekte hintereinander sein können. Die AABBs sind dafür gedacht, das ich die Sachen dann auch anklicken kann, in der Tilemap habe ich ja nur die Position am Boden.

    Bye, TGGC \-/

    Hmm? Du verpasst den Objekten eine Z-Koordinate und ein "Mausfangpolygon", und fertig ist. Dann ueberlappen die Polygone.



  • @Sgt. Nukem
    Ich rede auch von 2D. Man sieht den Boden in solchen Spielen von schräg oben. Macht also ein Rechteck, im z.b. unteren Drittel . Da jetzt einfach ein Gitter drüber, und alle nicht zu betretenten Felder markiert. Beim Zeichnen fang ich mit den Sachen an, die auf den oberen Rechtecken stehen, und alles ist sortiert.

    @Gunnar:
    Eben, die Objekte haben dann eine Z Koordinate und keine Tiefe. Sie sind flach.

    Überlappen geht nicht, denn das würde doch die Kollisionserkennung verbieten. Deshalb bei mir die Trennung in Tilemap/AABBs.

    Bye, TGGC \-/



  • Ich schnall' zwar bei euch beiden jetzt nicht, wer welche Antwort auf welche Frage gegeben hat, aber egal...

    Yo, TGGC, leuchtet mir jetzt ein. Allerdings finde ich für ein Adventure die Abstufungen mit Tilemaps zu krass.

    Ich meinte ja auch nur, auf Deinem "Boden-Rechteck" mit Polylines den Ausschnitt (viel genauer als mit Tilemaps) zu zeichnen.

    P.S.:

    TGGC schrieb:

    Man sieht den Boden in solchen Spielen von schräg oben.

    Woher willst Du das wissen? Hast ja noch nie eins gespielt...!! 😃 😉 👍



  • Ich moechte jetzt auch nicht behaupten, ich haette alles geschnallt.
    Ich gehe jetzt von klassischen 2D-Adventures aus. Wozu braucht man Kollisionserkennung? Der Designer malt den begehbaren Bereich (z.B. als Polygon) um die Objekte herum. Die Objekte sind 2D und sind flach, sozusagen Billboards.



  • Weil Tilemap viel simpler ist. Letzendlich ist das ja nur 'ne Low-Detail Variante von der Bit/Alphamap. Aber dann kann man sich eben den Luxus leisten, mehr Infos pro Tile zu speichern, wie z.b. darauf befindliche bewegliche Objekte. Und das die begehbaren Bereiche rechteckig sind, fällt garantiert nicht auf.

    @Sgt. Nukem: Weil ich zumindest welche angeschaut habe. 😎

    Bye, TGGC \-/



  • TGGC schrieb:

    Aber dann kann man sich eben den Luxus leisten, mehr Infos pro Tile zu speichern, wie z.b. darauf befindliche bewegliche Objekte.

    Das willst Du machen, um Pathfinding zu "einsteckbaren" Objekten zu erlauben??

    TGGC schrieb:

    @Sgt. Nukem: Weil ich zumindest welche angeschaut habe. 😎

    Falsch, TGGC. Quake ]|[ gehört _NICHT_ in das Genre der Adventures... 😃 🤡



  • Also bei meinem Adventure hab ich die "Walkable-Areas" in Form von rechteckigen Bereichen gelöst. Jedes Objekt (Grafiken, Animationen etc) werden in meinem Editor Tile-artig platziert. Genauso die Walkable-Areas. Diese werden im Spiel natürlich nicht angezeigt wie normale Grafiken.
    Beim herumlaufen mit der Spielfigur wird dann nur noch geguckt, ob man sich innerhalb so einer "WA" befindet. Fertig. Ok, mit den eckigen Bereichen ist das bei schrägen oder gekrümmten begehbaren Flächen etwas umständlich weil man viele einzelne von den Dingern verwenden muss, aber es ist sicherlich die einfachste Lösung.
    Hier ein Screenshot von meinem Editor (Die weissen Flächen, sind die Walkable-Areas)

    http://home.arcor.de/cppjunky/images/editor.jpg

    Viel Glück bei deinem Adventure! Ich arbeite seit über zwei Jahren da dran (natürlich nicht jeden Tag, sonst wär ich wohl doch schon fertig) und bin immernoch nicht ganz fertig (wollte es letztes Jahr abschliessen).
    Da steckt ne Menge Arbeit drin. 😉



  • @Cpp_Junky:

    Und was ist, wenn Du von einem Punkt auf Rechteck A zu einem Punkt auf Rechteck B laufen willst? Wie findest Du da den kuerzesten Weg?

    Und aus Neugier: Welche Skriptsprache benutzt Du zum Skripten der Story?

    👍



  • Ok, ich habe auch mal ein Bild in einem typischen Adventure gemacht, damit es Nukem vielleicht auch mal schnallt. Also die roten Zonen kann man garnicht betreten. Die blauen sind durch Objekte blockiert und auf den gelben ist irgendwas zum interagieren.

    http://www.fh-merseburg.de/~roesch/trash/typical_adventure.jpg

    Bye, TGGC (Hast du's drauf?)



  • Muahahahahahahahaha!!!! 😃 😃 😃 👍 👍 👍



  • Gunnar schrieb:

    @Cpp_Junky:

    Und was ist, wenn Du von einem Punkt auf Rechteck A zu einem Punkt auf Rechteck B laufen willst? Wie findest Du da den kuerzesten Weg?

    Und aus Neugier: Welche Skriptsprache benutzt Du zum Skripten der Story?
    👍

    Gar nicht. Auf Pathfinding hatte ich keinen Bock 😃
    Nee, also die Steuerung funktioniert hier etwas anders als bei den typischen 2D Adventures: Entweder die Spielfigur wird mit den Cursor-Tasten gesteuert oder mit der Maus. Wobei die Maussteuerung immer nur "linienweise" funktioniert. Also wenn da ein Hinderniß kommt, muss der Spieler die Figur selbst da rumlotsen 😉
    (edit)
    Ach ja Script-Sprache:
    Das ist eine eigene. Sie ist sehr simpel aufgebaut aber dafür völlig ausreichend. Jeder Scriptbefehl ist aufgebaut nach dem Schema
    <Auslöser> <Ereignis>
    Das ist auch schon alles 😃 Ich schreibe sogar die Cut-Scenes damit. Es
    funktioniert also einigermaßen gut.



  • Cpp_Junky schrieb:

    Gar nicht. Auf Pathfinding hatte ich keinen Bock 😃
    Nee, also die Steuerung funktioniert hier etwas anders als bei den typischen 2D Adventures: Entweder die Spielfigur wird mit den Cursor-Tasten gesteuert oder mit der Maus. Wobei die Maussteuerung immer nur "linienweise" funktioniert. Also wenn da ein Hinderniß kommt, muss der Spieler die Figur selbst da rumlotsen 😉

    Muahahaha!! Genau!
    Sowas gehört in jedes gute Adventure! 😃 👍

    Ich würde auch noch grandiose Kisten-schiebe-Rätsel (Baphomet's Fluch III) und Drücke-Schalter-A-um-Tür-B-zu-öffnen-Rätsel einbauen... 😃 👍 👍

    😉


Anmelden zum Antworten