Hallöchen,
anderes Genre, neu Probleme.
Ich habe mich mal gedanklich an ein Tabletop gewagt.
Auf dem Angehängten Bild kann man zwei Teile des Spielfeldes erkennen. Diese sind blau und rot umrandet. Diese sind nur beispielhaft für das Problem.
In dem Spiel kann jeder, natürlich der Reihe nach, seine Spielfigur bewegen. Immer nur ein Feld nach dem anderen. Wären die Felder immer gleich groß, könnte man ganz einfach die einzelnen Levelteile via 2D-Array in einem Grid spawnen lassen.
Jetzt sind aber auf jedem großen Feld noch zusätzliche Räume. Je nach Feld liegen die an verschiedenen Positionen und sind auch unterschiedlich groß.
Die kleinen Räume an sich sind aber fest auf dem großen Feld!
Betrachtet man beide großen Felder, kann man Zebra-Streifen auf den Straßen erkennen. Diese grenzen auch ein Feld ab. Problematik hier ist, dass mehrere große Felder zusammen ein Feld ergeben, auf welchem der Spieler seine Figur platzieren kann. Ich hoffe das ist einigermaßen verständlich.
Deswegen kann ich die Nummer mit dem Grid vergessen.
Aus diesem Grund habe ich mir überlegt, das Level an sich ganz normal im Editor zu Bauen. An den Stellen wo die einzelnen Felder sind, an welchen die Spielfiguren platziert werden können, bzw zu welchen man seine Figur verschieben kann, würde ich einfach Collision Boxen einfügen. Einfach als Actor und dann vier Linetrace dazu. Für jede Richtung einen.
Der Gedanke dahinter ist, dass zu Beginn jeder Phase durch die Collisionbox erkannt wird, wo der am Zug befindliche Spieler ist, es gibt kurz einen Linetrace in jede Richtung und die Nachbarfelder werden "aktiviert". Das Verschieben der Spielfigur ist dann möglich.
Allerding wird das echt ätzen, da ich dann wirklich jedes Szenario (die Felder werden für das jeweilige Szenario immer neu angeordnet) in einem neuen Level erstellen und muss. Unendlicher Aufwand.
Alternativ baue ich kein ganzes Level, sondern nur die einzelnen Felder in einem anderen Format. Also besagte "Zebrastreifen-Feld" als ganzes und die kleinen Räume auf der Karte als eines, etc. Collision und Linetraces kommen dann direkt auf das jeweilige Feld. Das müsste ich dann allerdings in einem einzelnen Actor machen. Da ich Assets nutze, müsste ich in jedem Actor etliche Static Meshes hinzufügen. Unendlich Aufwand. Ich habe das mal mit einem 3D Memory Spiel gemacht. War nicht schön und es war deutlich einfach gestaltet.
Hat jemand von euch eine bessere Idee wie ich das mit den einzelnen Feldern machen könnte?
Habe mir schon überlegt das ganze zu Blender zu exportieren, da das Feld samt Assets zu basteln und es zurück in die UE4 zu packen. Aber wirklich sinnvoll erscheint mir das auch nicht.
Ich sehe gerade, dass bei dem oberen Feld im Bild ein Fehler entstanden ist. Dieses sollte natürlich umgehen rot umrandet sein.