Ich arbeite an einem Top-Down-Shooter, der DoDonPachi , Ikaruga usw. ähnelt . Die Kamerabewegung durch die Welt erfolgt automatisch, wobei sich der Player im sichtbaren Bereich der Kamera bewegen kann.
Auf dem Weg dorthin werden Feinde so programmiert, dass sie an bestimmten Punkten des Pfades erscheinen. Obwohl dies einfach klingt, habe ich zwei Möglichkeiten gefunden, um diese Punkte zu definieren:
- Kameraposition: Löst das Laichen aus, wenn die Kamera an den Punkten vorbeigeht
- Zeit auf dem Weg: "30 Sekunden, 2 Feinde erschaffen"
In beiden Fällen würden die kamerarelativen Positionen sowie das Verhalten des Feindes definiert.
Wie ich es sehe, wie Sie diese Punkte definieren, wirkt sich direkt darauf aus, wie der 'Level-Editor' oder was Sie haben, funktionieren wird.
Gibt es Vorteile eines Ansatzes gegenüber dem anderen?
quelle
Allerdings wäre die Position der Kamera zum Laichen wahrscheinlich flexibler, da Sie den Pfad ändern könnten, ohne sich über einen großen Dominoeffekt Gedanken machen zu müssen.
Wenn Sie mit Zeit-Spawns arbeiten, ist es sehr mühsam, Pfade hinzuzufügen oder zu entfernen, da Sie viele feindliche Spawns modifizieren müssen.
Ein weiteres Problem, das ich sehe, ist die Optimierung der Kamerageschwindigkeit. Möchten Sie wirklich die feindlichen Spawns optimieren, nur weil Sie dafür gesorgt haben, dass sich die Kamera etwas schneller oder langsamer bewegt? Außerdem müsstest du das Level schrecklich oft durchspielen, um Spawn-Zeiten oder Tweaks für sie zu finden.
quelle
Ich würde dringend empfehlen, die Kamera überhaupt nicht zu bewegen. Betrachten Sie den Spieler und die Feinde immer im gleichen festen Koordinatenraum. Gegner und Hintergrund-Scrollen sollten beide einer unabhängigen Zeitleiste zugeordnet werden. Es macht die Mathematik einfacher.
quelle
Ich würde für die Kameraposition gehen. Wenn Sie Zeit verwenden, wird es ziemlich schwierig, wenn Sie möchten, dass ein Feindpfad mit einigen Grafiken in Ihrer Kartendatei übereinstimmt (z. B. Feinde, die einem gekrümmten Pfad folgen). Außerdem können Sie den Bildlauf beschleunigen, ohne die Spawnpunkte zu ändern.
Die Kehrseite ist, dass das Beschleunigen der Schriftrolle Feinde schneller kommen lässt. Dies kann als Plus (Beschleunigung wäre schwierig) oder als Minus (Scrollgeschwindigkeit beeinflusst die Stimulation) angesehen werden.
quelle
Ich arbeite auch an einem Weltraum-Shooter-Spiel. Ich habe ein leeres Spielobjekt namens GameController verwendet. Es wurde eine Skriptkomponente namens GameController.cs hinzugefügt, die den Laichteil wie folgt steuert:
http://www.youtube.com/watch?v=VqFJsU63GRo
quelle
Ich würde sie auf dem großen Kartenhintergrund platzieren und ihren anfänglichen Bewegungspfad auf dieser Karte einfügen. Auf diese Weise konnte ich den Kamerapfad später auf sinnvolle Weise ändern, anstatt sowohl den Pfad als auch das Timing separat ändern zu müssen.
quelle