"Person geht zu...": Wechsel von Outfits für verschiedene Wegesysteme?

  • #1, by MachtnixFriday, 20. November 2015, 20:45 9 years ago
    Hallo,

    ich möchte mit Visionaire ein Spiel entwickeln, in dem es drei Fortbewegungsarten für die Spielfigur gibt. Die Szenerie ist zweidimensional, das heißt, der Charakter bewegt sich nur von links nach rechts und umgekehrt. Aber er soll sich auch nach unten und oben bewegen können. Es ist ähnlich wie die klassischen Jump-and-Run-Spiele. Eine platte Figur bewegt sich in einer platten Kulisse.

    In der Kulisse gibt es Hindernisse, die entweder nur durch die Luft oder durch Wasser überquert werden können. Soll das Hindernis in der Luft überquert werden, so fliegt der Charakter (z.B. mit Hilfe eines Propellers) darüber hinweg, bei einer Wasserbarriere taucht oder schwimmt er (wer hätte das gedacht...). Fliegen könnte dort auch möglich sein.

    Dazu benötige ich drei verschiedene Steh- und Geh-Animationen für Laufen, Fliegen und Schwimmen. Das ist vorerst nicht problematisch; ich kann ja drei Outfits anlegen mit den erforderlichen Loops.

    Um sich im gesamten Bereich zwischen ganz oben und ganz unten bewegen zu können, muss der begehbare Bereich (das Wegesystem) über die gesamte Kulisse reichen. Dafür wird natürlich die Skalierung ausgeschaltet. Klicke ich also in die Luft, würde der Charakter dorthin laufen. Und da bin ich schon beim Problem: er LÄUFT. Nun muss ich einen Triggerpunkt oder -bereich einbauen, der den Charakter FLIEGEN lässt.

    Ich stelle mir das so vor, dass ca. in Charakter-Kopfhöhe über dem Erdboden eine Aktionszone angelegt wird, die über die gesamte Szene reicht. Klickt der Spieler in diese, wird die Figur dorthingeschickt. Ich kann mit dieser Aktion jetzt den Outfit-Wechsel koppeln. Das Starten ist somit kein Problem: klickt der Spieler in den Himmel, wechselt die Figur sofort das Outfit und startet mit dem Propeller nach oben.

    Umgekehrt funktioniert es aber nicht. Lege ich einen Aktionsbereich über dem Boden an, in dem der Charakter nur laufen soll und klicke ich in diesen, so landet er nicht etwa mit dem Outfit, mit dem er gerade ausgestattet ist, sondern wird natürlich sofort in das Outfit überführt, mit dem er läuft. Er "läuft" also vom Himmel nach unten auf den Boden, was bescheuert aussieht. Ich möchte aber, dass der Charakter auf den Boden schwebt, landet und erst dort zu laufen beginnt.

    Dasselbe ist auch beim Schwimmen. Der Outfit-Wechsel muss erst vorgenommen werden, wenn der Charakter im Wasser ist. Ich muss also die Animation zwischen dem Klicken auf den Punkt, zu dem er hinläuft /-schwimmt-/fliegt splitten und erst im zweiten Abschnitt den Outfitwechsel vornehmen.

    Im Prinzip kann ich mir das nur so vorstellen, dass eben vor und hinter dem Wasser ein Aktionsbereich ist, bei dessen Betreten oder Verlassen der Charakter sein Outfit wechselt - und zwar in beide Richtungen - OHNE stehenzubleiben.

    Der Nachteil dieser riesigen Aktionsbereiche über die komplette Kulisse ist, dass andere Aktionsbereiche (die man ja für ein Spiel durchaus braucht) überdeckt werden. Es gibt dadurch Fehlaktionen.

    Eine Alternative könnten verschiedene Wegsysteme sein. Eines ist ein schmaler Schlauch über dem Boden: hier darf nur gelaufen werden. Ein zweites ist im Himmel angelegt: hier darf geflogen werden - und das dritte logischerweise im Wasser.

    Ich habe noch nie mit mehreren Wegsystemen in einer Kulisse gearbeitet. Ich weiß nur, dass "Wegsystem wechseln" bei den Aktionen angeboten wird, also muss ich doch irgendwie den Charakter vom "Boden"-System in das "Luft"- oder "Wasser"system hineinbekommen und wieder zurück? Mit gekoppeltem Wechsel der Outfits.

    Ich möchte erreichen, dass der Charakter, z.B. beim Klicken auf eine Wasserfläche dorthin läuft und beim Eintauchen ins Wasser die "Schwimm"-Animation annimmt. Er betritt also das Wegesystem "Wasser". Ebenso möchte ich, dass der Charakter aus dem Flugmodus auf der Erde landet und dann auf dem Boden weiterläuft.

    Wie stelle ich das am geschicktesten an?

    Vielen Dank für Denkanstöße.

    Achja: LUA kann ich nicht...

    Machtnix

    Thread Captain

    1097 Posts


  • #2, by sebastianFriday, 20. November 2015, 21:54 9 years ago
    also gibt es zwischen Luft/Wasser/weg eigentlich keine Begrenzung durch die Weggrenzen?
    Schwierig. Ich denke dein Ansatz wäre schon ganz gut, allerdings ist es sehr aufwendig.
    Das ganze etwas weitergesponnen würde wahrscheinlich auch Lua beinhalten, welches in einem Loop permanent die Position des Characters abfragt und verarbeitet.

    Entsprechend wenn der Charakter sich von der Weg oder Wasser polygon-regionen nach oben hin wegbewegt (zB char-Y-Position minus 10 Pixel erreicht) und nicht mehr innerhalb des Polygons ist, wird zum anderen outfit gewechselt. Analog dazu beim eintreten wieder zurück.
    Das ganze dann für die anderen Regionen auch.

    Hier müsstest du dann wirklich nur Polygone anlegen und an sich nichts mehr innerhalb dieser "Regionen" mit action parts machen.
    Allerdings wüsste ich nicht, ob es hier an der Umsetzung scheitern könnte, da ich nicht genau weiß ob das alles so funktioniert wie es grade in meinem Kopf aussieht razz
    Funktionen um zu testen ob etwas in einem Polygon (ob Action Area oder scene Object) ist, gibt es auf jeden fall...

    Thread Captain

    2346 Posts

  • #3, by MachtnixFriday, 20. November 2015, 22:22 9 years ago
    Danke für dein Feedback.
    also gibt es zwischen Luft/Wasser/weg eigentlich keine Begrenzung durch die Weggrenzen?

    Das wäre die erste Möglichkeit. Ein gewaltiger Wege-Bereich für alles. Die abgeteilten Bereiche sind dann Aktionsbereiche. Die bekomme ich auch fast hin, aber eben nur fast. Ich muss die Wechsel mit einer Statusabfrage kombinieren, also: "wenn Figur das Outfit schwimmen" trägt, "wechsle zu Outfit laufen" usw. usw. Das ist mühsam, aber eine ziemlich sichere Methode. Leider bleibt der Charakter im Aktionsbereich immer stehen, ich muss also zweimal klicken. Er schwebt quasi einen Meter über dem Boden, hängt im Aktionsbereich fest und beim nächsten Klicken wechselt er sein Outfit und "plumpst" auf den Boden und läuft weiter. Aber das sollte man hinkriegen...

    Die zweite Möglichkeit, mit mehren Wegesystemen zu arbeiten, erschien mir eleganter, weil ich keinen riesigen Aktionsbereich definieren muss. Der Charakter hopst quasi nur von einem Bereich in den nächsten. Aber das bekomme ich leider gar nicht hin.

    Machtnix

    Thread Captain

    1097 Posts

  • #4, by MachtnixSaturday, 21. November 2015, 04:51 9 years ago
    Ergänzung: Dass die Figur im Aktionsbereich steckenblieb, war offensichtlich der Bug, der in Visionaire schon seit der Version 3.7 herumgeistert: - sobald ich ein wenig im Wegebereich und Aktionsbereich herumklicke, andere Tabs aufrufe und Einträge ändere, stürzt der Editor ab (ist die Version 4.2 Demo).

    Merkwürdigerweise hat er Änderungen, die eigentlich vorher abgespeichert waren, beim nächsten Starten nicht eingetragen und nicht ausgeführt. Deshalb hat sich Vis immer wieder verknotet. Erst kompletter Neueintrag brachte die Besserung.

    Man sollte auch zwingend die Aktionsbereiche mit eindeutigen ID-Namen versehern - Vis mag es anscheinend nicht, wenn alle nur die Standard-Vorgabe Aktionsbereich 0 oder 1 bekommen... ;-)

    Der Charakter läuft also ohne Stop durch das Aktionsfeld wie gewünscht und ändert dabei sofort sein Outfit. Das geht also schon mal. Ich kann für jeden Wechsel beruhigt Aktionsbereiche anlegen.

    Doch wie wechsle ich z.B. das Wegesystem und wie bekomme ich meinen Charakter in das neue hinein, wenn ich nicht mit einem einzigen Riesenwegesystem arbeiten möchte..?

    Gruß
    Machtnix

    Thread Captain

    1097 Posts

  • #5, by georgmoensSaturday, 21. November 2015, 10:51 9 years ago
    Das Arbeiten im und mit dem Reiter "Wegesystem" ist nicht nur in der Demo_Version eine Quälerei. Abstürze sind an der Tagesordnung und wehe, man hat nicht permanent Strg+s geklickt. 4.2 kann immer abstürzen, wenn man in diesem Bereich arbeitet oder nach der Arbeit in einem anderen Tab wieder zurück in das Wegesystem geht. Das hat mich schon elend Nerven gekostet.
    Hast du mal daran gedacht, mehrere "gleiche" Kulissen anzulegen und jeweils beim "Überschreiten" der Grenzen in eine andere Kulisse zu wechseln? Aber sei hier vorsichtig und kopiere nichts von einer "gleichen" Kulisse in die andere, schon gar nicht die Wegesysteme: das bringt dir sofort neue Schwierigkeiten ein.

    Newbie

    87 Posts

  • #6, by MachtnixSaturday, 21. November 2015, 18:42 9 years ago
    Das Arbeiten im und mit dem Reiter "Wegesystem" ist nicht nur in der Demo_Version eine Quälerei. Abstürze sind an der Tagesordnung und wehe, man hat nicht permanent Strg+s geklickt. 4.2 kann immer abstürzen, wenn man in diesem Bereich arbeitet oder nach der Arbeit in einem anderen Tab wieder zurück in das Wegesystem geht. Das hat mich schon elend Nerven gekostet.

    Na, dann bin ich ja beruhigt, dass es auch anderen so ergeht. *lol* Ich dachte schon, die 4.2 läuft bei mir AUCH nicht sauber (ich hab ein altes System und die letzte stabile Version bei mir war die 4.0 beta...). Dann ist ja alles gut....red
    Hast du mal daran gedacht, mehrere "gleiche" Kulissen anzulegen und jeweils beim "Überschreiten" der Grenzen in eine andere Kulisse zu wechseln? Aber sei hier vorsichtig und kopiere nichts von einer "gleichen" Kulisse in die andere, schon gar nicht die Wegesysteme: das bringt dir sofort neue Schwierigkeiten ein.

    Hm. geniale Idee eigentlich. Aber ich glaube, die neuen Probleme, die ich mir damit aufhalse, sind viel größer als wenn ich bei den althergebrachten, erprobten Aktionsbereichen bleibe. Ein Problem hast du ja schon genannt - nie was 1:1 kopieren! Das viel größere wird sein, die Kulissenobjekte (habe ich was aufgenommen oder nicht? Statuswertabfrage - davon habe ich eine Menge! Ist was bereits kombiniert mit anderen Objekten? Ist es im Inventar? Welche Animation muss gerade geladen werden? Welche Personen sind wo und in welchem Status? usw. usw.) auf allen drei Kulissen identisch und auf dem aktuellen Stand zu halten...

    Machtnix

    Thread Captain

    1097 Posts

  • #7, by georgmoensSunday, 22. November 2015, 10:30 9 years ago
    Nun, die Kulissenobjekte kannst du ja alle mit der Variablen verbinden, die du z.B. auf der ersten Kulisse angelegt hast. Beispiel: Du hast auf der ersten Kulisse ein Ei mit der Variablen "Kulisse1Eigenommen?". Dann gibst du dem Ei die gleiche Variable auf allen weiteren Kulissen. Damit ist das Ei dann auf allen Kulissen weg, wenn es auf einer genommen ist. Wenn Kombinationen gemacht werden, legst du immer einen Wert an, der nach der Kombination entsprechend umgestellt wird und machst dann mit diesem Wert entsprechende Wenn-Dann-Bedingungen. Alle Aktionen, die du sonst noch hast, werden entsprechend an Werte gebunden. Ich finde das eigentlich immer noch eine gute Möglichkeit, aber jeder macht's halt so, wie er es gewohnt ist.

    Newbie

    87 Posts

  • #8, by MachtnixTuesday, 29. December 2015, 16:29 8 years ago
    Bilanz:
    In meinem Irrgarten-Test (https://vimeo.com/149167423) hat das Anlegen von Extra-Aktionsbereichen kurz über dem Boden gut funktioniert. Dort und nur dort läuft der Charakter, ansonsten fliegt er. Die Bereiche müssen aber extrem schmal sein. Der Übergang ist kaum wahrnehmbar, und da Visionaire sowieso keine "echten" Übergänge von einer Ani zur nächsten kennt, auch überhaupt nicht schlimm. Offensichtlich stört es Vis außerdem nicht allzusehr, wenn sich Aktionsbereiche überlappen.

    Machtnix

    Thread Captain

    1097 Posts